3
200000 1000000000
884576666 324844262 74533080 391720634 219572712 475738832 64463454 93106382 847390218 665401874 552735308 598237950 592773238 595339652 981712470 110151038 596226214 46056806 11744824 192680926 357665926 800512458 575519070 158178622 389236946 566801500 227759246 318621544 240780034 30783830 453635336 487635584 22039110 267123242 247065340 79785636 522067650 361564512 111272944 619628752 895839244 905868964 311199992 883789666 400924990 338773342 822821204 865130058 386954350 147384568 331779606 204155580 302730178 876962444 427548702 216951282 150019848 172597684 633651046 395626140 106592950 272229974 27727242 246509390 507960166 62561994 481793392 841761768 37785370 295937386 12119494 705358006 372498320 345662514 516771874 630075392 3928024 286808598 247816090 917929276 24274194 510423582 973056988 80096036 995411144 396527742 702111922 704506556 173428318 705990330 811562788 171001542 24214726 37151908 63436880 756472936 102021554 65934284 948305586 790156872 42008628 640171300 72098660 365161376 366027026 697855406 841902596 31389844 504941928 430723162 525032312 656818324 627755388 833447238 990154254 573683674 428389856 653724786 77744206 6633690 353169574 135586644 933780950 409288584 459952636 378915840 999764852 148546108 567647768 295011714 89726456 506425464 544149572 709347378 137195264 664474438 946623166 632939430 578187618 889726126 508544142 404099054 387277368 771729680 254476782 131313820 138919682 617544552 705134330 656714314 581199482 911491848 377485216 225004532 604961046 682182064 43296642 202440434 676597036 605944194 951365238 627520382 975467366 941681862 297138530 363813762 517436252 733763454 828903796 668402088 334833096 547918876 550862352 93647116 848641166 182620024 98504158 170286610 969472570 208013294 748128106 259252654 866413496 63827660 219830332 179991952 51260600 39245348 252208384 586382350 492125988 208369936 463242702 265650784 208919394 729708026 574658022 212236356 948910680 445407168 571851362 972400122 965944272 151678888 27456352 359196626 54517794 989989502 354881418 299949514 969665618 300543628 407798266 7483426 671377810 638513008 103185520 251594076 932034432 742776484 526445566 484582702 28249862 19158392 868228734 143552794 609273274 243690120 737703110 492852216 422237342 482944748 925730648 827801008 262439752 229550436 322685516 70055162 585289156 651003166 50723298 241212986 717058452 761863118 355071840 94384322 64340100 996383618 661666646 837112356 601046394 300625972 586559904 732872450 482548286 346186988 745988408 556244876 158798720 369347960 99093348 844119176 471560110 182356878 336987746 749726618 519330698 306037774 992216530 217499712 111007602 118525998 137038012 3413630 695988578 596546988 135518230 524616858 753572006 914948384 442079844 208355310 692427128 630786084 429003714 195441272 221018568 737013054 537972306 838985610 745731846 745999466 211874686 438501126 827605002 193613016 887466292 504088360 381564612 106354082 201489162 8016112 37254110 34808240 80977242 793215824 109464324 122816410 719731054 485591164 710871756 441661038 69989916 437187018 327100200 357167890 506939024 212377464 374450874 932737076 598808806 902081608 15359236 542054800 764500548 577707086 88165776 280272090 487530272 541094934 290408854 353875842 480594694 892700138 813458442 30731816 913884426 949275212 766220580 650858088 114642108 363115620 656742572 183603024 420112054 564512408 536434518 533456078 400462752 303208348 319085676 784238136 583453700 736942440 529523382 272639448 314156162 551922032 566500120 897355796 576437506 369067248 404051054 595495516 296742626 695353962 142210764 274775418 650228160 743349842 167166212 796811408 589021804 322999982 148746298 127992092 883347358 278065706 512444814 250662140 309192000 596876286 943919596 480007674 772552986 18779388 84651692 989612412 868653420 244276490 790592602 506711206 488779060 682993350 291742704 753409818 944650046 668368448 921290722 120674908 620632258 771481308 876677880 321299386 969412980 425578168 395751124 721326836 390068398 642755166 783684004 303515710 911005024 179999316 769259742 813476778 659119534 147809360 211342538 333844136 941958728 952542420 180328238 512257774 753433914 705580280 562551968 783979134 178565804 182179056 251358058 562287102 607921316 29076400 177230282 151568198 744735638 919651702 403164796 503473462 692624662 879376176 35720422 526141178 297454994 524482450 128845554 421590506 10936660 871611504 308066386 850318284 864211316 888490256 856437632 116738376 284597810 57037672 7107594 496662960 602638636 980675200 926235910 414305214 748333614 308640844 254268132 11573792 802955264 666694732 153473384 781203590 153973290 862395118 574105940 831563434 244941036 184776238 935217306 258485568 476892612 907619158 963247322 494249402 266974306 839373408 532396810 353745506 110461146 190230888 307347780 463317280 456329372 105310988 471270544 887434390 568693506 268308358 870494236 117729976 402270588 302890492 538842192 463902034 843762688 238743058 868788726 246619582 531612238 681421746 997932864 228660110 309303568 789119996 652417596 143617812 974541080 695860458 419567614 722922718 711343976 214596338 579682914 159333512 191200900 119845460 291440102 135398210 591631266 619036054 673731142 517147424 799991430 222601832 778403328 127512158 103319712 392544570 654978226 26221318 587934984 987770776 78105858 704425756 527419646 446067626 641587186 89817332 48451830 867853568 277214936 70696760 537835588 671375208 635092632 423284064 898956614 451071332 810681428 27547316 451657602 173475644 158284940 792028352 458381306 948852052 960449064 674833100 941914240 147293434 865871510 129001166 405896250 970702412 184870642 433631830 955712000 349168736 342223788 962620258 235387522 803774094 43676618 91478078 201823338 506144938 164914806 975363606 870666518 618013900 97955070 49051734 46543756 872957470 749163354 944065784 193485070 175768956 608919508 381901234 825973858 70662036 303795032 436687420 660703810 923211514 393171698 205733564 172068658 189567838 427254666 843522786 838953792 643129794 509078358 256939164 385039774 491451066 766287772 993158468 213321446 134019226 743612844 516337974 455962924 33794824 923650928 90191654 170433192 799569024 230054608 373959520 210859376 669832490 645009716 688361948 368041580 803504250 765020212 75480422 17798414 27393084 118155812 72492180 790272590 167617618 244590626 203142728 778143512 63243832 415015072 656611558 619597494 382767226 531331146 279848246 943670254 163729634 532275898 33105932 532319600 916643194 755892196 213811326 553723058 496778986 872009980 949689174 565035300 353062556 759582802 647494070 899012494 464596408 522503392 516751704 846157492 149322038 617318110 720887514 243308292 995457998 574681642 445049388 385829084 713605046 525016840 724751308 589068510 947371496 709847044 667855038 581927780 949226278 575742032 449868524 494776236 32406648 30568776 193988048 857623464 908110372 356059104 126640100 669158926 495412344 556865802 129767768 728180130 180922152 239506454 790234598 551682812 765316580 921466522 469514712 164209486 73988006 297912104 673228744 769438270 770795782 406958904 549996272 544609540 86311186 672637048 814097774 411535932 76815688 332967258 881345438 671799778 390500562 251138204 534715146 404214964 514798874 418356058 549104154 368807758 225511028 884558554 895150670 706191186 789270110 674808650 508928270 410487124 341561752 208016124 637133788 591976528 893404486 101501554 817354162 986759890 814925086 834405884 671779398 519096414 424995888 717606752 4539130 910868496 259463920 242741528 433843256 59483944 370517260 963457520 758427776 57022294 192760870 727796920 29459182 314795682 114691796 905601564 15446054 502457158 803215196 274004106 828068066 77939876 34175758 505576384 418688256 587342392 120106930 933042366 521728598 904426010 285665900 73134112 281931558 173339882 480744294 142497474 674124088 132809332 775085666 813285240 5514932 96887982 946770014 841674054 360481530 496679148 594749310 632204374 525829406 255548606 360027562 492329352 839763648 916886618 109029670 281464550 697462838 764808398 680290926 628933446 788228880 530443396 479011506 74118128 745365172 72782828 188593978 574008358 621195966 715967042 362317660 33176602 58650308 707504332 860476304 203973932 116186470 466046118 885052770 172410788 638227144 151200370 111433870 375739580 138209986 6099738 786408632 807516260 458209372 841123918 8310546 367340860 323617972 906117334 695313532 591596754 950620062 881255658 753781948 174494748 978640732 85800742 287791616 272809676 615694698 892112110 819045420 800520884 599923174 637832280 405310296 270129214 199902102 657109204 384761434 982719318 237775312 917753258 310411088 784818748 458288896 638019746 74411272 299990758 862234606 364513468 337406344 879845370 229416616 116305904 629917154 899906972 686477470 788377214 649586296 693553946 531908860 381820618 537535462 931468086 263992462 384822180 189453776 903869412 29387370 341533402 370035512 423243158 634162042 595868700 957498762 700226696 950116728 478712978 442795936 559713788 645994092 9542468 661087956 662042586 981453178 919347882 914612170 217922914 570250766 504092202 785891416 472785738 501481722 691135518 619070906 221999110 961128652 391118760 891068778 9325876 959784592 355846104 896983874 855455066 186022 523300470 482328056 814520444 962386526 150448210 94164546 666856766 895898986 50886394 788217226 271170220 226589676 866306050 369123078 281152538 156434392 191383230 217786976 509689340 436064364 835948594 703378492 279708262 998412956 367580674 473308942 165458766 350381886 121209698 624920036 497682290 265838068 2074306 337708502 744238142 197574790 949993378 963678430 483770750 266392010 603640706 520732562 112981420 72295824 918363312 488451668 100477838 994544216 61135916 734221530 383412186 727586258 143399488 860853846 814602624 204427454 602724926 120224578 286408196 70394660 186337506 982053162 287711980 498099126 223593476 421199050 802435848 560924960 628617086 156001576 783528048 306126196 159335498 924025862 493030500 13886790 482458374 25152012 299545422 198571366 518775790 788631274 629142718 363830018 485043398 506442562 480810280 334260336 735043756 634829466 44031982 68047044 396312320 620424506 936485464 516150808 415560246 864759382 230011754 437348208 404821370 489817380 599005750 475771212 953760302 673432328 165408992 485061420 930216864 50786086 860477160 286367044 430522206 169394250 472622024 44141484 246924204 876796832 362873380 592593588 67158500 705709254 641399914 632471142 719678976 487124272 889649808 929307962 8377340 713455340 3411236 31891750 569238424 333473726 844294396 689779582 124115212 773699290 637731708 103352300 257029874 438049962 358412980 8735392 799843008 990842692 123785588 404888880 84785934 141589636 979761714 275457020 88282440 645168834 450057782 541982538 959235246 939147452 646889224 874634932 183488204 270187816 278583374 221104306 30418424 131935834 209941774 452994744 35155282 434343130 932505074 839173736 401458016 121756494 830211146 4490416 375882996 346153374 559237168 64604194 975141952 593595626 415886010 363884674 474504548 927717288 454452300 516589298 61268556 167796526 585287798 368748260 561822254 204121424 997064992 538224642 360460734 977378136 996993868 16197626 15535734 104498278 616048738 230602700 730993358 995485546 859790956 304667444 887090132 315923818 331652460 827690508 593184118 663226132 588070728 261864112 144307374 759086600 422250178 164646456 578586818 732249248 285213518 655025378 219080104 134256136 862992212 774693014 130263416 453611262 224870960 170540164 922799116 100514068 232888522 212346232 727754536 396210258 826229304 130498298 140705472 614510024 834397114 778109582 844486082 459701910 679426230 153244040 723701772 748717500 366326942 672113800 392185246 821656022 888829988 985130578 161546508 691987646 23357198 370946448 191903216 952631952 456761990 113922182 873167884 579736252 893943520 273642802 81747174 163252586 763365848 162967902 778433132 633459726 453104950 883924072 543093424 180183594 13820088 809668390 777155370 867091774 710627338 321581090 375898204 113589094 737172706 920355386 106720772 291100846 674540744 508991626 367070898 707565856 900948060 753779490 365797052 702668918 318417576 703847724 782165736 129462186 679978342 13814098 189508390 629822462 999424664 777698898 568018594 245337734 524606250 441223308 972546320 922878972 361746606 955788324 508473556 869105182 272727088 156918872 630060366 284431482 418271574 935601318 108847514 295639276 858894464 681251256 466406504 98401396 55695302 588029188 215112612 824892190 902115880 898597034 939392286 596266226 421279596 152599106 429936604 519951442 41526460 741120004 469625246 614370004 903366034 145559094 581998872 817675896 983551520 208798256 259481478 383351706 567394000 789250122 462016276 508816614 988879520 287546256 909781862 239402466 446237488 804793602 660506684 926297696 149659634 384347394 367459574 254048400 425714172 825679052 304690310 496460692 958966486 435576850 835114976 936639046 779812624 17517936 616834644 258802956 485411414 237487886 297221218 949942670 877035578 429863496 463973564 286495368 409818106 400123600 460911308 939710338 117447660 618368864 381155858 925954508 376583356 810103854 497837464 144681996 114397012 272169112 994581586 638554616 854020804 925573382 376386888 959006632 573584664 428576302 846104950 881151734 549576212 535302786 98666038 368517822 27879306 737470322 946923362 862791986 103079310 109889308 458220948 324120132 361185470 911084528 284064914 642225122 189688682 813011730 233580788 960893232 422139510 875186680 940124802 810369902 389403672 443646954 484189906 567510308 386344486 837424268 391495972 892741644 555432416 530548178 798018692 283009890 219142428 240038962 110010920 437787628 842993374 475267858 128843340 308809950 535531964 181061798 255174132 83716612 37279604 420375054 195432002 471253048 285453974 514808498 624166446 988480096 806430186 792425936 790916286 163465586 866590036 437336106 278999704 256697672 866694562 299398202 735742824 895831472 568758618 852864310 929015680 250641318 640349732 950073900 188732432 588092256 523299046 320853982 263495618 942282710 748793444 915251844 615231434 903826324 907755596 762996050 320679370 890617062 760036544 663731698 896914820 243631286 803279924 992804958 228200856 865215100 547561422 171740568 125256394 455700002 370464104 504331116 954222460 836311652 170831208 822530612 129356928 507541468 307111348 860802574 180673964 450629116 93954316 103916786 707732334 774608150 125353712 887191928 108474866 356497006 963055148 688304056 914976240 68101374 993293608 825242276 490516068 273238336 708257870 438394420 820456856 860867198 674119800 300836376 446143870 387839650 542809524 930217150 372892816 31087470 204272126 335247624 347879614 85853880 824476812 710323598 570563724 729200688 89271754 540494604 485995982 923850276 483991906 250736548 845554558 424798178 609318924 645153838 954444892 927211226 198855350 950402378 644427962 930123832 91051666 20645674 677558158 300730152 232624106 18090936 642006752 54877716 923989288 532436428 610095776 205503106 702842330 522672026 803805508 592799046 986518306 989482294 530041796 764324972 38115528 633303202 847281962 150258078 830563498 733178322 606506686 133410716 836595942 604698806 198645312 554283412 509883784 989645878 396207022 809205174 461970014 280118502 264248692 948835434 497872408 246953530 670379504 22987920 589871062 937070328 532940984 554042688 403849014 295449198 326232858 945646612 219437930 966988678 666975772 80546548 282721018 986989576 318433548 376653006 27634078 601227290 58266180 243251414 354208414 632081064 712309392 732206330 10187116 375123236 956359328 269846590 562896244 926318846 540766608 342513294 168545478 340851036 497470860 592303630 571081372 256986 287946834 117667714 577077298 125461022 688603720 116110160 236865456 56466894 615153982 31907384 191209764 88820286 102794896 602390378 563472284 339752582 473397368 217438650 894506880 490459992 483942500 491833868 390186992 55032654 609456992 181309212 323429928 621376422 657247758 397994672 731409284 634546428 55822868 767974852 33660324 232689394 150658634 463955292 415708404 215186718 41179934 1060438 585689220 7792554 99686262 552613772 34974520 568915244 215575384 223829812 636181280 4677008 936834084 788928436 4170446 985501570 5951648 561439056 268006906 174145902 823062592 690557104 222412510 381837082 191905588 363871948 674025574 329246 879159612 242378520 21270634 302347736 461061538 198792358 245822108 573515472 131790130 521769304 663726450 408712500 580036516 785523778 947282200 286137314 741960234 860229174 949909008 872431758 444594432 22730280 366925100 238284892 144177338 287969054 855017776 261857494 24363864 356039326 885467304 522415782 167624008 310715230 786805534 787507766 921607462 452300406 8309208 318537536 906400360 756740118 918450472 989848796 742277900 474682188 939950774 866129216 471761312 749925416 971515374 979617162 291622052 282675854 675765748 793257772 526279114 161189998 549585834 351816434 27764670 509032804 514823846 621395700 799238316 327909748 515503178 155337312 314442818 149480550 973197388 916239250 340816818 881119170 271847402 482747978 315533022 544582298 652985422 150209774 593506930 145824486 104370936 800754532 140974736 150783746 287428428 18856416 869158942 264826370 300348502 143049714 220775460 948717096 54589706 761622394 558445140 330315986 766122708 264298008 145638198 178237352 211389242 893884316 816608722 319288794 425503458 527977458 448823854 103248670 714930894 382870882 964433700 120572342 296075944 298340848 813455378 758755130 172078368 172255300 94258284 883423672 497625586 229236368 340087624 677092776 596288970 263480734 312671546 647349330 444388052 448465888 573475956 932039340 756999116 850869994 26041932 9534596 924485504 995563868 147011164 109444976 364405698 67035178 418754942 807483432 981396020 925615164 325041734 110636788 232268588 758830342 27068010 16625728 217143348 619271128 847711316 25336410 435299394 991144748 492662976 609100292 630997060 810412950 110188424 422545512 785995630 880514614 629855054 929092128 774749544 49126184 877785182 576974792 775204486 977268312 885496100 840996418 91525914 181420158 515566580 666185122 166732966 516420546 409205020 425285810 164949088 625007682 925300422 931878726 778559686 393385800 472882564 483738198 969302244 303372580 124575172 160077088 369714970 936924124 662952252 195574388 641117944 477562086 165686432 283597656 274058586 302626440 740849628 153399738 764546920 675918296 580483324 895477224 424541266 737440882 952033856 819192796 372336354 779535664 71111270 42258946 735613228 353635610 843400662 474294542 923043158 322208130 116111954 658745522 826819998 750518948 29874010 276054380 699342758 609980998 819700104 624238008 839054998 405826562 544520180 588603918 260589368 858769980 973516686 151444596 104333186 821326746 995557496 394243772 132112952 145729844 252445002 581596202 916430954 259369572 897500686 518461780 172673698 680465778 33240102 273149924 509576632 596319348 85900484 22695740 432664140 156328990 845334954 541450844 578262210 145692492 591606534 51469028 201157162 924638366 671281148 937408452 798588946 39475318 481042906 682767460 507104320 418854992 533275406 206683818 176788956 66896038 741847256 743404324 428172056 39037774 562945394 91818648 173376824 246423274 509824618 476228564 861175986 997238176 520923612 718711246 123036626 498136374 232328794 152830048 852091322 317723926 435399328 347796278 126572300 734504170 894893610 197903368 597584824 406337716 300864002 154525196 144012612 888595480 524736756 719397072 450159682 326043748 946974718 438014044 756462326 920525644 775171054 699959010 294610010 430258400 149490096 993024188 803789506 832736338 649647834 803746726 34409166 1466362 2363770 817821256 484499824 385957560 223711366 869401166 192115428 178333576 573819794 816269668 466520884 140799810 884252128 625466706 84260820 685443786 836919852 908186244 80610972 512366710 119748450 887614020 708223580 878710536 247028510 285254826 34646848 555469828 172439870 108289030 836991052 443129368 466551026 956700336 479610774 614225888 253448508 833012026 337833846 911696016 868705190 944721914 91810392 343663810 976986368 550992474 58577908 721509174 992216334 83316224 106722692 974746414 676787788 857854260 743927802 240936782 542130606 993080444 998154844 339422944 209139374 758259918 599498338 611625980 840562400 249371422 200286198 774535164 193306346 92025510 320361542 264187050 909514558 800648530 149708642 747584634 715658982 253646794 770291072 545724668 334754306 229382968 655163638 280335622 426930808 793733834 930151902 943422484 966831392 195291278 753291360 41494294 240220148 448024566 283469516 387638660 745242358 909369252 671870572 211304438 687811770 556514922 634928768 635064168 551159732 555626596 366452992 296888604 650733336 686733552 188246090 668657368 341924554 695420330 172384716 607163422 103630816 221451330 338702788 682547930 70760728 3062074 56266274 891423958 100836158 747189386 950487516 570091212 456935272 12359806 747394654 913202728 512794394 825769906 975512060 59240868 35108826 664087762 978612998 361947192 982295598 99303270 994833646 706778400 559840938 284914884 297877672 218432290 432216836 254560164 519647648 94125978 571254428 564725834 216584972 592825206 363710142 304892904 188061490 277622290 435198498 689096766 565761816 230263516 181856430 479489748 876889970 770148474 239847102 44617212 780878320 56049650 167701584 193012424 238723300 754381970 563985308 300676938 255585270 715896214 121062356 26559348 59300368 492789142 570072772 818464226 244240122 145922416 849605920 424397770 660456782 373769294 617819174 684491244 415989686 193632932 392495818 877779870 749648850 238908856 122353692 261387998 215391632 681953268 259847106 439058814 930582468 364961496 518882170 594034892 787148424 658810596 363608722 509568528 997832216 328894960 978427990 82557262 407688160 314873836 229672660 653017334 569433748 208522460 86716136 32712388 995869432 699629196 678444404 959189720 66304886 899501584 383670442 508026912 397784720 421870414 826591012 816328940 279192386 383250270 197717120 98673762 560880270 93374838 858109026 756308998 854203220 177767066 422510532 851848030 602590656 687258290 483225510 993094506 281885886 137610048 610716778 61763462 918833672 897381662 259303838 943930062 992797124 102168730 21773070 337303046 818197818 871880666 312871294 553868666 703785092 773209574 199836970 257131830 688395278 546890590 627709576 124385472 280521632 753772108 929381834 550297750 955659100 354030244 888403472 936850740 314716366 990081928 61604942 149578536 689727920 894934018 813779440 871045590 583256074 323404062 361337106 750106210 1024648 468374666 385663428 614447192 425439170 318746322 477212764 144303062 320005164 695393202 904098888 886652100 391928126 458826326 648172724 524883582 687135630 872811238 177091174 745255738 583079902 964897084 759464682 388517950 511859468 717160098 874892442 319196096 670268046 161038220 790936930 61230396 377154394 191594946 252322160 270534476 148253462 778092584 610913418 727440500 821267412 412595568 324891474 98120516 87698048 683548192 465991386 238888176 630963842 862077036 639649058 386681188 402823156 630978302 162698666 436150260 418792294 901982656 83847976 193683098 555477082 574897044 33748416 944577840 540203978 926282898 834317196 837719214 196903064 371890956 484674904 741898618 131632398 266296920 5792644 407946872 391866116 119016212 64430502 222023164 64506468 896558228 486185582 657653038 479955282 894368406 349466822 23724232 811613346 219446448 784774358 517799754 572873924 675536312 439825530 980884428 283159320 42229964 280914126 351653372 592408510 36447236 835344388 380859952 307282952 100381728 996753602 496616632 498264216 641303564 573010148 79390822 954745646 928110764 10260934 536029290 991990436 414902952 111217510 438565770 915024926 202140114 771746518 151382710 555754382 70596588 697537498 893533528 959720176 92911214 524400350 341056588 639343590 413888510 88754752 561485002 537606936 379934430 863074804 842063332 591196286 436814068 706680996 38094784 511352208 172469990 88348062 501279334 956814608 810115260 835544990 359525300 459623148 969381814 362065448 343319252 200481252 977835418 880179308 627242454 652848366 468115312 438486232 155662802 562963982 475894806 480445500 623285442 271418814 551688728 803574412 676219236 269872382 279318316 846896496 342421338 926625300 321676802 332795870 34767884 836071900 694606780 623566352 591322648 892324232 137037424 293991740 595111364 781202728 941961160 225299702 215491302 691594586 996382848 939691284 860120352 909993224 503116642 332271786 186573320 974660882 549353690 247161568 117425140 500990530 659748314 293188400 464557472 768350282 678591754 60329154 202993560 599078520 248149214 547987350 301413256 319508256 955576272 241343492 699714940 818567160 658495464 302207370 150473066 486389400 283766138 371482846 245974502 780144642 307487866 142456204 679611618 951672024 480454472 93994512 390524220 371656182 109101912 460362786 828841476 353447320 286231178 414342690 550374326 128775976 415266262 981017654 747780444 927983754 520070320 588240192 927891270 634230078 639966950 620076304 321091220 245397116 524711950 7081084 41531632 222448646 832246924 318131498 743223738 673165706 395201612 384132608 757066880 947862766 28056458 625908904 35856974 252807646 917269092 131780158 237563660 818700098 111232610 451017876 923502306 64226378 482714592 182543374 906834906 85365832 322703988 455371406 606553388 11427782 928683182 43190106 943499612 677312982 560671532 614390278 738286210 746698836 811026412 301945676 207121410 5659342 693909148 982183004 827620214 397211058 398712486 612736558 749908112 996498122 474347324 770887748 620436676 661896090 405744564 628456348 828276932 233246956 544512560 183889346 281313878 124249148 24197006 675173718 716967584 559271878 688470666 864463014 114897200 674373000 963594376 257196102 817108100 202917344 467493006 142880480 447768988 463944388 31126448 356173878 875552098 952714902 234238180 491200386 939787080 18216956 135969978 892858710 665099462 698359536 489163734 294606022 385023804 472224904 291796942 709296284 284509820 128769524 598316120 436331642 904983240 250932586 993937898 707214250 511594716 499306008 964516504 241087986 249376182 182246066 641432894 856206890 611328564 535532632 473073594 239128794 184565066 524353220 574310226 181288074 642398168 370662954 582783474 815818710 469648164 24611426 608373820 56610438 319320926 259237082 606699180 136224164 994688554 917953242 521673212 411297188 686767744 768793620 150501178 624271384 859799538 851247592 30710862 919601024 46762482 210226184 715124584 165027502 91997730 639222180 980343374 949881306 11268304 108973750 188486096 247997454 831227132 434287894 127897908 891358220 522835508 278207064 342266920 542238600 94938008 914179960 354176848 231132296 873354706 46306322 209846322 904365604 154786284 500989876 456718456 680275964 390273264 202157048 271358696 673860590 951727550 268778422 351433990 579735246 335539360 262709596 303237022 35795508 263545752 116213304 309121846 789579020 786046172 177218800 73382978 864063258 240147876 864370348 669395030 650249182 737397740 697400906 892714562 555983392 682094192 849005238 858049598 245872842 820415196 830199188 875162226 659151040 281048394 950365004 205238398 358178832 449888972 224167000 79169638 42873090 607953276 920141372 405905246 280012204 907857688 200984844 352100996 989524932 868089296 719094386 806016206 528575008 560941994 506806208 583623638 464432442 376824900 138546298 126117636 332861558 830137898 976708344 289893410 87302604 680146090 776064008 877836446 19132890 985420314 507436824 336120168 466736286 982895132 651906024 462154558 373112602 330869680 168690882 346184054 872592358 735217042 170261088 518943142 832424728 977755996 789122384 639685378 949459458 156267610 792893052 963021036 151950714 360914580 247631284 52395088 584734968 358134338 778668754 363116322 702630466 716089590 848936214 48087498 949363700 958523906 33795968 435856608 914520056 44058664 528597072 386298906 154389106 334519598 957209322 262620852 193717270 127044702 111071226 658724548 525899594 564663664 692222314 324749658 944905732 591924930 679223892 575797270 629704142 124390164 716845500 554026758 583038500 222472278 415553170 814087680 626046288 690036050 475694194 202665036 528598936 772400468 725206266 975831908 55947644 626520058 479667574 27796748 2068910 139315832 64208820 247241068 973288786 451724232 44734996 890736828 812495270 736780668 830269584 461212630 749030052 383628730 443541778 895540010 36438588 319186670 990946414 81070564 845606446 546122598 44099144 647170774 121107798 438817772 532023764 197800474 735679064 695968958 366803996 967023114 637034080 309750764 274835546 628609448 11329228 34012866 461904502 884367960 900801418 694519608 747568730 979935326 909443992 745748570 224203140 105954254 736377546 492922614 808481596 284194958 648961102 672029102 237722846 466961416 712854476 551235618 472001132 937301272 702076960 445894186 996084878 533692186 915478538 820819666 387247060 634684572 198279054 836422442 579750040 178335532 106176468 955631682 823502226 213913862 297698226 709714160 751995658 286374190 753357350 713449256 586237088 889605308 697785150 765112510 960970738 103680320 78460628 57030468 901951966 42755594 741463894 34838164 911030654 417220840 315173598 242627752 812195070 973920520 663297378 67427864 807109624 707446990 318432676 479374456 167127660 310118422 536502862 933320544 906757192 569350744 656554362 858809268 906100466 242859270 891263388 69718278 233742940 323442420 738134232 567780378 531868862 574838742 632970230 228733206 554800598 730047934 441827126 288293480 370641668 525835244 715664292 439667290 120229984 148444444 786302376 55732860 681198522 449791092 653151250 384020876 110300476 186681298 655573594 177328704 73363744 39917576 544607978 503829110 463001070 705064874 128905240 415335070 511703864 15687660 377045502 215441028 78356378 732280676 439099622 344963912 59783980 486139726 46164800 870076258 947134458 749430554 279047744 658596960 647986622 59038868 95929800 512495792 903130446 456036016 686698016 719363828 289469430 916216362 587098398 952029106 492650120 893507500 682166000 21578300 652014490 228660622 184407750 903936452 54388920 830176156 859147992 801563664 345716638 411348636 689494646 359442446 466379592 422118316 173762470 728819588 506120334 872185142 503216310 230164346 109137624 583120940 275900440 714127006 950246318 871788744 580387546 289133872 87737568 673579378 997271600 614417330 978273090 674097464 443689620 852876792 688994740 39922442 912430244 737927664 922903828 587553064 37128478 302132232 254674232 761866702 715270738 571168456 337533848 212931474 86180848 887414240 201777084 301984312 952068194 10080098 529485848 415414694 488912412 714835048 988793886 763257686 403318408 748839374 212378148 658248990 127005692 56701556 555260650 657050776 652119406 734694244 333817120 70572512 858699174 89580994 118691164 120272606 788048754 580504200 870042944 322762268 290093602 303804408 453291906 742976534 710690160 186123188 335205528 460875516 38280768 11985262 751311460 540490354 253640082 242356698 348715428 501074936 430623220 904870938 4467138 945954212 703958398 132714678 219468960 265265950 836909790 490004468 18750696 627571170 412872494 463321956 828783302 506011662 269617044 242128562 136492880 759186368 607221394 693900998 410789184 438340652 360598236 407474340 907291602 851984818 941425860 934905806 512971620 719376498 865149304 805660214 864816048 74936930 435204036 183026862 923580586 163116920 1342984 809060578 712116490 326295230 206963058 560124646 640115322 923703162 201115884 87525908 474454862 816736638 895888748 703938400 861527160 2106358 771566950 931438904 118593616 503261894 150442240 543296498 314551916 889641470 749095482 743979386 286545132 934961930 608215234 196380428 480156292 70744704 668979674 688272764 812774028 136796070 346069364 898419794 618663146 648119194 5709278 402540772 826826580 643423924 566175940 140156362 762309172 499356246 154947336 725738906 498693186 859000160 877203858 78936486 736062758 414558768 114737024 640114386 866191022 57136496 290041730 866527032 309658656 327539594 154072956 103386478 276609024 942940588 83587034 28176838 346922006 215704042 745254748 459711098 606763916 489493242 628735314 556676578 683691572 320526238 358166520 755769102 107622048 565650700 98313188 925923998 516398554 730132076 616201568 365574376 384497264 953503626 975635150 735709568 485325178 400465134 573155820 708952768 246459644 489157314 359455254 252328440 767612016 455895888 419573112 85797770 677778018 574656720 390423686 269116614 207088694 992856732 980292902 671919208 138215454 136311556 810195300 383856040 961322286 918806354 534201584 310277310 450043168 705458192 947089558 289537034 154789068 579941578 37059202 817026956 133782140 766898452 69421646 826424898 899178200 708137068 220055646 571675438 160784194 789602780 49896324 303473286 229290512 254693084 548188932 264708012 492047890 664695896 871848128 377535954 754181520 681926650 598355070 330506404 408374484 284880528 446908726 227718536 181604236 109505158 113745156 811737004 268363934 304187410 643270026 860066148 346856232 385652912 379623124 957296338 541780306 243981918 150147312 518771226 686098372 999837676 370282532 802105796 744130958 865940174 601748762 839570314 411209228 255139530 792390956 590066214 316795542 342079628 528892078 282289756 652634006 258993866 632595264 904338624 815589950 247128030 381976104 667850218 487211396 32250622 735431268 682809802 836269402 252897674 230983110 692041154 876500480 950431572 65905720 813737780 648864292 874246250 113759128 571370568 460624806 425210182 431095678 295606814 739427574 136519212 724557384 519016068 845967532 831509040 934027566 528125820 996432468 761430484 582095514 853039150 60784334 98730400 190516194 467919330 32246862 249089508 272916338 941149400 797994050 401779534 555160906 307310842 839096294 200015576 855058762 36086042 275237224 322434196 954194102 471982986 487346040 303009114 80448538 816122338 139727328 295574694 432848270 62816872 914804078 287237118 714802098 77219428 439720018 530645416 154094152 427853096 761467592 10360460 922010054 162962010 409693306 79559540 107625382 903908822 865130090 494728262 937591824 436425786 104439884 507439454 113180538 763375286 189995388 407222984 945453928 71010822 681898672 695611840 177009428 694315894 764129098 60960086 732509856 189836192 985758682 24763116 340609670 334211282 930948978 332917296 543364002 436516414 603454524 84174874 490335034 21656196 632918994 41132296 92617894 871788684 53919922 198093006 903388474 35332638 859915812 76086768 119508678 455347392 972161780 122084484 79797358 366930280 534384798 120253192 640412724 923680948 693073158 355959900 387539812 60005890 282259698 826980972 886693386 686923052 872590796 962689878 768728784 289171786 524068512 217357696 622762682 73910756 931231240 342884534 445868788 70780818 281924106 404096300 799030416 431169694 316994956 400424346 917230870 531737824 396177312 536679820 399593756 72388054 861639944 50300452 951019320 327381612 325881534 473419000 453685260 849694312 94481268 39401694 498406644 707480636 33558876 952248714 505768950 702184066 451241326 499419260 336077480 652115242 157034488 441079534 449557046 979492178 189957154 644266864 86481382 567843090 280605310 521067944 928288136 192475024 3619742 792928468 820988198 306043684 124141752 369299702 44775564 400645212 591787394 290342884 326547080 199562616 49958434 147797596 195253158 338075388 266032142 170760652 431652566 66599712 487180806 611890096 862576972 234924020 142724840 562885700 618741054 307100968 835706638 836318018 961218022 925851214 330306692 763743298 201144728 801713240 488534154 473040360 525830370 500564506 652102962 708710216 975220708 458394140 499698776 551094784 298921054 534779000 396084478 918578154 40890476 738807372 98533650 21935594 583244426 900695980 911332606 523367268 968312022 317184210 1863326 104379004 693481808 940700884 188886042 102170248 611460774 203553082 924956794 792789940 679875764 58170416 479285908 721339660 628081412 654614202 236880596 628508460 578851392 199948942 791139920 811468290 971388200 740478124 81008146 844108102 179842004 698950444 131870902 480742924 202979074 733353772 766627210 392372864 817393496 453518918 418060376 709782162 163676134 468366576 166925710 302799888 273960046 970976980 285479062 766767418 729352168 845925542 115178076 202979928 439101772 921416284 781043042 402007504 622324446 286864700 103136708 244916206 37787030 7317906 466384476 673872446 808568770 774087218 759782790 140174310 558873472 7688562 609396710 620968456 457261232 568002190 412076286 114242962 95211478 333261976 797519558 588715298 15236364 160622958 436910256 310639252 127613378 459805802 322733240 359401128 285049762 742423382 599628866 973036490 19501638 844355978 693778474 136864268 462704144 451953368 966492464 935051088 343808890 92296350 519832284 233185956 692606132 533109866 195457588 242383920 386085506 71528738 24078168 873709204 593739966 644054 31498036 430399958 26383704 155249312 150905950 661262486 998618886 417341068 912927406 274705054 558600122 343820562 330966264 993540120 437945008 161903404 568025478 428503204 9855034 5893812 458105282 493300054 729288578 202820468 680819336 516533084 268736104 784089064 115254526 281021334 877209692 164030058 478798010 195562482 215474444 531980726 283775810 807549898 558533306 516346406 296440322 300035088 416538202 169828084 347057142 988513130 393106508 280167128 817208510 978996228 672322750 876731216 341980834 121282956 25946390 632699256 106276968 404096586 829171118 948895764 504924826 804224188 677625092 67634440 476729190 807736742 208106630 171994358 928071782 595727772 227845334 119564732 266635282 998750546 386392816 741272644 518867024 952875098 938704788 311809580 925022902 498815742 326387360 866599892 271103564 632155520 472807984 223821624 634864096 310937466 125005610 372718024 458560880 384514764 446183508 121531678 623872322 90620148 315141454 554294786 618509268 547335892 995754678 626578584 946352188 517857154 492339862 269685946 550712882 751892592 290086710 689154348 274041898 114364526 758844386 443013918 616986672 675851812 917040734 393685796 278153810 745506538 633814290 234574646 299251762 368463828 425471728 287618558 892793116 754720048 347412344 183181044 717178486 123885022 983759714 638993434 76817050 733178980 70736302 181087532 307517726 143195748 596126712 976219742 364001384 778362152 525526836 561300652 357021736 291721820 76277562 427130144 292971406 908373178 909793006 469112540 446584336 231224514 277364532 490973932 306945070 867749766 602903462 161859344 932412866 122757082 921658182 209159056 174532688 616360338 627423354 353371784 903351990 524947288 782966290 568852920 426655954 188913542 51576718 368599628 532852792 138511572 393034602 399193866 304542738 977251872 203333824 33683536 614089746 834754548 664919578 566773610 84923360 75576698 382659954 108094972 671071288 669457190 145413832 380560682 39125940 783966240 173434476 314514604 388962192 186532854 705206344 999549208 60157414 846630944 565087968 890703690 665382210 16596966 119460454 828601186 514691170 332335926 933358618 730363394 249542754 424995362 42581292 649898314 554700392 474037154 114061318 56894338 871276608 821958212 132714586 813842728 798259990 460971520 612675676 354876792 704217426 701450212 535806912 192663816 209617950 610089348 712555950 472514724 193486942 547615692 50858154 129489172 475988008 499149446 96355852 47493320 122815788 41388374 448614072 198115236 946787846 83926414 357793114 829996598 641773642 801795544 160758594 682479712 654324310 23308680 492157570 453534180 786443952 531185426 627525878 120323024 124276092 691297048 27669360 603073608 641264316 538583650 592870538 569260802 815711354 639518202 344118682 948935898 941588830 659066284 481728014 487382508 402573510 468771622 874240764 320045956 26776846 966796676 39245494 995941108 219100626 353858512 436127922 164843502 88960550 593512630 795612196 554979224 835987136 796626996 693865870 678803410 458167130 16806656 484261694 685455770 428708510 974471798 787377220 733180494 649449846 911655580 124181234 62660028 879461684 205363182 805871826 476499074 123284534 235421164 956678252 182076072 109158794 812627224 264104756 281229324 287994272 973576704 815047500 653243360 519317970 26092122 903239634 349999170 848262798 403387094 412356536 379698428 440197560 356210592 667929892 688598262 881977220 575642360 124012322 90295698 957589034 137330568 618546184 392364274 931694488 94347208 448009272 478169130 111394094 573079222 144756532 536006000 794663184 753642298 372076030 726003842 242497974 943707936 202478916 637256894 590710588 326586042 397835626 189556394 591874968 316383448 565788472 858446254 347930202 271423038 156129300 951754484 814949774 861143642 253229210 430391752 786404360 595182358 339815362 331091000 552685578 563739068 529607362 820658236 902626644 618479984 776756452 47996516 108058198 610768794 757672282 243106344 619166780 58289162 423550726 191878754 985261526 732155948 310152198 724697594 149236490 186512934 647370546 387560292 942104170 297746530 613462220 989660760 787715330 941244182 259332262 499184568 443681562 690451948 881381888 216732364 488583808 882548382 727486004 391174774 301869294 22501526 434609114 536533048 706167008 255290060 753522730 474181722 628021318 751498506 357775448 417967980 272067080 770044340 202646948 713722682 169995402 645503876 388006318 202046596 897123764 122167824 485528340 763607954 668318016 96043664 44257080 206564292 701896270 637352676 951473552 264002778 944610982 814366338 826837006 818742790 768560908 441624490 618636782 395360594 462289452 277604590 633957054 138386642 69129188 13146668 676252858 198239632 382293344 596554952 134800076 286377678 371005634 314264830 80836766 539159036 333954478 582108164 377813824 941919574 520074380 622603276 644966282 232193274 368641458 883038338 228755752 877960406 238024328 923170306 116928256 686596422 303492528 639552970 599131804 36453508 268013016 996338348 325547762 5647702 523553598 145331672 432672686 863412310 568832426 853117360 349727714 28446964 390615672 344529822 662437758 191762124 251978050 584112654 683415570 522197888 601081844 998607110 617222498 737338394 934676776 289639514 690833484 141791220 184640474 443016998 708369518 322717918 407616368 766394222 860515434 834390068 184383714 311173326 456363122 472301104 704913628 295950384 130651922 67371518 119316254 930419946 121292466 733299958 481616664 520162386 219821098 826183078 430147280 392211252 517439220 571858864 165717084 344648150 18829184 639572520 314804856 802286296 638177926 62867882 984680258 272051024 323475090 242856936 469361874 157382936 275339428 326298224 579762022 168488354 530677348 595258728 332590472 186271362 266746766 947152068 902513162 203799270 430045726 50532602 818246574 41846518 232317932 620641434 127324030 761096348 562667972 296485614 552639768 39681988 281150740 256739662 802351648 828444664 850980854 276013038 496435198 647842906 413347938 258947046 687115940 9763526 390749350 739182972 176103112 809288178 933088464 111614960 945539864 317223984 731763326 653878498 615127462 843382342 907895198 941539842 113176432 26708158 750865392 883593594 389289848 860698800 476937216 780513188 599447134 609987288 466254980 183939548 63217410 725044910 612083596 372584898 710649740 932550804 564393638 336794238 656154520 508172658 331396004 555001040 233886266 327273036 213809556 579347512 874197070 42892214 346079378 110817562 721014622 516029602 554510584 381088400 312026746 739550176 373181290 921655338 87239508 40047876 71012746 456162282 668430910 133942470 717714526 846339862 275716284 95805342 211753820 518567498 206636718 776004590 472659758 368617152 77477880 988192422 967108072 11887972 226170528 467227634 65606454 793416526 703786806 624484294 973028228 954156352 227891640 614260184 494477758 709428932 350889966 215938466 650325770 856704 660348594 892482334 91366524 671913466 463621288 646587608 915989016 107640334 451193254 625492840 847445330 986732222 447309912 256706020 481258246 369489724 153711034 769926682 707086582 859250766 158646652 72932370 103728592 551363554 707019958 675721384 650981710 35311962 651579848 820638542 437763504 473117658 787103046 736060808 300308492 913907198 894529084 747578574 957653552 386390174 840160120 712946590 224223210 419505604 53248104 792424516 312864048 150424410 366859238 356835148 975158204 677410656 143444802 975929204 840201744 683088308 693359630 336757288 62734262 965942714 305899072 62959206 168218804 114083802 801062038 219670100 903645294 901538888 656261032 192029424 222650224 890867380 704573204 564588338 517547852 275783190 695664714 70346926 374915262 154974772 545202208 746087414 344299500 302441342 894301648 587018870 562471330 346881896 333471764 556329200 877864426 341495226 599956250 762584148 951785770 890691538 605624960 662375878 919859630 317746574 84342390 196621898 274988948 769671802 524724180 481069502 424082004 436760260 542766428 488768014 997617874 466091892 46560042 474069768 428611766 943957552 487967130 410767188 442887280 310067672 921903728 606977660 382098844 29650872 712541470 465644414 828860246 880959724 405758578 931405594 285529518 356047850 162517552 814796996 41096480 766901648 234021996 99676100 54027002 241082934 65612336 646179090 901811180 636267492 214659748 187670174 889251892 951301014 798528208 31729138 300678872 377276394 32848696 637872042 109262958 894452798 659905516 113141352 188083970 99873464 911673040 224320674 866936486 855512044 561568256 301986044 544588432 431829936 996487292 344712648 599910164 496497640 769281568 284776160 163602934 23470944 798652158 780750960 231845030 712878498 342002600 515651622 166618776 894594936 112332904 988412248 162769116 475812824 355017536 5227308 124011962 7658450 83750902 903745002 506352966 374529540 228344606 22094802 542616730 634908400 604715194 213351398 768488028 210528906 700262012 740677304 77902016 855031900 219105446 591511162 900338872 803124552 859931842 451073166 479750656 374475334 899044896 227140592 768946214 41455894 572002092 634027894 501870862 916952820 305554002 51121710 687288018 229004744 854306498 703434060 486379144 823312244 417581102 478256180 982588784 299853904 337829308 538432934 261242434 519803002 671557904 352537370 54758502 272247112 23692228 85473474 476642662 835484212 663920900 809611996 76484028 955234736 869301966 871566214 205925838 814367684 341384798 999166724 578410020 472024124 852868250 171887152 139902862 565519208 150704988 94035368 293065702 459169064 156221176 780175682 710655136 983134350 385958876 90079056 658508052 247029962 950197030 180451296 205881116 446869684 122035532 904673594 756215090 733532996 856974074 177793508 736710016 662546408 912806008 460090242 628807600 782849080 376194256 306075616 314816514 111807138 191459510 713443874 381112498 52214612 513651728 759788506 362425694 611507308 430040566 567254846 315099080 573764164 684657852 15967026 459296350 824536424 696032922 905228772 346135358 676539114 150521366 619384676 760156306 263405532 454580928 575322188 859672380 657122302 334223984 624004514 557024572 585647228 856379264 881203844 376115476 654249742 756458142 962706 324282712 237001068 488124822 352456542 502558372 28642980 179043880 379521486 470492300 298310252 110543318 618713866 575121612 532147948 491082614 852031428 186970972 156681280 329089942 932339246 492322980 855126132 856390056 319224172 34867404 202027050 471514082 738722436 158149858 530647074 794244828 555985876 774236120 483999166 629637940 247085448 991444360 210547296 130123006 778842904 166224356 596226800 418281478 784414822 109370942 35227340 52450132 937616780 59752088 875671974 293101138 278497660 952812028 444882784 8368334 239976986 842211472 980887558 581876012 224465118 143068850 269281202 739179104 576271030 481935284 24265806 33131826 783679638 164438910 39100242 617840518 814649884 893504108 530508054 243955342 463470940 899963912 266566886 528496480 953393784 395614338 863348440 385211452 735293342 197091282 961243006 746951384 330965902 855940284 599155072 489820266 794143382 194592438 770155650 290525624 541159746 915951644 612388708 416812156 618793262 544248144 359792938 259324290 446030036 725762816 675298414 700480020 152678778 931668742 738304786 549492680 787408248 991727458 697427304 820246562 826064824 862724792 135116164 823220416 805746414 676941454 275400922 302186874 798592572 582713044 511500382 998733672 205753612 19762732 680352100 339659672 449835750 733797980 396170798 902049086 345639068 97948804 633929260 600123384 999085316 539835356 336258614 840103648 135991040 823018610 217019726 142339178 413604956 12765998 853031830 435143834 754988296 693948054 886926628 168500658 835574578 262075380 991144512 233353610 502742006 487579534 471852704 245738712 221529312 12025770 324290182 578314706 917319356 158559236 137460944 184298214 885216716 577911520 692427890 694679936 529106242 740504302 190533158 59771444 453893336 612352280 623410636 242143574 143457032 559674692 977413218 167901512 890906870 141574342 902700448 644557254 446459218 99596008 678553114 528569698 229169966 811318792 411034552 542678782 706084654 624193154 97221108 742408498 635024914 363857944 59434030 407129728 330208166 835645760 999491618 361304472 567416968 191002064 584088122 842283124 639825140 337748886 325752162 795104426 505937332 101869576 412537306 150712168 398909296 686624220 543728678 244274410 509412904 61357936 297307460 114456556 808240154 896928424 734015782 484559812 142890706 180921648 264310942 191716932 511735482 838499870 685833738 66984834 170205004 694417732 534674426 473547660 624394150 536018666 716945894 588558448 142316850 607157932 969674008 573218650 45901934 800652580 108113316 507111740 555219944 14970150 991336532 272325206 669680796 734546908 192027168 245589586 564100428 686808100 641918508 145404284 729140938 271536228 883493076 269717424 29679482 234644600 581975008 714675618 753852722 439905800 751875470 248021696 483475066 211655522 142018188 220571248 641325524 251851718 396636428 593030516 158390660 681927960 915117662 646023740 686621086 335148318 84642732 274687472 202912344 743523920 762995668 96572678 406067734 132769856 41106730 27300638 448381712 73196858 946612818 911884378 14866916 549226164 17525950 229957246 279443146 357792004 48956966 156904696 132483142 312187750 912612716 223226882 30408534 823930618 928388098 602018778 598286654 281345918 904638014 636566736 531810666 348008844 117719882 8098776 700588752 981687414 770213664 965156492 354972024 325348248 11961808 117034568 677151898 968422522 802652734 299019298 400569492 830000998 384017694 792608032 270364684 489176952 499597688 9871670 677735164 304729650 368518036 989538334 923244788 579012076 979800378 306037462 893150116 732344958 365220040 400539026 546608604 1776208 829120578 661521218 968006334 326842198 356506600 391366084 524566742 799610586 416623146 702643140 72750046 399526344 29692646 481939878 919310722 990364300 98536706 722103900 450285702 223298828 670970916 805431692 748785420 752768036 681490798 994713250 910911454 355456156 495676098 759665920 576328532 358326938 131019626 142968848 20936818 785740358 140762644 559334540 503233308 65866816 793688310 163265824 999034846 442611800 717996622 552283090 533575700 6016698 728422234 361279178 52525946 240113976 224867158 576006088 121383354 980924714 770675154 688412878 823961026 215949656 123606340 580255738 459735440 809216946 300225018 747558046 831495198 649153968 44950652 477490254 242384674 645662884 447627638 592253034 502850994 626987696 855829978 986944022 293675170 191165390 651143584 27638346 495752530 322009352 511300304 208308422 467694242 140916256 808107034 22121246 393639610 771736706 300969082 512759520 577212800 284262560 20371342 205831654 364388098 542168118 713380258 386895862 94985528 128262664 299664276 479350670 114460208 935667366 716497306 897819584 999567006 621323818 766668200 975898024 819728374 934456524 296303436 571488998 414740052 928770904 79553128 679202178 730177382 770146022 905135188 501192106 896272632 530859368 287791284 63229006 243800762 663148292 595345272 420848072 583823942 474186162 372244302 498821254 297563788 79463278 133163498 135533802 340999560 386508444 361273408 100429040 961288874 688131546 870132454 172672680 338082606 937307642 503319338 900360304 603795540 292628086 353116628 875017492 157250418 160863470 933030556 236947752 92156866 731603164 626256108 920344276 749178560 975719068 890922690 420939282 7185018 766449570 668620636 860978030 696007632 395662510 765686932 398547650 947694180 987127518 641651298 694548278 258817200 973040154 213885572 856372666 997150746 731974734 730767648 465286082 92211620 247685544 238422724 166479626 99793788 326319594 511947448 950450884 174104442 309878210 112143422 913466778 675045454 355414894 675035108 247454862 522156324 733928082 853464644 36982012 383745160 285114224 61651126 76846450 323855300 281479606 142456494 310396140 291353158 558281102 691341210 716177876 783963200 730545844 637108634 787090254 113868398 635792330 532216388 600300010 581954256 608805512 690178646 295031224 916647436 886482184 303503112 652893452 135379168 91861466 28200400 975374782 546262506 73631280 919148530 878518526 134735356 151114358 429373650 425194154 403886806 844419426 281831306 450047850 557984794 746515070 242749368 901904544 304227588 195683868 842693976 936004386 89495616 826019650 663026224 880667420 304018084 920983354 390481164 980402842 763235334 563439726 57212510 527998960 564198398 412218276 705439222 378872244 870531760 689060932 533533370 276244002 134839020 166001906 734322858 303850576 655310338 707793984 68495494 563087180 809485596 623784216 2318888 719366018 693037828 159995840 365509154 24365128 568041174 129250602 13501892 8020756 148337212 194077854 797888310 952403460 129531398 282998998 96818080 703001798 151814662 578973230 126943026 354010718 324478636 631021194 928136942 129988490 207549282 627201674 308939942 999005572 372225422 375034646 682909660 240479346 628755750 554418400 945550240 778481058 261900676 86132804 329642264 119745876 108452194 622611826 219886422 917027658 517166742 704193546 785577780 276109388 760046142 801323932 136248080 322762972 410023752 545158438 222861088 862459746 276059272 344655284 89464416 28173460 605679878 86079916 236224790 3092888 73542784 24981358 402355148 567901504 597121566 929355586 281949522 587324394 148576826 609657924 557016628 648528522 269350046 707400230 252482504 56141794 545314370 617635184 242692908 803640800 999837958 408660696 646523966 218471412 575019384 291298814 48957172 376821382 108983186 299622888 195090596 627781142 525576510 308841114 477895426 66274542 549841820 725314472 545699868 101755234 948375906 144446794 261551302 81921038 636914986 32395750 461671678 150417256 959307950 768716230 956410902 541172190 397434998 395227134 991584942 287938886 185721400 316657988 481660936 715537962 780304270 221406866 436948538 363989624 544174184 632151544 111709566 631329908 650984936 466931606 971865148 666762998 814629190 265030366 866351646 222631600 596954252 330154584 64950872 796314082 675974338 134012686 918952188 587759640 390401254 368544298 356294598 590378884 466064866 841082648 2980710 740091612 234373288 468415956 843100506 859205842 424299914 866361260 380348280 439882544 704218336 702992086 89959150 404273706 58786070 439086434 86285262 967569098 592154238 454136404 421576958 806674884 424675150 781227998 137785116 426422390 932517834 558605412 271353370 989290278 716886126 713570740 439383708 622595836 721019448 587014658 330349166 204059388 634145222 367827464 544474868 434184956 951334252 643207206 597956506 928521878 251979176 811754832 22526942 193207814 721782600 257698728 232272232 184204126 733834228 938958934 486257060 177034798 796588176 742644940 67955486 639162644 163532130 298413820 55566632 883886576 281832264 614726402 295517000 730068058 853249386 598964196 881103980 347046342 656207202 296489346 757348558 800434402 532594270 444107746 537946758 403341882 182935938 433638558 578667420 944174680 421918412 208622362 251382128 964734658 662166860 384214924 116425986 318569068 361324174 578687132 729337382 296433296 933752558 398846070 785275508 616097396 353200434 977086722 59187360 12382056 842545602 619789538 475361542 572668292 148359578 165806468 259789834 808521622 386770694 980441756 973933796 314301340 325615662 94262272 465257208 648205346 928598598 180410596 670126920 63888494 181590372 288763428 338993704 278760086 365612134 590035740 8555070 960077342 785901460 705514168 540035408 589859782 395705108 290081312 838201288 700512182 911021824 884140442 158779406 405625204 176107278 677627584 88940004 575011248 332788190 527762772 132697658 38884044 758972710 135149844 461468110 800485546 684074356 90465738 102604204 239091248 978806532 531213954 883676464 122502514 636350380 269812002 496969250 72882108 716766244 579227754 877307330 900210296 130937094 574872880 479717842 191295876 860664900 420675064 153392088 46685130 603805996 699420016 829800518 804654430 191249110 235627884 420729742 765894554 815892002 823798966 800987692 399495650 934926566 10214772 344410328 177545140 783074772 123882508 456679004 458447082 804689918 553594614 455783408 632234658 525586572 553744850 351258818 133723192 710730174 981349290 434230260 734588568 139649000 771670976 578978316 513644358 537492572 661691596 754801214 483173910 329808438 654527534 956782824 852456550 803929580 31969262 900484642 183892660 126322196 238898910 260556220 399559044 35478656 431061526 425059134 643936928 917418636 798484184 18783260 287791008 211847578 568365322 744559402 743742522 417764626 187621608 782831016 544471154 52170264 624599538 953079462 225770480 450431686 59853758 568459956 669997744 286889570 536307520 336145692 68261772 758087482 506508014 829041792 664842822 720194370 235058778 326992624 73424344 98590260 753364622 138791360 439883352 876546118 131780798 222226796 250829966 990839040 751066676 265673080 255122900 644672184 17130786 52629658 12625774 886590970 72190738 739042584 547823308 765879234 523325998 472286572 207428276 620972164 522419174 539576428 951165928 419268616 223657278 978161430 950531174 418924658 357273148 777123712 411548216 338818428 930212438 847399192 399116580 273948810 917454038 170454422 408381690 401086518 256803596 600309174 860408058 774178784 620120532 45922118 855470198 204224614 238134468 253321736 897217076 888750098 160829564 60933336 682749420 559493880 598390956 512045774 342375046 438020426 396523356 643795836 849315600 402596188 278057132 331024976 263804796 761841892 286334552 802854368 630458552 610006258 740645106 191898806 706539772 929465878 928190506 294662922 539219342 68917604 278659464 132013192 272518670 737205276 432185868 827947890 703478342 570829308 249310816 408241896 273040348 392897428 298267976 804143578 817531022 257124944 246709346 301247940 652853182 272022992 302121004 139889036 125586414 663700830 848621376 557216392 362758692 74831166 956160710 917392250 954886538 213890654 773838642 136687198 67542792 805693514 369385734 355900516 924718524 795239598 112715462 344035538 606175318 599667976 152148950 108996790 274887356 415555098 266770030 417606968 398721920 438682962 542823058 932776598 268655924 421909372 657178412 347008076 982211652 934543232 717804150 592604370 567018584 567190514 252581484 56533400 461662192 180612546 161603926 864446448 41472780 309630588 842032454 181934914 585279186 478354262 677026544 172971872 4661028 478570942 204472394 862402650 497178820 666030510 980071674 954679386 365676730 582051254 93966272 202592014 429633716 596001182 722518888 703107944 788236782 172370342 291002550 927533488 91614266 144623398 597665318 826653456 312104660 826041578 866877876 20771248 545076596 873563468 624119694 463054856 973026072 641164474 981454678 919747946 739125396 604657728 749998194 46689598 647832122 229441204 631722242 944168450 369045626 160593720 160127380 76141930 676068364 972442652 361724362 211207734 33439700 885566032 555150834 395498492 320362964 867766746 441240014 45042918 660249122 800562826 568324534 436521382 904010558 756445392 854900930 74433310 204098720 826713366 161310792 702974074 913722508 584802146 550201476 864106992 180093234 523651956 493782640 228690656 555469810 10898856 16259656 861831666 316756830 826968762 958948394 113116794 952538590 754731436 838633796 907179262 205063926 92930098 894736732 982705588 490704472 531222670 761249292 575507416 743481324 207583122 218413506 818673006 937360170 740902156 292657474 474522166 475468186 159309430 813896266 449774280 520319108 902376006 453477910 101669838 187536616 666033204 816519120 139865436 975161164 464233436 237979138 15525288 499538374 350249650 173352038 681815794 463955514 633588892 495365654 923455874 324802968 750263020 734595256 689568772 577941632 877012264 628899560 87766 624745854 113087184 104069244 896563766 112818654 897581472 991741272 766350932 484188168 120761706 84440952 224437710 569327436 109474676 552464342 129237746 263169982 796301272 421653062 320876104 452485122 559432514 832702370 403112864 780003720 752313466 993337706 187613898 133056810 324612724 391169650 577358174 857281962 111051260 783535754 209726376 562028266 108293586 108503950 558641702 959307238 651978208 460060236 887058378 721976074 600775436 672798172 181418844 841937370 858371236 602299488 755852650 492318760 825790108 664697556 460955400 630369868 649890460 675082448 541144256 156613788 836636432 146138266 705902334 46915808 842151412 80884446 705735890 649689920 585662260 46449040 476912102 316265104 116354378 156028024 784193528 985953584 43109998 298437952 696507810 24787248 176735176 81054004 809085458 854138874 653030756 357682588 795186516 711807350 592400340 88815636 922837130 796578032 609400860 509391446 44112304 488475464 806513324 466617824 356415206 389495258 580066692 98754042 51345330 35123738 889849276 286344922 716335254 452577134 877371022 391379972 492518908 880227810 804572874 992565532 933981574 318060362 274332132 892740056 678243934 19435488 286801740 769765842 995269568 398170928 766577720 276038344 272767286 381716092 332140172 445585480 334432382 311622292 358550690 879335004 726534672 983689376 261380234 916961844 755962722 134398148 245142136 608062724 644593270 941200742 248120252 845401322 77589890 55769130 911806442 963745994 934904842 455850094 532673906 219927238 952716186 398780528 997540696 535671082 708608294 11337922 392535732 325436162 12501068 83029392 710346464 448484594 14019586 451872068 342120216 754683756 902141038 854675116 726449532 588758020 516306224 85448962 969443026 484317406 185082916 453551778 847133778 610383236 181704562 526517088 314278722 358651302 610773834 544940456 999654730 269917308 944258616 327703744 347341480 826817080 168795956 28740758 568970818 688228808 331400162 322004726 375494724 829385402 960722256 138491796 312033054 308478160 19212206 622099392 970071066 136025184 494148788 292521200 901854726 873355174 877120070 480537106 533062112 497824818 123277976 83233718 802753620 846796322 670242852 93509896 253115102 244327502 916168424 953761448 458775410 655796528 645934664 377173198 115518084 243982526 60755408 488449632 945758650 193050442 12537074 77345488 956369356 761869426 956383014 835189426 505639026 563494020 131265428 830628558 264115366 711465530 578771962 473104902 319219760 828809970 490317938 714941706 933036928 493264628 528165702 243556926 803172808 272846360 322300576 581419746 760071960 782474908 273822216 157568180 668112098 947980564 185420704 686636732 197142862 640837838 404502920 474732144 512470870 831206616 157494138 222015690 695026960 58660202 349038394 584316618 482039910 193328262 377201130 857383390 112277878 459092980 990944184 707719868 685056894 759932258 69050998 832995522 499880364 488694930 332068156 970553858 239607532 185559636 601621504 465926894 322716444 209112584 140232640 687560630 854393498 288768528 886755412 417262626 623280580 744715874 371698246 852590162 226702136 247886774 95399536 460901376 327494510 965288174 592539834 853766340 7922760 231629078 902499532 924412042 765658294 886037012 721306484 228607328 769103206 655146388 13576194 403098614 279318926 794373908 55649264 507759644 620653758 935049638 963262852 568674218 772409266 348556606 779578572 878480758 863906396 383627318 628362926 132310638 981200912 673112034 325581366 158431872 686010344 200982982 14274574 499992584 119261296 916215368 912175748 127179462 791049766 927153768 450878650 114687604 406321430 641773520 159416410 702718976 511919628 332593850 233767104 534293380 280746856 194413050 413778536 515127396 158240684 381002892 182601316 65972790 139285378 534278396 779419526 157139746 503149420 821451176 781072490 405747262 890657712 783785070 290938484 285570364 577841900 219818368 821999380 195424662 548738862 920114744 373832904 848830422 79636144 308701112 343899672 446294966 195086656 138484692 911064758 537112868 992155258 630163306 274757178 888192126 528502700 903360522 446061088 55377688 592072916 654895506 31536772 598962166 61015622 120637326 585977866 756984660 840348232 2190940 625170082 137919116 779188466 682029032 223371676 610137946 583755722 332034194 205693782 728896114 577942652 960287274 546006684 552803044 433898268 381874526 512079462 854078200 715481106 429097454 4799634 52820976 56513110 612757284 784134660 982896494 11069518 615794296 15416624 117396002 982799478 888796680 302343046 805190486 893975506 462455428 199327318 28760892 650806038 268486318 947114014 363891254 698349306 590049532 167077858 158028956 474152682 358311840 30587684 919773328 593182056 331200702 363096346 156330140 250987906 498313350 404151878 666879608 807720016 136130024 908952824 740655550 566569544 839112968 696033786 830402104 280064016 887725206 146080052 722548076 943104552 64834712 39496580 44657310 356526912 443181046 214201852 326382290 523111186 45659590 733573572 262102608 79856972 947392096 164854354 497521466 652751038 364468922 705766350 345074460 290387192 184942622 208664612 659525018 313115700 457836374 488464434 19408002 902223928 449451902 406287632 662374554 376091896 710958672 36540606 998860270 806950294 90497446 442221256 389580878 360329362 890380294 747329060 422880202 193076958 918203152 855145276 584405244 264567988 821358826 514649658 321919846 609558242 476514918 546779680 207076208 266994778 159503366 13686150 24457020 514270342 102875422 233630532 869816940 807204234 455964198 79050742 71891652 423094762 136754576 587351740 767844788 289626024 754119714 177503780 784785002 634617188 828114200 177743048 540054156 901190246 615689940 748288972 151759108 896522824 706462828 123782336 179998966 307741896 683483576 903072912 485874430 47629468 279594816 742664686 518747626 487861480 639079042 280742634 67430902 475492614 947753256 838703076 395184222 941830250 791917912 829886250 564372848 616726576 537459898 426272286 25172204 50158878 547934882 989329034 221453918 240561266 547101926 588749870 550569464 124370848 83189952 112170206 262937576 239195900 238152326 315014064 740800584 94514212 280985704 779145782 210278160 544531114 717389250 140536100 184722410 129500750 455368548 357168934 391013264 993172420 216069878 386664532 240014304 292279692 21005338 618585744 181568614 229450830 908857268 935023496 250561888 413382702 414388604 726400164 145250314 590175328 298315774 783878246 568848160 7315284 63332654 934987194 135824800 305061620 148889722 850205564 521874350 322697528 515842138 960071564 979749656 203727880 692738132 104068534 250468002 408092912 192100576 474156054 557559142 507358034 6198704 167912444 621767470 360110774 513870640 827698884 320951394 859940896 391189658 965308604 273427956 974875686 797661608 402752076 524108818 998171082 216910374 198534534 536424518 457832958 779985660 347684388 780220858 80919144 727706426 90359664 829761684 618208398 299831178 696771882 803655068 410030150 50867886 160778464 665341134 433216442 707419862 100694520 326931636 353945232 889984762 513646552 224639616 886675528 40721666 143645654 736099566 696425300 962844248 239020882 521532890 689507908 838975300 831092984 829703742 276657048 713225520 700642666 484365330 578380864 423566054 536016162 653183230 481007128 819886318 158340638 66785216 335073040 426179252 473607066 957776820 47097834 782826946 242261388 564464388 970290984 773934912 220089406 993913412 893858210 814090404 876394494 661746336 925392314 992460428 917430462 182536658 674388798 312329646 498878498 402905240 305974964 983872758 380004620 23249654 238136126 50695354 676534218 179658952 158364814 228488816 542192552 376196240 856207182 71709548 702924090 603810924 313951252 178921930 700892408 383389510 334668562 164052528 118682644 24375378 990491388 852804162 333517494 170862742 528653826 62618542 64110300 284631680 808749458 764823768 41652010 345405350 571565644 952284658 744950152 531196336 755182770 273333830 982811330 54728652 616251982 554894626 216791508 27305914 993780728 783912364 833049890 141511994 772337890 943939520 419053378 557288176 942570542 607013976 86859454 123806990 769445054 138021564 915355728 575993310 544377352 572554208 659124832 3383284 962005824 591101716 199195438 82080082 643769620 958598498 24334548 263473154 690809904 30526236 181903606 385025132 907548194 570433718 837614104 819197122 997854254 966015328 728353840 159231854 137548460 386327430 868682734 694016452 326092634 150012840 144516340 178209120 68887894 25007246 892151736 619405886 681289480 218436352 557041578 497404644 397273470 326623358 236420782 404296656 158867156 875316678 722677418 764229044 410847528 775453408 282529952 498730670 874894678 231856352 589193610 370579708 25556132 225283916 299259776 357381668 567720082 556189548 782004414 727617200 667409350 265277452 24097252 356411086 403133900 917195514 120175212 165513486 620477554 965418176 983858628 733219572 460104258 666871738 28073400 213203000 632991038 375369870 330835572 245724782 91984416 385485676 552680102 860270530 468277910 409558590 736552100 167206122 94072976 9741298 988917838 400025882 87795014 165880230 26949158 68264940 998095150 821497346 236024708 374276856 856409804 8612628 234501198 845917354 921786202 514616890 538332346 686963354 52122702 453701994 709985186 76701340 807271850 859325164 752552094 974221524 550480476 779302626 925048110 1979712 362396924 26799734 389903860 443010474 485236090 783323842 419777628 983477898 150882496 796792970 158574090 29748090 378744680 788909122 235158280 428681344 893015734 133868298 131847678 221243654 613678380 950674912 455299066 235638256 997174978 730842468 328467756 605809374 37636678 107646258 835075264 983655534 46449076 702198974 515187982 186614808 969465882 529615784 702107612 423600264 328629290 586797870 777134596 490266840 911990914 458637220 856773804 379723214 398801074 786351466 318454968 294818754 531236582 184297460 603221906 953108474 965061432 969470218 316102252 858355486 496552772 638693856 653812404 907657266 110392464 925079444 293649104 369297578 823343202 771263050 682000828 559017192 58126812 423628872 36424106 666605610 816394864 279009354 130035222 490151024 59582952 56185254 358413396 203018066 999371950 606500556 952336666 714179690 40986828 51732394 715156006 448662102 619575304 1175986 460202640 797250816 336936202 802800702 156861760 370183480 137918422 702691494 862975902 452225558 440255432 630669224 671891302 51412128 42783068 846079782 575081026 172772152 841497578 689433392 124531994 593366290 14163854 749750006 585400316 421066118 616606470 932099040 195124432 294740894 213311380 764008356 829746058 804684592 997717050 830676980 317445034 68064580 699853600 322548424 522236354 692733276 420665826 6968062 469583726 404831826 850520640 698058378 524477854 11162386 484842232 174749358 615746552 330158104 388908746 943598454 584489366 682780016 779074370 193261652 555807678 452404102 165461786 242153412 437333840 752726670 19336484 454078858 561912552 119519770 646146390 364001528 102049394 769405488 795271596 989370962 506222570 623738856 808222140 201188962 60426498 657597550 872847988 703823596 196548200 501815724 116017178 724055206 175733284 328875334 497249006 931219952 218354146 110693844 367744414 890457894 973233208 237426060 989634922 922204688 688648826 462636348 669608216 21187450 259398748 527859362 553593184 696838850 904320100 828777380 939339226 352402258 513149560 726391110 481897098 578711772 911033248 351260470 327940540 265156430 244932988 962058454 621883384 234626600 885297278 517732708 264015404 641985534 667019448 731009350 189727900 830524446 816521146 897988340 956475998 541524086 44731170 143485410 340184186 686971796 232465836 358676184 218704840 662829524 454977054 336546006 947728834 38281086 114833270 500090528 768952494 11978520 308977644 823023726 510471364 508514520 450311036 418981518 253242746 220858548 988834600 737333620 775690844 110646026 15559638 458357162 350209954 700211186 828619612 210457294 648775152 945542304 650851502 350445388 441472458 785044938 565025088 22656144 932274870 990419924 23819780 484357052 681319066 809349428 974583588 351710774 178731768 322026618 35549022 531344174 410944044 943347358 462489174 864113964 341556322 269900210 449075894 996262554 475527148 809160650 217550506 274018630 417700826 710909974 958371400 299779928 237516128 929634278 202475558 672153704 5829212 886446444 111379480 895651908 428374136 210564572 723289306 109019578 969229046 137749850 533014928 983790098 28254986 414296306 875659396 357772694 271637544 771614530 602924216 685590212 586235208 417234648 809364274 103820670 835730348 663081830 80321920 204709656 153002004 126146248 501180260 596422008 811970598 21501026 290827894 605107594 578122642 430687594 236193416 228767336 540552068 378900564 422446038 876643062 403351902 256134606 928589628 52677202 121875612 950400772 986885754 297346530 555848894 863242224 666214152 528484042 558098226 230855072 734011652 373762888 326801744 299580570 151384954 676487186 739194108 558154948 472895984 509889502 122803286 701134570 479714570 808442444 827782368 950214212 290931866 972641594 154782730 526559686 80092512 246069762 847079430 321860088 622701056 427315726 808513826 802860832 727832154 538297712 286597016 335371046 515042098 330773760 677760564 643317694 834414070 903169966 583760820 960219846 754696400 421887126 773030072 435607060 113419470 788790630 906589336 285472852 681466764 196670328 58757862 535410032 308229778 423661844 651311872 90169804 896748280 594310064 353397406 794395982 76043518 865154862 788175182 26327328 812771792 850877252 859269056 724182032 896604316 851846680 964609592 547317458 227064118 405921680 170802404 293412658 339033956 107820156 936134580 271907622 404124204 79060364 253180630 560435532 230282906 755167624 465567640 762741370 451588528 745985406 402326346 409084782 495138820 887818744 724883808 422964782 631543810 714022480 580532158 298200142 312856506 624019850 495145276 680929020 104549152 344139830 179187946 417476792 468482426 332627886 69035410 367711044 799133414 582295982 583292756 980134414 481943686 699002612 521511014 574133202 720585996 223674460 259165400 347816676 740847072 80535548 999449816 152846550 297705524 633761190 808901030 321562658 564284128 944776888 605851172 799015210 144443610 100904722 318976302 686179072 266054330 484335172 923136330 612207430 811304884 278677854 987938754 213167172 155342944 28778240 761262886 232615596 664013786 529067610 786160822 827501440 992917386 23412806 28051140 93318052 771897554 32512854 691817174 66563444 270601914 110913298 152623840 929040902 410483352 297728036 229584520 747650114 49498618 676466534 245806426 234426638 888909916 466783406 930979302 728203816 18029716 150924748 680921104 328613622 437091042 705664170 813268924 127513174 284303428 436508220 500413982 213798744 31776074 62360506 928272990 893718788 960567870 478798908 4730730 959343904 260057854 677688074 934488106 677214618 435703028 86991696 977426214 797275394 446419704 191012608 999603994 852014804 749378958 713983840 676644578 329032120 308322674 304980286 433276874 688982536 434379218 977575782 174631770 325888702 92454154 93240094 519533246 119946490 787461880 805002592 82868218 16064826 719598280 873809204 848286822 586152872 869417806 15416218 541060616 661098860 938795454 208848226 750852700 858220402 398413480 406865688 263381984 196236920 31543446 967527234 44840202 895895572 433765312 269601986 757574164 351195684 371660186 163459546 107832568 503025376 292975116 931591612 287199834 2246916 452129496 343756716 287801786 702585194 340359834 65361870 346680310 301168570 177121326 271850848 342691382 196187522 179477134 561588966 348293184 917528820 88555156 316940572 397749604 194043798 717625192 527329292 987365688 363289318 988921590 463429464 553780308 176155212 39598614 144320208 631609548 257653766 369406938 427385958 513998288 964763514 543551336 589970870 931634590 352532014 957972118 627484182 680714432 531816828 691214000 444693284 487012856 948714268 798211496 854244644 846506756 34428352 951910256 756014990 945611932 168814368 297174044 584561182 77624930 219694148 303943952 868669468 110672524 323606660 963665710 582202106 969112396 338704600 769740628 115422934 232311862 201471106 773641686 280452252 148093634 561915536 396277506 149732860 477181452 789447624 359528164 990170560 851524820 432944582 712262952 180521578 437965188 726747226 732293354 586379448 227066426 216322366 639147030 953863222 11412906 113834774 338469424 894749034 733097820 979664434 460336278 317300606 867530716 131318874 303321786 576104696 589975170 111864090 605654754 548608344 588227650 790998928 149283506 930774130 932523278 497168208 829527272 242454576 137805916 299785966 42429776 690342896 422033478 507399366 303135550 864157282 824048930 332950054 750997616 491479648 804526834 534301538 534374436 873829550 98424264 367757652 849359970 443626128 624716622 724251430 517641148 804664234 313016722 124097684 795797758 341368836 44644844 979487280 136542708 847019008 661855548 689278948 281968122 735270326 106823752 462561880 778768462 546237318 751183818 258983836 610131524 93919082 103197434 536806166 710892138 266833312 912304132 23014764 67281204 269195100 858209398 548097310 267961618 870180960 51472710 387173560 303217074 591611456 952656206 413480786 179945806 980760944 974723240 559931468 768985528 790165112 292516352 905209860 452541408 125258734 381802074 747337668 53598540 756510412 796902548 691405770 443393124 810384170 899454782 353792980 7450266 501276578 581335384 328906378 760300842 813050450 974205186 760622008 426057674 445916242 688644956 840367232 127175496 875333942 721238504 345665064 250434226 933938944 943766956 533398446 393497492 510795316 283550428 414738758 718226492 684737100 91404900 84166356 645733914 651284958 202996594 663785848 803412992 227203916 556660086 701403270 429348756 154056868 30428894 492055312 672594182 367514070 250517794 976052354 394600688 899211102 286729450 697313792 942689300 800345396 141823992 209229078 285974656 189658304 569527606 623532946 939785800 183507022 513431894 844894196 223076852 403124462 566902808 384103618 384489370 921389568 388913910 418429446 779483170 726607200 767816154 763492458 699061630 498620250 224096744 150209986 24148452 124964296 32576226 805101546 216681306 759122488 364117230 768055056 919346754 55488606 328259932 878272436 505679858 958003000 371581142 565287614 815340064 760539594 320719664 214631306 504195352 837579180 419475784 523366516 321131876 465757772 450300946 413358986 830899634 995162790 255879858 633541142 342100722 155179336 429151952 96192354 287352146 686663776 513273058 845115616 162451306 655415576 56490184 432706468 52220288 642770940 199526728 600829516 902615196 96319816 802791686 123458564 628246516 752603656 734751286 938458318 464735050 98816154 189123550 194084400 298836984 462883908 859465290 980367676 635903452 165597478 874758160 730484288 298112544 296361018 60608194 789854046 29889208 541693026 185932386 447526278 247040572 931931658 418545754 609834868 757061732 123631560 110327000 939983520 684237526 733841602 100242702 174477216 693856148 235132568 415914390 283563682 801816200 849239812 357350926 208785208 488665860 277190856 972993978 228174978 751526608 154941354 978949706 999396340 516169702 983208994 9216082 437144410 949622506 410543924 954041206 114114562 541772116 50294194 783487906 759949382 226294192 711748752 159536896 15825342 437392512 304461870 443461932 202674120 892278240 502199906 656689342 73271974 293664236 4910718 836513608 662696644 869833770 10445282 905786564 277791748 388039572 863282018 930576652 999810404 411273730 904271948 373930782 24646906 668272818 657622456 550997534 325915978 820555824 674949686 463060608 565509654 878489156 679518022 493874100 870803130 688287156 580002436 952244692 889561994 31669650 274483086 548723384 283822962 411852982 606942822 878656560 160844852 654431016 822988110 38613778 75874312 468417234 396516352 40318742 601566372 143149506 858215186 762282448 618718194 47521992 587035764 403525138 131864200 13171222 6837578 241782288 299721520 596217482 835399212 738896452 585704314 318506804 853593106 381771330 625420106 776827276 378802542 542072200 869749374 992499794 764361554 738471978 853312942 457587112 658334026 473622254 975376420 447591880 189321814 562802532 246584106 49840188 581927590 417998248 383409574 825548808 270360628 734712306 78834550 759919672 582582820 714123368 329503066 866417648 912747016 743066266 814683476 670033912 903304576 464195658 863751742 520431970 360012934 930003614 43557268 871475120 369825570 508701916 306465306 914687956 550229554 771116016 269154270 528099970 928635196 403982978 840979730 171038868 372148300 81300600 139039988 663095722 795301464 772943312 222202972 834479098 682194016 641027422 22063306 200076322 198220238 878913674 953996262 521569064 999158388 839476496 639912522 499663934 144650614 781977734 334894058 793296782 53545132 376996812 134854080 304090578 402031076 96316156 132964618 383387228 408595998 917825452 731718532 185379162 402271576 542012228 51013018 526715428 672707640 842141864 222247142 373271600 516599592 662431914 461593220 596611076 869608376 303776 906309858 196652104 17706298 45093132 474115412 890395916 683095924 620120552 524570908 559625702 43895380 781918184 3198872 302902666 975086428 218828906 225354934 906623668 107134222 971051208 15555024 222566182 503730264 115164516 409430642 298732920 935614720 516084358 379426316 909785426 292110514 282184650 359370022 114594624 691192204 726787574 222572946 358889668 228885640 790456856 894430998 915563020 915179190 852102106 368771352 916242016 768594262 62318938 705132140 294890026 89474438 402094442 728147370 164752214 490445548 8779308 158772986 574966558 281160302 39706862 293471972 75412808 256178062 841165158 197889492 212556580 223909862 621768950 636816296 563600146 166545076 193466984 920151744 304337916 927034530 598319450 579861814 342963854 193104072 258157446 955974254 313009652 857540726 432792836 690399574 420412706 454359046 856956450 846126322 872256634 508252494 190511022 483539288 101801212 98701288 639840340 61260602 684592862 294891542 805188068 955732576 491773176 436264326 614603400 658328336 303024920 303907916 950891136 416482960 554215714 727560166 771087880 68693282 393939274 914407348 957086814 828644984 671538102 981301322 602481886 424217446 696564456 298654164 733760052 969089018 249236636 634169216 906353550 634368254 142026436 859936708 188094060 51909798 803397208 504477460 47758660 137892204 519539400 217137266 182745984 600265078 931658498 675712782 662993372 223505040 196524574 235485460 660124942 729014728 722921306 201339456 387790506 32784772 377519986 599391180 877053210 322897780 721345182 504211664 251085874 627559628 756546278 423887388 41501338 231278854 634210764 956372896 572195058 365374188 565689814 791527838 135025154 335264406 82932890 40912492 794082780 458481238 203552530 733064386 219148086 65663894 823551702 27122312 549718256 356048060 452924912 985722808 582812836 372608516 413783294 647901580 987466586 581067958 460049536 727833716 619735820 971552668 819337936 81715812 514904660 905622462 691139444 566216470 161757366 852510840 534000736 427250464 717186572 547166676 914061646 705247612 565847166 24361246 222528608 387631776 278226196 278713696 446205792 230327126 941703498 549543714 550814238 635827158 450283588 480785152 938539348 552350402 256872636 831752620 996476798 546260622 75590986 676527378 452089784 944075970 632111752 816815386 141098688 813385770 591575164 440639904 377691390 932109034 407356880 605631818 659583974 565401180 931304604 379539270 808088656 95994644 506870836 199848318 385452142 15310576 849548912 284527140 992178382 671849436 523137374 30436298 707129214 984126006 315712420 165542284 11443538 531683668 929858682 516622024 866753548 423016516 482861530 35245998 634752462 734221412 986540722 579307710 725656704 934433224 503087300 245164330 404298508 295221274 693841890 231389950 178213034 778481016 810358754 392794302 923782132 658087290 812405238 578867490 367882264 204356394 162860192 165434842 618972220 707527542 990479642 9365924 494010842 864998212 858107576 202227124 459020600 807947336 392446378 221581816 601175412 73774836 227925446 549150902 146041690 405891600 73083570 512763706 570867454 922219660 708903126 565444362 300291254 792837232 108194776 620401204 376096726 31057024 33510734 229650602 696752920 187712292 495967208 651405914 777658522 23472748 918489826 915464498 924984440 364963730 15637908 260912054 526517154 49501404 338255504 705894834 519385770 913961864 162404496 945727700 362986538 330756754 679854782 782860370 167948276 866937892 643829702 138118326 855450984 297323160 830851032 605497420 99880248 205851864 537018528 223724864 116775160 432641576 74747956 750147874 216436184 90542492 174615250 3388700 9329106 563148674 161828460 245659384 417362930 942721416 184364454 473800314 984567768 519944470 818377964 195386662 217282708 954776728 185704552 364195440 553185124 487942056 920716824 310112750 282078 837838824 287885494 941912324 403094778 125214324 477283570 315470316 805405864 313744094 590804242 521669256 310457228 865311976 473466 854164692 660703266 802320278 7876362 189552754 241911956 734580232 654462280 912418088 121277390 542407912 493919448 873759122 809288416 934943166 199402742 405822608 553038234 266920880 69987036 294789172 174189176 601575230 92283884 242265184 21909278 243856654 648685070 960485760 368380110 704551044 42999196 430147284 452635864 403066492 695077378 115374836 268205222 916323126 440699368 433980126 2628546 128719202 524549680 351629502 868267450 846519762 832851710 696712592 54166752 409235142 331712110 495124756 340937068 708900868 17094258 574020536 612278530 209064322 441059070 440597870 760999910 738916522 697797218 89508558 662873318 789483764 484611258 652942102 429607342 498742298 668297160 999083590 710844636 24480498 947160042 703738432 394493886 522236978 497781716 856880706 87576686 198542502 613158862 120828442 525034284 581751440 214167318 554989054 957818098 732674962 384456934 100756964 792381536 796047032 845823942 518909794 736252532 121791630 307830346 48017504 258269866 484533852 157423456 392513124 81062042 399017074 967678132 240491064 239906280 162497780 984780310 877154354 320751232 922008248 315399266 162153982 795109482 948817760 363678444 628700930 262656412 843867306 792688714 365856350 257110482 72063388 436163234 583231240 125919344 10436026 600855288 449510956 761937220 245027894 785852452 159180978 498219658 622740506 161872796 167580288 939699994 483075880 768500706 787736428 140668046 731257904 402259056 834113694 355326204 77971220 433075614 811549744 246212688 888865432 358835046 881688834 388843162 913709420 859904056 953137616 796362586 543437750 377948570 883219582 453160086 468176380 6937614 560115606 33468872 447822826 802394090 210082812 243280238 338159872 461556186 729713944 921199174 317654502 406331144 285696212 518247386 451395762 295040052 132039862 629135522 17096478 377705286 916513898 699421414 304321950 593665346 8572726 292401638 807344880 72149370 582763824 510280336 523565062 688142614 214444738 466375798 140189114 405176006 46394046 74802968 588928076 801334184 245886944 520842544 158301204 382703528 340201898 452410932 897059690 303588682 947492740 882649298 266335626 874642912 456026654 405379066 843404708 562733114 543133100 55798630 651621984 823373346 726578872 468657780 700154974 891973438 408569776 270037194 703965990 115449962 719691878 215422006 229249340 228974320 1185260 547757182 583820098 803578280 456408570 585501404 305528036 210121802 223082948 736828518 991984258 948879356 330954504 734001384 127485744 793231896 853984452 270602448 292692560 648116830 406747676 39480552 360756050 120116088 591042730 539181410 405975724 412264916 400356946 884433656 429668450 941979352 257825288 861953372 83328348 981038354 63300182 149720636 960961398 364901102 59082806 280452132 9094518 972324194 866519734 617562746 435749784 974788924 226779676 710722028 442525338 253745826 728095492 502904822 903120200 877548448 61136892 854388594 581472760 527263958 71990872 428076436 809629132 238538388 935807354 228641472 493112666 222531870 54287582 900923516 663535070 740303866 105993278 232529078 938557412 58002596 852502704 449037906 108530954 310138672 38951256 514701610 125309016 89982396 219851352 414886838 984983668 313367434 466088462 765269244 513917596 923466898 276272644 674938176 602355164 203846784 379336148 230216692 959430922 508264790 474539086 979952698 220649252 202285794 135562960 393244484 204115212 517616834 828507346 221262086 586130950 674274240 36184914 566349074 365304056 195956764 83942728 136417496 941093790 173214446 294328088 816989734 514683840 544918160 123274316 54478986 473233642 600589616 983406926 292722350 341912862 328627150 443414452 162151534 367727148 529760476 488682032 399723314 201045018 338630310 760082786 815697282 366505840 431288846 826119554 45867646 852223354 692428182 214155478 549000944 14803966 483876848 752118770 579027186 13370408 284728854 736136432 910757972 370825946 11195288 302400506 656808164 720428014 997388642 913874194 69790634 500361890 869806152 23703580 52476896 622240484 788935210 207865028 606443356 528322354 62566126 801635090 58244284 203548720 378983028 707387774 250631938 496941994 863087172 105493332 520984896 786708682 153728588 256925064 866622300 889317332 524604010 555773784 143328214 368763198 226165608 241727746 443332602 176402676 301111504 904418132 653964614 712079380 733725156 661524008 694218728 642776360 746872826 373687116 550672430 647475430 655978892 606745568 155150594 518180560 24526112 859751186 76204220 439282272 101109440 25670086 749120324 356276682 5698978 907877360 705587282 204026904 251194782 451887358 77794148 468705406 824331402 800322950 947310810 97255932 643675640 73102378 104764740 853820716 582942382 142354764 767623802 239360410 102084844 241573858 591440546 462460018 85257028 596645198 177499400 665197228 264657766 593358770 471546502 407738362 672190428 967093458 317344516 418736190 633537796 504757392 521640070 412433206 442804624 690066510 943833956 891448274 34806314 778532466 338206500 272127880 176120216 509071676 933616312 219785380 18923202 385076224 74006360 726595806 40059836 555297254 274901166 516169530 863476924 383118224 824853602 569701358 713044728 677339950 402654070 978183332 763157266 711688324 124539814 618672368 54620378 467324508 128910714 984178444 800958906 506837332 188644906 996344238 229332326 814910794 967057184 29384018 605097006 383807758 562383056 39016000 711491768 798454448 70918618 899944070 198365078 400350098 162264528 556562714 889214188 602482030 936501048 116427834 845543110 558537574 10815920 471878844 377312566 676353510 897587558 240165078 186714546 270978632 810789406 730696280 17752212 818814394 492080196 702346078 248883840 705702138 637320264 787551540 259078290 427113618 915585136 997582256 331905618 747390814 372918430 36944528 360510520 234454252 970837396 902137850 846523130 178003086 541724610 559166310 50464650 146442120 185396198 24932166 874205576 899101410 333199612 814891488 920795924 9195496 611362322 887213220 364276646 872131470 650307320 513584336 816087668 161301560 203733644 562353942 134713278 763369528 154052434 46199742 216349852 865242094 816797864 258135994 847274364 387910396 145986022 538683348 705416076 400489252 134474578 259149580 852971818 19483292 464796448 615986996 23966568 869535590 663919054 806471982 907321108 986275506 634704216 476586288 645536056 962400264 351330548 573773796 765997490 260125966 193092150 664377254 773759064 294328888 425723698 839016936 401563742 330580946 913971746 832444682 536906090 618524624 998352804 845952620 451986776 583132686 807338850 757817552 613314416 786473298 637911862 751160384 526026618 542191848 146168432 76188636 474103208 348873934 738911260 119875250 880019878 109668710 858545342 308415958 748653120 119389324 999007874 311558502 478329342 124899518 292140190 207048684 329005806 616563804 632663608 12358276 398029674 780847138 753782526 133467890 260009506 541139602 147899150 134562200 916492270 473134974 394751522 655563720 924785964 498644398 347833568 840708524 152525908 727853100 772499994 903265260 593470266 907918 299134014 420855052 259655568 678999152 431558004 420640310 853445408 878019536 99747278 297944214 286352224 254035370 649462582 345239014 503317540 171378186 562661938 412348866 185450124 197375218 142789478 403544530 256420700 946308368 504186074 8047682 877609922 523650684 492871410 180631752 29968564 419817488 522480836 610809180 818301188 550772960 921921880 3155668 849677940 503981638 871702438 80592938 18446940 345574330 122269476 907730336 654336148 326985824 76556124 662505450 789773184 34902828 36526366 254785650 94423832 34510776 651136442 25768218 991402 483794214 480495730 576129194 365109296 297397400 783677686 787406232 349585670 808521286 497453726 126928514 455969570 262192202 788176834 209890990 446030502 501240994 186952070 650854966 553727458 897277874 804575082 148098826 530633662 472702570 163924088 2421132 692358028 464055856 355799104 623626458 850296948 115202520 825151392 172745424 473547772 334200076 174830834 62195632 81478090 817290814 172341250 316950014 849382778 94497036 237666282 903352054 468731480 627775938 828908 521503022 803083618 153696378 594930600 83625460 284566588 219354656 355616918 641053912 270171214 113665504 675976748 588104060 957798234 558492638 320443106 580428454 690032914 252646916 881493970 366365316 234606906 583759840 220603680 660971904 734330138 5609496 520912190 165089950 634299356 154818488 195922744 683698064 798723842 601019112 602071710 809466000 298392970 27480892 927049136 242664902 63130490 234810588 917174016 991044436 78353672 179312816 55822374 500157082 544137998 986754706 239529828 137343486 603279556 856447506 195408506 577229762 900977502 193259598 282054544 122776208 639805028 79100140 948541952 623119274 893075136 282273030 923855060 163637608 669845458 112542684 178956628 703115170 900997838 791419096 481483148 685842430 880239366 651185518 164496126 22238982 621991134 227590416 599132690 364690226 72663758 705253906 395810728 467374618 871915186 842856554 418189682 419831874 576570052 620772992 828686972 266915720 395706278 94794308 453306128 22539586 982572096 47365962 29620074 892025546 285539204 160968122 541507640 178706996 28887714 156432898 678990416 118302536 305464670 478996672 438569584 945535982 184337182 64497780 254454624 977351646 684204724 937485878 525993202 552655836 530240288 432002458 391675484 116803694 227863954 667512506 600973546 514588294 341839574 981412112 752679306 294166248 257359870 404207184 740047788 839869090 759500532 61319106 489597380 599514338 196710 223650280 800573526 215295220 526291188 834500388 429104620 67533734 507474898 653247062 449174612 477542866 334069760 665725762 606742938 739359950 276692558 429250580 969185826 925159876 866618726 465318100 540911714 764741010 753665936 753617938 256525858 37803612 403616120 125622316 526330366 821203324 381041164 869487224 269989820 320668786 616538562 891568176 960421632 830187752 187125748 548646946 435930536 121228552 132043300 999916808 562156132 515534848 416061386 128635278 594355486 927789052 716641238 534072538 222294780 76091488 466453120 314954706 280934108 968947038 207388502 620605526 599153088 761973956 370235264 231141344 686817720 408183020 760062198 961745160 538904508 118873630 969631114 719000712 973475104 18476446 884400356 726002508 758302790 911489934 134754948 540294024 875277698 497758422 154761902 270690514 753799704 179825956 625803550 354083130 113023024 327068362 408502656 45433152 389325026 824525602 683614510 840566420 397827250 814958188 886554536 422351220 530759392 936187396 168732318 481074620 313878168 805059126 605876240 907128556 891707262 65805762 500420588 285530242 637929900 110534186 233934714 163360174 842768710 975073316 165121354 634323634 811659916 202971544 479989086 288916160 771774710 436809500 944291128 974635118 427628508 954972684 786762538 555130776 824035248 284709852 309452650 34331578 479818330 50684482 53459836 499338848 518599060 615397054 11402358 428635798 789799932 315274850 366419734 651553670 342419446 377366628 188465350 993043724 526578022 104958294 573430094 799768402 534568570 98514238 799145782 265942062 195723418 759685468 250408078 825747296 233889514 936239836 592670024 369217440 858312008 788927752 499783850 553615586 88782572 306566282 326033806 497093392 827514112 670307710 466692870 590964204 701999642 49946106 756388358 593233508 913080256 47046324 1617106 474381246 701554960 361618982 383597894 454338276 976744750 428205382 195326400 80052422 921094338 712466152 418527778 204471060 344655304 699155734 284787642 280179126 355163674 29363194 169257468 161562966 495624020 336295402 167466908 139113626 239301880 581943134 629918316 265443172 266355238 817192184 660005128 642752016 262573536 718761558 676940108 416446246 830140158 580837864 246121020 216081964 661207364 219343798 510926702 582124380 764930398 53076824 786540586 26884530 596135236 834245130 838274094 222737078 291869882 634410054 686536822 933213738 97662822 101465488 599879946 520515762 747665236 852877232 491806204 587873620 142913464 498607690 320294428 741783796 819474478 824926376 293025410 807954310 230314896 392819076 781016442 872703320 597047566 304365896 547369576 40662546 277051698 497397650 705649358 567975736 332317768 810722488 255433104 993337786 704899806 469251260 752919632 128273450 937374156 83795142 788548176 294914218 861444034 17178306 66047974 488308630 108607040 950079512 820703884 348143196 502980022 340996318 74385214 161783506 827162714 35485116 887308646 3087692 428638032 427510394 115370638 997950382 225007982 203968828 413896344 126019274 440556452 759847124 189140708 932817194 232358148 259183644 170930032 582293236 135875792 698956318 512719098 58723176 273001292 437132852 89810964 303193292 586037830 729651594 628944464 233439340 830930754 584259790 758349924 544059188 753386760 189417356 484534902 573686286 557789938 415546428 434071904 141293578 11749224 407300006 950141672 630740090 804640306 106476150 694041528 482476042 764534686 143029944 549934490 515284624 554019526 85193246 880316304 143360692 719110414 683372972 648801988 592602664 80723064 484438524 618758544 180881816 767218106 619317110 844125720 899140210 993520158 902815806 582221420 799779152 462587576 901061584 664572730 731439202 582183288 511527332 51862092 546366562 727456532 917224100 367265800 191056586 323620542 178426142 642394964 5826992 94531958 484944370 694255744 200751752 200197442 401367378 243549250 708957190 140531852 931795072 280781734 626360216 304057416 287285406 176626442 319472788 924644962 898916910 535147540 47669234 69335174 102800060 520175110 553171276 249811142 786549078 855432396 127124826 790400118 799813662 248398890 513801444 455588810 698035406 145782556 524751168 614636008 532963582 78851496 121206788 785081872 446730142 523441960 632950786 294238074 377636752 447881104 715332298 712146892 940452774 170621578 342568182 877970266 365794104 119386456 768339592 528372340 934961208 966229866 205892688 275772912 67926722 376308052 819131326 192509038 94416738 943029824 116517316 113869764 113572506 557136678 904661916 789421272 906855290 135260264 338132880 864446394 482367884 189095072 1118970 603403014 29025254 127881470 263039442 103012538 117348658 509476510 147167212 660941196 176247640 606888190 950399972 676440778 996843378 206916338 631942418 651532814 783202510 816243370 168702864 42494880 487966012 295559784 260067730 25142784 976832734 168141492 143752242 493855382 656462068 780585514 831839116 531898464 42953148 405936718 644602924 164768666 918741980 674278526 176118482 28547528 743969824 741228898 201100734 383200920 609931298 647071298 743299550 98994994 677944102 325440114 752187752 641247660 918058286 619630984 5971666 179103084 404791058 698924448 359931916 324748878 560191488 524115948 573679564 260811402 712080988 944234702 517439856 914668880 994916350 283959554 389715964 516720718 164361666 876322566 119481066 300585772 383148110 31318694 344600732 289166834 882008466 596586534 981356072 886128964 737900264 101637876 77069840 340005368 271546368 282297022 49593330 211851256 367799328 799495168 128683126 385296592 774346610 570492122 930609760 876924868 884326490 269414368 67434556 803005998 629654982 836670608 649526710 969386106 84853348 507447584 170841422 257699870 339999734 983469034 220917950 847343060 373027746 13748350 572723746 89597194 987740134 567975222 217068042 661637332 361250266 988479964 921594046 272056130 807915908 222945538 923238234 963863062 286085758 794338856 445638200 887917478 632134924 746696076 629131318 446008130 94025194 577923498 289047568 435043960 212397036 16504698 665710472 598990772 785209464 129976002 597481184 284592188 540695648 433508758 773514524 41873442 62556114 914261884 55112840 886796424 802274454 148036824 500027998 715217850 384933172 117283630 396910146 443521912 769282628 885921526 799818278 550080200 415483000 656656156 542304788 598008578 550821866 492240914 556166158 904399766 789882208 622111472 840554054 939423520 72843882 268202830 541202046 514374724 489539666 55123582 696066584 242153514 639270388 515165216 247166884 450011458 639406072 688227072 251582102 901563276 408499728 449910214 64671186 403729318 993645364 412999556 421281436 965616972 218836174 172312120 929336522 338449994 895494364 699382522 933611194 194587450 904936404 754831842 479792720 84334826 987979378 672149394 649959660 25622980 69812772 401740478 520471172 258087094 703294384 949561468 622076688 255886258 806121172 563561378 950385378 234265436 127077510 938112136 501705170 541075012 247057700 920901700 636927436 286774106 972032890 896886876 797695302 778590870 993575548 419198350 802603776 910385508 143104712 1129904 316836880 641878540 375054440 43737858 631570360 941450506 489877722 452323902 875438686 733942834 48204196 112036242 386658246 130278152 828117662 529691364 644955342 674570298 315317540 919460610 769347332 508817396 517996140 658372728 336908452 629390914 713490616 119999162 437544446 360478970 995324990 336498170 669346994 16112530 509583606 171843116 66719604 461736814 201170134 448737994 565175976 531324922 932792340 699267672 484204860 50671430 158522328 185309274 490325174 567546354 66095098 694284856 562348132 121568300 146686930 859326414 818092092 562692908 865416234 3991018 584112724 664122000 800430692 304230354 114504536 39867252 997261534 895716422 17252980 243655196 54170572 383653178 855828538 744136230 531308166 507461344 292396478 346105468 411588140 382688384 675271988 123161416 650378550 534949090 88220598 601258876 818328312 38661062 803355298 5368354 127205284 719792230 557916456 882490372 355206728 239723510 936604320 804098700 861781860 601496864 214811762 41167692 494435498 339980294 811891152 531154202 79463836 661212136 107653316 68212384 504676706 463152828 656748716 853491444 218604352 627580610 780945030 107175906 935949116 441754066 521108208 362987982 224012576 995746044 260392156 271493312 612621536 936558474 501157844 600085506 581481794 890851930 764072596 17290326 505711366 89396344 173474268 4521478 876640450 633165556 729010330 947555712 325735762 146851068 12450192 56964308 843820000 131118396 44296602 338349172 597157550 885844688 741710698 679067018 629261804 524652948 963768622 273639680 432975690 440995678 574818134 20585680 910600956 61864018 425576090 204665180 229113952 978514602 855765030 589340928 257794722 72985148 924627404 182896292 283941414 117828038 628435700 15316410 659437718 770708702 835969564 874926456 683474130 26715100 784308722 76770946 456670800 677728902 857636384 488600940 324174588 375202704 86487690 274615694 123262274 427476204 126209028 464465822 60128542 306564742 167516622 113894202 659331548 618620636 423811946 693122254 713098874 545800470 149575392 460196578 354767958 815674906 705405826 322521496 298527122 169302358 642337020 975332304 211274686 152588878 706733730 671629952 876912966 440486442 609548660 332381580 608993312 583746460 651827598 30643342 734734230 270536446 457615420 390786334 540954466 631174056 83348106 917839392 801680986 59542644 849114772 234973708 470890480 293516806 536036584 148838344 837727614 793150786 96051948 639546936 694827096 794411606 623253682 684466096 448068034 284003026 423151758 299031536 265907270 160110614 342067498 128751186 766484710 976568508 329111690 881628992 740707932 881084280 897083258 389410712 603727444 110544280 844466286 654134110 992383134 796657818 949401936 437611798 904421206 935394674 78970886 606145160 921222642 739756430 591213050 886255578 780211846 947204374 282106124 38127178 600391000 923237262 954189798 767951250 105003278 865726574 943612198 692709136 355147402 736832882 210219488 403733774 747333720 323698602 359275314 607917618 779287800 86851846 902380334 688280756 686609852 71490432 450324488 911084502 219331218 691567780 166096692 371532294 566202706 712890280 574363484 593358420 39289930 602047410 381736810 256820120 847034144 654823482 408627502 680406740 647365212 528925156 400414658 59809164 860074330 637316700 711380274 285912040 729115934 329559734 286647338 942501578 517823768 24388518 57127202 621617392 372064020 492715258 790782216 201510692 406684180 788309788 227002896 906116018 227029190 725932216 568975634 828861892 248123272 872081442 244269890 354856148 654700178 385410148 262712632 152067424 694109768 467393740 263102458 956807846 892850430 426479580 712326890 636513090 679378604 126101928 953645880 620171482 765076176 714868262 857287370 968458066 969069762 663245780 87358468 114800736 574547326 623089250 922549716 243498414 837182446 624635776 391204404 437109554 347201438 238487954 815727940 643848676 545057160 854175936 966377656 644030364 979125700 317814046 681914782 927177010 897544424 118231544 722241644 723987256 570191024 878850242 761829450 430500212 955782426 332410806 835556716 50846282 179115100 947548000 920969574 933625864 868904622 191076652 745237622 808666650 303228868 4298244 616591198 998370100 129337134 43044786 613810906 657734422 693873102 692102974 437632820 283477670 7614036 422835106 366447070 381720406 66835408 679316228 306069352 968787166 111945214 381655112 909710590 515692750 930440740 25920088 83435868 762628458 576516842 89717738 266235770 972442870 503719856 43367304 249075724 786206478 57830088 201360788 736410000 392842240 18763508 849850150 82660648 496598332 622294620 383033160 333137080 415777126 768584386 148227518 270026826 548690312 303505208 357468630 924717486 413196404 412924868 906468544 574871494 836042356 51824844 526125758 517172180 662218432 977120588 487502706 443203812 206867416 528895190 801914584 427010960 556669190 750379778 275167104 421937310 8461686 383345982 488009714 999999420 584915560 277651586 294053258 168604322 668613512 200042730 127159512 733548138 239235390 207104880 916396370 782243146 504235456 298438912 55782400 84237636 132383932 957849928 886662170 747701230 582205544 911911066 164360128 113511882 591753334 453777938 288861522 934192954 531398602 237470654 479617290 651837244 256596308 299455514 694968364 751839540 380163730 765325390 860042520 416321400 113152422 686213368 294297804 134319648 902194750 131476354 255257426 613815098 259034790 548794580 246094616 632039600 156736132 328316420 834207144 710783780 921045056 914381704 179346552 593092566 218571216 909501762 763799400 143450142 796267264 43270178 877189812 665234022 295935700 207848382 953706426 782327648 357316332 475739940 997300866 461173310 318497172 610183610 740150372 237048710 732937660 747866000 772082156 920048150 97305906 640757444 284465696 387351834 570263666 869994058 103489274 218663938 413454690 969848760 497537754 790168806 809990896 65568762 772079680 559598156 434855926 604805512 179601692 161670452 414492432 936703422 506835280 425624676 31090008 738111668 467878650 266737932 746100816 617340158 874224128 12267858 861595486 529961770 722267906 4965908 599508866 778071928 366720110 870812128 894433002 494107112 813852904 756765556 24790534 72093064 484888994 964012050 595674462 265059592 435991254 516882432 960459078 146673514 2066038 878285222 224515958 66960834 121910288 141856354 138872264 352094822 866820816 806479192 963133384 165827828 16250044 636937794 923050454 894641714 560630084 689714942 591517644 338948410 904292804 301174830 29204916 743633286 311126264 400129210 952454888 658066290 154403492 596670068 75419982 806484348 209435654 471236022 38325850 663903288 39343670 194430626 130284472 71647002 620649536 957548728 190598308 330167074 62439752 716448086 567623186 771791378 257604270 43671286 184129224 990245842 836232758 654465138 761132988 915399788 139010276 467769682 384291758 605621870 19819958 841179130 523655500 528302940 157385796 34822244 668631576 884556556 621621480 550284938 410366874 423539232 922173826 448958986 495822830 572615412 356358336 129348098 461547368 393465518 516804070 334639612 718943020 652542486 93391618 810719852 956540848 266708012 626050006 349631290 318560630 816191586 476001478 180459724 690280112 376051692 845759560 774713800 589835396 873361104 823469902 746719836 938381440 417057402 954096882 155513904 732461564 807143734 275817984 647448518 96536498 931728806 162182652 794994418 703503904 921766206 272819986 836732388 701051914 267789344 467496500 647028760 56176860 929551272 758962086 365267026 985393392 568000876 590728454 89434374 353324016 281184254 956114052 383402690 618517166 866405652 979452140 70600178 254825126 838448300 738208028 194637948 733435848 7644668 330147610 646250514 206216026 615926624 923503432 17166760 740465038 652655852 733134154 366749102 222344122 610381236 215873298 471627234 257283684 626783608 856500006 324593586 548332606 242143994 792632998 928562300 427194970 963558926 317406108 892738482 457021252 375079290 77685436 828425756 851397844 416869590 346157588 770735908 709021034 259314224 83139320 10864754 63013800 990702788 140191250 928013386 997711906 509817814 882604344 260213472 819276750 12003530 251246850 202102424 532748038 895873746 998060786 220679266 399954430 905765748 738179234 807922406 7591668 944144764 235516100 34635800 373278474 495644386 35636154 598439524 395903570 779196398 536035904 414718444 538953932 909719300 578647028 682387156 522671812 336711532 2153516 954882226 296850608 368538986 756045222 541642368 893951678 50476048 175767922 459008452 304918942 527374284 688702756 672656878 754944256 950307526 490159196 357857396 290223218 982483370 41302912 399287804 242318260 957253498 726607566 854180484 381926924 351526836 800760234 451119358 466501666 457659470 380638788 534158440 654754916 712134334 872098126 577902418 600428542 439734108 558427698 277640090 395027628 328753954 286120762 252230798 428934892 123544126 845041576 227100132 505573246 726340182 910443836 597621700 680997522 236159290 791536382 920251024 293298076 161280910 937729618 323795116 545734156 25142988 995642550 104165202 822576204 263180078 524792418 809225786 956349438 802683492 830754110 165745486 303050102 53335878 929666646 537756390 858075782 968549248 958169164 426033460 18716830 89685364 982519150 818807190 686919926 87343036 572140504 395498948 6610126 299335174 171658586 250460266 402399240 656462190 683365520 415846340 524424162 257095810 327629732 494986894 411005578 932379324 585813354 752176436 67788884 120047260 688760666 208085390 501988616 104704280 87072918 710197130 31954780 959531050 355537946 447284394 857642032 824122568 113480700 121063978 234488204 858172454 142331282 862025948 284698108 408528102 332447404 231343534 689770614 127108248 970521684 205567100 894880958 963912324 178430854 348700602 500810984 62163004 114413444 788730970 942583414 231243582 717655292 459474714 498548960 143955962 317732396 826566120 107859192 656180184 104358002 332562352 717844080 513111562 485760270 580248988 124772652 382040480 430838030 268848158 344203310 230960224 387525544 225630406 273807180 212637686 607038078 558898374 512831286 124139386 462924212 861835962 294105974 515185308 989770338 328067096 622089232 236023906 717445146 450995934 309002906 583691768 768921752 660505904 694240954 276279088 721012802 146288880 19852364 626295184 217937636 924258170 755211678 93246180 419109954 722608956 461392284 481848956 546678046 703180466 881862948 487833386 491814428 398411392 137145184 742919526 358833248 636100712 14134410 183625392 631552310 999253444 218456444 460449270 58907202 446549882 438743100 796022154 962075090 873064932 917522300 993216006 58151386 593332300 726453410 818251014 12653654 965650864 432441062 881349070 3020668 881524510 461383002 92979918 830632144 680645006 601705088 660176760 911516002 920727896 222154360 337724020 424158620 41332796 101588316 239081694 907346682 432719810 611384962 303583920 232307860 520717198 489371498 11492940 356280868 704539150 804607692 349849470 942174726 320789100 556933484 551742254 952866744 646252706 491965108 420582696 651802010 511734108 411096640 991709158 315016624 860790160 845490586 850975426 392684686 497583272 704742228 696190926 593539876 630058978 561272014 465499938 570906086 862249816 388631652 131021536 117500454 949204058 293389396 970112902 363525164 616995472 275458390 669426856 35114296 777692674 520275470 552234210 179618496 197167608 405744260 785717700 408819290 810354650 659785548 320366952 910236112 619658302 193234668 605493990 839231504 301796860 101679130 170062302 505471968 699274736 985636682 217644910 980966584 281595140 508364574 497557242 459947384 161007364 196443120 574400050 794573136 158576120 973664832 587215546 828040832 796239240 376539258 775707900 702217806 536955594 581649174 155167472 440075760 175585542 385210128 289642252 974054534 823350034 169431224 594442246 215354228 594689780 184726946 600160000 455496666 63302208 604542814 717858920 955588426 930065090 866272436 779709326 511120042 437721316 226270526 195555718 869897634 395177220 965948718 332415522 775465974 386745752 547422082 649290296 180065598 437268504 312336370 455377042 755059470 592827908 808445996 173388194 563486578 153475586 949170438 378637730 551759528 225628160 2415398 720291668 471302834 926819254 618174174 482841372 860131320 229313166 169149830 168548456 721787978 441747470 380473224 266396782 989933356 838409994 315536768 776872274 393103050 361097984 190700424 673270118 242987848 555724894 287142218 468915278 60199978 520718830 968866918 401444470 96856432 291562188 366841686 492799284 363048240 442052888 706535240 241916338 232699450 583340504 717116510 250553924 336637596 597577362 388534934 981575066 911007444 986374796 275296020 413836806 136746842 821119778 398121834 399301112 196266208 554066680 23008944 505294426 543969212 664773866 308258754 246586838 348947654 724009052 368396040 105086860 75323562 172840010 96813738 355753690 71768176 853712878 782386960 321130494 394498688 252357434 909945666 642028258 996497608 544373642 126244466 690644480 315494914 758977010 874771904 910531670 603011086 293930880 320617528 285556060 880171966 473867140 540979996 806231658 678124528 454606886 351061968 347467888 600168316 838453612 840791672 252406794 236123482 252371818 533656686 143162490 508684270 621831214 570966510 509863304 578802788 361419580 92553718 759432406 6897492 208633472 477789268 497905568 684615442 626702444 894772020 326006238 494729254 659862538 790268754 597120084 968403758 186088158 73921186 994951560 39045172 622821672 434669894 270647586 779357166 598605868 795281750 170367548 833185986 216128646 326538972 955980080 31271656 372678976 326329442 625305044 175848356 654760312 761295402 24620520 168982316 174419778 972718264 113756840 222064584 4065914 227813344 978796498 537442194 826412244 896119694 288556404 673525682 492348126 58225908 544334478 678054886 864515300 341212306 170340750 273267126 562547548 574610094 234492570 671468192 692544194 152665632 549276426 595091190 64012008 17140062 498324554 142817184 411503080 104370038 928317440 882518738 328881270 120717282 84626364 746975512 322087488 246680284 753891206 830031706 245867380 711359224 108194486 580090634 518720414 200072736 77930288 871330816 270374268 782822258 978314742 802448264 472916074 891663622 298272950 463315590 225849162 546562192 403750344 702163956 428289296 196627314 40354170 136861564 739156640 196344516 241646144 904969116 508921758 184676962 526704 285829876 442057736 804341044 714300302 589694346 646290918 78324236 958362182 61287402 141978730 313084652 839580836 993327500 90961842 555232148 897073518 871239734 814483584 746803668 550976028 609358176 41335620 880773944 331660564 774537034 497645010 373904262 263684286 218231376 747911414 272560240 711799172 78987402 69999616 903952036 738325366 226284708 937174454 777323360 264128736 418619718 257292920 46482326 257107788 657800830 643200490 539877294 119249024 106420218 723148480 981351386 515850004 373286246 12888122 101289556 513574276 330842318 540320706 214480216 903974210 799677076 767345294 41646338 178544958 857486976 470036382 790677004 603519424 91318972 556271978 162644862 830876304 90161022 440185736 966327014 926176784 617598192 959944096 595379102 50586704 342978252 672203792 899111860 176475578 639191484 310385380 531793430 575725282 590483032 399802586 683284506 132805368 167100936 114365800 718920248 120359328 386323730 12979134 571133706 478519224 971554008 166723290 137727824 715581798 138553558 766902 149357238 508532224 253374792 654460782 574461100 341186880 207274802 793260412 276078178 671491610 496764808 484044502 990539794 327240026 141006926 633392480 247085026 989461090 642942560 569443616 389666078 326537512 247711964 975099212 255217328 769214926 49962448 6332838 938079922 584941970 94432176 618379824 908054628 505676020 230472148 944170836 667104038 792733064 796706106 48769734 878570898 789451020 350000988 215534466 540397614 906557128 411508134 564264468 195140932 456356874 677649392 240565054 908597984 687871898 896436350 221791682 591880902 334416650 774338882 678294394 241018442 369222018 614753038 180684714 632643922 820250392 307633790 969592276 667487340 628152598 61050944 633913934 15151364 740679590 705923452 48747968 244426468 125198420 247812654 174354316 716972138 332730032 385536566 743051940 970483188 910255768 660239648 590922416 791291968 758265222 291859582 258285948 711822488 628893094 541821834 135690350 865518444 573962642 863239252 727515352 997764504 416873382 810525616 477775548 908801152 487680954 307399796 534961974 632147396 313477326 580703638 341382068 100889120 126341840 580490140 892330146 12042388 524144740 760316848 609838588 371353516 877090992 565448746 449391482 387444532 831178582 311184514 565492022 825182052 274372454 419037986 565358670 878809310 184273136 401500100 151488396 123751776 553946378 875998276 378133634 884842008 760465160 882889080 391660902 318023032 434011808 840694100 105299078 493695044 466837494 259011256 10038800 450137412 556575194 742541336 941143836 484111854 324190086 157761664 457307242 246019786 694468112 67510202 870729094 27015848 781858562 571820378 196090532 652682344 560710170 343092534 152431544 371808124 903968022 996854542 174814370 639567480 712424114 502653212 303638526 476578396 122606326 146105512 387303974 978624988 650425940 80839596 312498526 660142378 161727952 916240746 244158648 845360246 403066956 348786602 423443578 265779216 937741068 437716812 524414554 604414550 428260970 507534106 311436778 943449354 312465430 903607012 754774098 148729894 290276868 412049866 477483498 755092630 768882988 679019174 328053914 339603300 990171892 748893046 13574266 665428712 748347924 424643566 415990288 884503882 932051256 864431056 898667230 744339346 387973188 940812896 206968190 898608838 485067878 426968528 41769042 270097628 969188516 342083266 655719680 605733344 841001530 510066256 788258130 543804316 689051946 17353978 73936850 251920334 295875994 745302420 891324468 672728758 388097198 894995292 297099334 530672786 109335598 391109130 286825996 180876678 25313514 582074388 913411020 911778994 506786408 403993230 447698264 180971078 98035216 597551568 864268594 100050720 631660978 132495448 763965510 449780210 765158426 795652280 986172624 257402890 45033436 883627522 522369656 60566730 398619992 619166844 727237148 639588598 552494162 474712896 548038778 256766538 10905278 489421778 220478850 395631874 805726784 715460264 134945682 7455218 283833096 149595190 419684632 174177862 883690534 192550770 193577210 166043300 880455306 803810616 347747142 188565192 302289332 669910762 181497392 279672762 857326702 254359928 462322628 367276314 418930056 140516708 240474488 905543128 57042208 362217744 665146836 294304646 714782310 350874156 73091936 865181272 166347578 813699922 319872552 83366236 456291118 521657272 916716374 871535870 169936616 272762416 115415236 451811808 233056914 405802838 937745912 410146410 838489128 500374274 784974528 691776894 236905306 276763676 758166168 913504320 135334322 766711114 515310904 708572810 578608440 373309620 201129950 67292144 474776864 207003686 280131248 506965986 542479018 253882142 915480370 613383336 789175470 407785394 522368054 297713152 939787806 178064632 449587472 532062948 628448538 659063182 549945022 81830656 217069616 401700992 211316018 899577344 509035834 32562050 805386980 105588956 923681032 716782936 726419604 132550220 178277768 905353970 727010300 363236182 334915162 980304318 114864394 57365212 173504158 281682772 80089940 522920358 944921112 926835862 297760744 754353686 747984656 686809128 830092998 935499840 831542412 757996734 221281050 242315026 474557960 337747676 218970806 55259300 841976918 466173598 892545970 626232622 336132776 84468006 804823192 733320156 844944536 434209824 860803746 4179858 848532444 335327596 983592722 924768670 59916762 533426206 68113846 256342938 970090616 378770942 698274440 945993148 798466230 969890752 998311212 51114900 424465938 664060810 819484332 424512520 895978946 93236240 506105444 58354606 544268934 104619472 145860300 746040552 623211062 125511564 909113244 227777354 606237634 305700980 67404298 200625418 410176948 651835150 771714690 529260626 734843468 980624898 31433140 893474132 231365508 494985210 925996730 176889398 95252474 257223936 338442268 784606970 791526264 155234236 103888836 172165106 81460422 901944654 280414884 622770360 383357874 84918186 333252726 594350870 415866050 871448632 217355522 821205352 569132676 158646248 967280436 768871124 160626510 120863952 454796400 379270728 630252608 424313712 119056406 281574200 279826834 347733106 219968622 535414714 225939784 678057786 269129188 919178292 419550358 441222210 413548708 404110538 547231634 171962460 723804778 192517134 510651192 36852766 962371712 90130016 396743376 622443842 843885140 776905262 53393046 373992606 49186570 876454984 603357334 236406764 707603986 892572742 592560218 860825934 595193102 755557204 953373970 835199676 781120976 372460764 327972986 866242598 624579686 589154312 798598018 270915900 846386250 625624406 129586536 759824746 94703914 868042970 461243120 927023930 441678408 81812612 167742762 475756436 391995936 637369194 296873486 154532444 221619870 540739350 341986214 501522600 254688912 331147974 878608418 876449682 975242262 260928590 596607788 538063806 891607558 228455854 634898636 635768134 871795082 211917756 430827074 748307104 2949058 217645108 603085786 769386032 956142662 85859586 981530638 888701674 64971196 754946154 704258296 100288924 585463826 862786010 662137228 484251668 311092960 931011914 900850030 287504458 39680046 692024758 412178210 615104016 387780742 837265092 197030990 25074052 838582664 820913338 404684770 252665462 103765454 92952866 516902656 508681568 502878106 181423076 88850286 98400776 175238532 829298598 265107670 829295538 88406602 232420910 238138796 240588772 99464912 23449604 770775798 659688416 998150096 685745480 936677526 698895824 810190880 984329706 981316774 103812722 657463168 913352290 615807456 72628878 604616182 995074054 39383100 572198410 393284814 904641170 919273308 89098640 25393430 662748400 29443436 334437118 944647548 354400612 621873868 666738304 833354782 24773170 4319800 781088844 473567266 899682330 793068050 563379016 628177448 687274078 20373706 935608296 231711336 142920188 68212026 584336608 185338586 920237410 647558222 357000890 6554244 415903870 32543436 499655380 395682998 985389532 199709014 310624388 840404866 505261048 503737416 530507174 770215184 517691642 910938602 703709882 550453574 590677834 841140104 87730516 416680948 1672024 243991940 590939344 983615594 27815928 357257978 898572510 640575924 548623456 99867354 295833766 543891488 315517180 833357220 851432480 863003924 224873934 950788148 619105784 652050654 980263546 124495958 58867098 999375884 775055200 452612666 918281594 569277622 263059454 564922014 709592696 321367720 543603320 76623916 71176928 595479568 738893014 804463212 738611698 811200880 598000786 697692916 256689508 987784722 872245850 896727284 750103878 857347286 705742770 342479564 175669204 815696630 689405594 514279082 928310350 473455136 177767552 136016874 491398756 712214274 106157442 1343158 123248510 754086284 174921690 394748006 90110550 402074252 957650288 142532624 756572368 498623756 670382388 174186978 240327244 873791346 821413578 689315644 297869984 614505448 30898712 516817998 682684934 45058450 643953302 821348974 948607316 752559892 181358658 261929456 286198222 422859648 429906544 821181124 877278034 710885988 655624320 436134528 592379506 664694588 903215944 827678392 832068366 652935826 331691406 734256504 29694074 498151428 266470396 697363828 455480136 780771096 419126038 845203688 483960386 475303894 920837172 454312728 544807626 605973902 111199432 249219740 3302458 713248420 472842824 459345778 145396302 528402 931888950 458538444 313449224 376041724 322245220 777340256 173834782 633537534 798206084 346902704 36644106 673519978 815079494 306143646 730511108 767062962 996607070 132276036 378363024 615572028 721555278 586302434 78894582 43433670 931641366 400018956 72427580 129729106 70266232 805418864 970924022 810266012 238095218 39372922 392143900 531914876 805074116 498177918 420947400 136416556 226763864 826886656 135687660 825185952 116487526 743559420 98655046 269950894 608253046 734467918 329662920 731664138 632562102 58344760 362455400 859936980 405428322 425329014 664751744 14113038 587321028 2774798 838098358 559145256 727036272 61377406 257598214 148725896 512657854 970897454 777211368 3030232 138247082 35061316 183734932 406723942 594098654 16478316 644035722 466154136 753940780 972323734 681574494 869131616 978113260 528261246 546518450 46415138 331875062 959755348 588981832 15125988 718481386 60218158 282834698 198732028 27873838 299366916 594975794 344581368 271174986 3981256 667458236 417366218 599996608 207797200 606085134 761558330 143056222 593467304 578785692 785514376 673814048 461686008 812813462 729122316 558610570 757622088 438884364 981355668 827174738 515328908 718245884 36270958 313425294 425366954 123956820 906203316 635413110 182256558 918550786 532207752 801038562 291831032 496726246 712460228 603429242 407168414 61182360 299772252 86460374 113292010 800272506 570345030 988527190 289264642 843200036 327271346 766697994 341934466 784370796 25802436 606351780 259198254 50559096 957818110 428468118 538826622 631130222 560483288 274812632 105840308 927833866 905640214 717398984 413217974 297910822 523682344 9702568 383433372 352996138 58906838 519763892 372022554 774581006 778419488 797922474 14754196 565364278 1454390 869673010 243262420 9772832 914505396 734702238 796228888 142268840 795205912 501434416 642812054 944608078 273029588 486198338 698982214 471061360 854697352 984892662 858756646 89526018 18696112 806436650 851904220 797690298 218756806 199098978 909126700 433820126 471097758 152144996 995603248 503451186 439063506 877238564 59752102 666413066 550447780 555050834 284682004 451408504 826637786 244974094 433610806 118080952 24180794 827068096 502686234 63626586 806949832 486327678 255092662 347944456 883710116 968194916 938809556 780723742 850685498 313302374 715833332 79263020 496656862 167883936 948397180 95264000 574876026 291443340 393852362 435967312 762286904 739372288 122034612 242859328 540944922 249063474 620351108 429122262 20626116 20359172 563262790 35896866 490901036 599838162 359613510 512264930 494463572 759074148 65662340 309941136 476194814 595885696 345363312 350732634 623137702 453619166 558609308 255135976 392592836 595037430 358588782 529240332 396968352 7603982 929335268 799797274 420914426 793325396 248395754 292225010 724254356 929021274 53935104 378036270 762485768 428073298 83015212 914579974 713962092 843039368 223899962 131939176 963346392 809984814 189475776 402202318 539733520 633563182 434485174 540603764 561841992 880516912 81879134 34166088 355909162 940424542 98835372 958375904 5224472 135660156 383193720 402753994 793005614 605210890 938574494 780616118 438527686 217234280 944134748 32895510 328516468 80253208 32568776 570139070 155316344 789761452 695905524 943260160 877658372 5468602 635797618 437120762 333818300 422153500 796189418 430707326 358542682 575076868 247383802 841217014 303387428 456472552 12868132 507648236 537349504 558805882 623975824 472885114 971943922 228889576 404292904 68212580 159348606 490304628 568041740 575355932 492845920 636182866 563913236 434367440 180866480 419849862 680422720 838016678 904316408 388129120 219859668 693189714 357898036 944176190 40706634 845933240 287408258 346829890 472712608 130077296 240533144 54359870 105736934 511139886 52641664 887135340 620213694 13896 941458746 875221694 329111656 2511788 72519474 148830990 174355158 878468930 280106524 944343334 930176642 414978812 329028238 789867896 243247212 375478202 527788548 485111260 703681334 771120212 72072814 414702398 802202914 833883050 838702940 166984546 908193768 996391418 671036354 143566090 482374174 490320944 16519446 953922938 185510570 424456194 310895518 505920218 993677684 60025720 741597232 3794322 692076798 628388766 314205350 970527184 612911346 947965980 851707792 405535816 454208946 798326538 639167088 970554328 790097016 327632300 403457908 702001734 482247806 794552780 187987182 732225566 385487732 816190882 40520148 353615138 145569892 827391214 331854002 415854176 23644888 496836874 572244958 842806 31807976 400662582 485142194 420328606 135028506 444110306 888468430 652035266 17946928 429530164 375139280 537389128 837707374 823159830 453586442 834207710 956785374 89998224 289014826 183485562 374060426 729999296 297264880 211189646 350608098 249281458 869570126 36086232 970678278 288664706 324050740 412236122 142130666 104835670 606561712 988984626 265475652 236061992 874182260 933443606 57722674 644518922 196737844 415444834 703820048 58624952 36200816 417932798 915901358 524462880 560497566 287441158 176417472 435711446 695770478 541922488 371457982 407388232 44175204 286981602 713148214 717964588 757647516 260214608 93185744 913021514 63730872 321633314 572016764 523083826 499223514 452761304 824361254 50999188 375749292 606763298 350403082 687723676 222801834 31912422 156871140 232746016 783969630 465163270 216258642 214510192 193064758 783991122 303237520 18621524 707558924 18437934 284291826 820351774 953259790 434561776 801577936 418705570 87304930 900042268 911956136 754578176 156731126 708922626 485131810 239409522 546418470 542190926 382572796 502272322 582914840 306910594 74872792 87307224 299685022 657629226 629120884 173235762 756727706 634119494 180678852 988433598 328914660 510169230 89650412 632145408 439091848 501976610 824454838 44761438 754392778 72936646 887772264 854962220 506939734 77419462 142960300 757618760 188011796 192369724 30397048 415812954 313863310 757958684 8528936 716405788 182114120 319672978 59207472 159183382 603361780 587636146 476411928 698407926 13566348 221708434 924844398 554484920 388055346 49875534 857457508 540661128 875414570 849443022 630175664 857233896 488933164 774373964 686919672 847229912 458920924 209262080 185348750 297883386 718863520 83403750 804768886 50971818 106164184 664195456 182111254 6470312 913373050 945341910 564255752 469123284 188986732 299243960 835636990 204184606 9116776 140484924 206012040 898845864 664003780 10413502 994971438 239825492 288488206 866885634 747697234 589500874 995190090 876930442 17912036 345936224 630739702 475103512 802267378 680732238 581649484 285635824 113914166 733721304 111121876 373225866 362514212 163706772 193901030 523055384 490988910 580416940 570708440 970607186 660582466 12731660 878490708 241950158 887505514 974693652 692002652 24471662 46012084 509741374 441760916 18407280 799309526 518190050 249443930 630398980 5899166 190543600 981817134 594791580 887458244 566792082 189296486 878663926 277317504 924668438 959846506 825090516 192322160 884898032 553233176 178607114 691897870 406074328 188945666 808088600 532189896 524092378 211872556 908810272 942475742 405759580 974935256 310671836 464322892 89876338 497880454 696018360 831334994 946241296 422537446 240668792 622602388 467618078 715093166 220934674 944791122 746785190 604734796 646737204 301360366 311268616 271056526 738832782 60568150 807885054 720081304 197406430 419646584 37863138 138145330 532679586 88284534 510940594 291647678 55425218 132255210 553035586 765324290 926863854 889088662 795169468 170226028 130778148 947707756 441919688 864836192 264720278 12091960 387252006 967305328 17759866 306272110 689868948 632509924 187605858 510238386 658151850 326288464 754026398 810887654 777837132 378915228 708674482 288950336 842642868 890991592 860358204 235840370 517032756 828750454 921763170 516480700 911003756 707455982 920876030 660955992 881629188 577264150 348941950 552601904 199431134 297466852 332783268 578580610 847396560 382486616 151351438 407873738 149700070 265861518 230123588 267841180 874390914 68564054 311950200 326215612 486172398 662072912 249714960 783434108 955257354 298165552 194394440 800528172 435307660 145338672 954264508 454693496 984574370 531270318 480049478 136717604 589163586 117142280 263735792 987561256 824051894 206713342 991300306 44412292 60889232 995984032 741226026 756112480 421779330 156208646 401963838 139258278 247548022 415390208 481655716 327712048 50269314 726452788 161277672 732606046 727962044 117913246 348019630 646734436 125480608 369173774 560573894 510003300 637979998 597324008 689721242 540985012 496155286 860273922 744048890 643434962 663472628 649521024 478933248 386048386 179905512 406443112 873531554 342237842 977062036 398609596 356253584 666501256 923227156 107395230 682030560 720888424 282692004 944673402 230378418 898152410 976983528 707222850 69333010 642228782 50473582 65732962 216960610 444438366 554449848 614055500 108436050 740720468 882269510 836557218 633453838 892800802 840876480 751037524 499667950 837317468 283696926 669827502 729998376 758786646 483492542 761877242 718290610 422222464 651104940 568731268 925840326 527965452 335054772 466656710 513627634 824234196 902594582 607517444 317108240 827834648 556441710 159628554 804814984 100907880 889154540 342738908 154286252 794008972 223928558 910283866 536191026 952813842 939682034 244960514 652862742 647092140 458239400 434488934 777775690 669093664 890688528 712791526 19237628 211269852 886828834 302920758 598414618 686298876 554166220 516032628 75025086 642428668 40797766 97373526 570606 331706422 587611410 119328008 793652048 659324726 447881662 983537478 422970966 10350930 26727500 815276664 56122594 761800650 314721164 366149432 901691550 281841940 789613712 760435738 957454864 122702516 312093284 17724286 599600968 733646716 697360112 989734670 487306238 792934740 840551188 659126930 651827530 616230162 458670254 551820680 395459890 287752566 220166016 241785656 230417672 151233652 821215046 307215384 330157734 446304342 936694086 239417252 806517436 967051744 744455894 624436788 348154082 832007886 941815142 699086180 910519192 360356322 999429602 449543198 405393336 473181886 796080382 766584742 705323896 500524410 411752314 710866676 39705898 981633588 503015804 917716146 31660214 985181674 494925554 569249654 211799356 890845648 423694824 786262586 658781330 759289196 824786554 926714152 482592164 451958962 341775238 773383400 294325744 507856046 947470230 713691668 471998958 89787482 456628068 923077186 444578030 667580784 852156966 566102342 322791060 270145838 477614474 607878204 627776742 78716436 316193964 850125964 585774228 613893200 456271514 367086616 304123500 314087650 401040430 695425710 869000884 505349062 912121056 531616310 189539654 209211286 548032614 374063376 827470230 861355636 532414958 729999778 136684656 683183230 514342490 241528620 174946238 805985886 611707208 619922626 14075240 838549752 102876768 578317744 521252296 621720350 520796674 982006574 402080912 957183316 9580076 781671784 183033534 90476730 91604822 185915816 753996590 151424252 336282210 427559452 894919182 757036838 896339816 160078356 510388546 199646324 715834928 69132684 493735392 759799890 579971886 238667920 72560352 956196526 927673614 4664600 667684130 61003746 539751480 472572738 446706414 766962520 26431340 692681836 722242852 805017062 825229380 831813806 959849190 625328012 437715338 746536156 827815010 376562650 825554786 661911504 51788864 846673480 80624442 620622378 364993364 56945756 531158614 68881706 623690088 80825018 102055886 126254002 363427284 654466328 52764324 64014576 460618648 617144692 486479614 679449188 77785294 574103924 29935516 7406956 486227034 745711708 265542758 935910392 915718150 277118950 687785316 266200860 284979690 687043224 247497836 741390010 895856156 500047624 462300422 821296668 546471950 64342470 903340088 809694660 753425318 836203998 787921568 998774930 940864572 289898734 572877460 703918630 95743534 295458910 581613696 942702908 811872272 164465804 690196160 104361922 60447714 487089578 921456248 993152400 223777854 344216194 331985692 25075250 477379110 762143462 56129558 929362492 812655722 270048318 179220166 326684608 919585956 691495296 129881850 554618442 408541128 871711842 249819008 164518014 965448740 638898386 107766760 756680942 406470574 659092310 394537188 214594276 938243396 431510760 445947274 72736634 86274598 756692356 334513922 801660622 128599680 610206640 831644628 341814426 611288266 26164172 618907182 968346036 81550128 649299594 903819108 125766038 14577164 118453852 114050722 251659440 213566170 476736232 415256162 158967874 958797678 297595824 657144296 810762642 311533646 53313238 56243078 941753748 547036336 561753896 834911770 4535926 827046432 878635678 411250130 900582454 5604006 263556344 993464562 87637972 179399844 983426250 339370214 578406064 556300066 586192846 680741848 309073768 145603230 678832210 497690906 361332990 291985870 623480954 225377624 566167886 568399878 898988072 857034534 791069168 429904542 466238252 667710530 278905458 885564926 157626840 677876190 734035028 796714406 28239380 472816070 286061816 571770568 224196470 332534230 478934914 756826264 476309690 7163714 900142110 74649926 753533036 314265666 564637716 394237430 982948708 793713030 223316710 852110722 888736924 826497564 604359100 802079068 213662988 893299958 86185168 160420980 341128548 599289652 266503216 632244260 917477540 971777536 370306122 226057592 287081974 826238034 828864440 967757708 891397254 522626480 252320354 734311768 842247816 44909762 659792214 774825620 740563032 14995812 724997670 782820170 777346198 256946932 494807734 621049744 913318444 756114814 884488646 151478130 716632804 839053538 181801190 889678992 754593686 91856494 495177788 537424090 39806410 388199688 130757256 45059604 325095166 392803168 345222456 753116308 353836504 981103662 83090052 244954114 803880284 395392724 185010462 981697270 125958354 943406720 789721106 644351826 281363140 243361182 673758772 938424368 879420654 949223144 632277452 910084560 454793984 164425032 267352968 628307982 784169828 878569786 888479302 5888594 950752100 19087086 11360406 38870898 195934120 710459232 339660286 692469942 220606024 516184046 422754704 244370064 756393434 756171130 720410122 876970526 553298394 36650404 80058448 322629972 699363954 549488320 246109664 322189266 101395612 252076896 921071350 650158070 950327656 777940826 716909512 731153888 181829270 617642084 981963192 439491046 916183790 705261304 547025952 878192858 501603468 139253934 85253290 188044918 137444424 515504792 74987224 882515290 38933886 844987876 792911778 550741942 768225876 39235426 294675478 317784024 807192812 682861802 248570464 150831738 269474438 490791460 592338344 41057412 903099204 29952234 147928138 936748458 40767500 357847808 349547644 221368800 687089196 591187792 159989368 497029222 654870900 969810292 754248484 74600856 361253698 402275292 629936984 210875750 155924354 399971232 689106838 127098250 170080872 635024528 139977038 626185108 18470988 204456936 799872118 158812176 165050168 758389702 123495726 703788788 187063966 974758096 671936380 944997172 766420788 862210050 48383502 521888464 951826092 738803292 843182252 916627092 917280564 407797922 132304984 818020936 131803092 53907092 169412622 441306278 559957496 219493462 355623894 372292786 260418976 262558158 578427024 419891390 614611994 655868750 772254132 943599900 740166032 347262066 578911576 266891048 185027052 71277584 745415872 99433606 387366336 593954954 465522198 513341046 980847066 852796180 627007600 499694518 54895928 56790386 333796002 635371330 968942244 145615752 197848284 89729670 982081552 43629972 842395916 744393406 426309284 145741480 632625216 284516274 623363994 221370746 290163148 938124 323169174 73956020 468181004 463070404 278004960 61586482 530374538 192106996 117591560 978516802 673116054 177833824 912963940 13952200 382854674 673280016 317935760 384933892 741336402 757542474 584311958 624303858 831101006 250095566 470028008 110978878 902480646 243478884 189389230 208446020 223753400 943500074 123766640 574327358 416214084 146460748 284143002 569894566 374138800 265691146 476245158 275809028 512362758 811621430 265451448 833914290 901138158 517308146 833612360 154978940 125525468 820913572 701416076 368182578 685448454 459182006 478917486 530684584 357783302 51262852 523952566 726344092 750213854 382666184 566699738 943404602 628461090 759871058 612036664 722976588 294502758 631095582 900768812 28651736 306955430 228286132 484436114 583369272 734765006 333436188 637325622 870122822 866528232 58579882 538235494 915998232 27396258 676642686 45934348 939552702 135582376 234539058 595759258 851051684 578121696 181793808 364526312 261054574 824601180 258030726 275144422 610161422 650390846 310793352 483089504 985264254 353410102 151201642 743453244 644300362 702995312 637655842 317440106 936855776 670994892 160904250 985503112 627380766 372209564 113911168 925745420 851749274 47250252 526285766 375719452 635131816 367913798 663970376 226245930 13516854 75594988 738232302 853266022 930834512 67473714 121547218 172580660 649101576 978190684 655479188 287021038 553491638 186678208 97872730 612922182 202565930 344524826 641068694 579623880 564463410 525694640 515023684 879977638 704608188 916555176 7115742 72731100 68660486 141308928 669072676 483031842 115668766 783195846 302583208 593678208 336531752 261468214 514315686 728123208 730509518 926952542 523041586 991835620 944921546 374389446 673660342 136381886 869034522 110279120 757414300 113863714 490822716 106338602 955375524 619111752 978143774 118635668 248248744 770162342 275266738 785821290 80855092 781718394 779766954 609269418 849553304 345684290 385125862 199872628 920284320 875840212 929365344 431404698 779211902 462979690 75403016 46218034 271056584 165454184 680350212 600482354 861181038 909322472 260690744 843670228 358579628 909181456 772455672 770967026 387041766 269132908 738122550 159229916 9092508 587543326 956424332 808490730 762910000 795750780 255450720 98583264 158954572 447579776 300965006 861512644 247314580 527226700 300031996 326748396 235503546 769353632 829851678 940380274 893312344 974377118 681800216 876756150 312786838 427899182 617559184 803296820 313735864 40960598 90376172 424963502 193678902 371374536 429089180 999546394 455505776 943445382 251835940 50574630 365463130 437682550 10088592 351626058 581097422 585926888 347973576 80533422 780906532 40990140 141489316 538120572 955838500 661874312 665753962 263099978 878808156 483041628 283934970 565229428 404811842 500165912 924523990 444229496 805279996 761360520 397940316 465068568 496853814 51591842 292993676 761650748 858792362 858576816 278175624 240049320 130524962 518106102 701131316 349112536 1939712 578803388 430607568 830723918 837256372 839314096 628113022 799182258 512131512 770286350 521790658 288663006 769294560 937260698 12567114 385369448 735401996 760826260 598211964 350466446 718275000 872353910 458233574 170478764 841258186 416055772 529892014 714827066 737451652 204574474 17039516 739932128 156582918 968732634 487873516 387834878 480894180 372725900 164955320 983199352 508940876 599951894 639049666 726043146 297488762 694973580 865529216 59108512 87903484 623859172 515703910 729205402 627549288 704596740 577316708 640273942 3761272 974465040 781039842 694049216 392970860 422378680 924150552 510761734 108150554 180867138 933798572 241074948 411418078 876046298 564942152 289443112 856054266 788835292 10687384 233403582 872426360 800857638 203467146 420120352 683790396 901982360 281462808 819202364 812733636 166131104 125084484 598491122 117484434 201310866 535270324 173549510 855583548 186676696 440268498 350532046 548270922 737545814 272651868 108105214 988470684 398709994 468312976 240924174 643595870 264254528 921773190 149848496 234274394 520818162 495330914 266473726 458626648 376620136 292899080 900998796 970593766 255533440 743421728 579893546 799355232 690273062 807796482 776047246 60787200 263699820 925953866 801737720 882327512 925679808 9941184 268139658 947250006 563341158 264879554 126580104 950375004 52081286 956494896 435670822 941928288 291901294 411410428 645002140 59336432 59902962 867531508 630935274 222560206 299800644 642730200 234045386 110295976 961092976 28658728 749847940 989098516 688037984 189087094 923057596 255005258 855551660 213170920 512037304 796576208 246791812 700329088 874371630 489119110 196747508 178603446 992277088 487273834 824076008 393864596 710377872 995948732 57148182 504094974 426269432 167589736 445893344 88450690 320418308 915079558 394070676 814489566 538226814 455038640 49864274 151197554 303472876 363069106 344068542 429795976 482666534 623013718 366741292 842401188 160992302 605341110 946711246 66597622 232414862 647188000 384114632 306601148 999158602 240764346 343437466 972831624 964772362 314245288 867162022 107489364 224822546 438899120 32519784 110621918 200986882 389679872 71193750 789721692 387484638 553572976 598353070 741135132 670865514 354937084 696735552 360215630 276318130 991047188 961538962 431209524 946257878 565037836 15592604 591281706 957698154 15903292 69509946 124852832 769373632 565374568 305530438 556027908 883944740 541455940 909766176 789537218 240562280 392882118 64330628 43174802 958270938 691423944 847048576 176158244 455625560 790296638 722771444 856740364 445749552 317313098 416375314 266915304 746549876 959763046 513670710 680452814 198629240 940726046 342798306 528590650 918296000 735957886 203165102 319105272 47737060 958148934 226811202 964196390 604864382 664747748 93603052 900515282 658243474 676303162 837488080 193028888 143825898 584619884 388351194 718396058 317358756 763664050 202472836 393356150 108006324 155224740 445567798 17456136 831341096 641876464 464847148 11428662 417068154 270347650 21015142 874261142 164368626 238269896 584645112 520691068 83077954 126040850 861439534 106789376 367092114 253350474 271660416 752810978 43180084 157881460 610986104 105349550 32283646 271254760 305632242 686245330 207053722 929278810 833495406 693203030 339065960 933466056 793929084 601106256 713320278 847394116 302590926 137931860 493414526 927219436 412348258 957763772 302538592 128092482 236394804 248036760 276835202 380885220 318849126 937106290 289338504 625624958 174357178 338361336 937612710 247659896 333707474 211944582 783726808 703336066 287108858 755838406 800056220 576317022 193001434 690047166 610769152 25606164 97616514 853683320 611410972 175632922 295599772 851568324 630789532 847190436 992120070 921786286 625143868 407381922 251125658 399063376 875060438 541433612 663530784 917654188 689542052 195262482 326863196 362175890 516556870 9945384 692994500 136684986 950508780 54633760 339338696 621483964 520470530 995383168 341772362 24082864 31888884 531188862 628422308 653509628 385091376 948616214 59324426 381227082 658997896 276885738 285057578 77210364 253673000 404610744 14944730 567586090 291141652 665898364 879473104 852503016 184649906 114171012 171710242 337209474 682390624 379020226 558708878 347525944 692862282 370697986 532295744 49078142 423269362 800266754 229350424 437891892 495636140 540300262 744795286 830787870 143782536 664307766 925354170 999649686 729762396 790964034 752388826 972631022 664551324 656683742 570981144 622388446 983601400 435307438 135657804 719163932 483665502 264570282 117442084 703507446 177753140 2980266 879891996 791577966 939727584 36604646 475319452 285234394 530729120 485767088 336545604 210548432 798661180 597458516 560908556 721826414 703207636 132362548 201098292 800300106 862063592 181075446 649159272 814017062 838868584 573863426 467672850 469710370 214277920 892204656 859173732 673554240 446189422 18465508 773796598 375750592 291982134 293656476 323440628 769054400 338251144 193391218 125401234 581774748 628167664 787682348 157441186 33943782 266222202 564633154 688877292 557434134 28727182 853214248 502649062 573479950 236863140 750840766 804634758 639614134 919494232 82302644 102317700 812037980 602975706 294091768 775568996 952423564 264580712 786566260 434149426 176877598 901711738 861451462 654868340 966116076 800407398 310864468 153722942 392178910 135611570 520695734 624097458 749219588 839167408 222236364 311456396 308340446 275364212 635191252 69242572 255474660 603521942 915756262 877484654 719680932 462381290 398653448 639232270 760341280 740821174 356865756 932115402 630729968 370024976 287044722 214437592 121547654 551020398 639978358 51200018 545102276 13066112 247296322 231970426 255430998 822292826 487939774 300037418 532592274 69075822 368571380 361123266 688498204 420153102 686052362 406243254 295881740 192478044 728617402 530804480 268867142 533323448 525148142 24639906 856402438 700930350 104587630 668061706 760964032 67935024 738522868 169934226 251969164 85601408 100055290 625993744 596653468 65262758 475670498 260615668 771039774 444760076 579221160 124410602 87422078 887118120 862501340 202443598 590028496 700529094 8542234 875121712 39714046 891678648 166304032 510617940 705361582 918600106 239450582 239307236 950819472 169593500 11489636 450860170 477321942 36853254 336264964 9074414 523157326 426799498 428797072 161547818 540350918 507005964 88660772 403050496 720806192 627077352 95010882 290113128 58283196 978655730 648443992 696265136 698423912 571863742 877575308 778332170 390959226 542333860 874582828 140305058 117088992 619428888 445252400 977070722 67601146 486450484 581160458 663978724 198030630 554442062 174206546 471113740 463975868 789296260 807351562 413986600 633600848 836558310 791095060 875056862 208544372 805190186 99203294 113292178 943204306 780437246 928345586 588385286 545492148 802485550 191222246 413781728 858432796 207603380 650541786 177493010 618772378 816982102 179982790 636599948 189566590 683334330 149433820 336159010 296974334 4104190 908337680 203884490 235104378 24582560 85791048 465974102 269661636 169244648 317721472 327477738 163222156 805313350 623735396 374352872 998384042 764205234 660401828 891079296 526622026 675077716 795984186 957766346 528145752 902539808 951325446 895536862 364642440 735058802 511278056 773978012 780068842 895873320 549590464 847108880 119930224 3646704 425220820 680059578 255110292 303227314 756036648 828875698 223796804 365564356 578690100 288675026 8071834 666355684 998385706 461815936 274358000 111313590 397034612 320536232 590126250 837395910 905488556 960575822 953769548 458015354 965498920 199954358 914326112 725477088 747469094 93801256 456437526 310291220 556165714 719399930 573232338 508830240 631140742 19363032 76047152 424428706 371328730 148029442 123861602 233769974 295870322 858589144 605028856 367310558 718554510 669648868 372330616 646981986 734866212 121242822 475141406 684372410 147309542 433022150 205617878 706580684 410257236 304897828 801145590 562372496 899089806 474661890 329753828 285740636 508488800 258989918 987007150 201126788 16558966 540874456 972892492 290138594 109515298 330149162 438092690 861009122 737061198 629972240 535273254 715801860 398299722 694806594 858657262 3500752 731909080 427021376 303499346 10050394 349812526 172285922 660481072 489224124 94886008 560754236 571734820 24211730 214442278 44101458 706444468 337054796 290356634 893133876 220281846 35410008 698351150 961251164 641270286 727368430 282440410 356049282 603078588 27277406 25988982 948837626 361323544 924239432 547244600 495614822 291538322 426052994 742732486 467400108 386188514 705546928 675986446 773701802 311928320 10784434 575260338 204981846 293463200 65717940 584870934 157028070 748590602 630102606 378853352 593588746 319571842 242279094 504362404 987721850 734912730 372205878 229875206 30141930 7241582 90301962 219692630 782778178 488499004 412239440 905255216 99365224 259121296 92662134 716169640 220408738 835891658 743555864 114816894 24418608 121017212 80253360 748465836 422919060 350821290 69192494 653559564 753144600 327831844 803512202 786163050 529060684 605580256 680613044 900761842 711909482 728746544 821938488 420821944 930545416 576365776 144157856 798199666 488384140 250651258 620363650 732137786 104601830 498513966 854811000 605076114 940097406 68803894 451415366 243100228 436918966 304478890 51407226 570602356 759639784 592498856 128894644 123440512 273320242 683216522 353200182 650604270 13549742 345689634 377210270 429401172 580168000 765724084 727836500 181262594 218274046 635326778 680208982 778246348 643961474 215455430 700261706 401706332 801355124 933384246 668414958 762819704 846444052 404065464 581237036 758225156 248277686 951145780 241716758 757099990 916523496 449965040 395764092 785041266 245927084 680679750 653863260 961543574 599125762 136416532 243644160 74184494 236537614 388085300 979450270 894241628 515984412 923782078 237904056 152672972 729108128 61811138 975617018 944120356 79926304 575984 599385834 314692106 261629380 761335368 267488838 69806280 15179858 892302076 11509386 852891226 21603858 491913446 314507680 7269096 957494484 247846166 474051054 812173416 296360956 432714310 21431342 408434712 961536528 14431528 446034708 578774864 482489786 678659342 621824210 609232192 206147836 812443344 691988948 553634298 995021172 505475658 2730788 459965210 428939272 726172682 641367204 342619168 449275948 796860970 815466972 425410378 171776978 379249404 969824976 630060544 930947274 148948294 569795522 396179580 200046478 578121500 178262468 724209540 889055500 589638626 422711690 509245974 382135286 302436884 269318358 301660350 342259688 147737520 575633740 255740082 999859750 663671736 817172798 613323184 380764608 300929540 553709186 517215572 887329092 815117916 490132530 340421678 314226766 919016730 7986998 382371912 908266838 694897350 412395984 769872616 461274224 721256062 389507282 352670426 563294114 574375338 12041192 889368724 520707638 39091058 738785248 106888964 233904222 41692754 247852532 659092288 405924950 396267970 757507078 959240984 138446880 708169232 110415628 501114814 623503882 384887022 154550494 795468538 143822348 877473694 662626836 472438864 219235022 919114338 642518052 83708054 141912740 973668904 359023234 174987788 290033574 605386432 551582696 804095896 973655434 147582454 563300988 597164400 672008524 388808924 488941262 449032640 452252430 99715420 915024652 904885850 768260260 773262896 438304754 88698212 330815644 505794104 849020962 199211212 708557390 816059478 699729890 210993314 583124138 845843364 310961170 427597678 390865810 447729414 523758384 782786566 20839294 801921266 459541506 824785698 729371694 644179698 501213294 245517430 687975108 791280256 624460840 588788738 630396284 415786578 294930260 363209738 970743196 895164392 575700826 757609358 421679004 380625114 372770204 219869372 389801394 637103382 874411750 111927606 730779096 471296708 611663088 955835476 240856950 408113436 254087478 130066296 304969912 66692446 362044508 950779546 906182566 382531808 652206516 420570374 67004514 192838914 953829122 921099958 531321878 954455862 428550058 195363936 397054076 123166858 869085662 894573638 657523234 321693336 521155526 98553098 24569582 176321254 830830056 699525770 433068186 683783688 616578858 621008106 952726950 661872960 653163662 109425162 87166284 778702492 122375034 614351402 170269096 342911260 442211290 638707846 254184070 451671682 621196686 493910262 826862932 523410880 666153092 982462516 442982362 686788496 24727514 764073450 778620444 162115908 822535330 30524912 582429668 254433648 707525450 294388170 651618628 533306756 225028790 979618322 888778144 579613540 575449142 102284870 432544536 55605708 992558160 179561898 861470318 12230746 670020104 504677372 548419910 230035656 598187294 520655588 902332980 336414504 275060712 348415126 795081992 207520424 240624230 734762732 534439174 314853702 529547128 714932506 39424028 925218040 111333068 257529252 627775224 159465764 479670288 752149996 216793426 55269444 965712730 141936722 633307050 866678184 557990158 107332770 952647838 674642392 581151836 840340938 727489968 822950518 772842226 829271674 27008234 844909928 17306768 820471594 238127284 86684552 662604356 562447642 800270880 576689534 557989144 611037508 892644168 356044994 454048892 451351168 309978814 470059460 519208488 434105754 634349028 226271550 648516854 668115236 96089670 637627816 282848866 669775816 36716342 826459254 244629718 132301000 803794590 778628524 644871558 425514836 848630876 898541026 621791024 576047664 942161142 584642964 608565692 639419050 426656770 465328878 545098824 866484050 597216908 538566562 192372922 518093110 828208060 164692246 276918718 474144046 655251240 493769590 405101434 54917974 216529164 691796878 453171614 757805218 640446190 456633090 441751990 261780354 991936618 200745180 765881564 274602344 344727752 959679896 514761962 878182282 133195864 327381722 570743374 753072094 450770152 930625842 823000412 96702474 486229372 91920920 429617682 181011254 365588286 209916300 989646220 802506912 814651718 533770324 882508364 828622578 46397562 146752316 342594722 963243552 990444122 842883214 84847024 482252234 392039976 460487084 686041432 967199488 462977580 13914516 901216402 515605596 553400032 425365542 447835902 159835842 935629260 767855858 559251002 323941516 865964776 121533942 334024814 161852504 147264578 308812238 4226348 133425350 356532724 835305868 225977280 668549776 399585974 737446694 498809734 428253076 48643356 956973588 360971656 841964710 978642736 973737238 158248108 885663210 307018004 852621246 609655334 730495946 939696312 385780830 665284950 164125290 429487512 989369448 611346564 699733402 84167310 54139236 838059444 694561532 930412448 950177620 603509450 989680968 178605288 681455798 432927086 177805656 192184094 314732346 861810720 283215412 57943200 265895214 798533054 727617114 877587894 172403566 391750234 82327654 615057750 41917174 464406532 682606760 334153710 719117608 64338292 819880340 568751616 312612656 252999982 34996314 204843934 62001696 750117776 612101978 77975634 859889142 728032620 824491480 684990328 916294698 346843178 147776786 370471374 402846482 635411440 648863662 781281346 159634956 413231976 454951252 320235250 147960952 541121964 23104252 681547466 880841612 781130612 787074656 617889284 658972556 610990328 844442992 645348008 550356130 696005816 862008424 779509476 33598100 15992734 122723674 774587368 501817626 494689730 735949506 539166196 15415354 161471834 478553208 907628422 573530778 546042252 905212820 645573984 106985474 652149310 529672486 811261684 415264034 514099270 253184190 488719498 477884302 763664954 145921258 267767736 179865326 207738528 104851970 290330710 663340330 57977042 993468826 724544464 977414022 544302828 862726600 367188614 891308926 322180394 62148624 353433110 798561794 444822396 233055846 343478820 197111314 113765750 542708834 560329046 888134162 859164242 79640800 632668488 663489150 566229028 972628646 721642574 954909490 466332394 91038582 497507154 527417338 49830296 407135862 798372036 429156526 654394976 253172404 799608536 455742758 856047524 108540122 829508116 358103716 628120934 598116738 594407830 346281974 511806948 482483866 188676436 73529328 208632006 295293444 651698520 853384536 43329152 745037158 37554490 818716738 761264064 950941032 904197630 775723206 212290714 369348074 320091676 273582346 526816308 109472750 451045228 226575390 202257998 410139106 446628116 467537830 490991014 669240040 250978640 283622566 863276810 406304848 715364058 769581700 256886044 528478154 118326628 709462700 65237298 386405256 743265196 600079872 699521578 606394052 881425598 784130940 76704068 643620608 853472518 543573648 371387424 811266760 652538240 7858282 706836678 865403550 420351558 681901470 530626188 618376248 485452160 726104066 139925014 162031100 828569944 434471256 205761042 265636030 266820384 121221852 430047586 430091870 949048906 80833492 636069794 905989606 514110660 651369666 309896820 640937254 43145612 830418020 333937836 252187660 547370620 669267804 896569718 321629524 370100374 433518702 135314288 723936742 535911674 468834514 451608566 840124928 178054732 280894960 195476738 787549884 231928616 955643716 621440224 790799912 318817368 512847544 455272356 1715024 679525570 571266820 585366178 405387164 618429716 894570256 441480948 459198486 453903936 449539590 832276414 191869836 666608048 723425152 511986210 309906016 862685110 808472062 918867240 762767686 313721308 47570658 58266346 332976 746629784 173226764 131814980 277496998 940726380 922253212 159474544 580443536 566352394 364482382 722023376 486177766 227893058 127078690 856935910 297517922 96912416 731441870 720133104 727448800 86279100 34207050 554071878 123459080 131272910 833043222 891142168 429066122 846172640 839664322 885405282 944036374 396332610 831905678 235525050 77583218 63646006 619883864 632861340 990718380 426748084 495471286 87854812 118610626 449731756 66245686 175394462 769804000 729481274 29245738 363818178 974961476 623488154 429126738 624036850 973308776 772283076 68999490 812798656 2095714 45774782 667733098 717094206 75383472 290143280 606597366 294446658 592015386 807555692 101988154 56723696 57625344 983422260 341258410 692797040 334937106 953306924 889723094 943895964 15021486 886384630 474528770 359217954 55341038 730415390 239224216 94846858 831258724 547741050 279974118 432698208 15264274 904341512 741992260 633625472 105446660 293314260 758263406 743845206 213416352 288328096 720882336 320130760 821263262 962247148 24073104 739504062 51232920 41994212 731645682 104800428 907806540 999139242 849513606 627567780 190842808 458414922 423307928 983304296 271023570 924602920 39082096 115143756 3783534 126698880 757216324 989332484 326156190 972482012 918509246 400309566 242195318 735824882 475778978 801487196 775057940 67518158 302821870 595326618 92485890 345681986 374253632 557243904 432542480 515673470 888543692 529161832 120206522 570672686 7296242 164537410 218690052 213436008 446680856 181358648 143141904 341569944 866312532 406976962 671620418 400486548 359411568 228162590 438919634 403954304 446690462 104086832 794842386 775429112 794036474 286199906 16511244 692690186 597789050 778016030 638004222 519839670 430223580 479584230 937124564 898301072 630630076 91104700 165799760 599757550 275040974 75419696 170329702 750964748 467878612 557858546 823085038 5413870 631011338 24697728 65518736 491333910 684130846 769195182 140421944 254547220 229637682 652950762 529446922 946696772 773829268 567343316 671353430 627439614 624209444 978234870 117090636 383012010 222363172 845178772 106232022 637995052 817429902 635751356 807001730 501276468 839695680 568632164 801214438 714912192 901125962 61505930 158913554 840809780 171302574 108382306 630320636 369826628 570092900 928275390 960670970 977529714 749748398 97395944 673809458 638499932 423429984 270428830 540195864 683065610 332848466 120609998 694501036 465058886 116456632 149080406 9771822 354423152 141012250 18237848 369137930 568485606 73476482 918912360 322366438 94774076 707245694 587535992 13825262 249897574 729708820 645286498 16283490 901606230 152880930 243547012 656527062 400534472 784324318 178489100 344660878 990205746 24554604 795060164 145103862 932199510 580594556 181195610 709339510 640231928 818205638 888784394 238511468 559535344 160262772 339935600 367495590 390225600 7213424 819405996 584372272 824134984 386930188 782673824 102729952 94405154 49245774 652537182 786674894 493582808 588786116 768304646 918962794 52226700 199293666 135709696 463480224 645263470 775937080 420364074 551846046 548184464 346200720 205105456 924893608 997215514 674261266 444120632 943319634 457207794 13450640 316002250 327948326 806565620 525304566 719119576 669947024 825501628 139919402 641916738 651626808 918062046 15624144 752793862 375971022 985450066 259112250 18205484 739955970 805286948 91266692 729640514 464684456 474396628 960522742 215568626 933565432 267478296 126483780 607979242 555574384 188785696 346661302 586251632 275611870 96841812 123469368 371906348 307154418 457461320 196116328 480842504 169831994 264627376 304388976 342790516 731496076 84659136 611023706 654411884 639474218 540015428 358587916 718407054 904700138 675467090 352847776 356512942 919859338 789322920 986458004 665447038 625480642 888684020 535206942 550993512 952074658 477072852 248516292 710598046 886473642 57029352 580443648 732348372 28322882 316255938 107175706 143662606 602068938 89415522 461316210 431962260 252710336 494643236 829388624 952215968 265883512 97601130 501928698 669806764 816005436 398538570 916343174 202847892 454275354 645924992 190509610 379187284 719576788 852587352 257010854 564484538 129852736 630975492 547980610 54092044 418174714 5475100 796516956 298045908 532689984 706917794 991799610 887676076 274026910 141581398 609335112 390912498 759185594 166554114 103508482 4034050 545953970 78215826 994753746 930573610 759935644 429078400 973291124 6510450 555537508 749237596 37556934 287556632 511748308 921610972 609415736 571294654 634318788 948555488 503315460 218063552 751487900 744317200 969785616 149879552 103026688 673472104 386189396 578819762 776436324 5068894 537341076 978212512 71225666 208488652 586677956 205879856 608946890 406113814 301447124 381360812 8116682 933558152 134965694 559398112 758159438 57157728 297561332 745378362 58762086 867590262 394067952 210203696 308952846 598813214 983308194 837650026 92492346 795684660 601545040 613238704 175766862 75713140 149998540 805677572 434803464 240166282 433300590 409024460 78110374 648243092 220091050 244319848 243648190 966949800 567284810 311026006 819294522 932741146 38845208 246927202 115680290 506178376 687045962 433860568 534508326 613612826 979024984 342925246 537961036 73169688 387188854 819455054 84168460 790818234 147719196 43074270 938305888 501646722 831603764 216209336 907568976 866390610 359282224 492956628 357481180 560784956 636681188 238706876 375157772 47181166 295033552 866005046 671255420 428806172 758297046 93811016 247823128 947422372 565328536 751499532 614471934 137479100 940551674 774024886 334208834 675266430 71918494 50044118 898803050 584888980 208427802 19493144 298709726 529559812 192383428 625398508 186758636 937346392 94884170 183636824 185518384 710668408 456474460 3626244 54565738 4421498 114051246 330864698 228759164 537905302 317686862 474130968 155602448 798965498 656409208 780254518 681115066 467491200 398095598 670326188 242608004 271128290 795905310 221484980 547531634 967594472 147176978 85477216 496175008 443704004 864154854 667509572 191984266 679934258 940046460 759578076 508063528 87597494 755493646 752327278 246449476 3937098 856017152 662786938 81277206 659408878 508885438 836700454 463133554 108947778 531294056 579465576 511946772 157785036 488409904 826479710 708547320 307311362 136098888 287587566 347926344 46654448 191988790 198023770 707759834 157482628 674701348 417338802 751947380 96208004 545766298 85317886 11974184 938132350 590760832 335490680 133029956 46711492 959509898 373514576 967813004 520816058 3589584 139231088 579645404 152362804 129676686 498402866 375257018 948375894 235537740 174465860 438761964 981454928 56121202 492674882 629604158 10142020 247374970 970540654 373572484 712249208 708741702 727474086 325656270 453819916 396744496 18304340 872089304 840156848 782049546 624456860 982479962 652444658 677995084 254262254 894642736 888818958 891794718 377683484 951548666 122132472 189587646 658666578 178087000 21025332 869577844 703266430 517704328 388901030 765832380 156142094 376352976 646228842 829733672 303490166 409133808 688108302 547770760 938066342 664494626 337213748 937802962 319466232 463380686 937901798 173779932 524574030 806269902 74356562 832110140 1010174 43858344 209362724 361223686 559737072 185225452 951365392 247783394 76248476 994055436 761038572 24236474 410614066 395855646 265325128 424255620 838519764 546395106 923325514 162647726 184324296 8251138 122569616 214010400 653160496 717771644 213096350 278819352 724901482 801116518 90122814 616487124 13091400 737029008 36156596 563030224 640087526 479501102 667440238 950361062 405060328 160320594 896250424 499994046 291425830 867212040 96910702 243684240 192308456 601688828 105554384 801793182 101599394 803427580 362563804 94689316 47392002 491773378 836436030 304928894 273168586 831768852 294226622 736130392 783552672 762827376 606194646 606957534 355743802 301798038 734365476 490123590 56760088 478355040 111411746 806400176 262008570 622702400 783686922 870498998 738857030 744233102 564653566 73475458 137449182 82824080 40511992 787358014 841589128 941922658 849520604 111900252 547527580 143339888 872291084 3014724 866748858 192420664 789120640 216046184 913969216 54787550 421641306 2794100 198629820 723215160 478253226 840778360 80478158 976077744 939809682 34686350 601027008 523297176 103069664 210759780 585823846 358920432 619524478 512583162 272132164 148561652 799713060 157882888 747329274 977415836 903722252 521041348 579074946 21511470 469441850 914264250 772069408 887739872 593406934 105851092 458514068 684084134 243534168 829424186 181085988 271597608 634890834 406412312 876364196 702211008 976723496 159893260 955078770 867627968 560718418 741241726 24505966 238684164 586962670 839383950 34751836 260397382 38945008 659423694 574902194 36131130 61585042 907562594 933856854 298764450 122070968 121435138 800333154 564297306 30166012 124653608 505770194 106540974 581287278 340055970 84336482 263462136 146127556 32751606 436776380 691594278 534290344 620163388 730531664 726008188 817337250 741176974 981247044 881910870 173170326 993174674 906616984 389128010 229073542 824511968 849874558 81724798 655576174 570996778 908357214 200123702 274949310 578815942 19607412 14244908 521323204 818176120 420732546 670334524 211403980 510604248 637895790 806521972 293008176 303493782 364495894 791939570 92674686 17982160 869380474 749440602 478910936 243729354 865610166 309937424 149729216 233161200 260020844 744150898 548885738 426778368 56166898 313685252 451449056 587008252 818428464 743495076 403838652 814054528 176324514 84637740 362637100 638735600 773570182 594880956 383262512 141588102 948826848 517854094 806943652 205734540 799197142 288289632 737574026 482391482 827589664 839187328 127059072 285479048 409153188 39630032 856985532 514454634 523690462 738290920 626533374 495945366 572191368 985338720 67447262 448294862 225921484 174506060 51932178 605418566 894545818 440481416 746682086 135364012 303409348 313167292 326594654 429947660 764324164 732960828 98006390 821102144 486071334 939887058 616614482 688052110 138057016 208214632 735409284 858715818 316964372 9342562 191603474 960544388 691570546 584584332 134154544 331708106 403257838 785967372 937215320 259887374 251142072 935139310 477053366 41521270 373958568 717893296 47786040 399215644 984073934 381451596 901242550 789202906 884113398 472969740 804614728 945107874 182139558 697328908 117860710 230920434 708160042 867827474 362252756 782517966 740660722 40877104 675051750 127518242 202679072 717979228 804146248 132831726 117197662 58725312 566948180 357855732 821123722 852466454 791461276 225263302 345837832 900010890 763931314 927425258 331843206 58626992 272203088 717526208 744542792 961442216 570578390 301433210 130755004 792250746 861534512 143969148 594919564 46590038 424086164 308771692 568554138 619735242 849998802 213140970 546532178 497808674 697406404 654216490 737175404 658940728 621732230 219015084 882201582 357978306 426929654 901694530 510854362 104543000 385554582 714770532 236155750 467957450 631971284 639023620 438723306 368126880 737095150 156814944 886634644 867587652 954744998 510004684 605607858 335977932 239282656 823386054 357103720 520753350 620366492 768358202 526956844 114062510 106955514 495918938 541824348 153144808 45079674 259424666 448613062 204472182 350539612 150678532 894595740 249124342 956737244 970994308 733815858 747833372 318996344 453754928 899906840 488615572 185673288 508296248 166712240 848079436 999310230 940630006 558401074 855627360 56138618 694069772 578119020 237909158 669076846 370596460 839870704 112388692 660594132 995067898 499865570 800182204 741020552 922469052 605216736 55034032 697178906 447632798 929703656 835774482 951080332 904145588 138523006 103364720 39501932 697925224 879182984 165514640 744947102 282448220 342153968 378877066 992161242 401818316 686138234 999915034 825049574 595875680 712563680 675850124 422848616 494925340 150405840 211646634 415326546 470045592 55239602 628883940 283125108 691801592 552734456 177958042 60770456 86751138 675363044 126443926 709622844 141408064 61056204 900650836 185865328 853476452 468044880 589723768 447057292 139307936 42609272 233408744 443587742 518598486 259624082 868295558 489396326 506209412 976147256 847242188 500483772 694137910 342128168 969856756 978657350 78859820 446358802 331487088 896989058 154817964 9442276 150389082 941714682 87930178 96382812 782918526 460886292 165432030 219562250 459049364 889702462 646719144 19688204 984467622 695320954 522368382 214697856 761450716 148981062 509483714 775959590 624348940 162168060 449314474 375479544 794807148 254330530 731467716 473597488 183859912 514190114 683449862 998700510 565134240 74780466 494006594 513810584 547471232 57664132 638649658 52671538 179857404 961601002 821464738 206931754 625982044 724071496 209839092 470975208 901882630 718677302 16794792 436639436 247438390 95195786 659557170 443719796 281190938 339440716 242336730 740833464 434440072 953689526 964989668 298332454 76380230 305109422 21963494 10786698 326366632 671166306 245543984 751195496 764210782 859003064 398280216 664779022 237179024 454090966 33978134 917909022 264394074 442675678 757690156 605041612 600098532 710094486 12894760 416467194 456673056 203838364 504634712 666570340 415829172 672620162 735498794 738499182 956680738 424455752 773231150 894242906 352898506 230563552 412166634 18605666 598353654 90137492 357302282 783886324 825476984 176153414 50632176 361429428 48290630 571656972 843349146 537579688 361108564 308213620 92447530 341897010 362862636 526814088 305506964 786512332 327576816 214229672 79731310 63423482 570363546 360648882 45888778 727495766 909949408 288671530 792991796 701293466 441067934 455910350 29694594 703008202 793287302 988500912 389579232 630444834 479481044 707083956 904638680 689267356 466448734 993740702 259576526 65722772 280521686 657160064 890844284 48060280 230869984 169890542 905665502 249543846 389961778 191836688 925039228 792683618 591494160 274578292 76278020 568877504 215544004 833618926 510184906 161779662 149128540 825765176 436817264 841325000 321762514 246282500 470970366 183822678 144087030 151670952 535074198 953644666 656551380 373611448 563262666 148446634 159253344 603731830 678255324 946522794 909448728 461358240 545104458 908889452 334042536 863428094 767500352 862356068 156937320 668682754 339249474 920961876 303497326 266204172 990236204 111900564 516615712 922072546 101803650 305930256 687765194 478041214 359323982 538905940 916770654 68551318 707576894 322386898 429282726 876460384 911525830 3845266 576995156 994553930 967275988 52695304 840448088 439587198 459563140 749533008 211737616 69549842 148211062 75346022 582257500 104690032 347221340 446549824 393725154 539696824 936725556 427863118 973929564 723536746 863898490 917765950 625463368 896765692 274707908 632252348 395965652 87556456 128062140 957695210 333579672 847347162 233365980 70608624 218849340 102230574 125170728 96813820 207077306 205326410 78464088 976655662 167523196 243035722 824522418 421623132 306899516 753200606 78901826 970783810 202754024 960473938 960788416 713020652 74513336 586034078 276195314 790578510 388206440 241269462 818633772 90609038 240793214 629899054 552939926 459828046 603911704 45417692 264050588 223302454 72596170 483773152 934927262 221569172 990444258 488720454 624307422 278974040 793951846 870251266 906313898 987097764 397506944 446718832 491011086 258937320 681794230 305632088 174003446 996398146 199193538 300500022 728075040 385297164 898553750 358410942 303892126 815616554 394349852 826638468 368640632 145824240 917742412 889961440 318192980 914702708 101812560 524702398 829893970 642052792 826400250 586837650 487973128 402590716 393334198 92780852 474050728 849756818 317345382 972171356 763347484 942077602 644542312 802447536 424501840 963693740 492206656 364255042 711223782 107316630 661537358 161413098 641589112 552478346 143752938 567782356 984330358 917497922 584505264 784410776 986821290 170796944 860047620 759326558 68474366 653567682 253536090 75293374 686190252 663763046 552561572 894458616 610461758 756856320 519627338 241561540 885956942 5921176 738522588 264578682 634986188 875869386 816752290 930972710 314335780 183755568 319333386 397445644 603920246 720797394 685248386 206832326 708174074 657121126 972703934 770777120 490762788 974858690 176770340 683503726 671108798 402192744 185895890 610296690 374066414 316542058 50518660 180438648 935625872 814131486 722259540 750539266 950387862 538404896 794049340 803542612 524823158 237907984 33867072 316123466 306186130 983485966 516521746 745212334 540636240 359655654 655994668 493607018 674134878 811220232 444290106 77765954 739019416 42082294 628144400 640644040 931943480 618867590 307247770 918339648 28009258 545049008 581295440 733319076 274670264 559280118 533177538 491876954 655735548 357471284 187619086 972257492 82749350 104301278 670466656 898497552 848557146 864581456 621919812 877456460 644503724 215225406 257162188 951702940 415907162 95781258 548460764 13129576 182453728 95550616 477239362 239983308 866372622 484350066 373859306 123713666 908574374 732917406 361979450 98477488 986472792 813084824 81694008 199590694 445832358 159799960 39592608 549106560 546004450 367677036 949942054 109287510 47257052 973099650 430973106 117382576 743431690 495706134 727169794 496262376 394756286 983191820 223791692 165059522 596619438 130297548 423583250 418881156 234147090 832798700 47491700 802851480 847061390 904537992 306821188 252762456 77680036 26516348 413121090 601579180 226496410 392776652 849771466 929371498 719494862 412947032 961170766 174032480 405377906 313975498 363795440 140510394 504064850 462018172 608416456 190762488 791031956 671835552 897563938 196948854 816419178 815401904 224212450 599231982 340113072 960262400 2441154 108023768 933685354 950543674 613072422 991569512 776836938 240310524 336736868 718725672 838690374 401356902 685007478 843362164 453093868 46488618 587699806 817462996 751037024 559836016 197371194 100277382 718952410 548086236 789311466 786852568 13843966 512969416 234663618 12410886 756185132 141891024 512930014 948686360 36822896 639023672 966109902 719090808 206083026 951429110 850142258 705800112 453247290 41745758 285522144 695157334 772022028 483854666 55864756 828800514 560412502 347653950 437838894 389641402 293031394 639368726 512280736 368347770 84433946 21772394 728880988 447145596 983962826 987816688 918562438 935460746 153145236 103698274 704679850 822651456 31548296 532899768 215713934 687623328 54602076 725749520 541053196 28762290 561471056 423100612 511493198 452009396 774795676 848094574 376146804 839481648 278841568 451487588 442085826 933696500 561544630 785286816 513622998 771302 712987416 237409084 327538946 209177278 248229824 669309182 842368518 11081068 92300500 85630306 463483964 490531124 975874278 724358874 576980854 256499702 327336282 132993688 792126818 95512012 105664550 562180642 924645552 13954946 925161942 563429124 735768892 687859496 633981684 837445580 809686306 316774314 850391178 227467080 43335740 858557276 176051346 224850282 706949112 924742184 939623748 672191908 937343466 590929010 486012586 837892724 214113204 140432790 114111474 343907712 616078848 708286950 13967524 879819540 494160046 823839128 557175784 105591394 685498750 426801118 41734584 392659136 800933606 596931416 524098396 672661394 411225646 999784720 852540760 321880578 736252646 708382840 464094156 657974994 759740262 58165222 754533978 311430986 709395946 759167080 236744002 360543688 316581272 288184634 540528584 551803836 26213750 521306188 952712964 314687018 327301440 251551594 885806980 156958404 783818728 384898388 249706336 680496698 520776936 331804812 591271854 307558812 92794966 987366494 268478196 111767168 526708100 131518782 633893614 156302686 292814280 42699612 170472058 147991362 272937816 901140064 754826900 657467284 182651126 804401968 16443936 722803526 584220472 146039022 938474410 540713122 464466480 444348440 608804852 900139266 876963710 652484708 535791604 674904382 132672242 635279786 312372228 819933702 981008684 180636410 977409804 703415600 660342590 17963048 278221156 473024986 447238066 439342462 861466478 760721288 88108286 296641358 105524378 361214286 688625570 30648266 448656002 66553944 294619588 264402320 547764318 157982816 648824986 455592488 56958146 18327430 590464758 796614710 677602352 257272276 663386558 98192718 836157946 981623934 346447036 990489064 485715118 488092150 179707536 132093406 170999538 836030524 579192886 361734346 90008812 184093666 86530176 421632962 254739082 485311578 827692058 663212276 731173812 626133998 807520036 348084722 498557348 980376984 414423466 48971838 13336896 158364988 273934958 418444518 989527782 981888250 405551034 653857600 236704048 378870180 797500540 595240118 824905922 786552528 617885454 278812322 735374822 371201136 331033046 609758022 145028460 127059340 8847822 765108996 154499202 195018998 767488988 109884936 158022772 167684632 867699790 758957274 897973470 994693732 442152414 731642838 482197936 502588110 418246786 177258928 109101772 707318268 568167692 769662904 235455394 58337148 202732652 80999906 477954880 51777388 144753200 503455574 29544572 446775506 574828428 847757704 359332486 339010146 68574482 161768884 600235046 497037518 35046814 933193632 674659014 861956320 467704906 423190946 623732082 345791170 319866922 538586470 224053570 594382882 650623320 247356828 510506082 895506878 45791786 657978532 118652800 741229360 100639218 518297768 87840468 776804696 659995802 200503360 249764854 820195810 74061816 56960208 263033472 155096354 355866262 955707240 422769310 922324814 443084334 645227884 707787394 39576172 29393698 859758932 896930632 363230856 324677432 100034730 538086984 752835312 781911080 729143156 927444888 290763878 513181534 415694062 910130840 611654946 86275504 840203738 851702342 337186810 609026286 341517202 354397390 928998492 624065110 517841212 56388248 826326716 218598160 511720214 943819892 231735134 91608814 288067342 895687666 88245836 957473064 968460136 625922672 804969392 14059206 412526854 495213836 918465932 114763092 363586668 458687188 649628764 925425144 626252008 157814054 520149936 921332572 984861002 50257096 170534600 192617196 965235098 147171204 442762986 787987146 24177238 504778256 932046158 299449996 927984404 62698258 411578002 741956794 950023784 976423338 889968944 720038626 708990022 359709678 384669846 679724472 53306270 868886244 31751938 563240142 204241278 511639434 652277094 440877748 97244118 18560800 286963094 802197154 916545744 954349504 874982482 720359946 876335182 794701856 747858212 305491696 185268586 487928496 120715656 772616562 243154118 881287086 226973308 354694730 367721978 349029082 16484936 632239772 98254110 303398622 747601664 369028646 897343604 73140230 960811864 183419152 158657586 992293904 134910054 688962856 509459814 238947242 98208716 631578758 145217620 825483900 771084142 492061740 249121652 547390348 732474062 494782480 581054074 704844568 447018802 958542150 95875702 843379228 569880480 394317258 745150968 12008564 382589960 834573946 834302432 878510292 336153938 733460946 330692782 337320308 543946738 891729512 786853768 776513828 645234944 107255386 187826960 376678994 140760824 552052906 197450010 674896452 934472174 210087896 781426362 971454758 815455996 878483654 202519840 368411112 258086104 552940738 949931798 209648344 4425930 70292812 860469438 217865650 550806936 617412876 452887712 392840802 241450568 793663252 153344742 521848720 752105528 117257312 505521490 760579874 798135216 172617746 996294162 582747418 904068270 955493432 518196876 158239852 269319778 382697116 170376584 964773878 697350702 661909960 990705494 871164830 338028432 23099992 286400688 330857220 677717926 459793436 396269192 579112782 433062210 471135620 546724260 617567300 973826228 574506680 919449244 541290472 1262266 199362158 896937638 68343642 938352458 539709138 478738454 665773248 106691586 480227552 102340562 816305156 253400880 619520306 624645598 883324392 763382804 481505088 127962804 38986758 829175060 411174234 656186354 259368468 313022518 575497736 85118866 602599940 527478660 137799950 991512616 959722048 62527056 545777724 450806384 792044144 893394074 134558838 966465624 729616188 533008022 913176422 940030898 84436398 988980634 645813746 635153184 773782566 122652460 762516004 142004866 737212624 169540356 876753884 841947730 380589656 407880834 317737710 60919318 54466828 4125852 742031718 563999348 5852088 766463530 168919498 583790236 344643684 66766104 395076244 985979598 204583910 264655162 480460344 456470386 466398410 466827434 48572132 620362554 108755088 406259420 453776552 599519626 855043070 930211800 913633262 196992048 120699698 141617534 970858524 622798248 280505114 192560822 58839846 674286484 824062576 767779996 77711480 703733586 573485810 895563896 107748892 323619246 910193426 773002232 962109550 711386318 205037268 692753228 235425178 174013076 408409376 730428 925059334 724828180 175117398 968516402 259570370 174293228 963249384 161788440 194616034 686549332 284441218 223029328 980960950 819916906 662409258 901387364 428936166 666966408 281554962 77772340 293050352 27201556 5135044 887725192 230394330 228217534 561251908 782525660 254106240 402078322 309880736 894727282 129376898 972907862 914902942 186185082 17915256 371055246 950013486 474924146 160594536 31628998 826002974 432658834 709761146 263710850 593924012 595894588 719867898 34995014 279619026 421578632 62128548 184297686 905090846 334739506 13912100 444956610 267222450 89276956 835229402 555383684 153594528 330405736 187137298 300032176 67028046 925940372 910008458 380181596 492717380 805437490 137810052 694139734 701362080 491617362 623717216 792581772 932829054 284604020 599280630 429346666 385502394 760930526 754194992 535390396 885037700 464607308 991149954 524865838 325239220 262886616 647563476 335697176 872311846 259299846 715538432 763302198 281451978 322080478 661444974 244919954 96766454 314404876 113619206 403452394 151160202 672055244 916295516 542013764 719090536 296963072 744117176 834128652 278795410 841800094 734239576 811415604 155183164 220193444 170987562 314164010 70523518 949761064 652001330 111729042 222171916 603273308 344832780 979802302 953849932 523750382 298830958 919924098 550275074 769957964 859372706 749452000 22733630 917384408 404875700 92864046 731119972 866046794 266984200 727229324 377721738 51320124 743052096 83960574 518054082 422244156 358832622 275148110 810429204 893896710 900900194 244880410 691395604 24273966 451234502 452161046 576821872 113416730 27109174 769672924 240095294 287816780 939637810 241857714 596851360 975125248 840144230 280370434 397957112 796365982 303651774 183350110 390988930 604812798 712500928 966710572 56118920 385951254 335502750 395917826 658848056 426121252 876581066 298690284 858505394 678440546 703853296 900529320 207673792 415906862 548067488 33991010 568677282 637776292 288884298 536442166 609656944 895909146 530690232 986001044 807512698 885873800 529848836 781563002 409382038 382132630 508056064 755108764 681669836 401869960 941870698 68711648 315694150 150632710 141468910 754991738 954666428 312832542 727616700 561660062 797874776 576803112 71665236 427434732 393087690 832945450 404450878 626258398 833740470 469184196 338528868 210004928 368897350 181343800 332144754 175287532 808706048 483080130 967711332 994093898 532597408 694657622 88617550 891840902 289622800 219514472 847814698 243016758 24473366 65405246 581729164 536356308 465499112 724375682 871290504 723030642 329891708 418669892 531313592 254281024 297513524 559912414 170280202 950539698 81529588 619832180 204433028 916758224 332732930 55098180 418769938 698756260 914774216 13292042 167853308 256762210 54817268 308444038 947101136 838934428 856676440 989368894 477963914 84092264 612051060 155767406 468403106 88702340 163502304 671363416 131116702 139490186 859728548 386158034 90910378 903649270 13136838 845415268 89451560 278949546 827015370 48212760 74140402 20948534 807714002 300640484 297524918 630061694 525655670 759885038 745632972 301508392 596714104 938931646 508976026 323647178 56718130 119530350 437645870 462564452 144509676 304048700 535979998 407076612 858577044 834032912 374175982 662543482 446457768 881320896 308321392 108618518 736357870 794969258 49100876 717701786 515107636 468005892 805115612 98847056 217956352 431618400 387913240 979133522 995497128 444166642 644752732 582512016 484359130 602485714 367844056 174331318 584452324 645530938 922280310 599799332 690667580 307655554 598801328 25074332 915924830 183414658 998846180 926972032 612892976 278457208 101863604 273770038 117790632 535828760 902360102 453204728 245688558 490936480 842540756 426983624 883752404 667323706 950477928 709209750 636637016 410347442 18208526 814350312 388801330 890004858 383170802 875629848 817497728 653688970 909461154 81037224 245066124 242346488 24809150 120112166 405107984 648543664 1431092 429603708 716578420 2626620 506346626 953141550 357134194 129757242 288807166 125532320 451476168 529644398 426959018 773793896 714138648 202926122 761479278 95947230 623156272 181543134 702835396 255858644 166927570 245954532 297285788 30679692 227908154 847575256 307066020 585863750 367340002 441935690 377461044 832177364 84760934 336787774 319838868 959296154 144230796 463930948 135357498 488108290 619259190 108408214 259160532 2866484 560955016 828794526 260078458 715813040 642716726 241005714 702978590 4973282 352283900 289366102 112791808 57276422 471038554 930452056 684879738 700576142 190685238 988529308 798952842 738373736 765925676 753211476 376313534 359800028 598683100 640855856 913631800 831364140 589616560 910853774 198603332 666498416 702603896 44527412 374104878 271134882 724275066 330216492 909873370 106596366 260255576 257729712 313624136 871083502 825154826 201359192 24879854 573449288 263585922 357501478 40730492 5892054 266330706 720571596 370136300 192342346 547043532 695010566 967456388 453400374 645942142 663726550 232704150 644862444 524057486 507776458 449173426 848106268 281455892 663562442 330574240 597495358 686615730 293872956 536752212 652482190 884952516 988334804 499599176 46098546 410238082 230603998 824142450 866616860 753402846 193890478 734654410 654413018 851543988 72187714 931961406 967847412 431961808 797738364 817974676 696643762 325228930 634114956 102003910 778846696 391012310 49966780 779884554 677229490 687368324 371380188 425114184 242747344 416215296 113054622 163378138 170524326 379009956 997455604 805386152 64632506 497964686 207570538 886604710 93752538 441663552 695564652 186423306 901939384 551160840 293994690 260191412 595949740 238134664 467707038 667887872 618225452 767128674 308946756 801581736 614530290 1838080 675064072 620910960 286718234 820846094 657377822 94806556 75259934 945046842 427214844 940999482 853235508 294574362 175858960 633275574 485539982 484291168 290410098 771822948 166691018 324193380 714614432 19673498 685702306 326155296 209083044 96161866 872206052 88189806 967372428 955798182 900722850 333248282 872001264 572300614 44170720 151527122 896208350 841304974 986823562 646449578 195689360 81589826 768751954 820078578 108576974 180166144 387985836 176450610 421579640 444363222 582308730 526498680 428553492 468754906 898423846 674514548 517625936 967951038 246546618 32151194 649043258 266435706 763604836 35353910 805874104 274744450 117964002 657747046 72687358 872758680 245066268 856210286 153495998 756037494 750539520 332694786 238559908 209078930 787904998 423817752 473953880 174315182 471357186 163274432 863774152 754233792 605622636 188775224 327006356 922019548 511239188 274822864 350640960 223564658 996570296 785520944 954428124 483308134 206439260 908251480 862015588 8535150 315977370 860565384 228378448 144621084 559525078 471298680 307371272 72200890 716229010 127184898 45213734 383863540 600788382 597500560 162791880 61105336 800884086 909545648 846904126 514980670 374001734 235485928 660083454 750788190 605905646 569446500 2918048 254480720 925667724 25293996 650812526 595053582 405613608 459214534 702013928 854574308 713878858 434556576 545928636 455671982 687972334 492593046 908714670 507020296 152410520 320453902 226400334 150713626 918587042 944392628 562771182 320171838 537962654 263692230 243016040 992331186 56531478 106478084 433472266 344897592 366510158 311837210 88800652 2787170 670337664 962677570 952119448 92738418 477828814 633690708 582915380 565019670 260865008 813045588 265979236 372482408 723890622 301281604 130375418 692375334 701030948 392140328 770608106 866766876 188933156 709762320 195166282 995422738 592907122 18661598 94080176 437195408 191419372 544777346 39095254 29570134 78507354 759750396 442182748 87933214 417938500 994017304 646956186 372109468 907136110 415027424 862959298 770098038 843289724 369202204 377644676 424229296 127036568 334340702 468936608 583211510 428300122 207780352 820098828 195110148 951717422 71732728 50915902 10451860 274589746 632814434 108136902 746597884 350931558 204977480 542470668 989638954 144161394 752724076 637334116 668672482 613826806 534319948 887248798 879592532 169592546 313225016 145862648 412781412 526833192 520145690 461758866 229491018 972930766 882186920 306451712 449243286 112500530 183953570 701391942 864127604 265704704 969234324 233878122 68227344 465185684 131322130 914355564 334141720 129078004 948924082 475366208 96435764 81549178 89203574 25372480 920708624 640951618 882860974 559238094 94952498 521399910 901843954 412835324 652049946 800697806 674548312 319269328 91471416 569600160 158749410 479376752 521561100 916800024 312838518 952756620 650668728 576409750 726898484 81469662 783003916 861380284 688378186 920494682 481486168 769721680 872236808 780804532 752571114 898860532 716619372 464976502 222243036 462234214 47856524 736011772 352154646 648763086 480164552 953303214 657129254 100357292 778729336 282118512 606804368 884854070 555834156 582275226 301574502 146415482 95604028 638620890 479909186 559996188 754444606 7430472 844158922 112891866 994389450 570843778 622700232 752362162 928194670 110714032 843223558 502016284 963255302 168863000 503772226 834513312 338743754 37269294 668502700 824430120 172031980 861592578 252576480 473175150 12464556 200315430 374564486 844826550 680011846 458750162 308498770 822823442 521709504 883996216 429032608 85921650 636087166 798966202 297337402 645996242 230302358 221140982 179808562 122239486 932481974 156759226 875118910 170461690 2827382 464450952 933085628 969621062 16230530 194545698 589077718 427439118 344432668 91260516 82035600 66499270 657603864 448007480 756061000 713968504 111002852 480830660 903333512 104345938 907962688 162238454 560020644 349745110 273105718 978294624 357798904 607387430 811583300 213877480 877208114 765525810 416124272 207202666 837784150 766797428 128322040 531668888 658203690 876603808 483824510 218464518 396531566 470559698 576295384 566287362 601090910 408021696 605303946 704511446 73060480 199150336 426489838 355285396 78951096 188138542 478298052 887644324 611641112 677677036 756857690 611636906 875806338 586743472 349826724 989727618 956271696 981063574 712406794 302790654 481553576 688212136 823585824 188231198 431443492 669046972 298922538 7840290 436899120 888982558 722613134 319891784 958983542 798912000 505897994 515892428 67873748 773973838 101464966 43366166 855342354 397730676 769038488 12170644 44642108 843932546 314855692 627462738 314618116 580944084 715022774 400704702 485676742 117458922 324773374 627597768 133935200 579528588 873421674 798366758 659936354 379808734 422264868 388889346 633080532 996584676 185551894 178827050 991138634 965544104 37591444 527483106 415512910 170838430 891563384 445930830 52570220 97567088 536163496 258537876 939671234 749606094 667218292 106020998 677287510 248261920 763911184 78329082 402684556 469023510 71710064 210283560 666426970 830803006 855957858 497091452 636710266 568388330 838484112 495703670 218028962 65209330 552260852 503916954 367626328 603855900 618662836 927596596 550489640 713421984 73423390 983925744 209869948 705336538 662584132 496077088 228723152 262932366 156205924 341938276 885921376 964442900 667565974 877673684 810024362 599016188 261727826 400988338 374220688 161692080 361080194 603329220 530389176 976151726 876623682 418101480 34407066 394259942 560574432 642123450 253103224 731606322 832283262 221890754 138572560 61762388 396759294 75847598 30460968 775455540 855797006 480887484 430332042 923196620 773888378 77551690 179732526 662663644 445354784 879369966 842314296 713228696 158913446 483558780 180465882 934001868 907927440 841180360 964716902 519343934 540439072 891814536 983007126 535934294 446212454 327897166 154593122 358574244 741950358 914978998 348655042 171730060 354180334 45390694 655453832 950478552 910038676 506826962 412549262 572404744 797325436 538676724 714558006 722161516 599389314 411127242 185903628 950669758 990907226 943590806 210392988 875513458 494170164 938101524 408182038 905192466 509305068 863873938 8227454 176080496 731651612 259041272 244236354 830870046 415315412 988846528 865336594 317835354 718496690 594822134 835584852 47249614 550596920 938366746 932559744 958052570 387987740 345976046 793192548 475986162 699311690 525683350 708647018 895110854 214163986 406643512 456561550 127433114 82918416 755365848 685790380 773721364 34197310 940533182 769743966 642948950 418115424 592366188 4427310 276736790 483948160 194468434 256953452 458893628 238293684 933509560 193991084 788715122 564973832 517179708 573137094 91387702 341229134 616389062 526140236 372132722 604448648 622847268 301283442 608413020 448426142 253751554 374615310 349051314 279656348 152439274 747892844 182339466 728303126 608037692 551667874 191870758 821365586 738800624 581118590 133682618 164103528 596438448 92018062 346209432 953718976 986495208 901867552 961019858 918117990 378755750 927512446 381913340 224867414 828450350 76022970 159203428 681747512 858739868 561919326 18427644 528925874 30457792 907337562 130772106 496834602 891606224 877798490 848160992 802594220 191507650 922572038 540954300 636330938 978056040 41964364 743300858 63310224 521458224 797537460 260368870 542271054 329218890 742446674 674441044 756765980 1279444 318271788 891704572 15692988 662078082 173119368 659374894 449331900 895596596 525145240 968530984 856928550 568074132 336888556 742179504 650985510 518807698 600575566 292144614 659842704 652184364 826348882 105454714 52049348 268816928 287262784 738759154 108770208 958156026 54801912 552361268 770819356 10766000 559587642 243296386 730457606 307540690 113525798 294786232 895701276 369456136 327904416 379948502 936632332 335311932 287747362 474348280 387932918 813315466 618546924 656104522 538506274 275249418 874734718 565744754 777168384 877482242 191127670 871920748 695386764 813062856 370150694 139793246 151038770 36285752 19311240 677013890 430198640 321261748 990040558 711644272 756892994 44454612 197074 231676864 510274940 736864830 484125938 187457854 44777268 105997828 279989266 909298214 738358012 665780212 519013094 299212732 89491974 983445848 68317714 249076178 315532274 869253592 903493050 358622260 851858000 139292364 690065314 747878288 672663688 231934982 440218474 746349330 762607678 2623748 371273238 318263370 655753260 117149774 332876552 698003732 125014692 7312986 496654488 25946528 395356330 613947374 330715866 743514406 220555584 277944826 60099242 80787660 81410076 476942168 404619520 48116248 602392702 659905144 24918886 719982324 379769248 940732556 439441344 399273556 439803298 71309902 212692686 515832490 837802236 514865686 139142344 666973870 823338540 988789020 906545374 892714206 722616244 169506548 832233136 602609986 967967384 808051790 351856 899330174 490021132 521404286 299302884 24892016 589353992 413834332 797148804 895780622 407671348 687575698 877739292 718670354 755105376 962573554 49791202 593458032 701376004 135462434 292438080 856268694 491722040 699281634 296151274 775209772 49123592 652958018 906204516 495039414 716235422 904556736 39633568 727042022 515746864 71971596 663277356 287715814 387045302 286401912 820167090 857966686 82427730 116684564 452440846 608181750 711213528 112272426 218677542 941309906 402678118 918159632 158653972 858754080 790569352 80059432 312843506 424882320 952415132 127817990 612433234 696747516 836855724 440876802 419820660 460733794 4145438 81488210 547758198 645652378 789476082 422914282 158374332 735601788 915080658 709793824 633307848 835831408 147429082 453169898 826315854 770339880 959714222 43272646 29387634 639663156 902850278 181082902 108660650 111610228 203191480 574083540 40105872 857250134 110558304 706152490 260478152 278881670 553996262 544243410 10884408 865985926 62562148 636261246 691063566 866797894 862764666 233192786 921476590 657204130 377741998 607203968 134498024 631983972 655401024 720780992 419554640 56110950 770435288 330875322 113771430 138298662 913467120 441499972 672960688 134960784 81526968 933940026 79457730 855397686 391146476 24205528 618064950 834840296 903416956 156554172 915572994 481464558 947594104 366280104 875660224 6672786 322521776 630020504 142623748 841491758 535225130 88061894 264480538 521485848 633111632 369419734 147788896 623614264 963327486 753040968 912438042 485727502 130647412 622323978 870531874 549418892 156454150 431464416 581211924 32075314 195208626 839197924 888492172 969396382 138374592 207577428 373454580 372525782 576327606 909300654 976131556 793913798 983668608 417170640 557592000 787923480 310786686 427622294 109559360 251237482 618701844 883913452 254332926 403564044 628106008 310953592 591228724 783476906 90827004 712770648 495835578 426853730 128172596 624775388 39555258 894183194 388202556 399117438 131279932 137394104 401410444 659440084 28544390 593239878 469627888 749614894 389391418 398065892 558176162 678065110 272804434 497519682 629051034 105772256 950134210 384597304 359823724 418427326 411688836 944117374 316904970 634530620 52648186 66025990 320759696 808770816 334396800 175529586 930700716 288188980 127408216 71888544 124592478 370224564 573544144 320424168 773841416 173619870 164342140 498204538 272834762 971551364 98899626 512642434 301074056 91754464 150914122 147848680 353079546 620004342 20266138 612963376 841864994 887869790 559932834 908629674 432294224 527935560 658721764 199944270 646686948 86582128 591527660 284619198 124216592 753254982 759911138 346559376 969547320 233165092 637478358 825188460 527056926 228390450 988450066 973066268 666964534 92309068 254797342 426156870 592698036 814802024 927170306 498004000 931110940 86354026 523240332 598602150 9567536 527354740 616864222 252913650 224314890 771468024 83501480 108334196 656749074 785016208 320377842 752195974 399473118 790725550 98527280 563341614 765166964 213131920 87516494 557083226 231141954 271102636 465374534 423708038 556919116 167614806 673872466 633988630 413937254 669431822 674602576 592637630 53627840 550617726 63063522 842223464 736281136 477204834 890633200 826295644 67372634 251883278 467695172 349252692 252980596 866031690 309645866 745895098 743412468 140576882 710121642 20909172 171271180 242952092 31964926 563184244 900822550 631189260 785655692 114188468 52760206 216119758 56396148 205360312 605508500 508303634 110561306 455013760 732075010 161562744 47451840 600098742 982880154 413793970 934649530 529475030 999573152 53888136 224691992 19897148 270736800 823626356 397008152 860658166 615954780 802231880 263963516 180042412 564568464 827831554 987573326 451002192 517618282 661730900 776585170 140684 639409254 313074216 362112778 16611468 692196102 453463590 33158188 985509374 105649712 661233384 475533620 462340258 945798900 601776426 495144004 972888690 254369026 362382680 11169598 973910758 889526896 83504452 852099716 506411540 487490932 722976608 150446880 636202866 123788434 578797192 904069118 687162512 754121020 41606748 568575802 911128562 844339576 490428538 287243306 24682546 38153316 488004800 581282072 447682618 980534174 27200816 31254462 253093152 837285816 829240832 274564612 288925264 158130566 101411618 545381890 256071198 685669380 980563850 305203314 940768080 209799252 556103192 631626352 994873288 859856698 337869722 940418226 690148670 856456448 952739520 167800096 5572100 87672462 516599254 869547834 543321556 886220544 585698546 295337402 850223692 702572714 910027580 116179836 145369728 141456544 919951606 130181418 333794276 599731132 162838080 573403022 856325124 638298408 510277570 778760436 473365972 141552552 594713586 16845314 727034152 527855284 139729662 256603460 525573994 262029518 4021442 284075898 988255654 165144390 879539070 483525798 55461634 347702 349666118 138175308 39699526 46480320 493135348 128929038 324130224 113449284 717340198 225351456 335715640 601695126 841183300 959102326 126986676 894899082 584977904 128601128 675758712 118649340 508695344 720934658 476673556 631474810 948155360 412700926 579852920 164252080 540460582 417640020 941790772 365046724 385454774 661672484 753941324 373302236 353629382 553461404 218311694 626990790 168061512 358679128 857430436 182001144 798294754 28471072 967862424 483089822 582014614 525867302 350951998 729082056 487643456 818188520 484297102 459928956 793117282 793927504 619088480 191183190 805606162 860946202 508303666 936448552 146279426 455858862 386052482 629428854 444765572 33440662 988221758 341151486 126280212 364153936 490763584 47172692 173330856 973533634 358755188 10546872 420518422 593304360 601256244 337126620 534153268 992644602 309077200 444464232 79687700 513670146 880034166 952371870 654100046 107165830 963102850 383512934 285419262 419578924 680326018 510821436 704071458 703701914 587855012 756139486 253884202 659046770 738697626 287015944 682102100 421517026 474582298 430963738 252852960 587542930 544650664 954751836 546704850 671338062 667194530 673230308 992546866 193775486 793938982 22265902 749274812 866510888 911381466 421238746 845194122 392018758 51197410 455965934 169250486 801711720 599363530 641940074 473734654 490930478 96213094 885885430 496932336 787639440 276885472 299933008 743882112 73774686 290514030 18123564 362181512 788460084 649707038 294658846 157812924 985451698 578930044 851704806 375720592 352620718 390564422 568865016 810284240 110361474 420494140 936805900 219537788 355388504 842016478 622867024 581896950 80840118 985764990 113667066 790811116 639810202 378864014 367811214 474110342 441693934 133268678 730292430 700253244 447811782 558361706 841680280 258168250 854367700 469961344 294018498 403264064 144167456 216506432 585733026 963730990 439183784 131358068 337109944 589673096 120641642 369337930 49054330 975860108 659632806 159568848 930001778 647117794 122709326 603225834 233473354 746200426 142561514 77009976 596407446 528972206 311109738 684391414 727611826 249109558 143775390 609671962 389761818 149844948 561546538 345024606 799764068 201413886 703319792 636294884 780647582 409635502 301954948 139133956 322236206 733712682 795475830 25484758 625706510 70718842 247730794 675997994 906508650 324006468 812644876 505012622 610380276 601455474 126438988 146691412 177872740 454708386 949564678 284887428 502405634 687085604 320037770 290759188 225263516 975621246 476523066 88892958 178685408 867524490 687358858 554696760 743393064 94602114 212844820 643696694 90902960 454863484 455250958 341549276 428212008 67868980 915888706 380062634 985437980 970680632 432522666 534521280 272032594 73030882 644340806 839229742 250177550 979815946 948176202 378821724 864917372 267352644 574249820 674499058 498897426 240648142 798737150 946315980 910610266 991750384 324268312 328661024 116357976 359720144 474848586 894095386 93699160 745726650 476947470 819278402 334234682 968996982 885553956 653674096 318355014 673317108 401095520 681787266 505658090 992115984 243480112 527852884 215909946 777941586 414691734 633754398 29681432 132868842 7141290 147339844 536054978 719335198 277157404 115408678 530289296 288370358 764583614 711433490 785822396 940871926 675893766 235469170 960763756 740485016 445609898 634029382 540566162 466746008 971910264 232487796 733228166 741072804 489200850 446885028 938211438 936214996 257225218 575706470 241368660 740346316 628311532 942923394 631202640 9571930 441775970 622358934 1778668 945979350 327442846 920448334 317597468 974457216 26173300 122494408 323357330 742511402 4248238 875249320 307970228 270559670 880464086 79968578 905575240 464474538 63438842 139657658 801430120 892682804 252251996 527826272 787580910 80236772 912907666 279798616 883079326 745463114 933932586 190646256 956027974 462806330 334946588 360570018 441821830 561302496 142629834 832425196 657761752 359084524 629894750 687386762 187925016 450342902 810329272 792948456 345307462 974748314 465283700 198259174 192888560 862590090 804148044 376297730 197311524 793678878 558648122 838012296 558651882 237407458 192906600 216556908 537983740 78910376 746161242 882989062 656258598 280655748 974245780 315035316 472900158 189777168 419083680 920617336 101784728 984530670 317429064 606965010 803765170 778691980 623165306 162430134 779493990 975094490 364968284 935692756 172275532 889670868 582322916 130811726 971026112 361484644 980002300 784011210 582378864 527372104 617435804 283445068 70336562 593519754 890225200 326779810 586378038 404310748 222479168 781258018 502459166 242288382 351750270 921876568 616505180 622021790 993656610 598478772 864520496 480223464 948689572 82213880 724497024 223759058 744070884 262804400 631596988 551082556 579172694 541066478 561887202 356896436 995968904 145508096 897047946 103458146 750429062 315298268 949315112 880183928 449663448 16576824 689983938 107576788 465634310 486526608 915529254 457810060 334675734 607784362 849952316 28358876 841241440 744467210 569854542 950067338 594803184 753779246 334756598 237457016 74316036 992318672 728387942 457952482 865348224 86653524 552209286 529563920 239218300 108443576 740824438 989074022 714162230 186745068 83764902 287409410 929883076 551977274 920863260 359417874 211989448 797922256 566784826 231890098 198423054 582865332 90257872 175396274 49680634 752800022 204931784 973265962 102299272 921565612 683817872 49483640 736258666 790059220 181216222 754633192 856986950 553119096 813448004 868466558 427694546 807966670 327610038 804302452 218114462 922172850 350218762 877246328 312293668 344150896 559863322 280591272 657060786 302603774 223026758 113165566 334570108 111880540 543959366 276641974 51352482 677656008 128934246 172284406 855564936 510035662 777962214 704032426 668529284 13697684 730756260 609475484 460668068 267056690 864248824 26373798 283079590 129509014 116178900 767341364 205852840 344121032 411631394 485710526 58008796 278278296 275961560 454582868 237318370 501788866 536533170 212754092 408485582 884228412 607483646 691180392 241942164 61558786 845594262 281893804 555438210 186269408 74594890 988594336 731970300 536941340 867631450 65107684 817374774 283291358 547344184 957737454 45800046 910031842 625550892 967425996 267844932 233152408 654416622 893065234 931218806 726659254 783709114 549656518 348290314 412274068 480702380 325648114 357715506 49635638 918944396 168986388 295635682 243874762 609861896 197488806 351608030 457527570 793018476 169650794 367453444 741137956 478019908 448285088 144354566 718679316 965320220 497605988 932540412 521600104 55767206 488855296 651820592 471411318 374643286 39085542 718253808 751889212 651827498 759201502 512875776 633099712 898310024 482263082 473596568 221029150 416343808 809402730 855802696 534293128 642537298 694853698 986839582 512515466 644772482 142993542 838615240 664971802 734983732 283460256 667540750 547508102 549668682 362571412 237507586 379613194 810504572 669087410 64107166 603347688 597476752 597932960 648897442 95567206 911966020 476536538 897865686 924301256 711318230 712665640 48864926 776327662 469403516 517318744 282248822 234510580 431848336 666768334 284139714 58792590 864108082 948488998 467166922 90492914 213257978 72658334 850081836 796442052 328160716 14800068 882870122 987987966 995964362 692532158 459823958 434405732 450418012 173357006 136073310 832015502 915593154 259332662 668013122 462159716 889143482 621951264 799070790 542603048 223955928 399375018 112293414 285068058 64901984 537683742 212754332 550986472 628030766 988785328 723786866 68096860 916682224 100673478 371551220 692179612 587458332 500339850 726433944 990664114 33575330 3130768 592371602 871413426 708670382 540866620 911961822 626705970 184490820 283352636 10610626 24685350 316083922 958919388 653552034 542602614 68686616 913000374 741973402 2482702 857217456 717843068 265287444 499485132 559448416 473092920 248375272 729302168 100383228 209933594 20708522 121131116 167499760 684435954 137135376 776383794 643039068 863169364 598895698 807440394 244238242 656830140 188393374 793456720 794566390 233446588 369113010 771294016 607604826 308908224 155347514 478303524 806565526 20824104 247615280 759332214 616942376 533732202 652777598 829579914 774174794 96628936 697822938 898833968 428196516 142205448 447357752 509344198 486414882 538025770 289451162 921751034 598149272 224843236 369069762 227810528 745571946 603556022 659673936 932940636 273789220 973529188 407617368 214455174 962872746 192951448 452121164 819720204 819002988 631834792 635468224 921718600 177892268 265574894 927589270 72172854 725409768 406700526 631892274 496565456 573074304 164889878 196930326 826687332 156283014 866553572 332511062 205147726 278545690 193456106 520687610 778245424 621967036 923713862 337610514 361929526 149364990 502602844 48842496 767387896 472209340 80092918 439916338 526544954 261840128 978680000 335356182 350895374 283352542 832458694 576307226 404749048 139541178 874074666 751017114 397937940 340101104 16611592 976415550 785884644 504188970 128436212 982755436 906073572 664431166 208878370 189620914 415982234 139145846 88711252 733704784 28251508 87935650 549203626 343506352 126665030 235153924 187169442 643044070 742533354 68901544 733724136 368600664 484141982 144959926 102277550 477322100 504102070 984097828 293972038 706833464 849279226 51640688 522962172 288926246 148966234 221405074 955834108 250776960 667568784 661012386 726664470 843835982 46797642 175211624 912525234 368745600 314437614 47145272 950518442 58096872 241890106 559694770 496189020 372178208 505325610 907547002 934059362 183796298 640744908 342407420 9678462 207368924 630832674 197751122 207187150 573932438 11794468 1489766 930711604 341751938 329763758 560575064 359414588 464098876 335777404 434866242 711202132 990419480 795341530 938496240 861802888 331135192 981055376 409075130 50118624 346615234 827776036 212039862 855618050 649666256 121489164 742090150 703087460 821058320 79957244 899441184 127477216 686209028 473890968 88123600 603448102 679869554 765553332 374256284 847907680 792259430 968593594 370154200 117039024 941484388 128248356 621839452 885344658 203881652 131524912 157308472 194724924 130227112 611207384 904468020 872624102 362196038 152804966 377107356 167509018 326124852 651419836 484335714 943693166 591065318 447361852 265695350 617704072 435611274 132110398 585095544 81387326 662137190 256464356 884412464 945879946 569130986 906294234 848422392 426782484 793789380 240637234 773537560 654673720 859704558 954117002 194941174 489731764 876552982 194230132 301688128 389943546 723463640 244297828 225095070 150973732 238572228 86062960 104585190 765394966 516819752 899850704 310236404 773692614 656825644 291408052 332421220 793799138 658241022 887560148 919850780 166258618 61625198 857628736 272898812 945444 321520594 330866258 285183330 409702490 107647266 787493950 809780278 416510834 16854932 807000818 100033220 657359554 539104710 351118178 100855928 930418500 695482926 102112534 969161704 979168394 449608712 107645028 624905008 938501664 142730394 616678236 465291230 299712332 417647710 220578392 736432494 110855056 579266576 17885408 243691642 482247058 47371404 999827468 290228208 42333078 186871040 475753530 351979426 697132008 862844060 916382964 769940568 530131372 279959076 183282152 670999576 816884526 934744998 104270744 158997990 817688822 779805848 972130064 611040052 328292264 581692006 18557706 116715262 312556418 880136744 63225504 23678102 486239042 970671892 834375324 408790754 159107970 183721838 133749256 214039288 974526046 227952626 435875646 85004498 127913256 7106086 487316230 557877252 429374586 162777544 849283786 517138344 90670176 405374358 114828322 101994430 25095442 134562142 971368912 185691596 992168346 328132564 412582296 355792254 45793860 696855020 783390448 676243326 563793474 72384346 814685958 295139828 997874934 896855306 721117514 307089856 359465562 78703596 698166618 567435432 520433290 236663240 335224276 739708078 186713734 654168120 660206712 100742254 343381376 893293776 749228418 462712042 426502794 759878132 714448836 401865790 535471890 725673704 771116994 943681960 904762092 661251128 626116816 531528056 85134264 890805692 642273066 778757502 372058836 125661018 554040268 964697888 333513048 110987710 759356114 80807004 961051252 811641158 475507596 690523538 328525476 368445382 881574306 476234800 87915970 23229084 303221154 167585086 899578326 173751904 58076910 91521130 983641046 436721556 977575754 526447754 772783328 169549562 829627824 465061700 601631410 569321094 77285674 545320334 709471190 214124218 761741518 439009958 791482654 514436482 808097546 270807482 569715494 143819524 78168590 878285790 301625974 874839784 292010544 610075518 921563398 952351834 295931248 557560872 168995452 977123956 655222052 484074156 336527108 433550686 579187244 494660152 361236906 28496382 821707846 314566178 325831812 315339378 622041270 571168434 482141372 185664672 885321878 498894414 2604486 791781720 953576866 749934576 431762176 651273734 443770864 864152172 821772606 596591864 756064198 405380892 217534372 512098512 477595154 643292022 336292520 594918002 429070912 5741526 468942776 483339700 606621442 736423688 570205118 309257398 311167406 887364888 943480762 165094280 843293148 42866606 779719200 963812030 497470666 132372448 69643932 708543138 812365036 692078714 351436392 899147406 941615942 60852052 834900140 906796170 644229792 538605692 362667912 428337346 817351410 704699366 959267460 842591990 321337256 9068972 312604314 293504120 670519600 452082082 861384632 791244598 320193068 718529362 884597252 233161212 467943824 713878570 393146568 573269476 247401316 356632268 793933150 564058258 594517092 851663344 632969292 262941940 439956990 633444222 393383528 537831940 590557668 922597948 781063734 982369168 38611650 691285458 857767062 732567548 58031108 774698738 482266216 218289852 865111194 685190292 214827814 51985322 50330610 93750916 14899506 162767436 848877942 459175888 17098520 399695000 145216190 968060892 245135520 30211350 690725706 613834498 278885714 14246744 229112692 143177092 901457350 221402638 44870556 921047316 627558992 745980218 136997598 624237050 789023272 951991702 204955422 347945568 382610594 486211422 206747772 578572888 115914728 912359728 606020332 411304614 733259708 569053538 59794756 184024892 972418372 96261256 448246004 964826810 168802186 99150062 194115538 706132166 931651650 416705698 510830438 379341620 988211542 149190068 925635888 683763454 246550652 328616808 85107852 992099736 995229652 536869278 146396878 200478156 701485588 412079030 307859428 279470558 137020748 6365084 129483418 149171894 471116942 841226734 860334734 150095634 760767444 364361682 996755562 137685826 120981782 467389240 589613140 864031556 525024782 983263450 579360150 464009292 734080788 568725174 821317070 218507040 644128172 445233820 528000198 439244572 340219826 698382076 394701168 30891436 288286472 287994404 670670794 259131854 115988260 455583346 405906896 315542760 744451926 944037280 626090476 985774970 785286194 908255412 479868354 517221778 38192470 492010638 652972932 166215964 517017722 852574938 467329400 36018848 816997248 483195756 478357286 373975976 170084356 175833394 796626086 603913176 881370782 981158954 501133442 434323958 380896674 354653226 780791236 115712254 839849088 834508312 123211218 198584736 193754350 700689052 839852560 376785860 830880822 816088112 863283524 898030508 496751708 253015042 557390908 492164138 906508514 622601134 977014772 146424796 301545596 992493368 47918026 171482346 150064404 955561660 604895732 937642018 835701190 340443876 612771804 573417058 442925584 214228304 236851472 604455668 78294282 613619068 701351390 956917474 878370204 913244496 164877162 815093130 375738416 328745852 953726646 118782756 605131014 512043790 354873130 884842362 823885008 84007672 708945730 733552508 796954522 981964040 733251432 762822750 783582218 7507684 575818974 519934310 447088130 965162336 988905984 593276586 564154638 200831708 350703534 911636242 587266758 318219738 109220596 18874724 622331764 923210918 277850432 838770346 34175576 332626736 216099426 368922544 745582384 875970704 90184016 884723352 400565276 153703412 216729738 671586810 939913320 887216836 106911740 331642284 550847060 459678302 375908380 822129282 381205238 175379324 354701468 310386070 506616430 676771400 900773458 448410384 321992986 84832970 393846986 317610334 914968132 664870182 513834212 791346720 224274938 501331626 450451794 564764468 691039844 285738966 6851358 529315416 402802738 51055936 399956996 28625118 577210460 167704314 285641328 988688706 415162830 972369586 663164974 104107892 889683530 817350032 5947858 196848904 877070246 705694284 740808566 361180312 472156576 634226574 162422058 30225912 586042692 969702754 506207000 953432018 102293150 855534830 420203698 809136350 647929230 875500638 694982562 96493728 268221256 987102324 821312048 238780668 769671540 974174162 834368930 729907342 25668466 958150084 781590456 832909504 750217262 294666546 68649020 412296206 817516362 25748674 220908890 357954096 632218206 340991256 896931786 122119398 562871892 689765844 669164456 315914176 251323550 66116186 995408046 615659642 12052046 947604730 996612878 126203838 120095550 665517214 543223558 399622984 373857012 965207120 38073778 645352582 440821326 120841836 684772482 781483936 425628096 258381932 342967200 536145820 737574050 964692340 56530566 702936364 995415594 696756234 182535446 416365712 655788868 335158106 234832162 206145582 94059824 98359542 86377972 524454148 271432824 770864664 232237524 791771906 746137960 976066728 915538330 867657252 938668266 841650294 722942488 288535770 160309396 839713186 611395484 967317988 536528814 967391096 248991986 919755978 432398054 261337784 445948404 258299632 339188608 907814898 38077924 599687734 232687120 358389176 113199486 900416930 450456384 345767322 784097492 794541626 820548664 997962332 905011574 982049556 40451102 830619004 949216160 945027758 144887942 588023084 466583614 118896780 220861660 871451960 680723672 59860648 471230100 74067728 688205936 158849362 418561530 26492120 973163954 382925328 931483826 516114016 651194 440817562 359461358 997924102 959998938 688797160 433677096 755127666 25414948 283676660 193842524 798937024 971255842 209656462 578095010 672510720 674429250 488477616 26391244 599792462 911422564 535658158 50504398 727707922 180298906 407094664 46241044 527623802 152722260 143967594 918813092 455019576 51258094 727332418 295089626 629527248 512960186 105799152 32555976 152973660 849141480 728701366 283042470 541926232 961173274 212728720 966441656 802583002 546650818 711867982 127177508 37693128 587013378 887288812 345832700 842435794 154308246 685057614 977019312 251271322 555954302 667329102 848287116 19179120 273036614 689722914 79087240 711017200 632705854 958262978 925384450 849336436 534050654 55647868 3811706 179116130 794856430 250341144 999085782 737118202 169569210 22086750 345844164 583731492 655179796 519460054 221209256 583421410 150384618 852760292 433305480 622393458 518070412 626656996 299832492 171029998 493267148 83513368 58911270 291158924 412166712 430839960 266477258 148377444 625402442 911654676 874756896 229784012 934441124 193197756 556564748 2622458 655089864 199289572 580835514 178536974 859460194 83449882 386297276 176445966 889781910 358480234 389401942 194446184 934028076 18509080 447362928 935798380 524822866 371046266 681113480 568883790 289998420 661322438 401087702 732042822 910347642 515792728 579601128 719028848 625101356 987342080 2280450 667546498 648226842 856451610 9894356 643092578 191527614 766925090 573237890 263173522 51560146 71770382 64089652 252404532 587759960 204078950 53291986 901450144 231980008 67253182 140855320 102892954 771664806 801109778 754161562 623948330 588246940 408015996 651493608 834599486 632508728 84726606 351443312 209642276 685291428 330319412 267464788 113096524 558602088 967208352 45028486 809271004 919881448 239874796 239761430 413241946 948211508 980870944 794031246 542511872 437975362 239219802 696520266 556815852 268646024 483781172 848184706 697195162 697531960 94915710 782517122 15404654 71237788 88957050 990186638 75553442 694863594 407828120 615407048 947540706 678559078 679969610 945648258 876297950 939163356 733178702 301167530 580044020 318429006 295355974 201811396 827228274 687957680 167920936 935644624 889155728 556562582 433815860 994503892 388400838 571006114 263521974 861183552 228944872 85345872 229636162 660182732 657472440 285995806 431779610 769308448 514164188 907553178 815119408 446333422 676932642 455476090 806285060 802309002 691687944 607751422 951033292 378493976 611951930 726821946 713784622 918307222 760461500 28907560 349689984 61320370 45303674 962524678 321945414 327809632 849284152 312581350 632899636 326957340 298237372 549365446 777405682 906892884 79883840 525534100 657579052 685908104 776585092 188605824 157042772 77553990 771057544 140817884 621267306 428453930 704234378 242502932 969780568 976115246 252140416 227249386 376501926 182574566 671462764 21661518 474989964 229576352 351099892 352331198 493484982 629356782 566076080 648337498 589661188 977059850 859791004 622843902 665902018 300643756 578346418 543728740 501201418 185833412 863238524 736806292 794098142 887409580 697950384 363467304 802394824 539629854 692341864 829910844 114152772 172753864 640153510 723248030 900597422 519025144 782047836 646447226 452473958 690982840 483346574 639774816 88564582 598409530 28477854 914600096 553647836 202284714 901904138 795814610 162400554 604847284 24759970 365052778 305028252 328621770 378563574 807613932 342412878 472500990 843808968 602977796 118546808 347755674 382188030 230353466 128319108 731814972 5066216 287274258 560917066 385331994 516299338 376293030 30426570 771794598 748792244 74309262 579064964 86155798 424717214 728276216 501812252 695210214 895498538 257053402 698450994 475759738 768789022 355920226 265029052 710377224 861669348 161146686 534563618 189549214 220122440 49269408 706821860 725953008 852682644 597711448 956246944 998030206 244552258 362511802 469124352 708860496 692102630 333523900 534457320 785746530 111731230 617845864 922654450 208235894 490486876 880141636 216370932 32743828 551422790 398031862 350614390 458945686 437512378 335351276 358415836 835875304 358936136 221851392 744665044 736854048 147768656 650070762 332163508 805842312 778482202 148371184 4697988 13636164 288602516 822008658 53431056 781089470 88370630 252621092 666124540 153595360 932029172 358588372 894779206 832052334 303520286 230498570 140034422 510638384 482625492 801703210 436912290 396494192 764013408 622837686 352069036 267865262 991847522 903017858 970327112 183829212 770874500 371804700 347191532 476217284 26025762 956858870 40995584 831502844 960953428 215028198 15439772 776140412 361821320 932101434 561020412 833108956 730710016 617833780 58870456 753864386 199992684 927658892 466272578 153131696 568440732 700445116 227560512 583966136 855833594 305906522 830847420 22051916 250932530 147597054 979773440 70029140 461108306 583139704 746155512 416078066 13980900 603874882 879138560 711221564 708507456 240830708 576982142 231003216 679822358 834073042 741574068 853913238 916730930 650814076 651893558 842963954 277963750 729913528 477043262 828030758 887997950 889851252 382355548 350584614 499832318 561802986 461712440 151116592 638615216 781716664 170259900 533457086 655635900 306573262 655040300 801300072 101872844 621562330 790593564 354494738 570636402 61528336 456453308 924492470 840124582 166953322 930807472 854104930 454349030 429017994 16115608 483858644 535668826 722861592 613590820 227351590 621772882 339347350 367562386 407444682 830925848 768958046 20792432 615546742 580215536 626507264 589903106 707199574 866137914 94636790 491647270 320310014 259308612 50856250 120144950 651459474 499654244 17288966 946828608 717535526 286632100 156827662 777454802 494801698 234687504 728746182 610941010 727337362 812032346 831599378 375411890 707096750 499033256 162593088 21431466 511623988 517998358 831904054 380424378 665744598 405867992 127088096 150665542 837045376 222359628 261040972 352121746 981922898 22980978 259238660 677108126 107251932 675898022 956847238 82465342 327470212 763377630 774154052 473833832 194620722 537610726 675326192 934192630 477298258 514273502 644665628 922719792 369287174 375925242 94393676 988832242 710604662 918430992 996864186 639775410 670947968 426655526 383367596 151761980 805146062 185473678 818717536 987984818 516522630 622201560 749223236 76494830 684753074 813783324 301056856 657622354 340885336 39940872 402964752 432925040 853379828 316758158 602600618 629890756 651324344 505322434 162964074 261450006 423380148 852277866 202780274 283351112 304806532 506842012 14460142 831961022 420098764 617718490 763934366 399728792 852430008 482664354 575506462 754119822 984047810 749151270 847701298 980983838 223483270 715058316 994368834 247422898 320760312 503394670 660250836 523220230 187887160 868522140 896914014 724629736 790249320 985691368 133692088 701586814 344758854 266940684 465236640 535989518 887291342 476233854 515349418 954168378 353064052 158868020 190183122 929510706 260890558 436034106 67311008 541175864 298077310 726196642 390301796 299946562 486607488 826107496 670055246 697247180 204099736 177314064 215872576 163730304 944407626 134920494 737220540 110993086 569590104 239273438 162070618 520102842 53498048 142041378 330008954 895759870 737141552 810885020 686927554 220037148 276707116 190288306 422355564 486780348 93845596 903323210 855667754 99354956 290003966 889742872 623481994 827285922 194728032 401740524 933516968 879714050 748744208 980981288 261003728 712035942 396513800 769440744 655273222 51889518 539394004 939343134 412629942 547860998 550923030 588738082 326882126 941876310 957591940 164255152 34123690 937418322 224443578 502840650 771746722 333521858 538953044 51416808 136342190 411011364 921119584 943405042 9866960 636509832 428396772 992517534 954768606 820504626 307772468 388824218 893077154 558879760 707399004 698581604 924072276 678420510 491148540 916707824 542212278 997423066 944887652 904445030 585436648 991148782 438417008 675305414 941962296 670645152 804580508 524026588 453918132 799370566 921675808 697251084 698872830 516190876 969100224 910426990 519735390 242316154 79669828 917128776 164321914 492036870 629656646 571312218 285668672 880418340 784717672 309976156 950808248 959414004 652473782 383438622 740498194 62895426 869006628 479171204 296838822 733153358 94235388 552247178 381199510 519164054 872988816 29531476 831378918 291873128 844426786 984592232 268716884 415623638 255039748 21307046 352779866 996409542 597266524 433051928 55789928 678783854 55691670 227116718 366392752 451493046 378705742 910757008 440109488 413889272 667943180 109664766 414495344 197101886 508942944 20209420 305575514 837012400 709906164 295520862 611619702 831147346 278039750 467153464 5830050 561977274 363631854 890472232 357797750 329116894 766059860 599862542 512917192 134479576 981037886 35938390 267062410 364242418 548031444 585568794 148202438 505565334 42619790 570354772 234249350 862858754 661879570 226077602 287282414 112606674 953904618 960403348 790882866 319777350 981674114 943340638 907852960 471058918 940740756 261767508 934098682 655084390 633068628 818769196 442251378 993099820 317843296 166156700 954595548 424264062 917031572 14856512 780763564 601083984 512584650 617045838 603591902 813474384 15716232 275001420 934989522 165241906 929350138 767987046 766280318 682695978 202664106 947735938 423594232 985100320 663917698 205163286 18322366 199975672 646860216 935797504 959722144 181747904 333321432 158911288 760034394 853039072 338079966 544574130 472317156 483424718 747186368 666096180 770241792 439499020 893392658 632143944 426261974 583293194 817901134 778501696 526579762 99550948 659356906 69368368 254123110 259479970 264393254 228228716 891030610 541177840 296276900 919739036 704787980 862949520 110184310 685436410 759580456 721282856 524649386 975448770 908361906 396988116 8488460 203162636 282306494 630115572 462274972 675844960 440026254 568705418 853016662 631414498 108349476 546012566 369184540 833029428 719083856 190261758 269193508 227422226 999080852 534995788 34056698 999227372 806779470 78636122 34112900 11102438 473916078 796320346 124070182 217579572 804194394 43848050 574390654 573300536 524110646 238691568 753576452 177986230 170480374 176484522 856503806 322362466 403601036 686621902 842848928 565524986 355435624 95597750 383695638 391241982 612881054 395005188 782190850 344329054 112556422 999397424 293884236 781525490 924180420 326164420 221970774 194755194 755201574 310627372 414104270 869758910 458239600 359679906 433882872 570079100 818824884 373913492 939870472 700623074 366080080 104906270 456460076 500634492 628035326 796904380 380850242 579145714 203840796 809856560 540164532 469256762 466721254 15481172 610362536 103024752 916183028 788601884 603552114 108645140 428608508 28001354 209854682 138604402 100300420 695297642 791810184 610051600 278103740 308618794 917883114 844627796 226609732 954706736 426265500 640904192 328850470 554891088 115351908 362890006 454812004 10887754 578538138 32178064 945828746 951188614 973375100 708128374 765800468 850098524 878631882 130484966 7580186 923310890 374531266 390506118 666572154 174601326 952358338 268939754 530834008 747182620 799381204 680328446 969163952 942533568 92926518 419777892 763404292 707324118 371181154 243144790 145894648 383083406 474817268 979157264 735086658 533176592 668790438 46771320 951574894 172348592 964468554 671820216 34555294 976553152 985527980 851227860 645254066 184070884 38979520 443542994 17882636 926591328 334835874 312352428 647178080 461621826 186001326 620269730 663115038 932030520 702458402 543726486 246457464 631560588 210838770 771593436 469771986 435724324 629758480 864231358 936305958 581718180 577096648 19312076 90002864 800624078 478095838 403136194 397955634 526765554 800362040 784141942 222517998 459792646 360058230 879701814 877186060 718715038 307748350 863778348 42671798 468043938 68353634 942082644 267888620 565844876 76733762 317529976 568449216 777610638 246384556 285774300 811002786 998200436 314825916 944977944 907632588 734349772 445182574 570639480 983184724 852434844 974119624 209720716 368355982 312227718 157336180 171890378 429101508 30426152 857528726 781291568 628135660 229408516 294544072 986222756 197499020 820849620 373718200 578488900 824240602 123606442 46038934 377026104 419334760 432126268 355927030 25616942 542161438 64611584 385570718 790473302 762296256 877539738 700942992 165407946 685353492 503673334 178539010 738684594 651964086 722189724 739253206 863719756 558292098 201735242 705759144 258911840 959063432 880578708 57190632 943608890 770807490 948588860 628114398 658341336 290753208 395263686 767868278 439472310 934175790 932955668 333078574 837873998 409402194 324302196 677750812 539117902 693230476 158946694 647482 552692914 877798748 858534022 779523996 398445680 522998488 549453238 756366858 464878030 149290698 691315372 893362482 417767606 444843234 531243252 243368690 439437776 192571438 759339688 944135960 204076916 481410824 511849782 189590294 439038638 357108838 28747982 218655478 890416356 232808608 536722988 44399760 415099824 851820772 839758292 327291204 6371670 636343064 786628598 502707384 421689552 2531526 457493478 111002384 774170128 400962660 348192550 943408324 149436992 159865638 700194650 185347652 401128872 855560616 788303180 650833840 98717380 773663758 441115626 759205914 961554970 161863394 931040066 740359832 690333870 337916002 315948778 202955758 339042782 122662746 353254582 218209504 888190988 250238370 430296894 499092932 376180236 364894500 22484886 498017672 278997442 286397646 694493032 120602654 188015568 657231506 838996560 778253830 155501908 30444880 122212844 542144990 757137060 406120706 897549128 458101770 567373470 757290278 867329966 957945252 519498726 38408016 343241994 420801772 428202688 234873324 569529854 896269688 512142758 305250428 636726870 128024766 870566424 989170686 402226344 806451132 173983366 96657320 453690596 499254166 784828338 874446548 840312706 536176380 366362 229573576 102327720 884910432 412924698 366320398 260455168 229423614 27912810 223797880 291247718 968079156 195182690 310756410 657097746 722389090 986747930 364875916 740544736 648367896 699355926 819009980 580333832 64570602 90071024 501546574 68181322 181435570 646564988 275164910 510338532 448697338 269592374 941210206 166640202 488020776 387422940 327020726 261974722 298537890 826479750 467513232 282155326 861070646 201532860 440701562 171509760 983729322 571977594 268511958 269122158 667906396 344882610 220951788 526564904 701630728 541997758 684511512 740894490 369587018 692676118 15795938 874142056 742854760 178494656 468189638 160470968 540132734 816358502 282125068 629773382 966587746 596146520 923202796 946347984 872460916 929944226 182340856 690529356 887648286 427830842 763084462 750188452 239331798 790655622 41965154 918343156 98917822 662532796 341030884 248146292 99057980 639399138 724448676 395913968 409341278 979573110 134648514 650999872 996174562 876263066 181981142 321334000 850313018 179558192 399260100 972701840 457564474 942783706 850265420 693598192 396038682 675675926 750811518 360745242 475596634 296189524 861617726 546382436 2476390 537992008 260976 898432372 895709094 961330196 123168728 201233422 941770922 932848096 842375242 893860542 501253854 421968978 120497726 899398938 492718026 179307968 613024088 908519784 698511414 574435490 318605728 74370996 458495732 797224102 527871782 188840254 859745004 154809512 863994592 199419170 270851038 967813974 353013596 647346406 249495796 295710540 954038918 919786914 178460014 67468118 983617680 398887710 69987770 769374898 293946098 926755600 13638916 703741918 90148548 701099986 221774178 893873612 603978416 718911978 368339180 576266554 450566768 154199116 212433226 999575502 216326340 365065358 776622484 116794146 914907420 918421714 642994132 361755442 311292826 282243240 641999928 377093320 693836054 51390718 881821752 156414056 347355750 595541394 420095034 140619554 962869026 17619482 210244146 752283112 244582774 549190820 169097610 745408280 206752316 869164270 960080032 383582840 535301170 557369366 851874520 538204090 679227388 251104890 395463364 283944504 159714736 930209306 734223798 616360232 321682174 504584262 964818446 185739282 4830430 681294756 311641876 185806396 314294682 270940802 469958508 659864670 48130786 20282996 271395722 831609774 668422714 372321000 595542638 838126304 669205734 818141850 645663710 137217894 979603106 755306360 55568874 517903202 651283252 188515650 582039932 858368386 96276404 719573860 795637244 638877100 253638532 216034472 388155562 974308288 391199250 876334116 242649798 123209422 591255368 668032444 793641780 543565656 180706052 533502660 321475290 268672958 300332124 191622702 534629328 9703530 585696710 994028838 157582878 961060892 610808190 532997690 8754952 644330874 798807896 708878448 424057706 105334598 292003254 435758066 271352086 679240728 299404746 492010124 50923150 372903476 421280158 22869918 808435926 900718090 831066334 64065098 633994988 629441962 25205718 874715108 491203596 734718580 329132474 205357022 151350308 963716340 486283120 715967078 450475950 62520804 206168012 710124800 360618798 20397048 911210014 639942964 63169486 875424058 674600092 551906642 129315604 720560578 628290430 217033104 689810232 898793868 67368178 647337446 450278148 498975896 698220846 82060052 138941828 831811384 23774112 792584528 908635490 751471906 867285336 49665080 854770930 415777714 984100142 501940862 413482632 68497294 394850436 132492276 226260610 754227116 524830966 997866916 725407058 51771806 526953080 825722276 936195652 171872860 434023876 387537082 78445940 987281442 683091284 983638068 35548688 253043808 870104794 704321024 321924756 212655524 402565342 332206844 28888166 48506052 571567628 441555276 389651868 268975618 655263648 844487154 280564132 257236994 701791362 435123890 101156338 365372134 388798914 662836220 735023770 688594206 194516738 795792176 724557232 256615098 86601492 348294156 598395336 862044184 175977388 22908362 999288906 35189148 478658182 545558850 19050754 754826324 997095452 300640542 184365360 307370362 523187818 408549574 249886170 516840208 4178730 923452014 739910840 327457620 180922202 113773274 794340320 227802948 832893352 541331574 664114966 869358364 736086594 560241644 968833722 954605254 995649286 55358004 663658764 790587740 786381062 956893740 296370638 917349756 559423166 745740998 203573202 511293388 721896132 455203252 586302770 165303018 787174362 893808806 57988978 775794950 37397682 717951022 95922724 671243426 79799686 183465414 150477896 120287670 430747516 606855604 108936378 847621526 810946238 555476126 23098206 142906472 813022858 799003874 17341454 294725710 137001998 371549074 856845138 714775726 49641796 476698098 710842818 356640632 686402266 893618346 3414 230064278 616489880 333062596 705141804 77787108 765065208 970737260 579814358 333851858 734803072 650254306 108639158 445555506 363542370 593251436 751367732 274914246 143788532 654543984 931594096 614256086 223927564 970794958 938165236 227590436 910381606 666853518 791368328 349668044 27882494 230952330 684646616 301583520 813006818 349211358 567853672 915058488 402420554 169391964 853353750 453119480 632317884 291157094 240800666 478283194 408202752 408595256 42233428 921630346 52277846 853556908 791589680 738839022 566412348 201231794 906208006 782688268 606105386 35320804 160267690 874137746 378673386 198353754 684050006 912287562 620259950 576518786 85606616 435937852 509610552 597474574 476543410 100307510 491577126 750058300 720090774 787307932 67107204 903427028 344364422 585959644 104788650 272240304 417908592 842965280 496805414 592566094 100733780 398314000 821691258 486269184 908008084 75893704 92919806 723570568 814581692 520124676 166715348 97739962 919085578 46282056 958457048 255573130 513599400 946272976 114509896 841915422 328326796 997517054 357355338 208338660 867679584 12963732 766265526 158101634 977620410 417356618 962566392 454379656 35699314 380227724 642680608 384393998 844895064 606360644 496204324 472483680 823906320 383904004 488040248 440853248 604999460 506016716 207110060 560736610 576778970 860955064 755849568 446492730 747826702 807854382 676613392 819400252 774178690 964761616 89787052 696164026 466190984 429492248 768277866 306501324 760665364 216584238 533872738 975777290 511242946 655559924 898540406 236881358 776176072 946809414 949973886 811072050 894674576 292398348 5390378 635043168 291963848 561609124 126688886 641166858 22346004 693745984 262728434 212786686 280776330 291288114 829359038 693838468 270834126 100415732 488453056 308972678 182482454 293078596 604859874 396724448 5133480 68080024 57465980 298252520 793876118 903813878 127580562 63907432 761349506 371383310 646698556 921008322 290297388 848432736 617355266 554854622 269827228 939001352 765143104 729635388 73776632 529783950 546019784 888358316 328121222 701064348 143459348 586723294 220348014 473955366 7333776 456727924 727533042 592912592 642782374 324499680 162221756 218902270 728141678 189127850 38949530 578453834 11344166 307847846 923621884 858204274 316435828 334325352 779139732 737564018 476094420 184120308 931656990 754004554 764407666 201928286 783528178 92327210 3025506 403400538 579237926 758180652 900439790 875135352 734189044 784696716 168686824 573520866 95391100 918515232 689864488 584586678 179527456 231869554 827101342 71767380 650711182 23844496 225006142 813800826 497091658 492559900 64333852 960941958 762240466 794313902 252182996 130155012 526347358 181294018 498913990 687665846 837072844 467949840 979406478 864586224 469422642 310434534 915029038 434642784 336171594 178756784 150642416 184902170 414081838 94781560 806639342 859307076 127916350 608307482 479370202 439587236 311591560 253940574 337287200 833939736 510461292 477300842 748966326 222933552 829576680 801393788 918543736 601619984 16528706 582072170 193139604 924851520 804738940 346568804 196846388 384442664 933517170 750453156 92924056 193312620 615110350 100462316 55184234 645195110 588845680 989023646 545631360 520963152 942173154 230163926 187406968 699384868 333726116 455465388 467309922 916290364 856256392 776142102 377219954 707631636 731176562 414029934 779696346 470044738 934925052 751697612 230834870 341759616 418710942 941247854 496801396 114161080 400548454 432637512 922967668 231454212 353722332 450562000 302149490 634861674 38829076 670759842 424317030 682252400 463811204 196981038 663518642 120476326 595351246 860347300 605858188 341423512 123584178 197311008 358503724 41173490 703736042 878175982 549896486 233108916 93954864 867343882 890193564 938590246 645230898 220046862 724080826 88547400 792446312 506024140 337172996 407719482 90099492 534034320 74350834 965709410 259234036 898471092 695792942 737939560 300196414 126645196 725781020 454603474 375652930 745904166 233563892 657286052 59258476 288896894 592961800 121955838 623056470 119634700 210671398 773514404 565172542 765976062 170211200 218681610 682658060 157235424 919317596 751030292 296168354 558150940 576893156 480768994 229455844 428902674 766272412 861594862 176619608 722377388 773482892 939204440 115758322 888337562 93171060 109019042 357844560 233000210 207399190 563591624 352781610 919251214 943211100 853997710 505678278 887537808 473080752 589252734 310989274 913280088 453315748 621442120 448376870 538427434 142891830 920106342 514882480 404668372 630180872 579872272 566761136 328204742 892044802 836506570 920440320 674334300 201138424 461038012 685474782 494560668 857347164 600406386 26530828 46651964 663960762 488190230 79825516 550810494 947311388 430060404 43758764 478321686 448130728 710150460 666224854 672387678 365723548 271689270 674318166 409544736 932263172 657130628 878716654 599605534 708792992 808683314 603326078 420537326 618558838 733898728 284681702 732201926 220224922 478868212 403779114 352449894 700037786 944622610 965804614 793501212 531575068 851080896 70849560 50974554 40596906 494843142 231015914 293575876 318840310 912080342 544362648 59033404 907283714 793129822 465404400 721684188 518067062 380386660 887458970 958845380 401584368 899643190 511715486 492183836 99071612 399129972 495796062 511091976 910044184 175592528 615678144 544412344 652324568 889827902 923713106 746487088 996880832 240285756 138530926 347931584 559136732 275578348 134071464 321286682 481808426 807611038 959814678 804801124 156805936 993775190 249298892 984996764 430685464 625312314 99068414 129304540 574134462 519084164 421834394 729119100 552308392 81761674 468755378 565762392 867933238 622280852 646875634 591744342 36010508 455873244 527066484 881937792 689447486 313811470 800317180 302706324 636716646 64168304 469841198 601686824 726610422 872797008 860876368 633296718 847273238 371560570 864880354 80853014 265715980 452021750 35257670 891347184 639865234 715592376 617161150 678259300 931952832 344246604 921346906 10612734 327169790 337533772 45780510 677113368 945296612 92799998 903606946 538199990 678111790 622065642 608577718 49593898 596506754 82676434 999297748 522926246 861206856 96582244 574044460 936711286 200780288 843057718 580201758 97904424 813156406 798476532 957558926 503894234 505144100 870803558 5659670 207256236 984450298 794973136 480163786 14225604 522740132 517602710 79638964 105849346 196320452 945090428 31323950 415624348 296231796 144342932 699729624 764486698 722564810 743039660 842951782 311888162 464113914 129749172 749519736 942319368 690551782 296702668 431184344 478382612 973068516 388594020 694879102 811692468 838116352 634807316 436349676 417667086 169574012 357008862 250399810 430250522 321333142 959269240 676420530 910960410 983847576 562956724 995775330 653122776 623253592 11974248 46465256 162287514 676618546 712914146 486455544 927662476 12926440 234620382 962935994 574300042 941298668 492309076 638944600 923028284 119966610 601182852 536278488 524780814 570056338 115290704 295045796 294163614 326523620 26774396 335017982 855849652 132676090 615654314 151653452 410013904 418924970 564752964 420097432 229612762 624720010 46319036 410973892 301805732 669884514 823591048 911947296 951420212 497932414 273729734 132550532 891110740 969545806 927294400 400678128 161400342 460253030 425280488 468700962 312783812 454366394 992899298 642057694 478163678 551897442 641231360 527365944 294209202 756322168 606369624 105173288 723426208 424790890 81467916 969847890 673091254 326480362 421674454 172982608 695320768 640912412 123556980 166340852 32787324 354161230 577626132 149181310 191517052 859371970 205104772 834495700 912627822 526708660 901193644 880695694 60819354 891250748 656665552 201284210 350671468 773445342 161564046 665532010 219893236 457512340 352831304 165847824 865248766 28636500 787663106 129081822 796790510 452678412 634031082 867791964 365594660 456292716 825950480 389274872 866790822 974570396 994381844 355389386 5332074 546844250 917449106 354773870 358847272 512432164 690573822 199514298 552781266 608387998 983004762 623751264 120198098 365803442 747516914 628926658 524417630 237565454 161664574 803596650 140289296 420280270 32376644 607192952 718614206 48032802 686085338 605022540 836428674 609793558 759864174 692500030 576131570 752614034 854224798 993716682 527357342 114691476 329750428 407652676 72424686 757327918 26935252 668750696 169891826 820054340 96759038 88688998 741503432 439646352 242487376 534092836 103958960 835767730 15531064 88020496 86764684 757601030 112590482 282109144 55960926 329353426 762596920 430927862 541985998 429018198 7013546 961751172 580287628 627981934 276267726 280785582 885254454 730469722 240460946 810525956 849417190 652150476 877698472 224026994 312837566 957203230 222355020 898648924 274112700 761023682 663639764 792415770 531119434 691544154 385656460 8903680 84195582 603808106 782272336 998396714 399032082 645936482 104302652 627000768 92632426 522592748 720697640 647454300 461583640 265023606 541946086 850711454 794583458 662386088 833447052 425342936 360169110 795130400 375978308 720921758 319216510 577354036 845061450 806506168 754748460 798029638 741524262 388871238 101878924 392252518 857210718 606095820 381474606 28476144 428721962 126930950 606499442 196038272 74623006 411007962 507741632 485898530 678285540 673409260 707041158 990237256 6030862 714169950 343564360 572566442 639335684 702503690 493840232 779098340 689128810 83648268 779392218 716877338 544741922 275637004 98765470 908801528 635892374 401976040 179023580 411602174 471111584 422627042 848515836 59046944 335212470 489663692 826096516 21901766 753555866 566551750 397454522 200017766 678658276 573285446 887749120 866862916 845559718 759151360 32588812 729570072 405677822 684273602 108873568 232766384 324190910 900124408 425333596 404407690 724437068 212064580 91326586 189679328 876259368 72684246 436650314 82077912 427324270 3560 805973132 341842644 114862296 238759992 559881368 978043560 930706940 965204952 60061430 108307364 347491786 249630140 568285418 812040984 406716596 749961940 61503060 829273792 976011848 4652038 576342730 286530192 825503702 242015466 313588768 391908276 539797110 371159404 132476176 375049312 598750262 532927400 794707926 399599222 696661924 403665636 67477462 797482710 536217476 195058644 345993968 522673194 339336486 160648836 661997576 613310684 720347950 301968610 850400860 543500190 935725792 825643524 207399976 736553308 747783110 693340644 340859190 88747194 918135112 822790078 567651274 650764894 900508532 755861724 861027504 261485696 463782228 235409852 494344486 332632022 470334258 534489700 482224354 199259302 382437126 267813296 819801478 298334526 428402346 888906340 411151412 949831648 218854608 696763376 56706136 263366510 510040732 241316888 981774262 818439776 684623884 875339570 242139128 964269720 430793354 543700364 235504356 705450768 172362262 220696314 545235314 601723240 637160416 479126306 324367098 257083506 102138490 993585752 858408816 546033138 356424926 404930446 26191662 240302910 818779760 73307256 378240340 250798102 911968848 993391466 624655272 552702330 495422396 335842490 528847296 735542284 400743762 866579086 83165900 648917994 231583138 914471100 575037288 745396760 49223250 376938672 443255106 548725072 237700070 125409962 672077070 965600704 129818220 189166426 301665836 173502220 883457580 874472508 482015838 743756206 282949484 265176058 461790140 180131358 288286040 740846628 807943380 596640684 1091178 617957384 937397610 166696122 56908534 191300552 623882026 820509902 408223078 102329028 190124740 561464954 470481846 66172064 32147510 413804724 784927078 982083986 499966074 319333830 562929864 104235690 958820254 223493884 649393852 468867612 663523610 669323744 945416280 595154008 76897932 98430642 597741000 679897610 566653360 883962400 120330960 744373794 366351934 107477772 225525132 449833816 672293590 936800440 993807328 811097028 152334450 992582316 263821922 684844062 895983470 483785104 981782680 31317740 367577528 540856258 106202948 103968524 503665858 343839976 429943268 919567286 722697324 375497754 457595952 332434802 785660840 439095346 503139322 404771440 308895346 719753644 973185162 810578388 605713262 7388304 514465944 299176648 889682072 616194018 264226408 653659458 824666930 745244646 62811222 408642696 758175170 108163644 105002688 891373584 886768498 12561252 490455890 46802330 509188970 563705818 779738372 926354304 102676292 264971638 154609570 388520134 320321070 391220016 853349480 407861784 2987462 114938430 482495486 60996648 704449152 747954794 74381290 491904940 296045544 809284618 506031210 980278238 113160116 683258568 667487068 246818246 670966306 93358642 538713046 42057056 930582238 133945806 325058316 698168336 866582590 433289116 43353440 433627336 912303556 976368516 135702394 122811524 302573174 90277400 869040940 600833782 817291534 805082484 453641186 184266510 266430994 856463072 827070004 459373754 221657846 903563436 138504330 140411120 613965172 947165176 207067552 485548046 413519920 526514382 482292872 653431944 650600790 210126176 845732326 51594536 498000896 476533688 981651836 181714162 61257440 16164534 16740656 939370402 671219588 518126524 269905340 588670526 417839220 8500702 939488590 445479478 574907964 857495290 125429584 535225206 689331222 736591800 792266268 823094592 905233962 605758576 169530824 313828726 307380884 968155588 998916828 54859572 264859280 776821700 470584606 130870192 576513928 915799850 360705604 688744754 211770332 59751900 347451322 50483160 650742440 66782704 756626088 698477602 479026068 482428576 834632974 795084632 433897590 623904580 387338692 21477730 441908000 156265466 409190504 705599346 162103586 329773818 294615380 20942134 913281190 227421706 287957088 940542604 921154262 458760538 965035406 351693400 333494968 680232338 560299474 912003404 10596948 379954340 34787030 910889242 839144880 684364132 54626656 397126380 825412982 614170740 625578042 120645312 90018906 718997084 839116908 665892768 486283060 621287182 938686400 596242536 654513482 812351732 988299274 999469626 326841866 131653064 750642188 2006060 828967716 599485494 621073086 236546958 48688174 834370778 903007110 872505056 756414236 150416010 321310298 267508274 94799464 718378844 690024148 424220046 417920118 901058268 958490224 787420424 289449886 857923758 432526626 207947264 736683270 496115234 769073440 993075772 277716792 512232450 86552208 794206366 381433626 46078898 400100356 379006698 136972084 704128768 765214006 492546214 123626410 871993236 418973924 745918690 367052224 239413274 730469180 358708878 584289354 795213570 145767530 768581772 782213258 985387266 537998008 324053406 525776032 622913882 95197328 943852874 514513304 782228932 232455958 459678832 726449692 973854580 155009074 699196056 989131612 29830072 400269882 766861936 729060694 373904642 808502656 940942378 289169508 325581982 868481860 343901492 752832368 269997256 796800860 941500488 753419898 919654562 483697456 147710334 165672432 236822914 521449026 609520948 825909784 262332536 90221172 362509862 866082272 842163714 575858066 755107168 573999236 655034964 63659260 802455152 937292714 412951178 494670602 802360634 651394518 866183408 965505076 669643570 507122076 457121044 860634758 628702622 462939492 889496650 219053448 932029722 882769970 934843670 770829902 181234670 753975352 317521224 650901586 219258284 35209056 786330954 431349884 779505446 513623758 457919530 824280326 975289780 14588600 775213554 471909490 162646988 225683686 810379414 311915990 701544028 348976294 374841372 626532486 293850466 845506996 739235412 346625240 80033980 847640822 897909232 37019656 907481762 172887480 115689036 175973178 619647374 639652002 183162826 78813248 879740360 538665240 727809754 991014214 152249502 509533322 864760148 637470850 572518584 970330572 65126884 533312478 205348604 143965972 621717532 457206666 453498294 730483446 707811202 584643862 966310840 830745368 6896214 133307984 698188180 705208922 870960882 613673798 218052188 687330330 435192444 454684248 536091806 243835528 620482372 523689014 840298450 214227796 652228694 90672444 129799592 107276876 859918958 680992070 813512360 718082128 852872784 711940366 42552488 63262144 999270682 157338978 541128494 568256702 700313780 840917938 816507322 999840424 420086756 183752214 784568736 581381256 321461658 959697156 161590056 843474138 953410924 40937084 250322590 614902000 202466706 999608198 387051326 125115322 217087382 530739900 739980838 347602392 625046572 10194906 766761766 390082656 311396460 365270332 711355670 518741274 623370486 307791614 129739400 731679630 329661650 440621904 326516520 621881708 121846358 905299308 481560396 852816084 663431306 415486946 593396540 164888254 912282868 676751096 698291516 584524110 693846030 320121812 845343738 616623202 669140648 635365048 999138394 382295886 347221396 815443244 516947482 858504442 490121964 761110580 886888578 26679956 567205008 158875008 915864140 638757712 886258610 778238192 576171176 661333846 727071434 766550678 791439126 783196600 237614532 349467836 736216892 189160650 690287938 231600178 560060440 391164452 373168156 24124328 167305456 207105734 863608054 868650402 360571460 670088294 973474444 669332800 13356686 930548404 294510508 314856120 481662514 203752448 717089388 88395160 941920372 810492412 113466166 276665402 742811106 544106092 668319846 535802700 691816284 391568934 790010010 318342818 763191850 743082524 815957012 23074102 897678092 240349942 533270942 365420668 769569344 113027770 582802380 129831650 138354358 954700136 510150350 696111768 799775822 936944210 354374800 832899568 773026396 632888134 498878024 806778342 24324136 908593012 89054206 543115668 951804594 845563524 24335696 351535896 666039508 408413030 885901902 729180732 306615548 367256972 901348604 680859370 785794498 178437330 60796556 739669164 639740736 25006478 49175456 861212410 879707984 328306940 168485174 916333216 646196274 606854378 79371802 923626662 165485076 16691252 556629286 729793932 98708844 400450516 664685478 829282858 116412748 88586162 501089490 546897586 396550374 317924532 32699632 316596186 784453260 124820272 769436296 695575402 677987242 997080354 607109996 860596338 949874952 743463240 905502676 645513606 11970840 254371712 508394886 420721230 407384524 61254824 845217364 346064570 774723962 752938568 635999666 330761930 703817384 683031916 283127986 52447966 171729906 242046958 731433998 885640636 462523542 816037412 220838522 967580538 861620978 969221420 926073420 269054388 54969516 506694154 636136052 590432872 603428448 591868804 159687624 402606008 904862370 190494640 269578656 521735550 751783644 678108668 545857662 788084284 589954596 276525324 55430796 821021684 606716196 191499894 144434720 579246366 390449028 894157148 890859214 607438606 59638906 856675010 693691384 779396260 892033482 399847594 198239362 780954028 217283810 460533742 424331358 233471102 687017338 569964844 173386052 494738052 905300552 60721446 746808878 64095100 89771864 854519734 278203348 146045806 536389974 291554892 384401980 509140372 638454634 393488606 695156854 829668318 852224998 851683406 21065366 436556262 931960236 561020242 641560050 418549812 475193586 852031324 552268904 823033168 914158154 530765676 756911124 428228764 137131024 119634302 433966800 717971086 701488902 950411470 746253788 603421970 234043036 205900212 139927396 102308530 567083450 880668640 703920760 158255412 171941786 644558974 641864560 367354504 38746688 297336124 341188356 719813090 776077862 874617290 596750726 540291440 770422260 116351858 830402070 926207942 956813776 827422336 393469760 885296476 220703668 5593332 993310710 393494822 180486504 952575644 728261368 984613230 453782938 702403930 960109058 831990936 774105338 274142986 741387380 722755036 869154260 463678684 615621980 135040292 987440958 638121108 99831942 264753300 367541148 530916426 350506050 640083390 141575366 735470610 941957580 817923024 621218160 512552538 647659290 308802110 146893844 134338474 633308614 706742196 974343598 467732530 135203502 499427824 843119778 895039010 561260064 712579876 485408252 615549962 425691456 853755176 432549918 441609796 846208756 190305878 859008670 267487160 835660488 725314982 198767156 268511454 576743138 746482118 563739902 854974458 239971788 67396540 970461746 375202028 27434422 595063048 335745814 916369686 261679516 439891306 664473294 276979882 811880180 333040902 465689098 830631134 60515654 834776484 189253816 204530988 557362042 804362880 71969846 308550346 487991380 136202452 964803294 850481644 152037790 578362200 265967220 36316490 273961908 738623520 913317614 364379810 522092460 315266774 735846700 828598668 145188880 848640832 7429088 407661804 474548344 536964812 255382516 866100338 716115388 460941808 925868188 739560738 638841148 726593218 665163474 863739662 815055002 227542130 894281086 16825812 960940132 665535634 840068062 895120132 512171526 581193648 550158806 428918916 758105838 128829044 708859258 288212046 237854042 632345170 235661934 718140784 323212182 841013260 539019998 719327926 468444686 972688006 480830672 326664820 214488078 102591876 368309456 445376338 506070118 42862104 285804554 209190320 58767584 252682118 888794782 70333686 860203230 104763364 756681178 55600412 318016296 40035672 914108536 917283920 714558120 176388466 735817424 106472682 952919530 680235712 637397246 831062600 283821572 383640378 792686712 382635942 967822600 372623736 506342462 935227366 930670036 964041208 108889244 12810272 26987070 212252482 127944728 957852978 354420014 361847150 643086622 987710468 40300782 493178432 356427176 682593586 363803116 246041854 936141194 996616372 586544176 100473544 973615962 110977656 906775338 451436026 486297826 857650532 364782216 761489714 488653248 475717774 186357466 977792398 856671394 354716194 807579114 306170268 787135878 947720618 741225000 516242796 693805662 632868402 335233432 835544612 374438640 999074738 4080490 16728764 351453972 127418988 561266688 115277596 132799594 174204130 504186316 823779942 732842522 874136854 808977394 773300072 98667520 104871656 902209402 86438988 186390908 409957740 690612102 749672870 133978236 336892392 447197262 411008058 703369694 515077598 312680324 661427018 997047632 387039018 203506736 933516134 853728772 427191192 436065086 896239552 194134196 105427826 140703030 634060010 890810156 28646542 329282558 82759362 139110684 294338618 237785786 611348996 954334428 953198396 192380680 67406402 714638080 548872622 910611472 143438520 321740326 239725072 30070598 125913414 988602896 209334176 95518830 372994730 482411122 794045844 315890328 596854460 371872214 109946506 898744238 529185300 326415446 456841968 155897230 713975638 640006724 426217400 618943542 235326400 520425642 640147560 791032062 23557868 759207624 331462352 14330782 740834744 189708668 28722440 354554080 786823786 185729788 41491880 892159374 292232014 281085104 376080034 583948616 584532476 814318312 107128202 439684030 611521070 107283966 889117754 359974760 214675704 409841656 28807382 331138508 437952434 660762638 402929578 815444968 330843884 142016882 281347536 555515296 987428096 499694596 192350054 524842546 214492870 549045690 95015740 511256266 90179512 399057238 343067142 780954474 968468332 740666470 988382966 757562802 41191754 191251664 617298930 245355612 501757076 642887242 286195276 467871770 153851164 929087786 882809882 428615972 905524274 12740842 46305874 750593708 168038726 924795644 580723996 574726782 792027004 712624882 348686360 710311552 247979144 844932506 778325300 949099454 309609334 875788706 678150092 415390950 675741030 87287312 979985660 200828366 465226460 943591308 521766704 247927110 644577374 266466224 685281248 854525074 97850608 125096342 957001512 424719396 210965492 964860004 382615604 563754586 678272482 976740418 787521504 428699320 391991586 219813218 671959060 566090828 896576824 218687182 643817824 33806642 152485004 921302350 605315882 81122474 118704546 256688900 242941874 906353832 766474594 604276378 606439510 782327990 607583134 485513130 703002682 167744140 414080066 496139144 327064432 9394392 675963262 914208564 488212846 616601736 578822820 264524618 168007620 448385784 720687400 483835530 770288742 507721672 343844390 643233612 350733714 646739178 91386096 490173764 78526894 158810364 173726276 962855958 22070738 5651800 949094162 929590796 618213910 951303500 280670068 884799940 385418582 495015582 10361420 781842648 917059642 752617482 58171540 29360350 972210542 422270882 887969256 45041522 593835022 529836262 790789562 86300560 848027002 168587832 951861356 335525106 7777324 176221046 406615328 639968418 372798276 15303016 285304996 906864708 788710842 971504338 565685176 141981836 942278566 648212400 921340406 646747304 802773224 242974572 656144894 136326278 965447038 516265956 765406038 703763762 246648602 221808958 780870430 603811232 436543132 78355138 272446870 241770928 473160048 208747166 567802134 291885078 357830782 414919690 156332468 872935070 463256086 401521126 936169714 517359144 861734724 998638268 64723182 479714266 401647586 136571886 323379660 814885020 119856284 829636656 526370166 968283098 480158100 228048200 992199802 505721812 59318432 130313006 753479810 143707440 203810096 310589738 121414390 573597352 157150028 592581592 151120568 694836576 816865506 572270106 651217698 739966148 471889246 805035628 968270570 239836232 789075828 583165514 459384458 422971110 639049858 858799280 803711278 576353216 423157178 149449122 130748764 355361972 448241952 854254698 355539646 385322252 16516334 306135082 803979944 535862968 311388780 250534644 247773380 227495350 150785740 78191424 961540144 464653248 472976174 836262116 569114302 948244818 758429720 298556284 486600636 290074278 808435204 836966192 169392678 691282010 535136644 836712170 28169770 491762370 807552596 570196540 395167326 768165802 924744006 773528938 33109098 348508226 678965422 107470208 910722016 920719608 74772454 464183934 806984004 541487206 849804684 200685108 470218296 202447660 836511650 400078408 418316626 840981248 51754090 229679340 530859924 145839826 434397610 69746018 862474024 407376056 942123308 782340530 157721062 874099398 178463180 813388942 596877828 267750968 144739182 456824682 556141174 3155110 45054504 18101136 452848244 190330764 29733090 991112998 881324464 497826406 72549780 158862762 402059720 333746462 336483632 622709892 145826308 750319206 241791150 375123900 609040400 687023980 228033968 263760846 996970228 339404166 46195906 387658514 873994306 302623288 993762746 586170970 348351156 43407504 386400806 143815826 785983978 531108144 211730124 445353050 305137258 44832700 202850096 320147584 669000664 604037584 431995806 324798296 1077544 181163356 365057118 556286414 524252042 137856340 311132330 959305008 187377838 763005046 912308182 129999716 336760302 482475464 150898588 657721578 591061714 39312542 465887412 131964256 879031790 135687006 70509226 31877166 100967120 535408598 382911986 589904596 693761226 822764080 690166814 593540542 33607654 78487540 311602724 695325758 370767780 936742452 242006216 331145670 91585276 956733986 398553780 281134374 959753460 453413858 216584938 636658614 315329692 882863194 835860068 105381502 356506654 568884468 899167984 11798538 74719798 769572794 689483010 255914624 937468396 400634100 312183168 5567338 522258158 930248912 231904640 654613352 306765476 141722352 394000098 255129148 240526248 313675544 391381384 854516712 290971548 368502550 493819822 794334590 523696734 442927228 887751474 618622964 351536768 916503314 767162156 482857074 494285570 224407936 756479204 233659212 36137098 956321368 188124590 160386626 337429114 187331800 703712434 593762034 78450358 907287488 233990198 938697958 404716268 47689534 553885980 626460080 522528076 295685434 67701372 215796486 203682236 317250068 938164280 568542728 5949400 139916184 388974592 779090692 729584754 652071696 285686424 53103352 320080820 665944504 677438030 991589216 440508764 485704144 319225010 313720218 953072700 169148940 209731958 475064796 764279976 866709470 975813686 885191580 526939516 53202240 905074562 543923254 249717540 64372486 698360466 453734458 970492080 820921962 928903430 727453030 989798528 471279570 290179152 152931100 780744748 194282924 897630902 479337882 834913618 271951366 245650480 253784262 920082750 381561876 77806674 90204376 738762454 922511584 882946230 199429206 92220226 904586380 837292330 133764062 160674800 525910228 978854108 11139242 951370696 505589472 850073200 990605182 994083538 566936962 828665390 334273256 809572028 17774956 97044414 415412720 442820442 528089474 60142668 662376028 166120742 307206334 67033442 137761924 183637734 39090824 319868848 209116844 629100332 938147274 497556968 58125024 619626620 475089710 334311318 751550960 653299148 622430446 712670378 788384410 333594354 58924316 257552048 462643680 802733756 423624586 551045286 34704176 383181682 392640262 689757260 717044908 107043132 673515618 594729384 352597644 985465276 493301192 212540586 747187228 781329028 757509546 762292836 90684800 818844452 199892922 184761012 537250614 203047776 464140086 851731856 788850098 94235830 553474952 59975064 42562668 73311860 966800494 728448668 1808014 738573042 224941078 152287010 596372222 891487794 262738042 965270594 225091478 686027770 184258234 441469758 241983374 696345860 481699064 795694286 678234308 835259320 300793232 631717492 354260470 996297778 888949842 359708378 64407298 60568132 848257294 38307326 614540426 780910486 911971264 126642394 125608364 609565360 40382132 614435678 95806554 413242390 678149754 759376990 414898940 853844046 661739406 307797020 303872504 87329800 815078410 85491628 365110780 848253698 859376248 217288094 449243878 191174442 506082942 781816868 581433868 908835878 789157236 257261140 505111024 172324278 863821016 788517792 21575224 644823384 67871680 720223158 938410908 749012684 210472922 127066526 52593200 512967728 510312834 496586394 814381300 881172848 282087772 855884058 723757080 664322332 841480162 165831076 722363152 90250542 945289972 19701792 904456038 417425778 30145978 289087790 386121202 452176220 831682296 379114602 280187236 512095652 228847666 175932584 430284464 889954590 351556636 93850026 46214378 372123396 871477028 630770234 378808920 662019368 86642062 903778586 333649402 465241270 669329378 215725956 730178468 688865188 112289212 131900028 178930978 497590416 683711976 88789174 669484532 365760476 70390046 169496746 776043364 844931288 782604792 178898604 345774408 714591496 477051164 142855096 749202684 766631694 803359934 478012396 831980234 540789256 522282368 246377780 847951468 82874664 878716782 599582192 931983522 421324326 414527874 603793276 730309778 746080472 789465128 269986480 842826682 970807084 458784626 168182838 779406108 948324696 292179708 97139752 949188752 481503550 890466008 900417228 194285030 547464914 33368040 912353886 55055944 401284184 822926524 84596244 312522826 677358998 437095462 251217872 464289030 937051042 766768422 503352734 149838632 109577450 60763974 679366904 844581722 970470780 653851988 177684670 41669624 640319796 833131482 571171336 305543476 681349296 295305810 913542862 704528580 962104594 398881476 897432476 103983496 750052942 439019618 130496372 712623228 875815024 986236906 294806930 27733142 864349966 963372018 803783126 7694168 404562806 745821378 258612228 35440300 289756548 657742482 651383260 781819314 847770304 411172570 969994254 543212042 882740788 924896342 716990728 647177184 589465422 53742864 886768896 598677928 212351678 816205810 785431072 42066912 702479952 603151198 742919302 343506882 670231528 101086788 317717804 173439442 836738514 326369494 401441386 387024118 807736 53491034 857857804 743324814 29231992 280833708 677235774 283474278 22905774 349829156 231338624 151911456 882766188 378575270 741189572 97138890 722089842 513361438 731022690 73570542 801093362 994782958 968104260 700183982 570698574 60631746 15404112 368947902 319275162 606596902 569872948 10505644 905884244 681336442 191601448 520680172 522962916 397951910 402126128 541062764 803910980 371038766 220472308 656240824 365902912 450230302 631185546 199649684 11237816 577754046 841668602 629528508 432920220 499868236 576341128 868757898 936730896 370219556 590513462 587732534 896037262 392155736 824584286 134744264 267311486 674914488 549982532 131474780 460877136 802038280 788426764 605457478 577717572 978541382 696204892 742565358 656369986 8985626 437063294 609024162 281916992 808087682 349984818 751685736 128860030 312205612 891998576 138439158 798965098 965882852 721447166 174059050 544069464 223819052 252658274 112862216 984851836 93802902 973029696 33835278 241628558 991957866 18764556 64421834 617320836 82206762 575292802 766657830 286424944 445848912 133447796 827105082 211569304 48081922 299189966 353403206 172291898 800571132 855131108 422302100 402879252 916808142 860790044 948375930 831476672 38924058 287404118 514453074 944163364 569306908 665113328 944162590 845983456 942006416 518245282 707049130 330874944 448745116 90607774 859124834 254876726 997586842 781732664 392515512 276049410 533191122 398866676 189803708 562375914 363604420 640439266 911592006 809668000 194308700 761669454 492778040 827700744 631058972 760895684 557693018 154584848 954568088 665399792 683351186 149692952 659824144 780337442 562768514 951544614 916717090 18429578 133082940 881013508 558618486 861891554 145339992 912911626 8772902 392161590 759891384 692237372 396537770 58732802 495241984 199479246 17762192 361894156 936356074 796257630 622698496 403932316 464508548 922183950 527521464 200696158 746766034 30421162 814158900 374854620 606958326 986284706 186998464 890090964 961684268 5299120 10045222 113634238 87573626 70239636 161991360 135190294 989621742 838499830 668126042 671724206 718548956 840674264 952652904 174218442 201073740 929603496 304286952 896212436 798586452 198080574 509097392 26835098 369917534 463797462 516423502 304800372 383334060 668943090 934729038 326476916 898716910 348051486 309702542 54639834 101642980 413707752 812648254 626250688 636093914 495200818 164386108 610109876 963847824 664940948 901229588 551971254 390427784 614242610 909732616 809122832 658236208 143996524 233415584 132611492 672903144 807849172 84553778 148351528 911182728 775331282 434836588 94230060 988893580 576138132 966202174 240424852 753975596 382255226 217908670 193018396 84693010 36641506 22698266 181519068 797501044 15004316 630270902 83778968 197630522 979171610 983774046 594844786 626086338 50855644 618024738 52592162 603092656 955933380 881445448 693861500 104035840 940232450 562591308 291049812 923106844 78272632 981877740 324548778 598996846 620885024 273872706 1810310 770846270 687105322 355887866 987266004 918011906 969885734 476761490 659667436 956283208 768485904 565467084 550895138 181402468 551147652 408269276 292310106 586414422 213468934 274151350 277182724 95615734 698209566 894992018 866748812 471707438 551659912 899197582 802720218 831405378 115240232 197603478 176889168 238030698 946958830 848340078 964209988 187050026 750438900 954559526 681456912 860042786 859154818 393245830 841995508 763856016 530975662 24831298 518668532 333945734 784125496 239757420 796066254 281206236 691312922 673828170 946740884 314878092 847277516 261566296 601869612 366526420 738475176 720052228 134316540 478533146 373854564 97937374 698940608 351827106 220019598 262639696 699140856 327165402 923089650 312053220 826716488 306153994 491620130 582359794 215060522 256450274 918432114 934172368 863156322 150443570 779873080 985968140 383766588 658145746 933823222 179103424 626822266 887182686 609475398 149576566 541046022 61442744 813492746 308369544 281122052 775941458 270363848 593673724 781492234 474215064 679281706 191326260 677928028 815663566 889215644 975855352 295214412 49418896 174228742 760760730 607757652 615762766 666826398 823200436 215382102 18981054 532457966 589917914 241580608 542557442 65264076 838836092 194936492 594306676 185282792 767166062 433350462 527460874 802307862 567516706 709029924 123233446 345915944 261557858 319036104 876372728 759274116 250391232 598102100 802654242 562910102 38005670 39368344 426476606 157708086 282179836 107894314 710403618 714462416 165967436 678392330 372367734 747345448 588391230 617554252 910096136 500472734 516254310 873436766 373310324 386220628 456697610 544736016 784387072 413968838 743112358 75102204 977982952 179351226 323300974 181674864 322352292 18321614 910024610 625803632 880806216 429697946 720463836 974061072 169553866 891259684 146703540 413336136 233558928 477332054 118057510 890411952 546425998 29300960 505110512 972547230 128220126 957158154 617540904 576584256 309951300 152013692 150024310 756186138 426154506 860806536 360452098 111670758 815151646 512334108 838821494 292531678 75560738 657904482 220001994 217499224 844811050 17476432 121941326 989913922 165504418 694380004 288270478 98570626 68615634 400121720 625515068 266686396 475797026 6257136 423809474 842389054 883510118 621339126 403052100 545214332 405961944 744886914 79721744 160957186 624739132 567514112 918315182 172019970 728052324 882991822 247339044 703570682 572327378 63109712 229701712 68245108 423906676 287041886 345702474 149314712 171606268 670361586 654165156 441812984 839516152 896492908 562315302 798363422 463401808 724236778 352932368 668892524 499637934 693359812 545982326 133487276 343528372 175265462 309712140 418743244 331090586 102314830 62318636 663709874 851459610 506341730 728542750 204300534 352841554 486635732 969216972 617172926 261793128 855368212 653721116 735438432 260671660 99941432 591354028 786504456 800493884 967171812 582241396 658688472 427825238 62844874 417697622 28493462 364937492 865671120 985258070 155962994 747066116 54455998 356534650 313123986 971449172 990034566 445255930 46202940 197109734 883425792 537237156 354148916 659909908 418078752 814451940 904178906 644577026 198157072 512380094 578651616 21911554 660364668 961412592 900848968 466353408 697722142 809799254 294459068 348253530 823067902 630555566 477157206 104173602 139137912 181400806 404612478 885434940 987277586 893357750 414225774 298578492 736609508 320806408 738254892 853791592 620364088 342197656 436838038 263307368 653999648 98515876 326016358 662188630 389113998 557804414 406321078 183032140 37518724 136770000 78495864 354292138 606890372 640847656 425562958 471491414 15338328 58318800 196775270 659336846 914399792 135310072 235644440 402272506 152803616 961495220 248885262 282546952 356965778 214246902 70213170 802372656 726828242 619614846 432309730 718128862 902186160 69312132 404543498 810653612 460908840 330800056 202157222 597337726 256505050 974789252 936632622 711430382 922621430 729243386 117716668 806574228 149703064 280407970 372787142 475413300 810555172 697224754 800534242 163786052 691168148 776035642 813662308 216645854 840815450 368203820 161097460 623077286 841909486 358227388 951062456 641611288 719491924 99394402 673774920 894673300 174359636 453589572 900666474 339141268 46692056 529809762 546831712 151473472 507993702 6919490 527217014 250258842 581656124 219570022 478380878 538658042 795941758 507765284 330909442 807705252 173165838 92698510 79204308 266924512 680526036 119504800 607091004 743076816 814847724 161092946 635697146 56417484 623318726 636535376 447443474 844002438 266262270 291192708 921338574 269098924 963322618 823224720 330742208 190249132 185669526 108027824 598036128 26999908 408619436 498111736 291586864 112525676 939340160 21273036 889806674 632391450 496738090 601043346 579596010 369182700 351318318 500713180 262844922 723367934 291754990 788970122 783116338 838780996 755354358 715598676 498407064 271852392 305750792 980363090 190624496 65608868 651032734 452665106 763331402 126416178 342316508 279318304 772698330 513875854 821062454 683389092 36048344 385310372 80604670 471480030 493448724 888831504 364517026 19594386 694480186 581427800 725087994 420414496 748812842 269142064 61330712 286771500 597785896 392222288 113943466 329659672 786196090 323005814 770056572 321149958 630072596 136556376 8497666 462626148 232859058 799940304 475187806 31954654 167842014 723541906 219026564 121759300 208724330 998351460 628242124 514775812 796667352 800124296 676149134 168871604 819836224 597666940 312601328 831906316 61072332 84763274 177280790 678100922 571893714 244535466 952530038 217000686 224693902 683932240 733058062 823805126 288967256 320876984 328000492 359538376 162103066 815962050 807195452 144613120 994271324 462883826 763822092 195239966 98500036 163945118 799679714 525369336 451634202 68731944 138536298 280861214 665562092 385201852 115266192 10158098 412064226 887656180 82138266 57649310 890245766 409446402 425996324 8569058 109156080 940940662 641253290 78353760 289370126 892899808 756776636 679904742 838750430 888304004 871326784 307904960 26279428 409889906 138790740 839161250 497711338 400881170 85617674 149169032 517722126 723246318 521478580 209454044 702508468 737329254 762568750 893555908 361476562 140023758 682769392 650869622 772847154 273942692 198675158 443228362 970495626 50831304 482566506 194873684 132558574 866121678 873567514 750646998 780183556 560427694 236079008 958594968 367082260 275348890 72500946 571219540 585258310 570862048 258099316 196912630 421904906 782048934 182575894 519981092 598842172 328380104 938203644 403193050 646138654 339381322 350258744 283625696 270241768 99786762 266608958 322634900 367181378 969045478 222064878 744161034 715551816 577012458 470886808 912015596 615500644 342302442 56020934 520311992 547105840 53460422 582300532 736099522 211673082 710048810 761412072 268763024 188469050 650188836 739072382 499776432 807655700 58766762 424797544 193559408 647418442 98262026 280001878 624859896 389487884 325606362 692794600 642416346 226106832 144786336 740694758 230576066 291428212 139087874 91657800 694731142 857968040 146428344 6860956 564818998 278197146 901657858 432604156 534321964 787850228 862561528 841127392 368192436 779218216 490945564 436186792 798764176 865097202 320937296 528301578 948131746 875345516 762828414 523972570 212015688 324766054 141767310 552715418 471023128 171983938 730181772 793192522 935232916 563449728 88884074 847360140 526846130 67082584 579638530 28519292 971044048 775662396 177571088 935516146 802158088 306971114 534234632 331561314 359039982 940276262 451998024 967430588 322137142 232822946 567274078 589102988 644271886 250799156 403894580 720756046 981920108 911479946 184702410 511974642 850255142 259483454 42963782 74147726 414353924 904514462 362902254 28992412 129170234 228422980 294048930 511158548 222027608 170954258 151005070 616600342 699530312 60647058 651142870 407401708 629891550 479317826 684594514 925170962 839025654 414252770 970572692 923757180 956810036 988201024 453110360 929994712 97308334 668036174 286027770 712431520 840874166 537513230 855488072 928328144 513991248 833266466 812788516 21898636 749311990 935563528 679408630 636428464 523896752 922572850 753457204 569252252 883233584 72680900 79156006 118322940 579027518 474824714 689505528 578065954 220096252 372306378 208916736 787406280 157386530 487235022 6041924 637367190 815993456 189817018 603790922 387441104 653553732 781511468 676043228 356379810 703920618 971753092 64514196 27603818 773226450 272646932 287458812 45647702 772154476 489672796 668537126 209361616 241384896 917903706 69738928 902819250 157799804 812689740 144095764 197439906 300393994 219021950 548569534 364553892 587644954 212021854 56019228 147018058 460714044 983711962 536861602 744331270 932722780 994864166 343350816 747071058 805205790 982711962 466527026 789633124 690438408 215205538 303758864 112189458 978496646 550061604 9484336 476252942 395649612 268132358 622277240 86265448 287477284 203607370 836944376 864781796 879401700 569281160 532799152 644509216 548604472 147552232 240265586 259206304 26536906 222922154 728938058 352926930 876017524 56269202 636671656 834300118 85464956 250814558 188019896 525856204 12882154 647463844 745356670 949993162 890051244 867187718 726399042 284262546 913010600 787205392 944143964 372091622 480236470 776427748 605344166 153027930 866657546 846375902 370090292 101771034 323810650 264973356 216224720 476201680 312961804 907212810 502616962 329792476 709586918 200095452 578768274 897068708 657904482 85070630 727304122 713156018 443871728 920622570 391949770 97789854 746514282 285918732 966802342 823313782 514578152 725753914 881731414 280124178 90828902 986904492 747726140 990764336 890861360 952990670 532118260 220426360 246207344 702131756 711665450 128972184 321024630 746506872 366648090 389118016 364839410 838233186 574398636 613191478 781938412 633541612 768491408 51457616 540639226 467344082 234980208 591955208 666364482 374373374 889821906 606663036 726566554 219940998 343155710 534348484 93738980 45882430 734870912 258205886 182831268 105989092 483294626 646920588 185097804 550291514 68834802 802708806 335897898 372760248 136187540 75916768 812781848 957617112 795730412 900631408 82969810 700878854 76877222 925373800 341307986 628880922 972837370 170128240 538620182 143035234 615578454 460557660 12377634 912197990 324320478 890705746 490810222 751601398 34903376 404924010 783766416 298649718 770085038 983527028 413177690 89634738 696244078 756375458 212489250 550973670 5774886 674469630 380364752 458984392 890413302 989857492 947828258 217042250 922426432 688976598 322889592 564081290 185604810 644480108 655084812 10493022 898156012 59041076 994812014 871245756 200668182 256265940 858834910 982056728 545795174 701388964 468042250 953922980 208929620 329801554 989306236 306120376 184973578 977596928 389864350 307281340 545837802 391472670 360082822 978060336 264649016 432161206 875528442 723640700 835800318 40619640 87711184 975547860 361031776 65776718 909838540 735470062 442765470 614248582 553310258 10233202 501924264 305568910 730806834 343004198 49104450 508769612 479920400 406030800 296484828 987273398 793236680 204191830 181246316 870051356 641727872 343857720 118780030 42067022 115884574 514765564 345185076 986142236 702925368 861984018 315195766 553553250 741970258 819848990 441652662 619011516 665144498 269006794 99179474 994355786 713172486 820491882 737857460 239765570 977224476 674570654 699287094 737504134 690392374 769777226 252004042 631523856 721581420 4551244 680726878 884084274 388860984 492689424 237829876 907500058 921754480 673311008 212724104 2943472 868823280 563903874 967007728 157108858 575960520 164203928 828741928 788438892 952436156 620266202 650536596 481494138 906739868 503348708 630013386 993218766 979335348 541022036 549906160 193200004 698672076 218511682 268254988 749232298 511005538 175646454 702539634 796994640 688596434 379805310 290215888 215245112 87108036 204643882 450446358 265076720 103375776 798823138 363719476 519628174 187966626 262277974 505729734 265354722 2634054 335561434 671815824 271421774 659170036 975618442 952420214 398043744 487233076 267300170 580761746 683783112 980864606 795791010 512672192 375334600 381204836 107476628 986080770 89079702 917021886 28641318 634911908 370559964 640266386 538970598 804565360 558573866 237321580 348357226 360370866 662264622 69620056 147921502 817488094 287742744 446800908 470501438 360266478 948762146 408826816 489663346 29483814 69187580 862767448 374279304 926163892 932395910 235716504 254819998 265641362 146959610 401755768 218948762 765902346 217923444 601484130 2517680 374597292 358564374 639668498 478198154 425696364 580175708 685163074 686742362 920766132 685739092 624006008 231632422 383498904 722260956 576473582 304068648 304317850 625015600 374482158 132108368 833179858 689306682 764990974 942647318 16669004 559646980 379123726 221246714 633361696 743087698 738531112 28549248 610630516 229114192 887181516 773291130 68903762 594802746 676398186 826877106 9304596 762188694 625561322 862811120 48618570 871916416 826856686 688205818 565838992 354881346 564649646 506224176 31347930 645760050 664272128 367588270 999277818 990778812 489513930 456759804 552368656 69124984 233090924 843525752 152598182 322590244 675960798 951025072 867950766 716470954 754446124 983213594 922399370 663337550 208517822 434986240 203818304 692379004 876035782 657455896 543082664 889464040 964142500 42504782 776921714 742571880 720589164 361806246 245919136 483037076 484469210 230376796 216512256 657743396 978940236 96528408 682236426 296405380 104666326 609192762 578357022 891775004 337650986 408545838 154925132 140861546 755344054 849329858 695718990 594667684 70002022 593098654 3721474 246011368 618778750 151003144 298857288 511560574 520985128 406418680 147370418 875144504 533309010 526656826 481147356 181893246 285072432 558476304 890209270 963752020 600555866 747693542 426845856 843089284 80783452 486267398 181187716 846987254 423545338 772547166 206431388 159489436 827467110 216614898 229149348 408109042 506025906 168058944 907147760 832498028 254711354 967569432 345885102 284521936 75192292 273229178 646493564 685897744 574227180 793174508 662553766 984370816 662185084 105730288 828292028 846291356 527055850 199465412 459073050 377529450 696566416 763202078 689063748 465519334 447298036 593012500 837844260 232290362 583184632 400711128 283256434 602647282 155818854 950583610 762207994 747927668 636771998 104036456 773945760 807057298 426094672 439913178 52263536 267524240 20100320 692158656 286861976 598847380 253741182 814021534 363491974 328169162 515846766 571224058 586273884 941099056 417889144 504453568 534422876 843477894 905421848 712947442 79512822 425822640 417331146 595305448 907437090 504587736 57372364 293665036 396802282 393807834 139750328 505119366 796897208 77289280 146977838 105120204 185040310 918633466 521823476 562432216 376951014 359242982 634290138 489971246 723590 586820454 307686892 245136098 479163536 342065992 742429184 223754506 514498624 990079724 252345404 487424668 697406668 990021094 571696558 669788346 86429478 464365852 208676208 588076580 947987406 444177616 817641470 691912650 781549262 103082556 978788362 715223238 424416014 642428680 739673314 85460520 972604222 742040074 41798850 321896502 440573688 642190918 139284530 428516344 14124144 83750960 60153248 780205796 975087434 754972796 234531084 130879314 671928428 59541586 938565276 845601212 610198782 250770468 847033336 239101960 631990170 941875900 955087602 681387990 725896270 699796974 634799032 769980224 53603910 673753792 658517540 779468414 581530882 939970628 30745796 379208616 236737486 970770928 404251882 315698932 730576368 899973684 957585108 795402420 694321120 249346294 57853754 825260594 697914570 57862814 630573638 739891114 274986738 494801918 570442448 792726264 818021978 705484980 729289744 220127996 527553562 270448634 309864972 627114708 427522320 111040392 646630492 551755212 262455204 626167502 42370010 6680448 373642844 873961810 350812864 372420014 762312044 273465126 317961490 901766250 128234354 7864322 320771934 871599888 519409548 799494846 177414300 397145978 667493638 46589540 31224768 33513506 65390138 742955778 24669074 732069102 604823590 248777360 202668126 806766832 633741422 927059316 246653502 692226612 867950544 452324504 789922094 778313266 412081110 628860468 632691446 855566068 952768978 396901648 685644986 602822258 786250816 517970568 129721444 73309148 764738260 530155430 426301744 754294780 108107998 465408540 768081776 127366444 854606520 259269308 5698806 951944764 527174598 89767922 298542340 390425232 692411356 656415484 191899580 397504048 555052568 411865822 546563106 74582732 956245062 23141782 765378218 230171670 252930660 677128346 782981252 715287034 281717060 860978676 513450330 896172010 874907998 640654400 542642080 219154456 972738936 743807698 528067370 979467878 467051284 569551602 984366834 425825824 596011002 99981930 378512634 696811204 13390474 155935150 738409042 62821094 38153918 368486784 877849712 16107562 726132942 383177476 293696022 294876402 79813732 456093258 656162186 768396796 403974282 779693792 274477518 776465972 942694242 633442856 591766574 97435310 28113968 655251008 261447210 649388186 602937272 208862568 154693488 486443164 974320214 239533616 906326344 929182350 704149532 732170904 536156954 578866448 137203412 299179786 986286230 244925620 251226336 968442706 158185264 700386972 183321052 858153590 126999524 699890130 188637372 67018374 842156074 587857184 941656336 419663128 211717480 370593438 543762098 662099978 309937670 672543040 248975554 660184028 84851350 19061064 734773242 357669698 362133492 600273252 177652798 392239354 568694382 383956254 475853486 224356470 233273774 343598132 520638686 971136456 753395946 184661216 63614160 995057164 592025012 395268842 651144980 11328048 199470420 836163902 43005902 297768534 363431132 783234460 645724110 47762110 282151004 650919388 885296082 46347328 95883014 171898042 457152278 586455580 929141490 371567914 246722140 71518974 288672954 534619260 805755516 250851592 24850460 557220690 249743432 342777666 626474288 787288452 780427778 980111284 572449538 236930812 54778330 306326664 39259414 337582462 371932620 929604376 455023050 179701294 54464692 251602620 298757680 470104276 555654572 78295706 715928018 260486938 737906280 579989174 541683208 936540908 297101936 808539816 98707200 140219028 327402450 111907160 303656518 552823690 700096148 718190662 716575440 100786256 933432614 140903442 272400052 446395968 481465130 24639772 896233378 687538478 870271316 302108814 424543630 773136248 440160724 699794236 502575378 44021026 84740326 348197270 502671928 880299024 164716530 176242052 331018060 220400760 940764170 804563254 357293602 667088014 152072 690953404 169467888 86918602 798567622 511123784 137771478 171958188 309211336 153217742 847413072 196364716 71332014 682381450 561441794 890501216 271175114 935838470 448622928 697075420 848225022 552670174 521652844 925047060 276980932 288310824 570444836 973163784 321114394 312434926 530471726 496359954 830632830 536392394 732051720 93782672 147070612 277925124 979215068 984400824 228266996 153937546 849444770 233538152 651922158 837306152 295392964 607686114 837036110 688786726 19847056 280779088 58492080 980057732 354387866 819811560 46192858 72378856 603861562 923599828 572700764 513980594 264086590 48475330 843316964 58670544 117227934 325211698 816700458 346415492 152122220 932918702 941544028 771724552 403321972 860127768 427682498 114719884 739134348 503853288 533687696 777898014 225616814 415318088 352234688 83410800 713425096 572802808 226041482 502949324 722133216 673620642 281817850 428662374 484026428 168939986 631222140 990114354 875057758 996968696 477818680 6196548 185179466 801379058 230304366 813502270 697837724 795801198 406392196 320084716 42338830 175007596 842784458 594649796 214029406 544773128 523016744 494257640 970295544 18474944 566570720 569666766 150248126 867749094 206168926 908829386 305087176 811079844 942187672 39563912 648932220 793265968 919176154 920416916 310363260 569289792 802941586 931156098 610524520 835424756 165159092 652516466 699413880 663378556 256677602 82217838 807936758 247647598 702477712 958570266 921277390 741824424 361800608 668893978 170268214 246636802 787171850 94132972 798497634 433774654 342015956 893209164 940544866 373789404 715054724 674539602 159834104 995038062 937818254 277184120 160788524 379558006 12748364 303232812 357727830 911054366 41501726 167150402 369322138 495152516 583666468 122811352 156335450 215726918 308405540 260206744 16312402 955029764 537045924 905976898 296509782 438642778 105851466 383835634 309181742 608668390 289504294 276427810 15094984 124820780 231664402 116438192 206480594 280777020 730969894 551793300 261503664 763828730 861979858 142360888 348702684 509988784 45658582 92598230 912747322 499498236 169459492 622167822 532655858 740298188 980840996 995671946 199510366 27896548 409605378 730503432 540206890 304955760 329442512 220290316 859165290 428866814 494362824 350451744 508716910 161536644 203951882 963128646 347121030 817336374 182407114 298329086 285600900 502588366 692270298 762816132 141184002 191903350 486592058 272072888 114581706 935520712 655210742 732041516 456021770 994712868 177560240 725356844 276169534 426127772 934075860 929887734 314547018 141238818 106940012 17202478 318565580 867992274 115753872 358697132 823104918 603133802 955158640 657185674 22054516 280042530 492145760 178849096 762848786 776531516 894735762 600828828 752699886 72538282 875031200 143023604 146170058 171293930 460216410 786881528 378534750 684563136 444617328 383837336 274008818 760252520 486628232 232058158 512436002 748275686 369102036 279151048 605508256 712993240 918654668 86057626 626821306 28211324 17290018 307427684 1195032 735016654 862857246 398396194 574474024 373976914 839964510 436331452 569184318 655242914 286355386 245587240 326229782 649648562 124668590 444746972 935331390 21987494 462420330 3503428 851790104 312667218 594486406 88910074 441382958 529049698 945787870 191364070 683061668 848573056 157328956 163205070 384439194 245598302 581075306 755814652 892998942 857363026 102406506 445222208 679758572 248978136 229402038 708457278 430268574 423347798 575413630 223654608 236752398 766997500 889331914 678252268 548254948 980910526 408684794 969788790 671137892 725397238 947292940 653711310 217002088 395321594 527170996 788049136 664848496 557207274 732061198 5169480 934949342 783371870 437301660 644990890 324751222 267396786 316367506 724027486 785281700 730743300 470786536 391598370 716301292 113348330 326231096 290029870 837204082 711715658 114469760 187875418 474999582 212962278 176399620 236261024 928738148 802623384 21055656 230512412 350121090 939974598 308171880 356563816 268753628 562509750 876179536 848593062 477925938 382895802 726118396 462799796 507986654 575947440 7522144 241197212 517520992 20469264 985993344 590161038 22920366 653878548 229499068 194365830 781892368 886765960 770099126 827777676 309413804 93883280 191640086 779750036 245371404 515834796 68980168 875036150 8404834 591676050 664247668 73938696 869152618 875864088 722165430 500539010 66020106 775472616 927983518 875815240 305682284 929719814 781716236 488359388 574221072 319266464 360849292 41642398 636794810 143168184 43056672 58495220 937821254 979188550 767096636 521505876 379105774 505027868 95448740 902806328 984957082 2728034 378101970 529268472 688187186 409718572 559377016 237821074 970247918 324972778 64313894 740181314 988523712 363098236 949898946 783134808 235417596 137742252 497157466 822094660 274019144 995514980 447589842 597790368 593121554 166285514 297346580 686102832 225055766 466497238 50027200 272941812 724599016 479385028 540645084 346446738 768950138 899906196 13255126 676777242 430572768 629754662 729649160 866432930 123527448 631699078 256868376 793192386 132681090 678112036 210130070 156276904 190626120 630968970 3675982 708397886 290579228 638073716 458525364 746401308 316961586 483324250 811822136 470738408 109117726 562964762 207835688 570796464 418389940 374123960 499281150 667325746 94112470 253009552 433492452 271318840 783671348 377542142 806286506 614029096 812923414 372178154 170328234 649292718 715537776 124737916 723781600 129559808 859133858 329873618 458279636 504340294 312287974 473110900 640498934 904266106 250953590 732246808 461201142 492973376 539110160 93852818 569428706 256286680 720665426 497416382 318794932 28926338 541263482 262372188 85365168 256177320 983871732 948319138 8596118 91876846 718755188 556170678 652462192 162201802 933360370 183277236 160092552 68584072 251727830 511603176 26178088 879327970 798384428 472460106 233429540 796918322 366225526 315704568 448127498 128952812 39690698 581002768 254632694 801300850 425701530 145290796 153863622 695451106 791792190 214516192 353889910 820000536 417220028 753654884 403170022 19027366 103411348 917517088 697025152 800780518 550839362 954558002 908122614 170770876 58340390 181829818 677892710 731520050 4513092 636599324 149379846 210152456 936222006 637460084 99970958 764651032 798006814 8304872 65511678 627605514 899551152 152436502 543412128 832863374 448229402 261512774 329176972 60988248 411143992 169084792 795568746 88951358 513591642 22231864 287885582 648446500 865041514 207801782 295003174 243097636 2962980 441826198 957938936 496227816 196453366 464375206 945541068 16978690 586742136 831683564 113886874 334254990 3181638 204626404 66047350 185261702 245574180 773706628 913860114 189059016 250208432 703834488 9990010 52813738 74147732 636265954 7263030 144515126 25600082 172301330 347605440 173544448 466394222 745470128 833501092 355916902 776743110 346041076 831444414 872668886 550859400 988545700 596012124 406863582 517443036 774201442 612577116 314024814 364901804 374705134 243899492 868075198 985164330 190310406 386263952 387155304 977152998 639977722 865608166 127952816 705930084 626467496 570714960 761195602 981097362 822800466 602714322 701828518 97453756 963993772 546200984 825197456 460831830 163991042 898021526 886633860 638547816 889341844 398219964 197822520 686538018 376701586 211047896 79867314 151750168 960104508 755392548 177040194 852775498 264767056 520773954 51905400 259933766 731191622 604473318 422353918 206500498 210909168 10184772 219245426 158568006 471771056 736854776 578177920 852563056 642481186 443085892 495341702 472549706 646103008 741713462 545412502 449586020 518799862 663125136 414989836 32225502 15838878 364574638 54470294 236782894 692582366 176704062 251839218 914082054 714418468 905508192 732207546 987233690 976902274 726157390 109970060 818058674 177617962 778007156 93836924 305298540 680810572 154380866 974752260 523605714 173091956 845881886 924778760 502710436 639833346 544136404 955870438 296374750 232257878 163971938 318544068 248893424 787379982 159494048 992714136 89756506 821467398 555096908 726305748 105006412 530022338 917472210 5163590 633534202 614786686 643079528 604403306 857547994 416091090 861040102 246886034 986763606 620438088 357060404 278354336 958840202 667012562 986292998 440617712 519969894 656058122 700838184 888402846 766240848 392537032 17412406 294471598 324578528 335786924 576133136 477963754 588105044 821949050 965491364 231235418 464906030 423769244 525586628 177855466 339782442 800082538 715255096 795699138 602514972 707851622 290674956 161460242 619269152 874220058 243780286 688142754 424355438 956834666 117115456 738769802 579681640 503045340 2860442 668015384 64374190 650171570 774053520 467629368 498127340 652077078 964976602 354297222 257060580 427056006 177344154 238248962 849914094 355883188 988635904 311587496 772078188 154328870 101114994 608620044 608701042 888221922 173092020 987704410 447602762 178656742 692471434 298402594 457959450 380690396 630420972 828721298 51448394 995668820 442117966 515567610 283254294 14922852 233571948 248619356 613951500 544131434 499072948 135922524 978202950 18158924 726059754 860434814 907200848 592501706 726115088 764500308 652243992 760540826 221583900 903427148 185716098 906032162 859459624 16955368 18446574 230995872 584353526 750475988 596599878 74155444 954576200 567845328 453590138 962573932 891677278 70808118 598835516 603273366 472999900 520719532 888141212 409199692 752570102 508458918 41276052 235091642 266220134 204064908 883772122 519827824 855116248 284450010 75765266 903504682 292716882 500472164 357397274 848779732 590513172 637957942 822967146 368532470 105657022 197198652 969291248 278487236 674789854 655237522 159164564 905456896 591156788 35183662 716770432 17135284 57442658 931994256 517131462 144539080 215588770 673399886 717313258 890549560 333975282 679036932 348081694 22847078 584043034 420423470 622602232 804037306 38279992 616479222 619985394 1039042 132458090 616849074 781905232 2535690 956206350 328015200 681155552 810416142 954474426 167830544 445027618 237336930 44656558 13763066 961758754 542083630 801378004 58775914 256085704 878123146 245628346 939118984 441702506 614827022 285730118 782616592 803269308 914180782 769387896 340653312 678788090 843920320 23266062 606906222 571497720 788842362 791925258 730043434 967666114 511086440 484261312 900475124 699481182 54799798 166814420 47051138 305265952 458883626 221099254 169153518 754091290 992353996 969452942 193670170 550959816 506384978 377197616 957127918 13508286 857551552 99178952 98176958 270753332 575174444 928759972 653267548 79547098 27314366 33304768 756068668 97133258 821287152 850075124 557044670 874625028 746047920 662529526 926372260 104604772 218413032 846492004 624249478 663049024 468373608 218138558 882972892 299696138 603009808 181144142 363831284 854582358 985740308 65553800 864004372 815960458 747540056 913159832 134886388 876740406 528452318 950575292 278869396 535450030 555568390 700859206 674549670 489692084 275950964 909509530 785555128 838587446 142366556 392405104 884802126 243188242 152090756 954161444 981847790 222056796 225925844 367425622 74700958 970269442 574996254 415368958 458914688 874368712 92003314 477408392 855173154 62159116 754184750 8094668 428386262 192337282 95344212 750931494 253315672 475347672 181863086 488919024 368547742 356697678 184350650 318103510 752324130 689084358 261007678 501463212 731644268 94530786 902984296 630364240 878736296 150342330 461042676 206573070 816318444 821480358 977192962 31577362 606565718 254718598 996416922 865162986 478215282 182128456 595422750 853003572 382288090 199339762 310520280 99822690 858114066 239904324 63417882 706979874 956539340 839325178 870346408 880637594 139534790 359863622 391980182 30029322 230584738 929704324 849751648 480734050 314141654 282931758 324573762 141984708 129559876 695866666 112031904 67603842 385603238 617182114 131427452 231275752 737024084 531642742 570272292 164936278 880347374 245013704 902216584 930820554 466619792 335109716 103588182 721081962 679836308 105912374 15610044 334237530 749961530 93288238 550540794 628426558 868315682 316417128 443049922 398196340 457824088 223459170 19497450 388659756 504624284 822506464 504908372 164048576 836612370 440384444 5966594 815638502 68313722 801578172 125870420 551268986 113479572 807870732 967597688 359435306 834984948 265914938 11764236 2460014 396010254 823446244 212583304 42101308 14807296 813516542 720514964 701823792 469529254 955746568 15155126 321046344 32074050 855201352 985156686 477683182 631620936 714815356 390968904 122513662 331618472 513127986 953021856 756260214 74328418 136746714 832332174 962268084 141125938 603897714 207981312 395915652 288926064 29438306 746720484 485931184 59988110 868041530 762824048 703802672 469212242 337328280 210269714 5417686 968406302 442434402 750118904 966253582 32893404 493344804 525690752 751294190 27548272 261578364 415607440 423789610 100370138 679978738 557813288 451203600 128413148 702312578 341071188 244206274 342927790 514479882 772210108 399682650 338075204 197520912 561790040 910956422 888305762 981256672 99850242 312625812 609495352 404687742 428684296 113338474 951242520 633324354 362665026 891128366 943561842 881777962 713806394 757874464 998991502 538935074 30715756 237294254 221586838 967102390 185993210 511141398 335641240 134007704 635126194 786417728 980010336 529110284 462933200 882338072 515910036 443114864 813277564 844264846 437587918 356985356 662494818 117078062 699111418 412400594 761007212 585641460 321325794 44366348 64593236 97696822 212552520 153705148 344030874 688115278 33459024 814865044 72328472 280085428 766808814 454372872 618358554 380270514 910035262 979397476 32712338 394767530 368451354 194443730 805531098 166224548 630629408 471636476 325445090 965151704 723220316 146058580 602844394 474781594 111081982 178082512 986701586 156918118 613861540 422111930 818477234 111995010 693120486 465286680 112031034 435454494 730239714 211287618 413852316 926650670 686649708 21600078 493803394 619515484 108969542 543925848 996421978 568297746 781993154 649085776 278737484 917862374 398729292 437228864 889951032 593409804 493610588 933910382 563700830 922735394 387824392 56463184 640191868 3559014 518822432 327832788 900228118 475984910 711452066 760074020 108963914 676995314 295471718 176563112 842184618 654131748 999866540 928870566 650335558 957653304 173057892 769624272 971872364 739137764 731215864 169039298 134148474 452642546 910953916 284891872 724501270 930052966 278665258 669800766 728752938 635458848 940576758 813839270 212010252 636964514 891440316 655006452 858227664 212454874 321358908 863832746 352399950 538917788 596748324 375692398 212605714 806959332 521512150 208508030 767979938 47707786 541245324 865816488 254413674 844994370 511528876 444112106 153244968 693593672 842054782 833980924 896914654 885204236 644170584 278281132 644257922 905122146 617341996 590621768 260119310 11307672 377071716 340414034 381357988 986188168 569266518 85337648 709207158 642249418 648527208 684156280 202635928 65961528 17148208 793628074 105467550 805408688 911068164 313510386 164204158 214631408 477604698 900870400 725182592 861748856 165281148 289891178 345194792 954437156 800890352 349446750 59491700 303314886 751256930 927052956 726489228 956008580 640626410 358613802 372591408 767402284 398284126 18936228 115948248 376731494 86012442 314731572 800419008 87331108 604969684 399500714 890414458 15871482 943955172 630703494 188493560 712664660 127591614 746245308 625545258 345356748 794687846 710545224 289683520 873883940 525918704 394010560 626978140 852402238 290210800 148853094 929400722 1862032 351014988 355746180 218960944 356186472 707689520 841010492 658065266 169608506 207193966 318662332 958462296 854533566 731350038 252120914 296136074 435055548 448592392 109024198 126728192 826896548 283814194 248045406 979413614 67623560 641020084 755527818 924487298 219983604 403334336 368732126 171518460 576340438 505781158 938458194 517004518 437460336 708543678 745594732 749179440 662577570 781617498 244321320 131541778 893326924 813472922 700119282 80533390 524614270 481501694 1242728 390334124 401857026 859824946 211111864 750823414 250332598 891058330 263098236 698098410 205217988 134078762 291641370 388795200 637976344 625129520 679593066 461575824 398532744 454854338 785335614 146669730 89226352 740849580 675200380 990794718 908782732 182327802 871429140 462901476 124522736 135298922 769487034 660027938 776030208 791463832 517811996 827136160 781885992 711508022 991488354 341946418 246502658 908233076 636955192 437442436 211834826 42954326 36958240 928765978 422142958 541553106 313191174 169008144 810648672 964953350 224174998 880642466 17306894 654860756 254965962 671755274 757598930 551794218 896816068 854538832 851045378 552793040 884942028 99738260 447554488 811199284 799247290 450014542 281384506 983269900 361808896 521756612 72357620 745610260 474116264 620994260 341990154 341126552 347515386 441873886 99053284 55542408 619484082 673799886 442777854 750015074 169644264 88908848 587175620 203910066 5733142 748959280 182222366 179381524 126846306 322260336 461559688 941197008 431999140 709440520 89737208 973329420 546841690 282170646 86352546 467433978 764651982 821792474 134464438 777537178 457468088 194316204 89699472 136443810 311252222 784498000 351899902 102851486 991315846 624207280 600993036 875025762 6034290 721997484 234668442 660340388 763199512 423324680 736088444 325558058 733390484 763559834 479227096 207574728 604591742 366439636 920044640 778409762 958901638 150724672 167211856 72559310 661665500 690834276 274712128 860034624 619806458 711948408 293315594 604562526 625238740 618406408 84709852 226881878 134730800 981050680 268760906 42563240 300262094 595513742 623982640 862027678 833566770 688593956 466184984 147385298 967806034 870878210 353490424 455755554 517581346 657668150 697418024 923212840 47953000 676740164 459476022 357105036 782933064 264104238 681867188 373764306 160644714 838508440 555941878 447761438 505316404 127223674 769560578 590200688 444067004 39934774 402479808 531044914 596868610 123840730 792235314 418320908 47981408 31857994 426269568 642157340 576603214 635196710 705849080 616484124 908804428 718231364 32807302 322097006 483590588 68361490 127824664 58816200 266400070 273435162 680601490 254305544 176264952 128454158 788228060 583947882 570190920 351181368 632318724 594074312 891888164 672095940 940768694 104325474 798590808 173889518 311164668 197113392 306441338 743530754 965412098 825269496 10586958 366917442 482613266 190798846 313784628 238148466 568545252 442821574 271108474 455754976 764107856 851470734 33554840 682910248 507532130 63901004 112351554 178808078 33981542 171740022 124349416 808294104 688428080 775232298 17892846 357345370 444382992 708646458 95951854 921209744 945180826 549779552 608064688 675303126 398332776 706218022 128964280 673088768 899976394 776616584 960190564 788317196 327645780 620474450 273690736 845211854 405761466 330757780 470819406 392836316 252406110 91065642 307637510 18480816 255582224 746110884 710537018 650839566 489149622 250254736 990641028 348320928 230047964 615395650 781554360 701395552 63446624 973286072 426712934 295867508 281631884 739050684 488952060 631324266 965666966 611807462 558104572 572062106 473235136 563590384 203581978 786909356 893439482 303396944 959876110 787939572 311651586 369825386 76503128 737270306 564802354 894696782 205554660 891736838 613266694 951476904 125037530 684106764 473387878 658440346 955186648 407179906 156408398 399496458 155817604 109016226 696411368 83979214 584039142 469364444 76033366 930638398 516043562 31165948 959480920 405250296 402288216 134759598 274781896 790120776 932263978 704055212 449227586 992986262 405428732 417341932 366902860 6126656 539249958 925163262 561761206 527057028 736525162 867811882 154142834 754688766 91755308 186002408 661291014 965861134 539130058 91603996 442290606 586477988 219628588 627343274 649186610 729260010 235467594 257882068 194180416 135308154 613956872 359420436 645649890 887703928 809878114 204600976 494587862 224526510 336411804 740864968 240005010 969424294 362004072 256155582 554257296 92653406 66273678 627333924 863724948 991919222 433446612 167504832 731735246 366196854 699437638 572480884 968523226 919812382 646386170 689177698 569739308 472971914 174902740 965756344 515083092 16581794 675168266 330864442 817642962 687346390 653920734 799928440 783822126 878255928 352848546 129192048 757499242 343124410 363267988 682333860 261024588 182121226 523404614 83739222 678006146 620258086 30968210 513550712 368167318 714894764 893312036 53471358 444910230 497394422 604741730 334357008 3039262 428382010 813927956 820883688 15199906 209682284 901256662 272678958 864195396 948926968 530142154 254763404 487721192 652011048 990529980 266219354 485664744 959605338 906766512 221979332 690955410 698136776 125275252 121407358 937940862 396645988 599982348 73513490 901446292 372284810 557329500 637678000 535230996 265877328 623081240 680024498 113837986 501510066 768068124 72698480 532399548 629066064 430426186 979762066 986972446 714251242 753027340 49538532 402020002 507597752 260424348 372621680 878361198 368659826 477306924 765367922 820567102 336456650 457341542 744528784 67092680 400639754 100833874 409974600 327662410 503279576 482664500 407979348 547362512 926542656 534982146 488161858 704856486 936646994 925462496 607415100 954319566 523689126 471059966 249385038 154611112 740559130 531595134 870217810 562754552 858720142 690461406 264464614 66025502 669163098 487045114 501492942 230932322 452948228 18001850 251769116 185552222 615641938 95534588 630562114 832863714 498284548 643050064 877324556 922409670 698750718 120560920 175268084 517294534 552540440 441853042 841824614 145647272 564322962 449866306 388689000 528869722 972851538 461671448 800867326 641794790 26663512 370624918 821310606 92013214 908928836 422255358 179487002 886087442 890752134 945159396 449021078 621848636 752961298 995910828 550296802 589513298 696632244 81548628 679081448 370242282 75734770 473385434 445116980 521913076 660820214 124289792 374843926 650355412 702219688 266172554 87754250 177907468 806505142 315762042 769488408 852942302 158397272 599930616 84258084 5921622 574396962 872074798 223127678 784000720 993334118 932749602 983897168 556002162 514075156 702428428 129556716 813659702 177064346 85117470 913632628 106442504 257156226 471753502 916256076 617275300 673266352 746100296 81113426 687439184 346234902 762754422 18930910 12579102 985832088 891427068 368628408 389112502 895179722 14403296 771289402 436559920 141971530 383354912 80729070 235385152 726232810 577360334 898638538 67953734 16646702 864022844 162101194 883041158 221527598 204482954 834700832 617604882 837696408 224035882 682762358 936354886 496939430 60179980 594046746 520697066 395539650 53396582 793675064 264373918 461732760 875372402 737020556 58751388 30932236 977172118 533234426 285488248 305154396 339452712 971580082 650767002 481793706 560203848 215461938 379706032 929078274 609504614 994767368 89161702 298424394 69851644 98963760 15382054 698722530 594264098 91165596 612357596 224635308 604743368 854852754 807114748 688953692 667346100 771491258 172167674 209168492 382688454 549715136 538232246 830377944 910046180 995158060 302422332 500342514 449475876 822573778 96268184 236920758 904532538 522379344 532425208 560920982 16823504 164048866 251245220 317496456 199489572 990827118 866376158 226979668 763277866 470991190 173600784 357523280 311452368 889257672 523672206 804579698 89511124 762453048 340195154 486755684 225818362 996683074 84506000 930951272 507884758 304444770 319629688 536414008 510587136 130970692 665979772 209959428 124963704 668364070 765163268 509921002 969906032 332037666 638277460 361278374 767870918 761560476 698796582 94927280 235454350 687762000 835766276 425517064 511003550 602639558 401393840 465656810 509819566 835727420 568855438 84290526 81338066 174494728 553771006 629895440 180050324 984726528 351312920 575486092 717736978 59196580 79715064 167693296 53324078 392944222 445153004 342547272 479214950 919996392 167276130 60057914 173850860 310561208 35360834 349812570 555825148 355601740 243052962 581302596 570948268 532727884 137763516 455805428 101802820 741118622 293307570 534614852 23618194 803209348 70461846 725330980 494593392 467956112 361372644 982013948 160349784 165564066 864051206 52617900 631993372 808731862 566142280 904285908 935078416 17918870 331118810 255060976 338066068 13688166 360256750 472442096 884377050 867819698 905235114 86695774 967475126 589760368 124427814 506572548 449840380 53669244 721582602 179040522 138615188 904839922 51212618 177338516 323137860 606735462 771822762 635668956 898398798 43060550 342561444 601074160 232280860 952600806 75935884 348675274 152299734 48607220 858233730 216322576 899674650 740108448 694987932 390779516 370664296 792974708 237584472 542178342 661111650 608069790 368473158 554225636 591354964 277367936 853407418 3472916 82222646 233159084 57088924 671983016 267480000 128140696 389243888 645892516 636933226 177411888 839824150 194363940 396349882 856612218 90870778 892468336 322852922 814466284 170153418 971990410 311963392 287388440 508774784 949759978 100055842 190024140 452760590 201492418 241770554 915627098 348372822 65812116 286951660 598670162 237389186 536437232 586616370 373730024 909476936 252122490 392047472 257154 480837244 425568368 515674002 267296548 257411410 626374380 233879126 372449222 844040632 124266182 971907698 408059758 119438298 366984020 303074 663435890 104783604 63422482 619775170 852255744 847258282 569675506 82789532 202566104 769730758 166653328 717221314 112185640 196254848 327328482 10516576 362770490 176273640 449534440 147679950 241310684 212192488 596113702 107857616 439143548 845640118 219322926 782024842 607614048 773831964 365127340 650639766 371644730 972195528 542064510 25906786 608553232 573277256 295265796 516412398 793562032 453010000 789873288 392180806 863636888 462454984 401431396 31440690 441440226 754467050 912405946 892792796 615906124 89917670 19151374 618671992 39689852 448243592 495712980 178275452 558786028 248943138 437922864 66681544 919806642 81195018 342444694 347867924 893176272 897687770 245517158 707339722 517545096 220706024 901647700 296800130 869365422 420440628 217344178 50288438 18673922 513357446 550402300 776829498 846426760 948359378 165504464 217338324 87286692 687841674 541284558 507703992 186841738 322111030 235352094 118928370 340722962 963216060 140531198 926943830 715223936 345712196 605584204 23305454 429390446 640081334 177039318 487601884 195910570 967224966 573377488 310823764 432921866 486484566 30120332 267731846 116049884 946615874 142935100 508018020 685582920 295256366 704937302 496313712 627692438 674125544 126955522 980793900 89852860 854145320 804046926 8251216 383114942 5834408 982989446 988346650 700272994 531558836 712270624 631390154 279189912 382583674 727453428 873456078 214795076 750526444 413492362 16099554 677952700 176329022 944967402 484196506 703395152 53673474 201779600 430271926 137326952 29481004 850149208 109554476 252822786 601556492 490157244 537171622 137622480 184627696 182784390 55245822 969272036 910750922 278101978 22629692 289469970 896001088 351489588 7640046 622664736 44478736 13557928 749517502 4639774 896820920 12437014 667947314 607477238 221836566 746433718 797101548 876608944 215498448 93193048 611288428 448431622 931818492 488980388 271613538 170409348 191260300 428039142 853116196 340144670 983044844 348846872 493440746 13473402 952673650 810529144 4945928 204607492 469694754 635778290 839772238 665258526 717403536 463741928 378873822 56895562 437739658 989356432 793277830 761735756 391951270 86627764 458573878 308036668 478225508 251290410 966759354 491717600 360708318 987897370 762410956 160559684 877187432 26680750 808280594 804825632 633349926 303546774 569094704 673501546 141827870 648534418 677229384 700664204 841161920 281183660 200348708 756040310 109058092 408915472 509486186 873827316 215884010 833057350 476031758 336878416 914104252 273707968 840513294 100197744 664944634 124095406 667259142 615358208 839397526 976554978 84970860 472714686 609141796 918935172 787145824 554739864 279185132 840857290 130843622 913165464 291038164 727639922 318440488 399508696 798985376 947237196 179447608 120869166 691841710 512164256 913303396 847306274 347235084 738089680 190065568 868162270 957701434 541512660 613564904 269038826 379380786 845755042 498477308 892257208 267422934 974838026 949255546 287063802 810895326 657325170 992520904 287457636 686669658 754455372 777614648 713631996 980861150 220341124 854143986 410552612 24912542 870703182 884433258 158089978 626275850 570035522 502060516 946069692 339993038 985692832 747765244 294821116 859037578 534707188 68228244 257355390 627053570 721450724 320337648 512902560 344366918 470317974 44626936 572215914 884997108 194470752 427158670 162516056 788205128 103347428 606869194 564165712 541525886 802926824 905989508 536291868 432324144 698881890 192150426 799072132 47504668 853605708 547299992 188353412 41990574 612077954 127239456 300655444 212330998 212314398 712061692 111315980 126641920 220521254 820313462 551828504 228235664 781600030 927029136 586055538 780085582 399223060 189890520 261601950 430516580 231641152 913005398 889733740 489145902 699591002 579068782 398867062 210710746 938274506 353762806 220419910 469660342 271710692 973337746 272434020 11988670 65590162 758680434 753387194 566931406 886613682 778233286 888855112 97204980 732173132 509948904 322592428 987146334 877828990 886313922 926676070 418256912 208580942 79987644 716005668 73449616 866322134 146227860 354346196 479304428 543704368 864236436 558349120 17345564 805188600 88431870 458643692 206040558 725760706 392832838 488149050 320375120 336309374 968765270 468422780 784091996 387210778 454199152 70573856 135586852 183509062 927902728 318946932 551401238 455384468 549782078 825018016 448758486 222706024 212933114 792254994 477363072 391815032 405672412 297915054 866785844 91242348 756972960 131224210 67900694 768970854 733057878 718782682 922555342 960444640 482699850 784166730 475504242 761004122 569652086 353385132 570199566 609084030 368694682 794241700 442294740 804049640 495518734 321357290 584129012 84383600 726941838 735601610 978125952 450293586 851761598 977247172 312095944 239535744 611616932 237370638 250493014 815731238 820462856 996988300 55490420 756581204 496860318 175419706 90375562 613112834 100286232 845858596 291928142 216072710 507279298 738361290 229222580 950540966 42722678 973652316 151476564 144037046 328179084 837210236 938353806 790980950 74818424 450614166 46198734 589011910 927387426 367408498 140116672 465779888 50303504 981619890 613965830 572685390 73880212 436796358 91796790 595525924 179550012 181281188 389843350 51514478 920626294 156673884 78496014 939020038 916735038 36718720 860709762 691753984 250596784 446937820 308909466 336728558 481161194 738226580 12627716 651859932 608072702 261827980 381398632 362079978 531349976 35622886 206182538 969181744 676863510 906182474 857976520 493788496 800767888 911612240 17049890 452518284 331285358 739435346 936257170 279649592 219811672 770125204 478807868 386188394 430247944 603998740 75670010 469930816 469548920 741903174 95472762 873018262 704032162 987603464 161174190 296904066 677678340 380008016 601578292 646960106 515322278 813454102 831474460 202939946 831769424 305844506 344706052 15325116 452698782 278066166 769699898 248496112 4371462 494992868 301050026 71995952 885102024 957075370 640384154 55446266 359063166 921556942 745445112 378802248 944753496 160245954 751003444 731765516 640115324 532671572 762437064 930032934 921648048 978059202 962824914 168167766 121390322 103871506 274971294 557682440 760205994 289737354 950489512 781690332 878872332 248656362 69125548 953923798 463109936 471660972 870231002 463654092 852003510 543916512 125756814 574102190 543734958 212129918 799698388 910055366 863172766 392384452 769666586 395163408 616053386 995431458 57203230 341087890 645424488 573619890 708312084 443186450 241670946 683501384 783059400 985868178 830913582 744683992 569540726 767431698 353926378 367734138 494147342 113325094 534140126 825957130 477320422 421971954 443966764 800967564 290363432 945156554 459612800 118346918 659068632 369992674 142016798 300862978 928295634 868158578 339154570 539471260 633751822 8507522 982064810 917933166 142656632 870025930 954007580 354514274 940042710 997140082 251498896 48651296 325702996 336560770 357267090 918568858 100229150 229342822 539431374 628483882 802253380 340781464 891881976 246940722 904288096 161249134 352773894 952405304 832827582 954953412 622700294 925726564 508155050 203696534 368517052 695836118 444373064 981044770 496419606 690173696 324905886 29303390 286596136 446521840 273208496 566384512 567084222 470793476 473290474 456989244 387529856 502528428 704562740 480504994 233188044 501299074 233425438 868839784 739555788 738516492 113401082 236517120 238007662 837719584 490905614 872304202 220474440 373831108 592383212 411610416 594492176 757135912 766831690 964651370 191761594 148533734 782046078 118590676 139882118 670372242 496371570 191956498 347492130 741226314 181534920 501287916 473725710 938727866 975890880 307012724 628326612 303136652 152972840 457310706 243236206 765784682 86734080 832421886 758003332 986131866 60953708 181695744 159179544 571896560 623392272 830419896 398241166 286394954 634239024 247428798 131229894 143875490 204326184 334828750 119486736 601381074 239829692 903321688 44712670 562842542 477598032 829189012 887418182 487989844 872679418 504164576 803879878 970739162 222278454 986162216 686080408 285748912 144446088 255126992 168637518 920236966 274602416 320529570 25526344 515552948 950048142 675504698 321104592 801911232 724358272 565312136 121873828 522414254 328025664 715399422 835445662 273556230 182764894 385220064 657322576 234016092 883748484 88004434 156485208 679204456 173893400 224705416 15788788 557726628 825110034 186119574 728074568 150209536 583137540 156816636 802871184 937399150 441380858 474054140 145960930 978097502 327351584 680796894 754250458 741190108 957768108 723270454 197386692 724882688 467819432 591885612 510072556 763461874 106219638 42441536 853611910 782958610 729978876 430573380 898754744 243729194 558235152 625395740 623206940 129928512 966102728 425698822 993038644 212489350 369613340 796558904 556492982 430294424 648776480 985381796 662725202 538319904 555832308 90944998 505285386 553666830 986159836 336311354 20916732 474759542 56366612 768749796 273711322 965782698 548512582 902625826 711303084 621276738 861785776 834813420 325324138 648053866 429715404 560009964 574682828 489300830 263850596 364424988 533085938 488223118 16083986 176690500 935072600 850621908 798195638 712038368 786056860 526557362 851057998 471258570 63794868 43621738 779288242 860847492 115941016 111549662 964098818 528973086 253090946 766317898 184642786 814087600 972373310 389145946 873635218 476138788 556502858 743190246 826056954 810191122 577286724 688406730 713386944 769753024 1810690 730057980 97903820 80929660 850180846 606431962 951844606 497443870 348156014 819993530 309647260 695286538 695316988 452822500 700780712 78555254 6673734 817941936 684754192 541448664 406787818 292468964 557463940 731274100 523822232 694410242 614459126 492276302 784427302 494160056 776382976 214289008 809603646 945453030 392982734 828433824 795495944 568992796 425982344 177832736 413668900 117662644 687351296 220633480 411047096 983401782 492667252 599792506 559782482 831066874 75625160 565214760 314689030 790304906 348195758 88172846 987599714 184018310 862908756 903985186 946781700 345054614 151339134 855832142 511800986 796711398 397555894 612618208 248483176 599568826 477907628 959094000 932385236 528121550 155332428 602244396 94374878 409490742 20389062 589174612 316635564 162047302 193930256 829926102 42165292 489544466 575030760 461866956 514390694 429880042 432016592 498996154 667869694 346239168 275288598 506853154 134995624 183481268 139902244 803674732 301971376 635740812 296026240 318162286 859473578 896307570 618056638 557806148 409022150 748664602 474845874 100741542 418143326 277588170 505922880 417117448 947106000 471068432 541878460 234577412 693867830 396025378 516536658 273683306 204748558 517431848 61698738 362015948 712975474 618898096 296663642 32561868 13098132 558536890 121409084 924921142 592464386 22778560 396474912 648925468 847940984 79414660 934396802 331290972 933269982 710045422 425193504 270485280 498368420 350734908 351502134 719692988 637167426 938767432 833249206 171798600 998934736 368168348 412776968 988012550 62581996 677645320 685034374 77497842 606652300 837332504 632316700 366067824 470981798 174601996 886059752 840313762 353211928 201185102 564410726 161676108 143435346 105766484 801515212 664783728 741684076 953969062 804241994 781637148 565013792 503034122 773851252 894625336 779560902 839789714 235807924 703670252 933131708 575786638 388524268 928364512 520705240 574523768 749351860 158596316 764766042 254475630 585726782 453973496 424774362 465497092 284210202 733366606 931309814 812005868 280282328 694242974 339852044 36669750 39925612 892146102 132749014 86253054 314097152 299107676 616341386 102240146 589168264 232383860 497292968 449698010 687788740 938253780 353817444 27437758 579249566 828941880 372932276 919115070 302031536 271865384 825508714 558391288 277814082 573128380 907098700 830580448 797908556 269748354 838534354 84882866 623012918 642345228 551512362 513877244 366216204 19488324 233267550 767931334 448809828 781457922 739350220 558597638 348697248 740765290 61963826 672663708 533899778 533962594 237528306 680483598 121211496 700633094 78280408 478658092 439331832 344995108 343497480 629012556 81548424 693026680 689469332 129809272 199976558 704925844 970149628 216848178 631173658 863073354 489202522 418757678 299196862 916088588 998772426 142672040 969781344 483132878 131477878 79055168 418565672 760687608 784022108 861874404 284313550 137813624 305022978 441175850 375351550 259929804 330551262 663878066 835354658 265511758 853669694 438177670 172016794 363785498 962683580 184334074 18979150 11063992 700223126 618339598 44801368 340618820 73495540 390951192 287867010 635731798 637788114 224009180 651873480 545879860 571608338 168179330 411184012 848902324 618085528 812876774 626106776 580036272 886020616 264612216 968323090 748458372 793966776 770080974 163926078 533084330 761023190 193522656 229071160 819928146 100556772 445591358 247854506 46490762 577069088 369419408 86882176 372311314 977627732 296483630 562475108 553086662 521063546 96394780 60215922 70604028 898248368 737926730 970723386 342090828 974146166 20762790 148935042 81692226 418289234 358518904 679240066 819940390 288594370 242409606 791229164 620813384 529120482 987014576 252474228 483908506 932054246 765246926 505853728 605239450 857786254 850971094 64971678 309766298 159445970 192020318 792127670 560922714 194717032 823837124 793398588 624421006 328938668 709570286 752165870 841359212 385493458 621658008 753430066 396379854 169405626 647684372 99797832 753479338 758550816 173124918 148446170 666016120 630975154 731810758 416753972 971140114 353710618 283540828 667406436 858803290 922123450 902393048 185644022 437359434 520701794 441763298 872885916 994372820 735902838 742778580 113946432 256762392 913131338 19384620 909235024 606098646 85976276 122822792 191639932 157266302 760936988 457167430 976347352 13585044 238363556 970328968 651501562 824457466 405101400 45370074 436358002 228195874 465948012 736890950 612105018 121597432 415717034 173773668 597380174 89059618 50666594 420606502 140184964 789006940 617845742 594342242 283664744 689306520 16817516 11483826 416163426 949093952 405235788 539564854 235393390 812377938 296430350 890845624 998317720 89092118 892077788 585731006 780789712 514388442 54373802 201263328 900055134 65721702 605065876 542871336 6534332 417525160 210922278 948835268 504348974 79946284 430928740 745394458 210758942 755779728 725683640 909668490 182605282 47193014 538676816 811978140 496262868 433044456 693401276 687312460 860544374 190898024 985761628 418415904 934998728 858803612 96369180 892037268 511271020 179632194 683035236 234525744 883354818 60294228 950103068 852991442 285062302 714570986 263306520 825541902 242893974 130308814 209591470 842237036 42488638 420034652 710658626 48991686 590886508 465697626 768715518 941402290 3146350 571332038 755403460 775554390 685001876 971909186 652430356 880499904 841153544 26302280 50538894 607238618 469243068 223775636 570481466 848328214 979359106 832552192 918732914 112818260 600124910 716158834 442697422 634629916 447647158 808935296 34698304 268791852 707999640 264691034 532161294 895023774 893471448 525849522 152675522 347063230 345224088 157712450 17267822 971504168 710719640 442437156 166495344 3989004 808422710 60124590 51441158 824285124 712651668 715219952 776338202 4694472 502684482 322953280 955639958 366033374 861257350 764353750 59433746 444510044 782458414 330955278 701183616 997255262 344734050 386390606 178063288 853467516 480425614 173719826 824401162 517174284 476384602 156632178 660881442 131476202 144923068 344635352 993798158 694811512 449417480 633855436 721386522 370464968 745408790 690053692 342667888 732453842 640946522 115964082 542711376 575439564 529140850 214148868 334543920 836778960 898455564 600712500 525077874 467292412 987503016 301299472 646409380 265916860 828416774 131872844 373477966 673839714 915914478 865880368 607176990 44839596 40861706 947701782 130683530 133965462 238680612 512168650 654560962 611277972 770428820 469658290 475976444 751564510 113099378 719584134 529547248 489287720 355969652 829691780 571237018 741164100 109263976 931670416 452711522 561804554 199390798 817402074 341839638 867241338 657630340 787138838 981307172 715554712 624120070 491550750 925739534 695943974 64999248 765008332 272049236 712006714 450765598 666878674 567097070 231329246 597985938 275229124 551535182 985068204 200491562 647260422 493994290 818663218 943857562 962656582 433460566 222162314 350010008 793495116 646795510 212458260 387016030 801881000 64752838 880591650 213987624 989717664 909269018 280029854 513663200 108195808 88195334 991615238 36300368 621117146 795131694 718799578 440793962 792313494 408123374 325244398 834681792 661553840 368926604 248353462 708403064 685440832 310217898 884057176 851732400 876804630 238697604 568831012 641067908 245342706 470774284 832925892 775146266 182762796 967553872 285119998 349972300 730871416 872875268 930078652 193518026 55989962 814251022 726414020 334878926 341428698 202338046 561047168 187043320 204106382 252900356 874525454 577489574 968686706 449600836 337818218 867932172 192764860 337414920 435039390 727159234 690744192 847049076 690590980 167079334 168803600 501044210 126597238 147997394 43773766 347954182 53522386 394151364 923025076 368222664 477520550 299093600 212660940 610658256 316902370 909898816 34381384 481786000 76760692 374434090 627436614 434822408 263933884 553435660 980171802 473308324 999276058 986022726 911664558 648186588 900681944 657033630 666330968 723500806 167910658 55615792 119237370 814726408 330059660 593990090 696324484 654746660 595519290 104190608 126840354 898165778 117460470 873809504 870849232 990372970 767881918 249569740 743328448 815141758 766099010 126946534 556380876 777924092 31708880 533137930 822529052 652555244 396818438 27239346 743835080 587845282 303022636 776189088 146524854 593288308 405866136 618196880 29778250 308122940 21869188 34982300 567550516 390034748 379723556 449226344 62754354 526994228 710367684 95439402 75174154 41601036 255218308 389383474 573632842 298939292 193425852 967220140 996061116 883997180 543882658 899356290 514438830 653485338 802221246 502727296 71351664 682741398 7569992 831469832 674424516 24452122 345805476 606496950 924486784 335387458 246919552 880013190 511600822 852545498 141729804 93176964 118311062 198911906 52438154 278449520 378846948 823910372 282083250 435905236 686859710 608705670 25699900 43314848 668090564 968390620 171215718 511253074 263850556 604077964 864456426 95729242 843815958 721807492 943312000 600109150 73225874 659620364 420417848 953411580 568656868 909241512 755035228 516014538 392190814 754770616 832415600 957246494 428064272 293507766 499170192 736740108 548378406 441267650 829362894 719326072 888039108 199377188 656868232 947859718 993697014 773308450 372306982 407516976 215053752 770840346 965248078 363078000 731216474 486085316 177931398 972145060 357859306 653344200 50312994 999599258 648930792 669046830 243914046 719936234 742436098 165142866 390703950 685726370 573412692 889795378 269007232 736868644 876181904 264329352 739998334 746956800 32276860 501880552 830984188 142759000 548195946 534348240 666930560 237179004 173643704 381570966 240289364 970544244 438663206 26485828 751622682 59934756 588532326 239293928 589821012 360607394 215460768 810732694 647549556 540514286 264918808 670413342 489501590 85868668 355015986 493153274 753093114 426974724 362466488 429364068 652337192 422288198 253380294 450774188 284282316 902016600 414009180 744567038 524586026 971632932 762655286 705307162 349071120 701684598 229737456 282600554 917366692 15775228 303626862 119169638 260841356 673899306 32434720 758650548 793082010 487331996 483393668 858579982 824857388 462450092 594378660 749607512 27509654 782142210 672245984 644343646 714506168 130631440 606125318 478375002 657767602 185689280 750927616 361950318 75146322 120441648 39771172 432846682 460809000 938855138 982558188 61120846 951823656 222753524 639547376 765578854 748446666 72486326 415645070 538537778 146832020 457032594 863658530 338470138 501136402 751718544 601282136 192307654 172777726 549430896 707423494 631320320 751532948 197347112 377868586 455377290 959818202 358993746 734921434 600713594 238496686 800690104 187802970 161684944 862421278 237384470 284349596 221766138 411693638 411369728 544017194 500141080 244919454 241599852 212372394 65746472 643110006 686377742 731366948 26927408 298454640 29599266 885407002 243179726 87143034 824076506 544529656 718184264 111825350 770750328 201837032 111312514 715010040 606942460 584556968 148865420 259050702 19274338 476630544 641638444 709970124 225319752 910690292 737181428 599187878 566630184 713041238 378832032 900935856 400384112 50220494 963874646 625347602 874657556 663103362 2957342 256612684 103758058 899457084 109641548 153171994 515796738 68182156 282412372 386942010 790176944 591834692 274933258 745234406 702255962 601060704 518263460 886053784 961138298 957061548 396088680 265904678 731278534 522554134 606001292 916802890 328578214 288496488 314462616 659354448 718718266 496739916 832352734 290348536 955730330 185577484 473730520 978371026 364401440 237714640 366729296 857468968 4262844 991981142 76294774 239382528 656048930 491523502 984199876 980291162 444607184 31956680 239159520 800199442 692367232 679810354 906364440 515449612 23222708 419014284 218999254 763255198 349848078 890527028 962248990 416850520 712430460 756076718 395988316 351246310 429819102 877558540 634905006 873877616 313236218 525119766 741306482 792811720 383399660 371602588 455189002 597966474 665191348 467888988 790176504 461479448 482923604 587262030 246169982 988471746 105136520 966755758 721775198 34819110 871281876 173860752 829466956 328538662 260491786 873323212 983950476 887819232 414626286 109305828 786835222 441764644 658726688 71034954 681627142 247417280 752394848 424454794 113499610 748613764 824149886 696769468 122517990 796012052 698473042 316910890 701947324 871649938 113726510 977136216 871856122 763970434 836561640 646775126 438819052 781243194 721584544 172055180 461036402 17308126 54354832 274447394 284502074 645159472 643212934 721576206 393188040 171909782 718191010 906614044 652586654 117552394 711538564 165954476 489015266 412616942 614811712 186536142 20191368 812639394 922972624 589544468 225700002 367775042 866684136 170723016 220277078 261450166 214117242 221263190 350504766 743465222 205710114 750558364 651908058 923029260 339624014 699581394 805995434 523945872 728644520 785755138 611236016 256291054 352902028 41525732 498376078 751670364 154933754 61232546 361239602 712494668 742753654 880530126 505120984 7817554 346599262 450123288 292152880 401463688 490303002 809872872 461840480 83532290 125805152 640170456 855870724 576115444 964710456 428916232 676061928 327593582 454687710 797618084 958011838 196237794 815999548 484347188 482082522 251204928 243552768 370372822 418222190 114819142 526185798 75240552 132669738 95464732 478904332 256850602 322724818 190717852 355686384 17566024 912404782 208973880 518698476 801683532 625614468 714369416 605555556 712168848 593034350 710671458 174207136 42091518 993584086 772521038 655876222 989147936 102631758 802043690 640028096 29749432 794648004 299327552 657078278 307518114 62913928 5437872 195068674 744545656 712422356 423702042 738026918 572542066 673087690 7422604 604089904 737765030 605733722 232827994 923615566 949889380 933484584 871383606 572404456 991590820 509640566 104282622 256737708 888410530 378259342 830809930 979600122 416856598 335987018 344604048 467156338 669031810 747541782 883935048 126037884 833316348 308346390 327890860 357263884 323757978 837718146 701368612 179328338 797484156 914627524 471973344 120073748 298626704 526362910 881003978 417522298 350684736 721883586 949167910 961057332 630386432 837340224 928377854 917508784 694450912 435177574 591559738 531015348 796057930 188192184 6923738 967298146 541611912 156730594 581946210 131802544 554915406 100825632 8686056 722964568 867278214 36597412 774896494 376921314 973258038 575619708 973298858 32135820 867040382 830360806 292919338 573756168 96562492 484138550 849208384 499298186 588400258 833247690 39989470 845357164 54706542 822656120 390829956 85283412 329243694 645091028 770330614 227875194 90409546 456773548 548690268 820956160 436991918 435067588 833787126 249940762 128961222 459659720 291841618 602587508 81165444 116861196 978420962 469558324 734664200 860617366 824419720 710541868 947993194 317323852 397505332 641800088 186675678 235532226 120161772 29545854 84990782 83464854 997996518 433064330 795738094 949397382 162875614 432525602 426938598 221039272 613388126 324513060 762125482 197446130 890265482 157123350 271354100 380162252 496913028 539999498 613162934 808473460 223136494 695853346 901090202 304432096 510950464 22048914 483737302 434835782 372722490 156726932 70295914 930233880 95145596 420389946 858860680 855960144 123539564 11412352 837321518 954826656 37565980 599954404 263254396 129737030 38843798 550446206 212075798 143310406 97086716 669167268 148672474 436845774 475152776 624575470 934382882 706000056 942105720 801374002 790865238 762181310 613233240 138269206 271068204 890635210 494877298 457725372 779575330 467459630 164766900 293774760 246225748 766257024 199841056 906480662 54917424 810724818 908778696 178892732 507234774 941762080 361572446 93139742 13350092 752443270 274253584 198960674 787095978 182588732 499486648 446640204 952597680 765878808 305259976 963783648 139758040 918941230 622276026 421446634 942725484 533449142 811949484 822954898 417359100 470276842 813209222 749665736 574376082 890893680 872228748 210652874 817597722 910060372 414907788 691397966 651754742 26578214 305538746 281017578 689363990 576577336 371221696 195850388 555299838 104563726 161715620 514558374 764925874 312511588 344430420 786684596 651350808 13769618 908603780 818376550 956161424 761324596 593988740 883429470 470800996 679589670 528772186 131818084 317042996 714696334 19391640 508569906 964604604 589693326 952911094 383127362 172843168 739265784 18952324 360371468 559948280 426845802 286510296 91063660 617775798 845880154 622479756 641245076 129617440 451291574 912543614 391211754 833871570 897119692 154470320 393338748 28632566 317631818 444075084 483445402 514381520 866815142 173459670 280497702 20974400 444061166 327165246 108468540 997311954 419493246 141582520 641911032 535455044 511687848 738923618 247325956 344422002 526820360 876449262 353073538 933271124 830853768 199054124 658944878 949535398 706613458 546975408 249937570 792427288 962579900 994120682 655365738 178644914 507971236 508303418 936323786 559819018 812645200 738820948 455211490 336491336 417715986 395862308 302836406 429640812 679015660 964424624 478644296 223252644 197377118 876139260 295005494 307847250 717350320 657829444 414878926 222255546 870265268 237502314 346179846 117396006 272537794 31798818 92286858 115038116 727293130 368389896 543270114 309669346 999559212 76719806 57416174 687081398 336437084 336291514 1007138 958582472 745768910 929320826 663462798 53391574 950435506 149734822 963976988 460935120 261775508 693287786 562851604 661554032 897324436 941632070 931957738 386549516 446992984 31316194 952090734 289754550 689413114 622604704 764949940 867458202 290020260 507180068 254571836 85250796 951104482 532392686 966646674 464864246 291498898 338945852 542642698 388418642 199791612 997684558 525635036 953151086 576059684 536527334 583026646 413753742 680076846 38909094 822757104 284588416 164459650 454604856 397120526 625586604 214591312 483906370 654852976 26862732 858770332 970811150 773229230 973992924 463197374 666732280 883043148 478147892 358283534 971835558 988018242 982002960 524350478 548124450 89571556 994832516 563703508 122651674 255779596 812683180 964866202 55561204 812434032 306896322 50947456 991927724 90172570 914108508 705024352 930061908 737354856 264628846 240306074 276263908 186947870 691491940 147188722 156360270 668825582 720529980 547196404 917573526 714229600 271477224 874291836 775215306 247381200 270879598 702314554 201104674 72703510 11533904 4629882 8895484 649309422 228768838 602134706 871407484 762431792 194668804 78155258 385112330 886970216 253241488 612508810 704835582 350168188 665454302 22343604 978954774 652606236 776412578 494578208 251047760 815009856 380642508 292278406 525991426 165661384 902140582 418307860 928014136 680242352 485311052 995063140 769122628 966217430 469394596 823059788 667814934 998633402 109401682 267446794 291402260 132713748 985145928 749018410 200415358 733075182 491138660 247733770 42313704 293605392 181534488 986069686 197633474 404449182 458330402 62742046 365381458 178855714 432558928 667821506 70627970 864577446 645126904 503511422 691412464 364390518 530415116 194068658 890256300 809456942 661615730 504105328 372333478 684459420 636509914 197750752 928220998 427841310 20532376 596602874 990257586 119544900 292368996 823290628 855996006 732475904 416154624 16474054 555094808 400109868 511816160 949314036 748857938 282920552 119101798 720806678 277899282 325944002 759230700 472811616 552118850 182033166 125882862 81397366 31077952 511564022 505023118 540275898 690481926 68966072 578570234 35708912 351155568 326961228 968964434 330374296 659266664 771335070 747123308 519699946 174706972 708710496 619519774 108123602 466399236 404625968 189153168 497658172 395213302 391862404 833428594 677754692 958285256 270847840 865400580 15769674 32043318 634279586 713447908 274342526 235321842 21752834 12724554 719055320 679136978 95817378 4191370 73540278 711625980 365926550 759223956 2313320 661905386 854096518 717176998 520288014 240587830 566781082 258318306 436277428 83592150 186462392 458291998 909834256 255421380 509608094 671804140 764713586 263783018 463534178 474394176 117030434 547358182 361621936 970832856 435910402 327408958 518885256 286633340 692510332 947204650 37645276 464020522 890071046 78586962 152034364 222236690 866434782 168669030 858438906 79099010 420508390 625212232 805917436 250553088 99219608 276070194 63011502 76268174 153522280 848091060 61675222 854937584 917944074 899907396 222798884 167508186 606903114 249971376 419014278 119949638 218662420 764753800 505198312 250972850 753430870 181481076 634497560 76681118 938298858 524307816 312303508 58479028 393582234 116551416 90480832 108926670 629534488 624088560 725980120 555317926 891534044 475282874 938183966 28559910 714605020 762000190 567089136 591981972 8106964 112337156 45368902 842283674 820678620 146959488 277906772 668827254 658458566 556924080 151448720 828858318 623150982 344099204 475092392 249519912 857578404 378602978 635708020 646117416 716234672 560421556 114564322 870506046 595084816 521936642 106703840 844428134 854089864 243088312 962289518 186944444 148626044 25356348 202473424 651886396 2387416 117608454 806043916 336684740 666757390 542282190 654720046 787257860 100722986 618179856 410706160 687047570 475768882 97421108 330316746 138547606 230356536 95091840 225096218 2347256 42886168 824814698 637182776 614483808 647003856 212692090 123131546 939679724 946716656 57355276 312740566 616932204 561043896 214088456 698928708 25572542 870411154 404500328 803962002 299776302 257359384 705515800 970409916 541553466 769512304 523796522 461510698 403286778 598938404 612108708 221580710 316678538 179319994 342671182 741476714 978715176 931947280 775776330 533669370 679707970 550201830 616868750 25566460 828117738 673193658 376371204 421424178 205899198 416051396 360398174 772567588 234468316 32142764 402108340 304357524 652314264 654801362 56630422 513704930 344266694 746986928 44547490 396267750 156419264 3525460 557059016 715899492 481708214 67475722 875125938 133235300 957288174 19145542 291754580 644056318 658331814 758851724 53221638 709464078 429207068 735139600 478570584 244028556 151021706 451649106 465582242 263679976 957357498 400022210 716872594 552591876 590368252 133993312 41430934 889152540 733960850 579246288 316371492 664723196 909635578 130275386 334320682 177670482 299087964 282362102 494885018 527769010 948017266 587024280 212076558 93234658 689205566 61189786 831590616 107975272 119495140 787557390 880824770 523696056 546531038 217287464 327382602 683786182 87504738 268270402 140443930 551768602 922453966 904259872 293528810 971595174 831366668 505704552 315682568 326699250 80133778 683995530 268404252 289517298 1881652 580622090 912198868 920199796 709422380 142778816 345218292 950272284 720570532 795119882 700537946 207550334 302007086 88872592 596460322 402033692 510971226 2240246 219796672 403728730 806023630 325831304 531932644 285997652 865471776 682456126 841206836 654359906 527532692 957592804 530095002 281202438 984797420 915429632 93006608 900034582 628534176 841765046 68821406 229108376 445578824 425849322 611058560 592805784 8231204 428533710 267038028 713963592 250029348 632247144 923471280 720161628 633361740 787444794 201239714 170075288 407753990 424387118 42064962 385287204 829171406 693781122 305265262 930897214 990591378 936996892 524529496 634495034 942082 611643810 325349204 326451576 102359080 326854502 86780578 372978670 705350576 541652928 882152880 272571160 635928804 932979910 452581640 457583746 361389576 492017766 511701336 872462500 121896892 815035206 67849232 714533394 556150000 766086936 118127104 410914450 532630088 980866110 433432646 447333458 67578338 282187900 222689906 700293468 438927840 935017688 1843436 48751010 461176406 216571344 636051992 622959560 531896672 965437330 302396182 768965186 36479590 736202184 601843970 5780158 20182286 565543106 919457754 298184590 150877214 612191380 528052294 439741048 671582850 552714814 38949068 705723802 462540224 423730702 856336024 21288180 889418814 136541574 828328800 743999080 137042256 421483166 786479100 985730716 363725824 43459594 882475082 835208284 923593864 911585286 948058146 879728370 243307612 898963746 752934504 323035840 325658444 387872744 988480012 283363734 536676236 861506810 775390588 207348548 981823988 809603190 895498532 434881108 894893356 5846922 320611560 926075232 885795932 711440852 319357790 160552574 62950046 699811148 323677854 540424888 854742844 213907308 822555772 851607834 492195512 298919158 21452592 129114450 778622506 340269238 670248200 226039824 153276090 350143140 205382688 122427784 296511388 43376296 702098240 331656866 145113474 857621016 638799914 949959826 195816264 916602654 304198606 842604994 347286478 762012634 530701658 577385448 825068742 641897500 67156150 357137700 557957246 69608160 814595292 748393980 8927632 714061420 506923104 707717842 470402696 110395288 93175306 16609012 585408732 422716698 252772624 219060454 559271714 582202544 774315050 111757822 341042718 286278498 255923412 85412518 683468570 237427664 118317970 438760394 900569760 59677694 996165706 306845196 428820842 586537986 493494740 136910016 370674854 708116942 154225512 224531526 719273876 29971926 83222854 554153474 805404966 766156288 255502504 880058792 532222824 460881256 486909410 124959880 240664316 444324708 999211034 555638846 98649610 829829254 305793466 180394674 603645186 7082524 751452058 186868312 579157816 650181570 817480642 400187956 383363392 655643500 782828384 457573858 655546404 680678974 383087476 902316190 137688888 90526116 935524006 268707668 860428034 968227788 515520096 568534426 926713124 752645522 58896782 647505626 996129526 585643874 311738280 756817644 450340636 779626870 209782374 359150158 330453252 918943064 982731774 555735942 73463724 656536108 97340558 567986546 150419966 777262518 240398034 92357738 12441126 369834996 682916322 633956222 453037712 964695668 936093080 543328700 566058514 29839030 342084178 24662678 909878852 22204274 301218552 670445266 129542726 865711686 155663540 361768714 465213920 219040802 950545706 482408168 971002816 658656896 545722370 393624900 428419916 916368756 788058704 582041702 57124080 690659712 693501466 432777784 47297314 468282018 966829872 591293698 947658488 680043848 315912176 546090984 197275878 624793424 468828486 20014256 610501104 158498394 888499554 290127252 195436866 446511726 78289596 511675158 444584594 482683894 612239884 237886656 987570570 429982388 424428778 820361442 11873434 184340212 134287900 414387940 57818878 842670890 510339584 895951532 710904344 468464648 871900824 319005430 966947210 507952406 69476878 403826210 951544144 423783826 947831366 441552600 273860846 85538724 456316490 190565256 831976090 846511256 573040790 318324828 111148480 692569368 382466782 428547298 905619556 164805928 867460318 636393970 561769572 623679598 980637420 414252662 244760636 233600816 336683748 705753846 317665212 919076948 918077174 558387112 227461016 546731658 461722952 492770588 440975092 801356776 71971172 6935816 847206660 457988894 604780742 533724736 369143744 623423438 42019426 144189628 438423978 694479928 609270658 853965748 926593600 288690086 222599060 287581580 852948372 847099840 518587718 150982236 336173344 570655990 527540526 630036464 869178464 747799368 196882548 153150876 977005256 664638740 444593462 248609938 242115228 394602470 518447464 984795614 114543368 958951844 51365432 225889588 96533304 676236928 173977690 952603174 970611286 56614056 755577136 747876534 326109622 355709236 518838090 581035332 327437028 845781214 295179648 243310016 69099112 259192904 786153046 374945480 620055046 138996960 567974458 261702716 526735686 816816756 488590808 261197450 616407568 546577500 356616638 557593542 929311158 42005136 331973114 751831126 836407092 58743158 723524748 153426856 115637284 309514912 378813500 469964556 334512774 7395964 432257490 972095964 666938502 330255308 594305360 934454836 199672168 246395512 139753122 711176782 306546686 481756550 207952786 554531886 718458464 59853160 121640820 99112134 80910114 903697774 635009208 650599184 313734044 373368954 660655708 515596376 386473816 318417152 494561886 767795714 695190462 548816958 49424006 423467620 960670142 307434180 667370378 100293990 638080000 587414902 229901982 53894792 660682474 989021124 364749650 444806370 412890888 665477986 750910166 187887798 174702106 450551280 180223610 630503642 142624966 757992560 279262706 872607422 144488772 191853202 272701760 422470638 849522148 220749294 5268742 243988586 443162442 247168772 668417122 254145066 553074420 307137252 207264868 9713318 88775138 7289416 431010872 706962208 839041658 352192108 48266858 509463654 68593934 891612454 748653168 831202422 689482744 304548318 895296972 427950634 975991324 865752204 696232274 906696050 543278526 655778676 434586076 95754966 337059274 158162794 15400510 6623776 59728412 135068818 594464446 846019532 25260324 281291720 736348450 542261114 905162660 361044378 628085132 304565782 568527000 267308724 729470106 658749674 511056844 612347958 315059604 608204846 41106898 597043400 250217118 294962812 477360316 656835646 961124900 189473722 993430282 671151082 157020094 988670614 993892624 511236572 900338654 119172 314502662 160689806 455822952 777314798 517557032 516651634 418305364 521806018 10476216 308845286 21747080 295213792 973653992 515966962 122592370 721396740 10722772 397455646 866990844 643288622 798914408 292820690 65642474 466313804 996928218 57528846 379404536 281287490 69179752 16518270 437313308 791402488 593778466 534969864 100330822 928978250 112438858 538664744 367589198 763898956 837854836 835251312 232663848 221536066 645892058 597685372 741779612 778071934 772788988 311115644 400096994 432528314 691187788 434828508 50894056 400767112 158832502 671286848 489671062 983285354 168355930 583922998 614544080 664335936 20349128 588060136 831445784 942716244 722764020 686897974 867357548 52051160 523593982 244392082 921446900 141672744 549525732 483556972 537317228 666926538 79510324 58885792 830359718 774799964 950411592 178748514 438261906 678332930 641864402 4591652 346545446 507019932 827300480 830632044 978932676 652868072 257754396 919645686 442867622 479046222 797165642 897384488 903868158 658105810 513838526 341832386 21219684 285998042 469110366 274854022 909577612 331158032 209872822 210849836 757385770 633151620 606324154 401146926 748417060 480523042 345732116 531139618 984655966 150597994 780439256 725213138 806355822 270235414 404506792 317349928 56753810 322835478 519316852 232166578 636277056 366859200 233116620 145718794 254164848 723759802 303210840 890004738 707354850 25676832 814268902 742788854 88364234 633391944 147963200 214630344 483424270 344780086 25393320 511883134 614192326 516602732 817818770 516148532 805278730 350670666 372886392 860485504 651328556 551526248 694757056 429875188 607689644 939820370 778181588 219809740 178166146 914242548 477667938 177979986 587782848 488414566 776550946 936790352 48934370 474366690 109331852 438543862 473492618 216921786 707269368 691278464 802663098 503012016 312975658 969326012 174929066 318604850 629119448 902774136 786586 782127558 732268072 504720276 715723662 206304962 543785168 384256504 439665332 593687838 151795026 155118180 832593294 86141204 464263124 606560946 466378616 360393078 253510454 178834308 317108132 556725414 943602722 697405238 993920524 390760468 165194802 713184992 163898208 291240820 567714526 399741086 419722384 229555892 831465312 557935606 724325182 314562560 320032174 684436196 967410198 267483786 434211326 929996184 482296292 955104214 965903360 123119090 289428982 453216636 599057078 7484696 517246054 515455634 283456764 119704554 260194738 996963056 215984342 892825516 41037280 703035174 192667594 437595250 43114568 642434800 983831760 971162380 994904886 996187144 416081012 759558188 387616828 794226544 374312346 12332992 161084880 848174756 770878386 455779872 349416266 776162408 660998912 151969918 643345022 558720868 921668678 937673596 968224694 744913290 840241942 265300358 855679442 592599644 587993402 170216082 419461072 596090402 230293952 948111440 263791212 235956412 336108494 99156786 708779072 860345950 789789578 924574400 612434480 225430608 258713684 261550668 888723032 953167532 576105922 299482844 576819834 343820176 753231264 506596430 13436548 398594848 213529700 936814022 838259134 40761174 594471938 5859140 198464214 51048666 809362088 582863272 33286026 345632464 37011262 292895916 912241370 301207764 609192768 808883706 905497666 842531034 230392366 465452848 225737576 579877392 179482942 198820094 399065098 360163502 421570694 91351168 810955992 189559336 181982772 798095456 792149370 529542054 975810902 682331836 49047288 422387356 767891852 776738592 353576424 824410884 78181372 677469358 591139934 29579038 194699002 214136966 23395266 525335632 712945278 135191190 594499130 22235686 357674814 409822522 117018202 661606366 576643280 268758760 588760156 932928164 866986976 652004602 259626146 64839864 770510758 686259860 647220588 745731806 602379938 100247932 786161140 40219920 238632962 180798692 354553730 725115366 176320374 696361046 413879616 764831794 725444712 311329598 191142072 844460132 671418756 549981216 825717402 871067212 543816964 562357290 348020838 939544056 655983134 887747832 510192968 375196214 104841402 132923780 962483026 908912202 5820736 727526094 639602074 454366648 8952392 335224572 538524420 188361580 254723254 779045506 788164024 410757496 143151968 901618350 520385716 447421168 208728260 668669622 133099894 263953948 341031388 88322902 351595548 908329354 368504098 573627500 890873130 106555452 411290204 332631616 366583844 333137310 346696528 480515674 992508162 155730010 214977516 731297142 549139858 255976504 212940486 994315154 893135618 115234694 969771712 208894912 547091088 860814746 681456230 781409220 715061408 833848786 775420 187879388 106122534 296465190 966142772 576179778 847297308 909638964 181981238 931420724 437196134 665357302 409281566 546039822 126136070 54737868 900155372 690886706 97691760 856646642 285279498 415612640 706874206 649089800 578901870 296544030 384925264 774042538 951403530 184544180 78240904 994444554 936245138 502942352 637879540 8034802 628675788 196990520 460417676 706782630 911058836 461960456 202773438 334353880 637977440 583688678 861244196 628098366 701461406 675105840 302238558 812238602 638073416 896304120 594990832 330017142 968724090 338894042 493786440 745002738 333232530 498445578 404249876 371259006 282979212 586777004 661300666 889286324 260316512 745672832 292184928 555667578 422571512 63448104 132645100 247561756 908286260 978041146 89566532 503184546 860986218 349921580 841766998 711478854 874684058 442150484 503781924 47635784 60333202 958101822 539690930 224417648 273963666 999749948 639432414 573555940 670623602 975183662 900703426 476249636 444943044 325883050 457411402 727641830 711888398 835078460 245777986 487441570 942368674 365263294 665160292 994321318 895796336 191510630 217966386 228962020 520711708 625323572 318188864 53172184 687374484 708550002 151463724 168137268 120739996 721443064 536527610 352350564 362945924 161352644 813883184 926545708 268315328 862138030 949498292 773072094 359351090 862200 633926880 484163648 371280706 707825590 854883704 123716676 613979636 187674460 593426068 42604970 370880674 729045920 309535556 536959152 672823530 134989540 681752332 451874418 114193900 666880682 432653430 786854648 641286574 546154064 293236490 677090106 483841476 624965842 63390634 744677594 647754562 816079036 796133714 271246402 15020840 189486326 80543548 348358414 214229334 13471278 11729306 354276124 579653616 617540686 416679842 61328722 493742096 24376082 871710010 709245852 818224998 631129966 808824988 977630902 115795728 560098886 281565058 9611276 404779674 505483122 484555716 155091396 173432114 126691598 383427568 870872390 834882434 730743356 709453522 524065774 319453290 519998838 404779444 221773604 339280384 632911324 97263844 926988822 332118252 352618088 230519368 110704482 747075798 562096384 48280574 147270194 104425800 43351958 390109072 787256138 589954314 547098376 654474572 746354498 726987496 501536074 283469886 937840302 619107544 622952230 985097592 288117654 45688896 161974398 53830490 842705746 604121282 59484770 290807324 803349258 533271824 465844456 346889768 4147362 685809130 557275686 491249292 840390512 781863128 321824748 722795540 695810940 382772090 356184218 496007246 221739662 320997860 202072232 630307678 513266026 836950116 894577832 896590454 442016206 441319112 438555252 818362880 110112806 14362018 693715766 177950702 334325070 253181752 827625596 253111008 750727500 580343042 255549910 505053274 673222334 155007654 812925908 926088792 438334470 770254720 306805294 846775104 903267108 860207554 878027486 459295502 148584830 459840756 118629108 670700332 880275330 328155880 342670498 733208934 891888820 350554360 225440018 994348292 891068218 726281802 875943568 881562918 499462774 927913030 443531822 790823294 742051938 181235474 568598970 609726054 171718056 520636232 725653010 217289182 167535286 802940028 363830294 54835298 227435222 528374182 811673778 658873340 172711330 185578574 181237856 680257088 373771026 295025772 33516024 360188106 206346102 283266884 890724922 845387044 235680002 726664404 234728624 857113756 100930236 761442426 504354524 567790592 155158526 696033218 256984844 154347694 929919986 195488722 773579098 98453790 227849984 195023586 438706180 976362422 572133498 239377470 643005184 797061546 573416544 504929810 415784178 113742918 829186230 252597704 241218378 581126092 792372664 756230086 272373618 447513998 841046752 263913372 753208186 54435096 684645468 316273804 696467184 878268694 157213250 969331858 461875010 591007006 752292422 275658166 718060668 11949392 888482386 368227950 241464992 310851876 836779818 897793494 908846328 287704242 186884018 813907800 760372254 430160542 58856348 108611020 698051596 507418692 932635548 471497472 956364202 292614508 603245362 902237010 362667278 8390728 647857992 714658080 804920612 976911916 862510106 513807090 952670890 906862488 169545030 376277898 134935884 942683968 391775740 818669012 752679704 809316436 111726206 770279138 101512632 430256222 408744470 43218658 181213884 993129396 558391144 995593060 44782690 484172262 461326344 782307998 678948090 531468748 970122228 32366828 843878528 678037362 435962540 739675522 479995386 801539194 388671366 237608526 791026678 770024810 441144292 882852608 624940524 213167482 420854510 353102932 42735974 967277680 288000004 802737140 892262390 584583022 278161868 962457634 187688688 866827346 303490756 352829592 217984878 851472260 288202012 724211980 537103112 608343246 853860714 529004042 998818178 204659352 823214542 136260924 403205090 661572556 470447580 919392746 669031336 488429238 436436444 310319342 451085794 788285376 287631420 551839762 233977646 386662906 588103320 405440922 471120798 64341130 12543854 595095852 395638436 891982158 640476232 256780636 228088434 558571356 272410810 919256214 641872088 939727012 31417038 559402806 756882842 690189468 996665968 831372878 305212772 554899436 650712936 884594912 55984192 471015116 727285752 651078790 588281394 933774892 721174624 999257124 333313772 44631266 552943970 467126644 559246014 334504632 859710856 646683908 816703922 42047834 472575138 919277910 666836398 750852354 59628316 640213938 867533962 545970210 448565840 767251074 539507222 386306410 7326400 815794332 137344042 160910788 440868806 10125978 745389698 123719280 800685138 649651100 23791504 606033414 768610964 83258486 953371118 148497310 719990718 676775648 321243644 284778532 984793634 821972094 945578166 499187530 948058076 809734428 6991278 389909278 728873892 959390996 662832210 813326442 483278346 418031024 689408088 338690808 862210948 135924870 992750088 728527518 776885608 372682786 813012110 725822684 608812502 665184626 62720284 619144822 744945358 967765082 556506508 924145344 6635640 876263472 288858860 865487780 317390190 258551894 567302212 286627134 267961502 682769248 156391278 497688402 492663154 586597574 963848944 912660620 988191834 520788338 37350080 993025452 817263654 574711162 469024810 888357934 368800960 482119210 878073864 508999936 736171062 429090362 537728156 582383556 163324300 654558898 84775758 475978558 319458356 904613854 900603456 630408366 811756540 321337806 515890984 537757988 229782934 909873332 228001442 569661164 815498068 811446586 303098696 983364672 696974650 677636748 655630780 642047596 264697610 115707494 13465286 596791616 980781564 942217606 7367092 330623332 138312604 667832454 656231656 493522190 686617092 786440108 330082922 328073814 696977342 881808962 66975946 782722948 18095692 704830008 273105604 463868576 564613202 61049808 800443336 23280410 542323046 548085662 40655034 883719630 235488990 599717064 4874894 716076516 174425548 173617588 771145718 73851286 273596414 164903046 467559090 767330758 974264994 993984150 829643020 523105730 365074008 502846220 532768458 277965966 710209762 648889082 595438884 429553822 881920576 547124312 836181386 794862848 179512850 823981176 485662910 231259472 497669300 678395444 960464256 539713138 635389950 242594848 617338000 71831544 239876924 148938296 308673430 503034878 811836730 816179442 644455068 157916184 503461432 975401836 840656978 239169270 52301898 683520430 110909552 808071252 287336886 94143936 852407966 228654744 930820614 896711388 275127640 56032022 532148576 505426816 69808354 682258696 859232474 771013172 718607366 615914904 163105378 567139692 330474448 101204338 92592192 112535334 540899352 592859662 743788512 15158942 657072666 952111194 812235140 791111942 268298076 667170828 716495594 577616028 414485982 343557456 368952656 424122624 413353354 607175590 542115914 649757696 348231148 949294294 408587424 989765256 906574146 41021356 555510806 555077964 132804174 294361834 608776628 441025488 880959246 683679434 182567438 776316462 279461848 99372682 382819668 738356752 283216402 478786584 652416422 854151348 846278890 588674334 928890144 720387782 643104318 919524214 77844496 878227636 233899672 713792290 640530852 874266088 648118170 588871076 34444060 962270898 113134656 772871322 197051520 258461170 574074272 187887852 726257076 411106990 136205538 566032530 385792932 885885940 997307400 641207716 637019644 15696048 702942794 437550648 539840642 709734252 648426658 306286628 769109262 516674682 772894108 253303356 307216734 963262948 804725784 593283548 790648500 425296070 74475626 907427708 156834496 844664684 820370938 390466948 541907468 53204558 60082136 360767178 104441790 629380832 842421532 275084838 141930284 738313510 476144006 951566586 203736170 255244786 384469824 580254758 502391640 760849248 821706402 578069620 417243016 257579996 545089520 567052122 374994876 772472966 398651702 199534638 919867938 29074350 507438208 336932136 856082944 653306974 176500532 144897534 646264208 270273180 214994276 63659124 185104984 977150856 134741982 610925968 557199938 123325916 30454298 884469336 848386830 956523512 63181654 364698954 394969340 784886338 84797282 100167390 171210660 575515896 99132468 192509972 128478322 399899720 820141374 463491456 401047970 210303666 235936342 982850050 713578036 99483728 552201154 261400850 914560456 859287096 569141600 424209502 752903306 356283188 661667614 101944200 853530388 737088690 535992092 393870554 821571358 175653178 254663494 106319182 129923274 10149800 501154260 926422234 474273486 842210774 972706258 439701730 590992570 89586090 252310994 351253750 338553420 801177432 748015552 753694190 683028010 977280794 691241588 572941678 819327530 625103174 528823502 741117486 296282876 667861520 462062694 633209338 8882490 785093408 213937096 649041182 873004430 620395434 169466650 779111298 863679920 297441326 125579860 368904572 191861746 914134986 212730270 753306410 94556088 137177176 31930642 61017094 223981294 555988752 100336414 106619974 206812000 330152136 258925020 880724954 66226338 635629510 475280238 753893646 1313522 913838988 34102618 273980856 831126126 569592748 559879060 863661316 300998328 867567044 363180668 639529128 260832108 130590856 224218018 4520016 208482086 980240004 174478864 190181706 836175250 649918418 242038218 846053068 522524344 241033782 489903472 675854900 253855714 280325138 574002522 608125092 276871940 644898744 598509998 610816568 328447134 961857602 554505754 760120928 788303756 19531302 847508094 757143058 669035138 218399246 509020404 316125846 24049032 224208372 550281734 434799270 695184800 573005810 477691498 637655558 159598684 204786432 746600148 717345512 795312452 338702790 71609002 586108824 187722076 325201042 131390074 644460010 562051588 959104220 516825228 136619750 949729844 963393704 460584044 562046338 600299330 273445124 367011748 585278594 430094948 556421082 968360956 261377584 185049940 102520544 903798390 625171170 233726776 678534248 75675980 958645712 967198716 507830162 103503646 518474766 257691644 49365762 829753264 249082498 410571002 492909458 217332730 515945604 512656984 337390060 692425208 876994368 76238146 875023622 36997866 460897572 183586720 973269070 351604042 41895060 345909306 621768002 927693988 545647860 971359546 930839808 868901616 641301372 99785784 650576358 77686796 160435440 592162796 20935216 890332354 145447246 494618918 504524902 884141022 219448474 423058020 223977786 864772666 306079806 92889018 11648944 639464048 857514372 515423462 420699400 284187584 593535704 93666890 45252008 349930866 621764748 437853868 580907962 517724932 603306382 631093734 746965176 403307636 379772914 653534876 325315824 531888732 788121500 943732554 377998780 918094560 27921220 824613696 837260562 747187638 698127806 920063790 160657406 158774110 935930106 267023122 432760664 796155450 345174338 457087278 110577096 253824536 406061444 110001968 947044544 855070862 851403034 799858080 130332318 982916426 351243014 412344148 76282792 114162486 158409520 448160866 665010096 226258072 645453328 397701912 174836660 260831264 732945564 784147996 602329936 85153452 140616846 77413898 594602486 457002336 590035832 150648186 825654946 824878738 306973938 687268226 783293328 202410420 207419756 487561110 337711554 658129148 562328338 868684632 941161720 68171328 829069214 661609106 780949780 24892626 206923642 983233374 71514630 816401914 198295722 70672100 764548318 956153604 336398330 734547088 408852394 938702340 448465348 24267982 876730506 748685498 797261006 236689316 265791624 201968080 798991460 663054506 615817012 973756288 935563710 930867320 782582660 240898200 904351286 834314924 153196188 615772666 960768242 700091266 241569192 282968202 225054040 728952340 425523244 770803820 174920718 377858432 341997294 572049566 824010584 256761946 250998978 468990948 985908410 532978116 746971096 39201352 776466024 165617168 620135264 783678872 248813252 57736716 276253000 251125510 9959222 7348564 263558716 219831208 112365874 547215100 545089214 332458884 44816948 934783588 336608988 989103262 507397776 794795350 489139354 661926642 511204200 3002900 192886162 414956686 420948568 251386120 680845886 945938846 424228372 925934276 723474510 845848556 932714420 115578236 8645208 647700906 950200588 433056656 377841344 284437938 730449372 323607276 8481790 733377278 898083840 241038256 468805808 119489204 935409506 680257854 988762474 26081442 338067898 389944360 649160936 791696706 606579134 557661352 813218542 800162172 396972802 25219590 168896408 814383276 177668892 311698426 936652306 596534806 290246350 607057092 656177082 426344892 818322570 239063510 599174820 550278998 822533738 632860654 89998288 93537564 833239776 900362714 937342180 200511180 447211456 530072218 40887720 4971856 286032862 586476504 96227598 741122376 287544718 458166840 885109832 817003484 801271382 341085996 3131466 466495430 35033956 890303836 687252368 41823436 222636436 272819936 663323050 58090064 94262628 774461166 967099452 478222768 879017112 387687276 192425694 879949914 508321598 381333020 138262178 791807346 281483642 142781298 282066286 490379464 893882066 586667520 468180062 646654838 936588582 604973804 372915920 560180682 972683910 686093986 92380880 846097150 46780502 150574592 204677332 305781746 35717964 121774108 143108146 61156608 252462892 142074394 655626826 145004462 365552086 63444504 760484944 868830784 636092082 160572766 462321760 105107688 858935820 306275050 231577366 178733070 932351040 133856356 808931868 860024560 486819856 904015168 191050944 974540286 592422100 672465402 190383676 195087972 910775736 688617764 119595300 863321022 437908684 603832460 119480396 972626676 24275070 605845506 45192786 687681322 46210848 487921592 203666158 481368980 69518372 951668318 541072012 363179606 589486320 365317266 364728036 164675758 742451642 770661542 510898056 439020616 840788624 696644278 718458110 917002582 74849542 126589202 164138458 886612318 367258838 395769034 144830382 187184896 767510082 68667366 472629782 675646982 931351500 312395374 146169344 383482714 535066768 627515170 333821778 968681810 256650040 137031564 179304526 431591314 531058490 388266446 678989810 430718902 850724384 342171494 753308950 808947164 848215828 37384552 602692470 514887526 23480770 99903632 852898736 131147614 46480168 615565216 819698350 524128856 775892514 862994936 915346414 278462412 345756600 899209678 190307710 17597074 559914438 201633916 211322768 915779906 548479406 246747430 383544190 63547496 759338744 713818460 238426038 567624734 122056666 712613238 480209828 986954162 410250926 642127614 39422324 968756788 283170714 283597544 975686048 130607476 532844828 217067844 84667544 751605140 952684052 299146202 434709666 791018314 967922270 250390036 196239702 523136030 928804096 979772014 390298104 975640756 546354036 289289980 386396662 726791284 32257932 246591208 758326128 844068844 328761698 209199784 624547170 657476438 329068390 240385352 567247270 442184596 781231994 438791284 567655660 630097930 619135222 87441460 895065906 581756150 424796184 642791152 244422848 556681784 798327854 177567642 341920342 287499906 13001892 84761514 92359710 260517038 946942314 256497298 132003876 869871998 981076324 534533114 672864124 593840490 239144844 753518758 743460934 980931560 947621810 973655498 115545306 330716314 172484964 352601844 727584158 497783372 257467166 599354116 498103526 217007202 774585444 432157118 960801944 889613288 978188340 386369950 171329926 863524870 79200030 567537200 762366930 965515742 113226846 271707980 876066170 319264244 787475182 903649882 11350518 707088920 376228536 780394062 327890072 538508340 918223260 318405774 387339540 451965890 631079398 132836884 402516558 418496828 311861624 516459618 240970672 686166968 634692474 389519194 861565444 150938800 197973378 362823072 612710198 225693492 408030696 964294776 614664468 839500794 590219598 69661320 617428968 923811086 275890062 754042452 746708670 703109274 389489378 260243122 715544866 397324412 668950992 247591222 766366256 862140776 423868582 701402690 512692528 364809134 545804480 327060350 623251514 353146454 778030450 910217868 519320708 78821030 889053930 53076124 168769112 658937870 248127436 654593508 710194096 787180118 924171038 228347304 671753246 570903400 857585452 636587010 803042048 474882806 879403696 912458600 410268454 408932856 239794788 408834032 375614904 212731398 793079928 576126208 878616804 114128738 443702522 631218890 496818182 288893392 486744424 986152260 834590778 1765060 74923340 44581540 241039366 959002406 223932524 208215224 90256136 749229560 504952004 395740796 171673704 165839754 87207830 398311722 569391048 810507054 257943516 787404820 921485524 660695716 845800244 174041084 751643604 934374334 48289002 270630578 238699358 987875498 784569650 226433992 514617780 828706746 402116682 652840566 683920820 958705054 723107212 843546896 384991664 824018918 475018436 91839926 401025752 987087390 647779702 51423342 649102548 271051476 13176136 36412162 787607342 960926836 796588874 613963064 226896098 464458738 819707830 189091620 887529550 390483282 253986602 780460054 829659034 371475550 761227426 924470906 686413864 566278526 86085106 742681972 989468456 904342652 279833386 220174080 496220870 29602602 27534704 288833262 414980330 978417754 440435056 227390982 480524594 834200280 673700224 545121722 316859836 68854450 891646206 63708832 213283478 267308814 985109634 34667410 351647394 836219058 348806928 549572150 848353714 820987216 439880178 953077740 458094366 27125454 73558774 699480086 751409876 522642640 551139736 534022478 411056488 225300488 340565992 779208084 648933328 252847368 742432702 76814960 637388018 933088180 238672642 46583336 260547160 499390074 491957162 813075734 816649724 814983616 807244986 706891004 761205764 428770754 185596626 719676446 55571900 980435590 667598648 803751282 663725448 854280558 639691766 977625344 322558760 609183370 30916662 31893986 453235770 862105668 558646328 944081662 480939666 890510290 382798250 64025626 733209164 841089708 522021612 875571078 861836904 765517498 332416908 235255012 565156442 899143410 520006104 108210230 905965252 379129096 492901006 330660282 467704180 188292498 503184646 219162170 348288076 74616514 118205822 52900238 976639684 105298598 621267642 896882540 76061808 38390530 960203806 694829364 963908476 184911158 951471944 151000926 12756414 172880690 4838736 712821114 185916682 996369740 328010044 18194306 924270298 466388020 364648670 424067868 172229954 8830830 830433436 100414072 851019158 400238340 997827910 265716894 660509620 471869252 291806400 653140482 244009652 799342306 177947018 146698998 811809738 267497850 57480674 658899196 571596374 906258398 515824076 378655354 141666784 97913590 171745786 400041234 638506254 419290044 769442520 145958538 934744624 548795660 53911958 818288446 457417590 758908728 593959018 324020668 634470200 256268944 490634816 307579232 63835508 965047710 851822442 755127254 768146002 748027496 12007552 869758882 453164082 119705560 312217512 876088742 722980324 630143804 691403498 542608548 446167066 705424326 805402936 638446030 758110794 751125982 612047826 580689312 313844940 660664616 483653156 404983642 197625668 799438448 329428516 611739120 917322540 948291526 442262854 271598970 632444368 330829286 570744588 503767400 261665846 268879760 921132588 163556458 227398298 764769890 804870642 274843100 74209952 623115942 333258150 318990518 538431072 282647132 716132742 625281478 92174526 725485432 665523380 370497194 587303728 589871074 390827778 415578814 483143024 791829218 638359434 230561606 236578496 196964008 314951790 919654378 927158446 373888854 265907884 587023022 544959748 937637740 626404744 961481094 633885768 52637194 52540560 125494144 11764856 960212934 481294510 10871824 72279962 299857264 436078014 255819836 598463926 776970462 658965498 824501390 941419532 247104350 261856156 13985520 576927932 196826042 158168240 183252066 146526076 406502878 589426178 476951358 156027134 744692344 304174730 224642244 870189222 746578026 720565932 536107644 692063178 440255700 956366556 498568576 807770308 424293504 947863436 584189160 372099326 61575338 963527724 711524820 461622538 585683468 816312966 810633788 865406000 595593608 640739488 366387286 874919598 427918044 438907236 365740170 170656684 184709054 533326954 125951632 622295966 379144362 967764430 566565850 888454226 907887610 92554622 391124842 368690000 112496320 127480690 320320686 413969750 540480584 261373480 996713764 181394102 81486294 167456606 498388566 271211564 734869696 767691932 777747174 372138040 713009420 304245200 31709366 883595302 805110308 461417380 958118668 858286568 549452772 742397320 13637850 88100610 51432494 727437984 714278858 410766768 737589256 12178658 316926768 983678606 59719038 100253140 63154792 946393432 186417698 149223352 993928458 414685384 361514296 526903754 871363586 25231116 319912114 45629822 666481224 822297510 157329192 302444720 769233512 591517302 69671552 961488718 818753542 835296030 414124532 527154948 100455800 170351520 355053052 82394726 138402436 900773836 271714852 725017700 863071572 718843816 251440642 840597064 163630024 677244694 291650018 334477788 280045730 39600946 975431196 751339506 133692070 729551604 907769116 860792370 566776104 207191698 768788330 93731130 995489718 840352048 416602268 626135562 246172508 805542814 54101218 773758530 268501554 181584790 330739848 793285128 6824742 666376076 719772036 526931724 903462562 100846290 713013146 752439526 305152606 858091812 124673094 715710736 373122226 361642592 944169482 397209536 646573442 124105480 965079024 983733796 899095308 417960256 748193754 946589426 212357300 412878536 712433026 647327276 888154374 623773574 208838200 142152966 158780724 761185256 997155786 555983542 718726332 884342930 432341242 554713716 147458764 884854928 952550368 507469430 214485260 336977438 644682786 490739788 224437902 180775578 879467904 566251268 171541346 137467434 358741446 219728654 28860842 465239566 713900166 254775304 756168320 961027798 965747466 189994544 975017524 886437966 818375252 590497146 990369166 710575712 894793908 966866116 817732636 628373744 799704172 772289808 588312766 68248912 747491480 397857612 938441112 972303648 90432654 403356002 56914514 987267226 38403130 976186336 860775044 460156452 54351584 751457870 429874000 159952232 225034666 336880550 126079168 450898984 222638862 828434810 907910510 635231978 87114356 210036342 589151910 482208270 289121598 127809160 776290190 439838190 319120176 796179172 629752376 662040420 607283840 740841474 929849106 930974010 207855810 639902218 349984690 252016574 205822326 331877496 385252682 566114962 919879562 691256634 379693664 508173092 84491860 812734162 781626348 368069382 842031940 940206672 465053402 260521892 47010944 668099682 387486774 371593692 551973756 608449864 746039402 224347902 33806328 382797500 782143232 49478818 353084446 842838626 801144166 398095874 924291404 439234956 572891046 108931736 909493546 687185192 281352902 514249910 993006676 250118592 789051398 643917954 719671928 147414670 626889758 152142306 489338478 325628218 181062122 209157944 138256302 983003860 247390330 534422162 509631782 61883468 402192848 180797162 164583738 885157188 156938052 289145024 489078988 858721072 86362880 949784840 369623136 659728902 197444190 95653884 683821524 515902140 662372402 278166642 285476850 224543040 715557518 516953612 700821124 33553534 724438082 975970236 304257996 587374518 858420386 791195508 47196686 667089470 980409702 263745996 956676938 966844740 138189548 775673524 556472550 245125770 531761996 605911376 376205780 826389596 178064060 377265854 720897648 790857962 792304060 647649798 250387578 221812014 924074022 962946898 857266132 570414142 955140028 559878510 537459876 750475330 136499270 207834396 104729832 159585898 551614628 659733482 223335656 566310042 240872854 816391734 815742084 450784690 713647824 644390432 677363614 847021878 96345072 360065518 498834708 954336802 393438556 469485316 678779882 180622416 406083040 186386678 880920202 935057886 437549928 476174510 662501120 462852702 719399132 210998038 74504404 88144228 19167434 365112922 316269980 34112818 496825340 966306138 16082856 482911484 140673202 641632066 766026746 849046336 774812794 75636396 893958904 560924080 768332860 32107100 610789674 390412744 217237614 430351708 663282092 118667046 964334038 738241580 949774026 503396992 652293288 977948310 860284134 908499392 128321272 453284280 356028064 747916896 413880344 599626054 155685642 607900864 204685368 375291766 726683676 132375348 619961982 955261700 683256376 922074160 275425154 559579142 391145236 448531726 728164352 546451026 330044202 357282220 760504330 638153704 954642520 305594362 361433702 982170830 832520338 531533662 981414008 471375984 212945130 267578740 368194322 764149946 486343754 672857988 783132962 673874994 235341884 819417922 726861756 905527220 57272488 931473376 213725854 267217448 105070630 959923854 65867496 470928658 71403672 491397352 139631792 512210730 514058758 639315386 246202872 778244894 491565990 59256992 881993522 777233892 998947140 362922994 978290818 636733010 724859028 281980274 115308156 163729234 886912362 193714468 314204726 782529740 587299434 642507608 130814634 103206430 799327478 26725182 285172568 821528648 979374676 527581878 291289848 396453800 120930626 882673660 784698302 512607554 170340844 493202288 172212564 93636564 748318832 793622652 39359962 425635746 908448718 252087696 529837242 333374778 677314380 315084602 199391134 846876196 501526776 575769450 560425302 635092128 782607426 478909938 135011852 996297450 691677720 147275874 882482050 813952380 706012094 925363998 158547454 129229468 757102988 860813318 226154184 492682348 889849552 870029660 941076760 948981184 691335488 422713548 566588870 491035112 732278814 958937052 849993776 194117770 913094308 248563546 953140494 936410820 712573002 420765888 767110994 428274406 66746576 983430410 527027454 766212376 674284090 824105228 825437152 281797786 251007816 802944274 76688258 649239746 780495138 198198048 369339744 756559106 88759860 721227196 289640604 807215902 311496678 838915968 737946464 23327206 692729814 311191092 572093976 938033230 132998870 266201818 596375778 419240924 362766574 642386700 742268076 184570470 208888620 682132648 626656658 688592124 949730566 1012584 836426178 24861556 350840360 556094682 739559184 528143308 409373106 929150502 5674356 475950346 17472658 500342514 645634822 482056952 486263620 890033354 583876710 518508100 477722662 634220784 397892322 214271012 136325118 581191598 422912922 645537766 410528240 517273096 815560748 355859676 899912742 821378054 87828610 49156482 452338964 338441434 122039288 943347852 428972944 598080468 583495570 362782700 970896276 663172938 930128886 969773506 541398032 884047546 258608046 952185618 267705644 623070352 715568074 633859440 849079240 224161968 626522820 83059430 496287622 33646948 770517312 595288490 729504876 724931806 784210348 169702358 855961948 886765670 210415416 198162130 689187468 592362094 139665604 979591802 835167560 984117148 557397372 706751084 988181152 763784024 795788580 295554036 711470760 289097840 349539556 152930916 735737006 730315780 374329800 100345540 201992266 135047350 852147808 562762748 913885060 124107684 920684416 618893714 706644124 734715346 137151864 975774204 495800296 794472700 851176292 294879938 741914182 72621408 232539338 465135242 455237980 795803416 695593998 844009654 678519746 914347936 488164958 517498332 417277678 708517654 94547372 651461618 985488718 167775090 20079588 431859496 601649106 11926848 895830014 812852906 620805534 87309612 933624470 134328536 403856312 652153446 520770602 561490196 552265922 51365888 232377442 159588346 714441300 453380236 441809706 257328174 98150156 158442594 62014896 95548496 402642076 347013076 675137884 372817330 758072618 308934224 365304954 467752920 51951720 137067240 447689800 613527054 735191288 329213144 430802384 363879184 788357550 699465768 650482474 708183384 198989810 515367808 44628150 582811846 329905886 322861948 851372854 226973006 763743782 407758638 713559666 171496854 31022064 510064196 786811056 653070594 578830360 855719178 382664978 143247568 302179236 319038028 704245612 670719596 670392058 841973396 738988514 648410010 13404852 134592010 438774670 494330760 531146580 344426962 693650396 976533908 706172148 613245730 595001660 645340952 902806340 181349600 775951654 952804730 15231290 744494392 988482976 190353814 125201858 133076258 718518730 474131852 355436802 998457444 573255476 252370046 970091474 994439068 37106860 892118772 75556420 233685348 999090806 205859816 649673210 655676226 333747504 738456538 307477100 531576466 864795470 459492364 601859596 521803704 451156956 550563910 405746478 124376088 677160234 31508862 613059734 533136730 26025170 628366686 532256986 126691906 1173702 274809366 661073822 901023828 317496154 30345466 904292516 818785988 929363920 415351548 951566426 837576698 247940478 855054366 532621416 397928034 348703814 180477410 358917174 151311686 937937880 830674340 101315100 253116664 390832030 736811806 269636778 273678224 884035008 13678938 344800778 360854068 514281954 229818916 609381426 971390286 438156446 991749082 334443344 485249270 856959932 954634658 59858512 831537536 307852942 781838380 519716334 93464002 106570842 25476 284733122 651986456 232682268 907512730 817455308 923818404 903366482 835825914 825975848 766627142 711930070 864998252 907539726 907573658 354619700 89802214 792662668 957883414 756148308 460238060 566865098 986571830 705911286 760066810 299617994 838935722 875705240 231434494 409364322 144165858 325148738 716489436 543299342 461719530 312171596 172614772 838000324 906638160 575365004 601718814 408569312 959902056 424971982 840405114 302518396 535761616 552076360 217280008 31537726 301499536 227801654 648631256 83404354 750989412 187074804 682823486 979017326 953827756 463726436 544908736 195274268 109920184 775430198 189521698 882163484 61053320 996061722 319304806 898414390 872106532 273648054 38076586 663423924 863449594 175824906 909332588 959951324 448956058 709229894 72628936 797095592 499471768 263664570 389657696 151932406 170107772 54040842 661154610 922213154 507866310 550964430 806821180 366838416 405287636 622447444 83784552 42257260 524115132 515286686 695675524 378071652 457229916 38073586 315234284 603925930 130514520 67367764 479475444 645599226 640260994 821490982 294799226 218324292 275828442 170886676 196693312 195149368 5616060 628732132 140265864 912719304 475180426 775169058 212092490 314825162 131418584 829913050 942135968 970156276 703124770 412074368 31130632 858690700 706081586 647836996 173708040 704236842 373137286 608651236 703119938 192457818 218532014 302878302 634790898 442591512 249159514 718414312 284775880 150606342 684470364 489130120 290443604 616694620 606753850 822264906 891304192 995707772 773832442 191568568 552037654 789267814 437153978 792386208 372746518 400287434 76930224 895788070 312563330 828154596 914062826 620955162 275567552 558702748 333591764 615552972 643869946 52869472 956652790 237783302 637894386 587561534 969150252 47565456 418289608 660024898 484213362 469034298 102738614 804302138 929220746 959468902 358821422 3444090 102925086 241402786 162322868 757435040 455201724 419784114 801493636 715010846 929505452 601738222 827232680 104954760 304982552 830742830 576375418 290026728 797924794 468566508 510054144 639373142 579233750 207775224 500810084 148097932 235495144 312378740 171167544 385201654 786406274 397374710 261820472 667697076 7898340 192129834 793931988 470888970 679973592 828390746 490940528 825442076 479216054 329930414 149111730 608450272 783930586 931301494 314684402 360752554 91820068 867610976 25621196 587300450 87391392 732655108 486765994 686005900 954924168 138977274 322518436 665626330 580685624 886993004 34188406 637680092 153702830 520731806 355076726 2850880 625411538 782089040 3366398 691192044 844586150 2051260 91725376 518554752 796914610 363986088 649321412 91665938 522898700 24762270 608308678 374184738 633552488 896857958 234274848 582356306 835498564 724532712 888300218 508740270 748396922 283936446 110383914 78389244 830844840 51232772 828960036 150797094 185291506 24291090 329796370 177500884 721020434 39123312 286420970 773500190 5919358 684190842 789399336 730395372 888553424 401824826 142296750 916373820 61835880 87106826 961361126 840899204 404641138 929459484 236464736 365010542 50099114 967084398 606664928 913172060 22671078 455218862 226050438 305732204 345789704 774323316 99249478 547925760 36091002 586987438 355507058 498726926 874993818 562064552 877383652 488293428 319759620 461210558 134071786 327649330 461399586 246349160 791056570 713336056 671953656 747983888 530910146 125051710 327908758 416091794 328028966 825584382 333334258 809814760 718460738 223391270 959466312 111627870 680031184 651973328 225583852 533754674 473344388 393897898 213392538 10626186 302100268 183399116 802454880 334330486 165393900 389268662 472500256 647386452 642685104 146880646 503157210 228421368 699293346 703093874 385648668 321817688 168103550 408218004 562978994 18845996 786983428 615708198 451764452 852984032 275847962 279674030 584124236 891319762 868328036 385372174 638169390 771278598 373711110 585719350 187750702 505320896 637934202 309041256 851188582 341487084 531297030 306398812 221686226 645266414 602869518 970823264 357871122 438388578 254275386 361990666 576149904 710895992 262878118 983669370 178375884 950085586 676007954 614267744 635908388 304458404 15593414 686243824 183115756 392724054 643274584 639385404 2481748 988373528 717887720 888511678 972801844 567818872 77463718 681888780 192716 68377986 925402414 487956430 789533542 184688412 902074430 127117858 192941600 871006720 749461388 892817918 923295614 901911228 880402668 742801548 724171598 463009914 401957622 650436482 996009122 379729148 597379012 662922182 964168156 324747946 448995662 620022544 964842132 169298860 800159172 538542146 343922496 565738518 388872224 58778514 853727664 917227830 637897362 433494662 987421996 374538654 117733966 595569032 859498174 737777874 103749578 529621290 579353074 645831498 225470048 348504108 603325216 267581666 815397746 323644604 197171548 343483686 225441512 107939516 642286082 613712264 275462872 223751250 242792748 86509484 515208290 905545896 788728944 60501304 148932986 528154786 696054216 533687416 307366840 659900046 20511022 304627478 391927236 361624178 711130898 137439574 822367092 493804298 607173404 595444954 980086702 610095418 637772906 691467692 389695356 900661034 647015718 591796178 153376862 882223368 378703766 312698532 916753618 922749554 517144542 195528488 592961440 515114070 562280166 343684080 445026124 262596432 905811030 820357092 183389424 144740004 417321388 291913844 165001740 241942616 610512164 551091536 477667948 69400826 768184436 482168084 146144468 122381656 350365116 674161438 119095486 522051398 220736956 610105888 513931302 100371716 460265058 29999992 901465436 23564026 751495048 935210508 456843384 339985654 366921960 336516260 754277616 312142970 272693260 841748166 38944260 610685258 705640126 362969450 643082054 968224074 199131978 527614574 547251226 197311300 793024178 492758314 411895210 905238594 918596440 952654200 264349560 247188124 396055254 491277398 418498792 506034958 700089618 849174806 925875212 153059716 326883276 118320470 426649300 785875888 812985564 503726976 1033404 377692594 109657890 361553874 676035772 98303902 866623894 57117036 635015182 924850998 646558830 367129254 657175290 273688668 198279996 482927380 286366868 894658838 280058420 411557238 129040996 139150386 91784120 716958138 557467410 999568464 374500006 712753068 941511690 432078390 449257186 296422722 927497544 888745416 760749534 336556428 958333162 983276424 250336406 786940578 793422024 144254682 493395392 722623382 503565394 617032838 378510306 197073758 120668104 294201004 31308316 72616784 651051584 104226270 684626784 717424100 438133378 989680482 567485550 481966762 699813126 358503794 673948538 409031542 379706560 89479408 192487184 209963212 742091780 408149114 478375128 724792056 712401118 559950910 996785140 925093606 308444056 111544194 733350864 768888114 718318740 726686378 78679098 167042494 987962434 472555500 254564708 252706874 895513758 929299022 136012006 724077164 310887338 621695286 635150458 23621320 915544194 394678876 917480228 13847832 666600862 671990970 111749262 706440086 569051832 952364916 794569052 863510402 513597070 547592186 515189844 780875114 171379908 43780430 63707242 7667080 856040858 358829580 547525938 387656722 312332418 540645320 639038786 585960576 478165062 504844964 309902858 216730428 332170284 327509712 51825874 749831266 878354716 788337190 11800412 217765444 283448678 687276258 261441670 392157418 719049542 479387276 41291516 284788142 922512178 49518604 327967928 552500864 134606992 72060234 111011986 554203294 223104872 543007650 32060068 385668560 747145382 576061860 470965106 417418700 317473718 533825314 437309128 527106268 102988480 233712654 236655146 299766098 804980196 281920634 218387974 957019602 760637274 801635550 788858878 383784594 30739638 750381766 521211742 458145386 614202796 595392522 48746806 385396584 366937002 827456314 112603088 937655800 101937636 476679554 748136300 96233882 480202376 456256572 744393536 671751250 337682232 551549352 3339052 364054988 771666874 135897128 61238302 557928624 44704096 826620664 679018190 595531624 426921966 219016630 82188442 47845194 488489832 307303228 628625742 25174770 510262986 186500852 658544326 37500026 991391180 916362758 257622968 973408584 459443738 765135804 973817438 691438080 236382960 951509788 397223526 306309426 522529518 66600930 331916376 471146240 16080792 957637642 332092966 980521706 962698302 43838238 594835676 738015854 635473308 417639618 412572884 534775902 539230430 841990836 816144314 396722304 570357526 189538374 132398236 777811536 329963180 396783830 681990408 121786716 513038968 319011136 983631908 957571788 572579298 662828250 191262738 514368596 768846912 184786806 974286178 369083496 483725414 96555148 687814726 275536870 758307982 693276490 862125308 428243264 100204370 435638386 936088864 581346706 629624846 509998718 603315314 205290520 885001184 376935408 410510766 293639912 719323342 178745718 714719362 963044092 76931898 15548184 545360360 427135036 163801786 390022548 877282146 263959870 874162892 525254284 820422458 153539144 478006422 979338916 729155712 480255858 815142074 500039384 417457586 313011650 268997304 878424454 38405218 83230360 256337894 336982542 277853062 440283134 318799044 699746520 637274276 994545924 121469672 262117370 50829178 962515796 149472672 838488606 696745922 871979650 682894964 989455020 699982912 587832616 224390890 19544528 25653764 421845166 220184052 71893660 717081714 361661258 627702498 757068422 273844248 756525132 635730854 640258794 864819282 947447346 12896600 73431728 113468276 723410334 680695168 575823194 568127058 802669824 473979042 66948850 710304156 818119864 215977928 508181850 574019898 796598864 363658638 396138212 793845000 809293110 540294338 13826122 184866044 521775308 575034676 739845450 837579598 65714326 55190956 343205004 426830050 837247316 973196612 551433290 767500366 568090752 325011282 192826526 313950498 65056512 925044676 763436112 691193486 953533894 809676148 354937858 976717910 586411178 273661666 661426652 891644304 106068442 5153838 277098998 904018088 443993092 460420026 937262548 699008798 651958978 875859300 940163358 273115188 871662182 261508746 766761894 480609434 851384750 134216490 280809230 206745114 402321380 765213528 486554320 420211914 703322688 607529344 781277734 845684172 357956644 475930664 504034478 587364256 86873708 235487018 984006292 697592650 249240242 916038260 793614874 60788122 182937898 864276190 458544040 62094942 643972258 469854928 969068638 21754294 824105448 243063630 430767910 576277880 249152560 68641012 716349960 333629682 819777304 688376380 407030628 274962146 913605826 732706576 989739268 338615976 195646108 587530396 673022144 216481032 763865360 288829866 570789078 323238286 126862720 407287498 315013736 636504242 409779110 594972010 45045092 900291890 342255070 978398674 944957310 526711516 311064006 597044364 604283312 249866894 567844790 297262290 119283710 204164314 945279006 339175928 348331450 343243142 313801554 905650294 234673070 261919708 289790308 822513950 680637220 904728008 241917300 750618964 891296408 966172040 14627002 195566876 837358930 485624854 728391018 671866682 681285962 218547438 690356278 555205908 789445100 969442130 726130780 684292376 438759264 612220192 951900266 71302264 914268308 710724348 315668626 68432346 748401684 728467350 492742884 881151130 370401134 162305370 841334240 961250682 844201540 79340818 40403132 490462670 401802788 289602936 674536960 735983076 512482216 214136258 111356576 190858942 12432840 446572496 450161862 585393244 466760526 739564148 757932854 987000034 981424736 517273802 112797110 769874388 302315122 352048810 343629760 157642582 9218046 823767774 907625922 442639790 521213524 419969974 882159178 243977350 166018514 814293994 610393478 687377936 126715546 29403342 821225938 67462906 425306850 612765792 751344406 249682688 194669196 954908046 411175424 82118440 177658400 315230312 656992266 45818144 628427732 622263028 985017366 228456188 574017880 526803084 452346256 274397272 393509562 930349398 89850690 894739016 732806292 632764430 932640572 847658912 929591054 55917950 759829740 583093210 468425842 833986278 430211734 924689378 479466414 775808054 133114584 36829678 605126192 532426500 302638962 76893918 183274786 883612852 746677532 832110402 510493566 860652020 314357620 838905110 695192614 450083246 480015652 9247292 850333110 920886068 110189082 191244948 772692020 463710654 837847206 210453336 469572634 680971270 204875020 888181420 771942268 463560732 41310580 275125594 732121332 38457370 605479480 440981740 960659684 523877408 747015174 402148602 528096612 642290064 517227922 729175876 117174580 125678868 867921424 855611050 851244788 895490332 650523938 322877608 570008670 561983024 60773598 752221474 692596314 724383522 918240964 110890552 61547642 883558446 413619986 522690134 96843222 956479584 610764948 788978522 743490326 669735178 285916250 740218398 774877554 403012278 598458616 266169406 367507134 896808530 146480248 464608302 2270722 440860360 314256070 50900356 568453080 508679858 480054378 421435196 365677260 233049074 289160390 509890282 839258536 538826034 651518088 30795272 752218162 444206304 748228388 529076384 907879738 305151590 930413556 770595602 388909402 103255732 455849262 338177616 676749128 86038306 845079564 736478966 526717902 355691486 48702588 959163140 508354274 276603408 43116876 399113012 34922128 67398844 266752054 1727678 345286816 184710098 379922276 599024474 2432294 205525486 245319764 588297722 773271636 25975612 872677662 156383964 776146680 755279230 830113558 898483332 402071766 639423690 844300444 789060486 752454650 6107026 544613228 498157526 584290882 330222538 204423856 509032308 542572646 985204972 274706660 354382656 895557656 57754810 776805478 523104160 86595052 558570444 241634668 574729784 889269172 778931062 561842960 509972820 925100088 506370736 515441004 732666356 912022268 760012838 222407578 560413924 156156440 217338970 441627112 17042886 967689388 359226076 523557222 909351836 478889826 658012070 829153854 461949378 818228064 113088904 475586464 88760034 650218902 978007298 443086068 571822792 438452130 316032242 335969120 822815018 79291022 414872648 947225496 399090752 390156124 896494198 272342632 33969920 107776842 777543656 663449574 420870382 158064336 290640712 502009088 635482680 105577152 406596778 879161498 385111332 554426812 55868368 875085426 280705796 860699992 222662980 344123468 781258656 327866526 437741920 626237870 206845634 234160124 763898612 307514420 838093492 83997846 64923582 185908916 485875012 136342946 491787816 796625534 55503022 733448036 106058318 803963166 655907832 206989626 631923068 828115428 362863480 469689326 379136370 508859240 677918310 705481284 833454388 978099892 439654804 754147142 238942604 159191204 153037244 778852712 701263914 952525870 47418548 974672294 574412544 733362024 786988210 812615162 872286056 57331318 746329854 857654250 235244080 251203258 638696724 22203554 943103324 8219654 971205144 134296132 952437496 285172256 160261610 226334930 392923384 926858782 391448090 577894962 880961640 434898690 522672672 501481936 224132972 149712744 901943862 352840810 739263004 388329030 893799446 839472066 990765898 255623966 595908106 475630310 901646998 488817062 386721090 512843592 814091148 773954874 479130654 944097974 105545982 454912730 424365774 928919848 198576496 604155994 817082842 987672842 666319850 451239442 553952286 783897808 97692094 667585284 274037868 558317320 45390142 923725144 198388412 800569274 830718638 371825530 544137194 200117084 165500104 112011628 18693534 249284224 650574950 481329308 152334428 944920576 17552874 134451466 258433756 922962816 542077746 914154840 70947974 319305368 279795542 403619026 449753962 541153498 894582572 58935448 590327198 139386478 640907390 622440834 988673894 757568884 468833680 694088970 159348248 893220716 762486366 583765130 156623334 353595412 494633018 536978916 859055630 696420428 357765806 580604996 886897616 551271676 630348430 719175976 866082654 158515080 161844082 455119734 202006462 267074240 742350822 177996750 815958346 739525916 892956904 634415750 210802698 619402072 646705058 256593616 690123530 820219768 576562150 188325722 420141214 300560076 302165444 820830634 625731234 737021830 349914762 742069398 264883180 167813292 807880370 515756304 844382326 487197682 578439292 969272532 988839654 388247692 933158218 827865720 158471524 111712190 305923828 346953262 284678774 798472050 348955190 885103732 110427888 917850756 753177572 876784558 300668954 123579006 588575660 382016790 977787466 162790924 161103872 567146550 159907038 350108754 267297354 321110836 541848736 437060376 88594300 940126736 354237684 103242424 241508002 556404138 277799816 380351394 650637472 606283460 695129482 316957428 633712726 113120212 443304716 423977552 77414720 266442946 289453102 978939542 945045108 955639612 861583930 741280856 909137596 513497544 669984758 874744442 508417186 895351864 476651790 401040034 443564220 973073986 482199520 146934398 810019602 246196950 189670126 678282790 272993140 894632506 836009884 96724120 908461374 619940634 132982784 963643020 247419392 878886864 756193240 384483556 727989120 488046950 478360466 82705112 557733188 893361428 132011280 89978604 849286066 439435032 2401222 444766980 10008744 120524666 126538122 550823354 188997104 862492266 670941458 185065870 716308724 281960574 364620210 252050536 836784416 103036634 366207506 325844564 846932578 720642168 497881626 378269406 481230292 995187390 342276140 339258648 520334084 742776312 236356356 360291330 97872918 453181408 779792640 161305794 991982252 537850452 34241102 310580106 66180110 409450336 774692276 191613238 703555104 625366936 670601794 142790704 614484280 104427548 60763566 387280418 100866348 143946778 608784882 60098778 283279812 844855322 927934282 422159512 842982046 787401820 84445048 612307744 800144534 183369552 785902650 674918398 31600944 832728692 813618450 87389388 514756582 943136716 178679224 506862698 202541194 209051730 386378006 787411206 784319710 775267298 978361812 27314036 98273274 254089272 586455176 718925588 586128836 189510738 949971082 449022006 110405494 123224414 768204166 527400002 569585356 345662700 998467198 155724278 729119946 924799926 831473988 485089600 76299534 69743632 191485928 886607234 41853304 202492370 507052268 155581000 42502490 55403900 952004634 145821688 848103304 84051234 93921446 890144728 481533754 474261798 764914518 390621542 442469802 561776126 24130000 992925246 896632062 748111402 861110376 959558434 136393914 655877526 311719990 604409518 440597050 607491262 671258498 380609620 379552960 976107848 278151320 484429148 775276178 161901842 128685864 723169018 918791194 84935858 123164086 248346136 647014088 475089186 718663786 90638522 905016268 714352660 746937864 198632350 138112762 544041790 728780014 6536728 745993082 989685842 666459786 4727882 158110016 247154434 567003324 807884632 648185586 627325986 113902208 972553458 275207490 478847962 244718394 15563186 220042848 859875786 467552542 81221532 939113124 969134004 272283770 750117868 543263386 962023756 273150868 927688500 239403642 155739172 894335958 469168064 346766980 678949400 563933292 766664696 857045096 163907710 894202140 969812752 885289496 717053646 85650690 41492616 703300338 991088226 311262552 68869136 890182810 878105286 111057512 855343138 935883024 393525846 794406888 120529512 242297638 312019816 337577924 260584432 401080704 266471022 279651754 370375378 21607058 11291308 106211570 997907140 574322234 444707244 508670696 759131332 290090974 144741902 844596888 253378368 246313692 818753818 791364514 506261042 470442134 970025338 630703730 606980400 216275338 177684050 281420822 367624178 538925162 745044594 326233404 28466344 998509522 570853980 84900592 473228830 432733638 469769846 805135020 349640598 814530198 347534016 608405512 480838748 663897690 904514088 511632512 219221836 357034056 581013120 910276300 169216174 388793080 473093002 360044666 115377174 793325616 99870850 540277918 347583926 449399476 735769146 636327922 793105610 959327282 398491828 641962340 52283408 3786416 752747394 639112270 428273266 28000236 566470338 932977862 675619844 688051422 789008320 790686244 240501242 444648360 119113588 501330914 398321726 945721184 961541330 41469324 953487860 426307010 650161750 941445982 385693944 697891152 964341606 308584276 623018142 779227778 359229906 30946422 840191682 968362622 583627116 443582396 585837708 121507398 703575368 719220260 932395490 500416344 99637256 670045190 33120332 182907280 811587548 261476728 854408648 192655452 684116340 625479838 799443448 494649372 831921086 338758444 548034420 539756882 841339790 211817662 687214462 675799906 36777914 823714406 959252786 163793940 300998652 871618560 147387580 870547306 527409028 411652948 974707272 352728014 560968932 347184474 631955346 733553162 547732020 169523348 952746512 75857812 401003450 263078878 901811674 86449300 312140108 881338664 106282220 209464792 405702816 80858348 61988188 163578160 72604858 1167814 438301940 954601044 738359612 663494548 129320434 883877212 683750242 670862024 466714420 998565884 859763884 890502240 246720412 661981852 64566312 204433046 304781050 974772728 595826926 109505890 612612672 854825364 177044242 527843384 570559992 153658158 665355822 835132814 930070630 56587040 986739412 577968972 819378016 313930214 154341854 997695946 922708126 404106354 879948144 478521408 889040180 602650268 153749264 578673332 212382810 631803484 964086182 158162072 373878616 854563242 62722310 733242512 633123490 931017576 281958246 981376672 277227510 597882464 271498034 146963574 117636692 231907366 930501602 99022890 650767318 424220418 349181766 319752188 801081302 243661860 873798758 933138676 338216132 905171276 360801920 579948154 610373534 621269212 223538056 694032704 131789984 923262296 552247014 134475072 371483178 197360634 475952384 324045120 504820800 899960864 721038642 834906956 168375852 625668060 220227410 402386958 220848698 967084296 998459322 774243782 568902768 26113602 164740772 782706300 817052594 852927364 112644946 287047694 186239494 286668736 844288150 804294770 861500958 832271034 398039178 505191844 142629014 492230972 929955772 664796052 478461482 458895786 577045146 254548402 873945446 180940328 532828912 222959344 132133410 640885232 521808304 746558628 514274394 332678448 859742578 601937722 235703968 258903640 675645760 27131506 679006468 189497552 127441884 300314884 215114978 388295744 888757734 289325944 534548146 834473822 100537278 986605014 606691598 792179922 26459010 213300098 291162094 852376020 86333082 846088212 859699660 318711358 664415418 314557092 857883428 875654264 794221288 316272012 489406858 233883346 604331670 83406534 491071254 690815550 487112292 776982550 858586318 659744868 736623868 760618674 893195622 762351182 527057778 873216096 981132314 977168948 27881298 188463590 136360092 200915996 971536796 193404266 606068796 759197814 539047120 255179306 262880940 443303148 275524044 552426556 67043904 585160888 552303538 130540642 910358112 788006744 223924228 157685028 343180862 142505662 681921944 242973786 982687580 902237382 541409134 21020658 504018280 873404688 580118646 285801764 760902454 710204652 977265858 673863060 541581796 161190190 47337354 417208152 522670876 620955720 892070866 837520310 100306746 252611980 908187460 427494074 770980376 500199306 695656546 333832012 667119272 835672100 665547906 846438240 882649350 195588680 716168538 35782476 854801286 329333012 479561354 566901942 343918302 455471006 58124880 379461974 126220418 442749584 57909256 335375046 253022424 561067730 55214954 131860394 858187516 571311780 983850756 989973756 118809318 213963836 829881000 973373678 37153344 41030486 308426606 809962184 115353632 831835908 964745032 205381746 457473244 847455458 185216558 538708946 913682198 14336500 422715538 622412392 168333712 236550544 75422954 480133270 783574038 158164094 174676562 947069274 680017986 858899102 862985934 48317948 725029604 908522028 577492252 408085436 193460388 46285850 693652652 349358098 900442316 470895426 520494952 406424646 146988878 383346442 571627682 785841012 123733520 857537628 983822598 135315314 496967102 563481598 620318282 762463286 852310504 483002808 632220510 565001240 947917268 478667508 144404256 788133346 424732796 466587922 975694960 297073770 923459538 845645446 993013888 976214998 657273032 555458044 146168914 87525676 809613336 405400338 692940504 615562380 11296560 566196618 435891622 937402876 794851372 407237274 874016826 662750366 479503088 63215490 729258580 956342512 818209948 442399420 682829240 47022502 98001710 127408028 656319396 634956690 862568392 901947270 884935144 648132524 110440866 805376522 260133406 800708852 14487864 507426860 994434184 19168538 446424534 764516388 316901400 27869376 599801072 398659158 672445012 154301870 721160114 209680844 283224704 109412134 937196424 265012856 97535414 803272938 668423312 622192010 849835004 906431030 185523840 900006610 367423546 8733026 583680522 437947166 694072010 612319326 460732214 12464462 96245178 685343800 293932460 738470046 94488238 153823570 231804812 802758002 515433226 911710928 262714736 624140556 763693150 645903226 828302528 973002278 862139700 701361914 130041390 353182328 71170546 989340338 194506422 581407272 358246190 334180674 228377708 114043090 102094820 369371376 648596748 835229704 715144624 834369012 998636032 791395740 997892952 963741310 340583914 571439794 408944858 935702772 608480616 526045702 97198080 349210936 783260426 551384632 231952144 124027558 89935746 623186184 638905608 160042058 424985200 361753252 171982774 805956628 830555280 601224282 689864496 351396728 859619896 938824544 542947500 573653668 380993466 209590094 294694912 595819376 828224070 337080474 310480524 382102134 701820900 319146172 553497732 273913036 483913062 754707090 980581478 748442722 404767328 540674664 87120234 862474500 768991124 428419196 254204182 69064546 819928998 408678632 220192916 721120428 261691402 307070106 23277812 944575892 73144256 689981818 782678424 945500430 822269304 737128566 48699186 693524148 59818286 865443216 661788408 999543432 632529778 549534432 524718950 804707956 947000986 255867306 11561808 578013104 111339036 274712056 687100282 59883326 559621748 941393438 130480818 796912876 915690970 8712450 776138010 78487516 40580500 494240936 235695488 554007828 964644680 111686838 432929718 487315298 669508452 785487832 191653894 461914338 209413672 954031952 182787654 395276588 774505632 909605568 820991320 87692812 933535156 238356052 897177306 994095864 471343128 885242430 150000860 705086718 439817022 779348818 234391412 107459172 206701470 776069226 880062230 814803092 829672684 650610412 446762530 908793914 612101588 918755138 99948556 22561888 311661582 438772450 150526254 16406920 786892576 632688620 730456420 927540270 405932794 583908552 792500640 793122982 346855486 777775286 448006382 194321238 614806520 541567090 451915790 9093136 860412584 679939888 39948732 65835690 820494420 318919906 42180972 835155206 458653108 797259360 546603796 756002016 996247394 566792082 202466788 48809964 862352626 911364808 672849054 629044430 996098486 905150156 691941808 870431142 172972526 259303726 553873322 140853098 666773480 734924038 874086714 751923238 32919914 611508426 859441564 800459166 91836632 199238672 370103950 311801794 76519088 958822064 576457944 613861308 893044522 475393416 801519286 224316030 472314032 990180230 735006960 196240536 892130976 619930666 602704056 924257438 269708744 111219930 406335832 167561584 894180608 831626136 674214338 633383140 887765284 650222454 700173548 801361314 134656702 2681908 421129314 929565340 966053454 194949620 194036236 602248446 516948124 987918096 627133000 826768822 859959972 206801092 819417314 953679212 536270720 475620238 781184322 999981792 606339488 796252332 282274768 945444372 891704272 697176938 598783384 896923048 705119274 181251764 231771316 298788642 909448012 623926180 188185626 24288304 540290272 37418038 615657478 711230238 54214186 380531692 51172054 689653108 878530058 425531374 369487912 400812788 311762034 328937136 567670364 622932528 615252932 490231436 350703932 181087790 824020324 485454152 770834894 111658370 109510976 178869076 561753950 71713476 167925712 641357998 546118290 339027344 218610250 837021752 361777908 72545228 975346648 708722592 955246364 980370800 90935708 775647992 560117944 812204312 174751808 208570420 69608440 827995494 360903990 216738858 263571922 527735020 658315648 979699176 333585186 655485518 808454896 662969542 385538028 941367172 388898954 255727544 405694766 350812640 921149278 647389358 94573810 342919436 981063932 295928436 108298112 451910574 276898362 850263620 224590198 19251194 922439708 333850444 235727116 15771234 178255714 631113084 293130370 230581814 186126000 121303132 828272302 792455638 848755878 859461846 752139160 151149580 591018128 639003162 406768848 308059670 348886788 531563860 729943218 35096596 762292210 130019808 209670144 970988044 104935600 883302390 474865056 326358310 551006370 361699426 41377676 260926476 631194894 211978098 131180170 340703570 685570790 153363292 72429788 434048838 734532274 755660858 694227230 458743442 764480420 842356002 837631052 254469646 879473082 774887742 806049622 48260036 441965240 299235006 542756936 650913658 442066244 546943918 222865978 259898570 437995664 758487762 378330062 196926460 697133724 281997914 254271186 20270450 372914168 936836816 276867854 387770554 896153156 712424504 884527440 18096582 920525824 344541560 575932974 807669980 279134902 437249318 123606848 71141652 648303838 42301272 86547774 298736808 65382894 468679572 397260708 181527164 415261120 323049066 135000708 179374234 179265114 65988228 856949396 789237518 610960062 306729494 774747044 497822078 16705870 824207286 322755132 351224552 336720874 348197890 181354248 981493698 793841884 971574528 180262094 926021986 358034534 168899636 460541356 140413022 471778268 289621800 844143040 342094948 786948902 744958314 382241536 124874678 934938714 49073644 670796340 105114330 378177144 112184982 952137578 321326182 652227290 895394238 410728788 302271580 996862190 542953426 204911928 767186794 181364164 951483854 876677708 285709326 517923270 52906580 27642432 557117778 696724256 203312192 947326812 959813698 834261414 836283238 821952812 667821198 323357200 159882932 57887636 576308044 700737442 502104814 152503576 468524714 459298246 855140058 797422268 847007882 254972198 432394292 924253718 370211702 892352196 731464502 402660004 675365216 495492548 131760976 628538044 356573974 266916512 542897936 366722326 265522918 99077422 587205798 387396172 825943142 38772872 927085246 465635330 26715058 707117252 893158898 984564706 454414784 515093800 284051244 436513936 310433788 793058514 834212868 867693586 979970428 521106320 514607902 430157014 187118882 538249792 667144900 471961894 671671066 621822568 738651844 270316744 133297238 285362620 222362998 623916642 933448928 439966160 721558896 526799036 110482944 450543288 610685300 14148152 490692128 948490428 24364372 271227512 285577536 611501080 853989298 516741932 193029876 855333564 648584812 850187214 872300276 184818072 827732558 864611932 308600680 311992554 554056934 950144818 768339486 389444190 327037118 986396800 892049416 747639316 829837548 275485536 470703376 367106388 542830596 374325164 293612956 356311590 377558914 322550316 254612182 712841064 174801718 797378116 644656124 263171828 713040654 189480848 484629660 904304428 92497352 748228886 592784120 543596958 789284536 994711818 532927228 53167152 821916508 7346518 990028706 711297614 573289344 665871880 235956282 321851216 373748966 797343620 422097590 941279464 227661976 137325324 847733982 70416172 820469420 304040482 568134624 690255034 166662476 555853000 190508710 991668700 61584260 960474944 532680092 422605630 142070506 850178626 237074942 930917692 464494190 899309926 252140658 688425244 543868436 562467480 42907874 420075784 759786322 525529506 39140072 945824410 879393404 23575576 290962700 167137362 833476692 640188744 781584286 424039626 864297528 374996950 610297096 161223546 738721206 21866300 885167854 541005942 917745942 394203510 172924922 770902972 742832580 981726500 317653206 931970234 330792598 738887384 142447262 472133130 428678476 502846892 140611304 234959136 216327564 763649420 695689100 137440764 277058724 510387050 597785576 735589944 712666794 813813466 883883388 806200356 114259976 212323954 58489658 117963176 241205278 696654268 949475768 244931496 909433194 535285996 154441982 713294692 710426468 966987526 170336520 460462314 360193936 446010800 82013854 274154444 251962706 674134362 451689646 117548610 522717876 911666268 109665558 986079276 753572424 701532034 295343614 13055220 405907190 95147016 839647262 662846830 56106686 536570432 561830322 154776516 173672322 402106130 544533126 193041714 458143140 673463458 722386208 732513554 214401376 531880490 298346540 536802858 792049418 441991962 137277720 972897094 180230856 758662084 264525290 351665262 60547962 102240268 981138424 40490462 735866522 21192794 301803036 125037588 457735854 706357790 74630088 165177236 963502196 550917830 846159158 296325574 724629230 48643430 697476154 858186770 619518972 985844240 813295344 683715388 481493322 432231734 353052808 845830412 610902496 864438966 219509656 487162466 789302698 139225924 901134140 379628902 238152694 481627436 448586436 668932002 904838698 408438826 250568662 350282780 556527234 363372766 804183198 677699928 146417428 812971540 800652242 109832446 541208348 532463856 490059098 578083640 315389458 738772294 575172168 505726304 901347266 824399580 214213752 194038230 874844864 473405034 191520120 921843170 856045438 989408338 230795600 134941702 381262484 577011134 385120226 700915892 247603898 832937558 176059958 473942298 537571720 242126866 800379256 262810622 131783352 951096368 827616122 651398410 746992448 23076344 997746586 866020966 960125054 957522338 934799282 947990366 114689040 706858000 357379402 73715570 418734394 221496476 953955032 178695166 814138946 897395540 614900958 126950602 308402310 743994778 706659258 970351308 342394492 451362458 182931734 428677576 746318188 982472234 182974762 911859194 78439154 442022164 837857804 976960874 63893392 205740732 687365852 996666240 63412434 204942286 353729538 137499676 394998708 314862836 5847502 844015308 206950264 917256186 914702864 113776010 41517736 326670850 949566168 537859058 149607228 32310880 172898028 348900226 300574 57633646 714546174 726910784 261672044 442764264 917089004 516146494 572553002 454577160 51237078 12324068 841891808 171343132 784645838 215541862 614572170 197216546 976412042 592236846 220017512 710668860 377280036 356288964 404139512 501733930 70681870 253460062 960729734 585083260 863433430 976094842 191346588 377829326 273231590 211049038 646535584 504183038 576134686 349466906 497151840 838129008 289080650 652309042 729000876 474644902 846113360 812292524 951838014 516720268 786694674 136049152 189494300 101319468 699349968 845081074 55609918 200113078 840746434 293257294 432384304 285090036 747796734 162336912 313079496 301278296 534310876 50037882 185212402 951403252 298011520 462378022 734980436 921513628 300959362 746863636 133152556 3634192 496575016 80902140 388784654 310704944 113699226 914319980 499410854 153255762 968224422 625514988 126105286 87846312 677782454 61829694 607431964 664994024 943704646 104304976 301434048 368279052 256914818 654060242 811934646 217193532 953831526 555694242 128537396 488582510 91330748 302432188 125022848 842869076 827412826 85151900 383320340 777267788 179257458 390789338 890421284 896158536 375642206 528631628 169509642 133359840 376658566 690390762 190039712 778018382 51843726 330261446 443130752 271355326 238409160 771396714 785608998 789901800 917074380 505733796 297111974 13535958 488443262 911020796 132444680 775088366 740340606 423352086 912571044 783775644 611426486 204011794 963170702 83824464 649120250 153870034 798678844 995013428 399293126 122381720 594874824 949230568 195896916 592212812 637450102 11688296 363328548 850020874 534379032 953394960 443361500 560785534 601648274 659175588 65175672 108781702 596121432 978240686 786924156 253523928 336444502 733148218 169655964 742698748 467384640 336055276 708906836 725058194 769637238 697680110 448194290 440407474 417511238 173505130 948946318 317741474 991128686 737939306 963367316 916331136 570620950 157894208 177229868 73130830 96639582 665428994 645800936 585846104 17706600 661894652 683668598 783297050 585940276 758491306 610644176 990707942 265941700 195227628 322976226 138929786 344965236 241841144 823044508 276711176 976779272 246203946 459267660 379760228 680808560 703155040 883877306 237510986 701796990 69012976 961629352 432551118 192717620 187390856 132724296 384697176 505632896 898268868 57437272 685498884 432320540 391946908 650254004 481781990 215678366 185092252 347363872 844960752 356244172 762893812 105635042 582938646 127346558 384782574 843678014 839607754 945164240 980600576 607109880 219918676 820367562 175924996 941183750 999970826 66574542 330661784 953689704 77239818 9613760 188073370 451600536 915027474 271907362 843000428 13696892 846450870 649317494 261939284 16963968 565400652 216352030 19350706 906857996 880401564 396461024 495565366 306777662 298091158 982209124 376890218 748436948 152443528 469924432 541731282 387158032 301830196 328010848 535549704 24612786 173711988 640734926 15475142 196538268 14556472 182621196 452020612 776845082 527343786 190476242 544328096 563166978 512511956 589406782 146540768 299692880 986067544 9164126 58311066 527745192 401832646 669545924 334242388 762974998 999783056 218484838 992916240 965118678 303808802 134130 436998138 957944512 284284538 272246992 422586136 253483330 80608050 971737418 427178318 271403414 61038456 737667284 845832622 281013630 246790212 986444108 934270246 386058676 857216598 16387258 434668294 619367988 830114988 102205380 117580974 75515072 33820904 652253974 249110912 386584322 969395472 206064842 3121480 700622772 762627370 918630516 158822070 295562402 62705282 763385898 933789366 749008992 291300238 864782706 336296426 804657882 321832620 150378960 815178588 177358252 119998108 727865652 621418136 637826988 432843194 566938632 980333404 513176262 787115328 321289824 143218202 231763668 645006246 309346420 63970000 273397116 437786046 943887072 875994138 933129686 400375730 850968386 859808478 731325400 435621230 338150258 30803668 312709760 289664354 831239288 63497266 722689890 367927002 818483028 475255664 982461662 726328498 985954640 269951984 312346064 219426134 174000134 937597964 263219494 572685994 889820738 430407288 55594504 58220876 370619560 286314408 580081486 421176974 122352748 258357934 513931014 947951488 751672058 749605134 51458384 391475430 41898558 851296496 524540696 813430408 625090586 367743304 541357684 667052958 314653928 622287120 531676018 982395418 112399712 936693730 858199016 613213006 377777608 563158038 327010960 661580388 132097582 517698896 108913152 431539940 916749014 582260422 611098426 438131966 486709338 562730934 906505846 953354570 596560674 210495320 206292588 619106886 211171282 918446960 19033152 226355542 445487572 76339182 592077096 362430928 742571496 397611060 416983146 613788432 674550436 781598878 96743612 933556450 221126394 482311282 931759900 735398134 998157842 32466426 548852474 975360228 919591848 271960284 149633810 890604248 892681726 159093088 629828676 987913610 411710846 810100766 910803618 252058604 969888066 287705624 29212008 486413278 804840240 162402108 711542870 534653644 437667818 454849924 715067160 298915364 80301122 32338956 377295332 900441552 236836008 498645502 290091822 143718288 322529084 664824450 413950146 868819724 600748992 950839220 183643000 608497964 559875426 412442726 874242650 700979434 830180344 531938398 283928540 709501736 316735090 165131202 815932280 437383396 846461400 653394064 274636636 780374206 933109610 990550066 635677380 537903160 808482366 201555214 792992154 170227746 334078938 968001402 603060880 606583060 801482442 852466806 86868722 800170322 356472048 217399240 453692846 327240118 732514710 696441488 138787762 814288824 766414484 467672186 496625352 541518386 60534060 357732406 586560954 719152968 871327784 850135892 350173066 434811876 35914736 918614216 694899084 374973088 710858814 531041978 497831824 325711870 498109234 485369686 120216324 205995698 732721118 665125708 458279000 410612398 33432712 160838668 723223620 992999362 288391800 323945544 355541238 39541818 226304482 66229216 638485254 449523020 916339900 952374042 939406768 943371510 618924970 979456996 212905910 930771828 449600320 104353956 880286748 510470956 593353838 805041010 730474750 847853150 353425856 44042062 885946188 152979946 80721310 346042574 875898426 834012792 438248294 890834316 356475946 416471204 165942250 23425210 539995330 795715688 56477690 681720182 744062570 387768210 278522730 283062586 270574966 269523462 80248784 299284690 285381230 478132810 577123098 843585204 845123570 422838018 859141062 965781496 715996980 608304236 750980840 397189352 594784868 365129700 798081978 220342490 639058300 990864416 908050140 216196084 191238308 187205232 419735044 584497730 13239838 396085874 530856874 769171576 146567420 464577282 114993322 412265442 760703710 682255562 279852798 965804936 546526942 33439904 196025948 592201376 865892592 932564614 373861188 943246082 213099666 968015376 926631116 424350634 988302046 45895696 253609584 612806336 30893974 894752118 98474884 414789468 18392496 274350530 403537984 751378926 686548614 231474600 542987374 954878804 868103366 677838942 345466464 837450602 406495582 260301350 658485842 757146136 878677536 675243360 605522420 516986166 456884076 618899462 546011152 239145014 911521062 403124772 440663864 970552000 248861748 9591144 611897478 415432560 658194384 270554918 777742564 13342622 853528630 86673008 731124536 508672150 538076420 56217238 453760868 725081632 526771788 186304 572210850 982919856 956588920 805622194 93515696 437002464 732915944 864086980 524601264 556464284 230871108 292707590 949106320 66167902 847518234 646711618 17823040 949386138 581125098 812607986 73866456 747281006 397795294 431378620 657893820 378214708 746512568 980491992 212076778 201356726 494195134 674249712 213827910 606507834 876312574 346441908 444929130 580868500 894442584 242891886 274319624 108340352 201945422 622212604 540571930 490094422 567328440 472299722 791778072 616327020 722444502 173778298 75773174 643628828 641909556 13129210 434759204 825307288 312201750 769333124 830014176 78604122 684146728 621083578 616929086 548289084 351661672 393646240 704846874 131640674 281332788 26399338 893721336 246489068 948199052 177994796 98082520 263104384 338510866 25236492 883992344 673478952 722771622 258897740 529169388 851286386 54443262 233269996 151701290 789930196 75653292 989583158 122497462 315732838 952755662 791902550 320500998 315268274 207604196 986790298 359352018 560973848 286282646 651139760 190065332 714429016 292468720 76245864 69451126 316699688 96764320 174555364 228006268 340724136 796222450 96488336 603750128 674774054 275911222 73387790 811026964 760255870 977439008 983178762 9080094 173352550 113659882 746316616 10553816 340064974 686061970 580530220 983114334 884562098 401520162 894397706 403700334 225251216 849222576 36447010 401612450 581455004 526780592 989194396 398343014 853047448 563512876 89816962 728323046 271522186 925069848 297674224 118125438 180310588 85718290 297157696 50064832 230569252 739513110 597954660 20790628 517200656 628584714 809919012 20843608 358178574 548262302 483296488 631550578 790909424 452567306 751423060 336629104 355436024 353833554 504552094 880273144 914848086 362924960 403909584 776889152 561657936 247546926 295685916 268171746 979906514 323489318 309453482 364520352 239340224 299249074 830097178 199973956 458413966 672264650 788579618 94796768 515712086 429948 72673922 22634666 567137004 11749104 430577854 482116928 807067214 455676834 537454024 207536926 962922114 629570128 464366034 947541412 19396454 790817198 956222330 305065606 999867302 16063980 292611310 771806028 915532172 463755102 894937386 581723810 573014028 937161172 340945714 163533538 312807294 260265210 1273118 92250776 119575794 985029050 733401768 344292002 830466064 533529182 242170294 355098598 100824280 811759978 940861468 137061288 718922578 195166450 812360864 160082900 684265466 469118984 57146594 115195264 968686764 624626588 180507994 288835196 676381546 601611752 24370300 412805574 594624526 782519330 170745078 167349558 867274142 9446606 137296542 878446154 510775906 919019346 953957338 100512242 666803410 774115244 265618994 837381198 838706302 212935602 316753522 721644818 742396756 858345316 741290362 806913058 487472036 960997858 857702348 602401022 359491812 468760902 624325750 433969950 509262566 856622616 977250040 718283222 420894544 381247576 632240070 822466908 846083190 920873954 883264226 243359466 977554472 499210338 790227722 308560058 685048720 826460152 87629112 943954142 12240204 515651760 346557348 724130068 629367324 399031126 573230732 427489064 332362598 739304182 735777894 878129512 924920776 530399382 673188162 786614532 761158464 295240052 316442690 806578490 607345774 675636726 463441138 525880754 520945602 703314618 308574054 654844214 652915118 446870294 662046160 745541752 299937002 713701782 69463738 168524224 129104328 253212038 995876574 789894148 418368802 315057930 802452376 678320692 422515960 522907012 478356886 310313306 763475814 498539010 878379690 680309154 35880488 566435122 781986420 280042428 153609898 351615098 452502478 410073068 692309386 878684794 950339478 379352118 719112812 763601276 869858326 395983726 442191778 971112388 795018468 319379004 492083610 400480616 638651272 493115552 949593272 694311168 621572070 531907548 472585030 547486110 580761192 473032092 918601610 155279552 693600242 751680778 570320856 614038290 120645564 991042332 725040800 523069764 975997090 501928522 883542494 305696086 363999720 521383062 441872278 614474300 285175610 923930962 274066082 617726784 194548936 102126188 593487448 592433798 46218614 599744426 107816664 263961198 33828314 883238094 686927274 877894502 89126314 308928476 994739596 29381078 966092096 523846364 806729544 822482726 885184404 17309332 820937074 69857042 612343142 679900992 937855342 239775830 770820852 635105942 483428556 820800694 407077940 290341276 248609676 339246350 350904490 700076940 589681444 601894560 249891778 642589230 640634080 585610200 462445272 12024804 63314336 849446132 627628 299606116 218692092 637248002 513304526 994919146 400263304 400932332 878616708 736457422 406037310 52923724 349043570 762335338 428909258 769875758 671283364 237077874 205280942 313512654 995032594 881968448 393839812 660749966 254322758 638900458 323411928 578180356 727670632 804178184 386798530 222830628 266730484 519815386 22448228 477568470 835256926 954199576 853029134 321307454 466154432 798123254 66499874 486960164 517321950 913680570 108748056 949906844 677832772 935466958 736022850 92067766 884174996 198025910 202773570 402836810 598119128 17234070 391438854 590596270 534094194 447667468 600601172 304406840 643433342 247318176 360050798 452471688 503422616 677387826 990064934 705849662 18360912 208539038 297265902 556282586 151596428 863064234 472689744 507908954 40393954 675506518 214768110 309965342 786183122 700527054 176373436 842203714 920934050 541724038 370426080 229417346 537221722 808805746 643417094 853634890 739868842 947939938 734622236 931544884 879210840 11419386 705245084 447486534 914309832 970411442 591986208 261325786 322486340 290188312 309227514 771388550 935711804 404573568 593850864 244382760 885892886 62203826 29146010 165463464 676274510 317274190 925611694 117702602 171746010 110005736 746509768 760661368 670462034 529326822 586748764 908405132 371517192 790591038 185716580 427893956 883078794 228899420 284887630 653028090 218577754 42360792 259846172 292828764 945712318 206018588 748954696 823968602 181577042 454151740 94450904 528185082 486085538 311593922 842449246 991260608 30373018 170969256 244812730 587752498 544963224 412954070 952319250 285132014 696101782 873118376 277431790 391811028 982145862 830205542 635637348 349491856 56741422 355048014 364091060 684084822 544191434 536687888 203863022 4303394 124834290 438489898 803126534 145049662 46088704 697500094 664986430 815005834 847333260 996061352 895281682 614758632 747807110 513991722 852497580 705360644 23437612 495616010 50656838 829866174 25886512 364227662 556655668 14973686 922330574 593751476 56247400 873501530 281093588 21482140 804476412 432978582 570025254 468968020 907938626 926031078 144473644 359482836 913302476 603144118 909971034 177805108 653138912 231931252 847441530 528039274 933997614 996247834 966212180 48789780 930849538 995268802 647060188 71564220 382016244 727344814 545497968 546638924 256569472 210091314 10429228 875206612 103482402 551086762 155390262 726746880 5980358 943854116 907317174 661542732 673924580 690968530 48808400 162052246 255278586 467531612 392958506 876134348 56488684 137659978 821277152 855358334 136990206 172855044 567189854 960922554 671609472 582164938 878434420 835841820 255981580 823712752 229992894 394270850 25726226 957535744 951720408 653768424 964741852 63622586 38824410 936192764 56108028 449932274 645621632 574627342 590904412 411316854 38149238 50460880 722332202 467390422 704256116 778710630 950648422 368804036 752733776 323622716 672995934 502971058 314514326 437917918 583663674 797139468 20111032 913687888 981004076 440553980 782407860 946653612 602627772 855199860 281474108 221626384 187859362 785182080 577636924 82985656 831095242 852033056 288078942 333620258 310801342 527357722 352853704 555905060 18218990 88622220 176526520 304845486 904020178 91017412 476072530 998369526 194611188 491381632 740733794 882155940 430560708 500122056 264618410 738980682 185011600 378860458 391206602 445766602 23308386 238944690 41278952 900361838 49296728 593110908 210711756 256317912 679040300 571681874 763536082 833956240 960069264 877659514 138350040 786521208 568795880 124372078 940394412 23620704 906913480 921469824 75295448 283908614 353068484 297898100 804460386 11800990 626796982 889226210 693764404 455281696 792571040 865362560 757231848 189400144 522109556 991869534 830299742 704364096 163723090 314009404 951065724 103509284 271356308 502606388 210702542 371007912 186187908 56565038 597185606 37418102 236711794 520417094 620599632 259956852 201532552 519729884 743853716 113903908 223126872 254626778 632250850 473604796 971426758 11092918 737308222 252432988 987677996 178432974 637386784 473139652 440784142 380804010 105131720 674059098 817101878 268366468 410169486 658575588 639506436 184521502 24054146 853804232 122553436 664202914 204650280 321494792 774876624 470592412 607646794 387058916 691733474 244417832 865443054 855979068 147799344 949206738 292077024 492282682 514660938 937108566 96269930 460364744 290328312 245093470 49119634 883689132 627897018 2120520 884421092 211426476 912779486 695464200 861544058 793075776 358930920 249313414 265998560 36938588 988426312 805193058 667103560 113909776 616571650 544828782 620011424 448604172 995892958 616013480 609216764 405106924 344002416 918750808 707402960 994243146 81153116 936437654 583163644 696988350 221660446 784723096 713104396 52728942 778343896 751756684 271707570 653991938 441531846 838329060 526853556 407637596 339888178 243512882 525007000 160780504 560153664 76950076 75908342 69710908 945239938 687788520 949659178 957818510 393705570 129638240 383534722 813598694 884656640 527117594 535215724 22580438 456222694 338279298 785450502 845364012 190943302 875208304 859298938 881770498 493933442 836046068 629106602 883982514 289425516 38452516 99952146 243627594 320760756 174886254 466639708 248103968 317142094 144281262 269716786 162218870 298036280 369574808 555887028 711983672 441503930 833456892 49312154 742857976 395150838 766188000 232781620 371301418 315399708 385103340 713728656 972113360 259958600 396221334 177920916 473385492 887942744 300965948 687311848 432657168 334531520 691110964 50129590 221508500 252489840 108693818 744201916 500380038 907838450 736236690 159885448 730447542 975353922 533625802 118786846 266166480 783030292 497890134 43159088 61437972 300107756 315561022 578017356 671965672 76238720 27417078 178228860 100656758 983844580 934651350 656454040 630909478 63996510 231499596 432635310 949667290 817534408 402542526 469550342 567252960 115011412 960255050 541810146 804010040 663692522 697739988 225629732 319789768 520881998 803174414 965023276 391299664 359491898 142734358 642989942 644990602 998570660 699272838 709936594 246945814 96986526 647598674 713328516 844221226 321264502 833055000 688812200 750584222 94012306 383271936 497972798 65742308 951406382 823794926 220883110 41707846 420890432 811563312 58027964 137936924 852274524 885541774 701035696 919818578 762226904 64273286 722782114 831955894 11228374 55848628 875453826 814284764 123361318 573110340 639364588 59134934 277160820 370162786 150479700 320174056 571993252 744782430 391378508 561293146 419856486 831530674 813482874 108014470 645684628 977537270 28828600 208859362 985263458 657960332 719711556 112664262 611420120 338209910 116925338 662368910 765006254 721423952 759880236 709743890 75048500 82021764 766690154 124547662 633119536 471159774 355463456 254433542 950834952 723429208 323417552 455213950 60018174 475295352 816983554 612771346 983994410 572192718 322149130 905666246 607572828 831771158 400715684 964402632 722947550 902502256 487766360 138798714 968764704 456961420 628389256 124499018 197330954 166673274 30899478 469409016 104132576 918036680 86799384 477375856 615121068 891997306 885936298 195196978 29839186 61079628 284115554 231158510 631480468 122881856 6233436 213783728 449560972 185598660 379550116 624394256 618268402 437271092 176391906 337680816 557196716 573112288 921855452 100423214 283109156 93019254 312271356 298240002 732976204 938214948 82149080 718843420 957659734 394275732 864044406 11892484 984686184 776248054 32339904 492950524 581182956 686447568 726876480 728061398 689517540 812373764 431984742 882858366 113591468 668963516 483560972 307217428 630627644 389538920 162390722 826718046 974345580 72259740 738390904 558685038 498243730 448225948 198087482 907585304 500141776 903431760 702489662 967123758 588535952 176457386 943000618 580283662 265577232 287314878 403662286 257241882 268869296 949603768 92715408 507601442 384768430 671432534 362931848 482998216 24200626 884669138 751538560 432242794 107148086 844474782 106947732 141489470 198848782 490500014 494726656 425426494 222691830 29901702 991555286 225610358 81910768 145666334 947055482 7027428 550169996 634146916 98799160 174253116 558342418 678141290 956412544 341767648 558824934 612929114 300575588 43928206 330766374 378662234 472297476 212160898 201730078 367819942 876581546 448726722 963184838 522913944 715383604 726082812 833726650 218113752 146067062 967088240 435695872 514376890 61269154 35061468 539954308 279194006 358077900 641281660 783052716 951981166 430380224 530682980 533187798 164972216 38872144 321295926 182992856 716218352 638407144 64989398 774730844 676715082 339826316 596140516 438581342 245987570 608536786 133396492 577462494 213936226 742090518 421284224 774062668 489266966 902227124 68665334 39950710 231931022 625867304 865963690 92180708 420019070 684512902 521316498 380794262 935470706 243391546 760105846 293818966 249725478 631228830 151062586 743407804 412922466 221454366 527532290 342143610 679798986 516794402 157292230 38922402 943836542 757297538 617730792 74446444 562695348 463757518 129768914 495663142 736916246 42006046 858929392 503427708 538938428 950114740 694731204 403974006 664961110 595175048 685520258 374367112 338032922 680646538 53516954 979477460 742709070 908300108 493167876 658855516 359566124 499323850 379874646 558942070 538917034 320093616 966900808 568717768 532539694 381091028 675783554 740695814 161399236 398770544 475267722 889600880 221652434 548758476 14453418 304903588 604943912 896256860 305872092 334608274 127977282 935002484 903699818 178158672 850973688 606869646 144507088 159656338 686532482 464886334 490548008 275925944 692614116 919315346 44879366 348474984 755970014 763068318 612095450 433042446 282118214 202820044 871889828 263149926 634810804 316188336 444197400 37867436 128645350 363566296 895724808 424918140 344419584 467735752 294394212 712194564 625848384 106219524 352690996 426226824 717941980 919057942 705168728 920249350 92434788 405305676 189968406 630704668 9075268 52787194 142659828 464716480 795605636 178324748 827152230 36722640 919320558 253876588 411906856 40779774 372312960 484595502 154165002 226203834 166456482 5143214 832856770 139376612 810651032 42772868 770216464 362513440 603692610 932864972 529288532 834262790 218390290 767794186 217373788 218061936 142055672 447379902 782765086 1350916 839640392 320264324 779508298 136478960 404470770 224803014 363574440 362000068 596123358 967033096 609411868 578827764 870351254 31891344 264580964 330537060 861803388 246580136 248004612 609921980 138978552 631233684 911669814 200605228 522784656 106303232 125110394 626342056 765532702 350959626 196251008 466293204 266804592 94697180 357669746 843934556 282585046 280713998 75989192 999061470 652161186 581055918 946440724 28668048 85141282 189707814 778574932 211727838 866128792 512979824 939047708 260462824 668472732 576149666 961660518 51467850 673570780 515234748 100536776 77815804 633864840 42157828 34956292 382771976 404778506 169855452 401694228 21253264 252869522 30926620 425282290 34132842 481421762 87210880 468472034 96122946 451038960 389445920 984018560 440467210 477672350 71264948 4647322 313624936 502874072 119012712 276026084 479343468 777913296 537004490 85977480 407151476 360032722 857288150 548105294 783527256 680989230 671199888 692673896 227061180 781541290 566074978 245834754 490603046 22524530 506335982 983860416 893393930 898884942 512635040 193789516 141366066 780213020 874199586 444090706 102445388 844841828 294828686 667064854 872027798 479022458 886917442 383838876 289405068 434757802 875447652 608177398 842438854 992498070 136158404 798412440 382473602 761146316 228333102 164620078 911371440 368635116 608801624 695212954 914949960 56601094 463987598 973491042 34120350 193414692 86343212 985216830 833473368 530424256 586994496 502816016 704656910 696988914 730891506 204667596 215927092 754965670 193688034 407571688 229370978 207659548 725406620 386495632 229083686 946098430 120637218 828496944 811919388 172012104 842257072 259594806 569626560 136142196 188913624 468752350 140562200 17280216 625515210 420353404 596221716 13966484 930790436 610585540 191326486 951355120 598848698 892870074 999001152 329618510 660663068 987132982 862112362 5631656 800304094 874629214 372291686 41720484 449279392 668567066 302375092 855714690 367032024 287239964 710224808 168726282 103330026 987019474 123190708 500607812 359855544 775625272 50237070 872790376 320631674 625800704 276656346 955427904 39741162 5732088 177474014 917478902 223878600 516198518 136721236 884295496 934647810 515877992 579082252 530190882 712977786 81015648 676679976 833821584 218537920 178113314 902067234 514484014 795211060 961242510 909133024 547750440 875026798 736804828 890485080 667018818 74425890 154307370 449715050 506448728 732375464 648438764 207524030 314230326 139202234 151703312 317362300 350857416 472450556 465621706 237971670 906690890 979673428 865077804 808916014 692469556 904028956 870475396 340910400 229595972 169415830 136487076 969117660 249829244 344299476 368968588 694631958 545222670 960190624 220097638 367199398 384859104 199412136 882163438 169056116 742480884 596855698 191633226 836636486 129295692 570363526 337927004 637127316 601546424 84247020 449747338 44747040 978255144 799658228 65758066 952956046 365403704 410104022 259651014 103740928 372037286 646845904 342820538 72465572 529780372 645322746 484486714 287962764 658994892 271375786 870571898 577073910 822919734 579832682 6209088 986182870 602910640 739984776 544963820 7696898 569561170 519637562 336201798 771062664 78508300 983987524 935448868 457191930 843901622 515970966 750897918 972878186 442024524 799184988 95083228 995905092 387578116 730624520 893367608 680724658 781784816 588022358 730739676 353127944 844009054 672125110 162764588 901044304 331453532 74609708 335521484 170312904 962304368 224223046 870671520 426221334 529643890 516825678 582715482 704245702 502806124 591732694 752799072 692850564 265776710 308130946 394901694 584224994 229239566 291580394 490781278 215770618 83960562 478967256 162384388 154543654 419270322 566049114 319979430 965287566 760823850 423154500 730912318 887520140 824650450 323738954 193125348 939881238 94868460 390956162 547669088 50501940 688159648 310698298 771097850 876868698 77067842 810682428 381244918 936137424 256836396 765860878 278803610 210356422 953845296 497815654 239225564 198763406 800750640 262972812 258071980 840143332 744656872 191371284 324645010 56440446 262900144 230435140 120024082 118451734 311374480 151056026 843453480 269326738 18563480 713099584 234884160 581197364 148024298 222714806 460473028 950457180 909278274 108379694 167210430 844051538 28288868 436791552 389308842 752785882 220928850 291472582 871905570 527451756 798087232 726309906 457170954 982298106 801239502 395734862 507530250 104582092 971559876 468121176 902242948 984158270 344072858 241034148 611127158 838754634 791471146 572114474 936038048 460459000 794351274 816944028 348542466 165502808 197045746 303696552 300438150 977165950 857183948 629318478 216651086 676544834 461219086 110980484 201979454 470117482 951279842 117544056 563984794 166125694 444484770 727716194 962423246 31477168 867803518 464132332 784709742 706243610 4259348 550983914 785155438 684063574 726317394 922954852 142657778 132367312 23635642 163222302 246819896 242137450 575120030 829623164 162906620 140847392 993624172 590495564 928657650 284670244 309745446 979624174 197646906 328945394 306291102 43040168 446406674 172639428 925228312 198174274 291762996 297730356 191453634 962556362 38650808 858216072 960811834 71842784 801519946 585312998 752086178 824739570 95462252 719665070 116678258 385655784 578454934 866047474 821485952 263714052 900672146 621569266 233126050 88624706 125455744 174524282 615207144 33786256 801652770 908592574 320510012 866559766 565699748 176044142 460661804 236449896 127908218 910621748 274122912 592670512 599416620 886532730 670913920 998990852 650383250 543543702 31977590 473406702 805878614 620013958 508162134 614495948 252952968 163703116 815052812 149258898 819351450 475135742 408550148 188205422 512776286 855815898 138560986 469725202 946905474 173723082 363786496 294294050 516664888 583091966 590590828 260553074 596067304 974740974 178840570 876578964 893664884 186724060 38649402 70735286 868163274 95693172 41117440 196793664 765085748 521660804 16884478 423177864 621589478 397060948 137942218 365317592 334485444 885918014 816322812 236367068 933230516 841293956 939406492 687681590 640258796 848696402 645269590 44014304 709278034 703506876 754178540 545524928 662918440 11819562 333074494 552828490 490379012 632379934 934393092 264779900 203092810 573054112 305002760 119526468 901599944 144405504 939991506 821666658 387363878 275839590 553407134 485068426 391301982 404312724 79320144 814887004 315873776 357896512 874285014 18701174 493519092 159210196 748670592 400627876 366106920 619856830 464895664 340215762 333858792 169414088 695138058 576156764 802871672 490512268 82163414 643571040 320502054 114354676 580446644 345146610 191281836 114598056 234175160 457756340 631605418 459404392 974439446 551973674 291379574 386074882 44733578 761554426 861487804 773636872 632939884 846588672 810304428 672659112 521119616 529084656 681987208 92535128 206872408 158378530 761176260 359746614 945395336 248120584 658894134 420094332 834762342 737690234 48253850 493076762 831825912 356738898 742786360 887529194 485792126 336095396 826799602 827922918 871069914 847904902 395741310 214305676 729262118 33761232 756307228 430112562 437176116 379084366 525762702 821287688 950352442 133712540 416780482 744745798 371393572 865536466 267789896 976081400 394718894 159633588 404919268 766341448 902846450 583769380 710506338 608995998 996022442 289758964 519215454 289982392 329041564 585724770 114033692 363062858 323014664 877240234 289365480 103510758 687280538 138980484 793068702 683951330 983321298 667695890 865959100 266254014 347532820 548615292 225477788 847648190 542929340 108237996 434926994 418547982 982453550 612683998 823823182 630729388 708314520 696627202 235326528 336981092 265523862 619930378 954265352 952366868 969913404 29361246 230876056 39635150 760476270 839411348 802620840 428137872 792989058 596763240 363106962 941228674 835710834 528336124 266413480 945865296 859931910 406774756 572638656 441382658 317886668 982799956 478666874 49043132 839483776 283898964 280623052 25108886 900970470 598742648 930227698 207990332 544300410 122431980 884322652 902876942 313170346 8658396 368738432 994754064 17012024 422571782 804896834 395027604 795863444 836977262 124501060 765459518 786718810 689307772 831970158 581044124 424060992 583983276 847179106 298528284 386429132 768096960 53203330 78368574 454718194 782448574 48369702 772964438 837644432 261182226 824270920 787238788 899801724 842704820 274365592 559560020 361769706 674575848 406963114 532029986 75343264 591600986 431316402 487377462 610571022 427313194 206677880 839089392 77725698 274838504 277676338 108958360 360904840 236320914 537828190 825364708 785626356 935499144 658881718 663567124 179199318 541559596 510401612 444324948 500585298 120532992 808243848 319966362 77678008 105972910 255950506 67933118 480396972 332188546 269926694 657729926 531753784 478164968 188727284 377241206 792120936 738053298 714135348 400991612 991977794 786136672 534202906 434628006 841971046 683322864 778068802 533348062 203633176 124467484 991321736 233037674 350469370 187761276 36312236 343888942 868819640 740314082 661900256 698300620 593465274 421248748 105876878 217692806 991525948 376807668 251669142 270765960 868015652 89941560 192351552 403287574 320808538 80145982 232027706 395470454 1319584 296633198 178569240 19524378 493438604 120851860 974531390 279676524 804866300 442218218 64325458 762152744 861412716 164229322 370218240 650517040 813991058 340272554 488115308 305441138 743294114 213311394 924085720 518393638 462757836 809960742 573294676 376986700 639857352 135075692 358283634 757768378 207138570 337995758 393669788 285164078 543994960 110361648 536787528 638173068 611438448 120146278 406033176 25047278 586103868 848008434 135610800 293070568 462795108 225436554 817674888 615119318 200279820 299752948 654457244 780225814 805711630 442846256 429674638 750390782 585592542 740252654 614094226 250714434 289010516 913080692 969829560 881343658 618610854 388538660 751242332 33572214 78687682 812445106 83492830 20557776 424393058 997591774 469201820 244679168 816331634 832894276 673390348 319086906 513226292 518903608 941487652 740841404 719053370 190142136 311768318 400614152 338269848 238046370 21538426 296863140 822593474 924728366 657417102 721148728 707033834 518241044 211385154 335553086 479064346 220206176 580724890 464337568 985522174 870692608 642191810 413296532 323042376 482180356 87423962 418242266 488342418 173344232 343983252 116987260 390380220 28953458 90503058 590830964 245601798 683572540 654453812 304199476 546616862 510623582 899983046 742304556 757795186 186425668 897023624 975518948 765810996 98585330 117342280 116812424 298857908 67428336 307891370 486728456 356775804 192724490 745899220 943010744 237380210 86392964 608813770 367046392 82021996 437477920 21662426 488675202 696145706 528356534 522450028 326998600 51618454 36495980 402299522 258479008 669482684 876467250 216081450 838830046 493927222 224969704 876176130 769640158 262859100 212733922 617358646 960898256 137148166 427728538 874019012 27019898 996705616 714179580 735576622 703187230 793765388 802927968 829614446 289909800 737930422 488773276 683202226 952287708 8424400 206818890 409094472 849744578 119572628 16204416 786905558 760795610 260364968 439629474 847181986 929759930 808884464 268744916 385499112 253160816 691407060 599065512 998058742 114640276 527521988 213810136 457743794 226367158 79956260 63972350 57083092 114128950 98950478 45382840 223243702 934224560 453373454 316781056 856473058 766572978 702808722 422427344 578937044 120819720 401349800 517105572 204265656 746878318 530299896 399444794 789501076 559345372 678013290 699178266 628863486 309215118 71035762 331797746 903813320 142196736 501685512 149327330 528272776 724914464 93452520 357238634 863414754 889949580 216324056 758164904 950832960 471883196 251095594 429265984 517513804 794326980 518344146 33544836 179858524 973583094 61012442 291694550 388413262 664794628 807116030 518902758 41405002 895981288 807653446 323027120 738375578 56154626 566297112 242895958 590849394 265326704 159701374 511368988 702906520 567673336 175209434 470261372 610039400 562307998 292029672 703156670 685608954 545287368 510677308 525747408 897677106 171571668 338286546 13327432 826038966 500642628 756142010 529220760 173005132 670641120 250787862 628647022 753279968 614987134 30957794 792636036 351233350 381573706 173967164 875725878 239233904 463626542 738830304 178601024 869023850 917740488 395273886 680328612 38517892 370643424 290024488 226594928 960222618 546681248 297242132 943770978 744817128 753232854 164735366 489490656 357024518 212429342 228098886 560379976 399108762 220635094 925255090 795357220 631598788 491557160 482030732 333196580 134031192 747972968 877766416 23373404 967773238 749778178 483982430 888615106 658288368 476217074 499750590 829502454 527206614 801931474 817706748 430520732 800492682 738454152 335620574 311636282 87085076 462538938 319074040 403950038 88684090 807728278 54294118 184985282 928518234 145290332 292072878 231039630 763986070 734653312 962449028 815722034 480864168 21052134 475116996 972509930 44966186 833769134 757672456 2297066 527842206 867442010 796015968 331448698 606666730 298234572 455279830 889927314 665574726 157399456 20597114 699879726 16201482 35468522 773535540 529789278 503962738 747283756 137996952 759908656 249594494 875772878 65949016 56571316 80570734 386464526 474705240 131102386 256952940 968390332 938856066 748156998 862259348 38456954 857210704 601292248 170272806 205838376 865092744 103356950 230829126 67022258 811414332 370763552 287420248 626483588 954649398 225306694 710237554 53058046 165111586 832719614 179411294 715683550 977459892 418659036 824516150 557148228 582556322 191679898 441678398 908062304 714955762 127934638 887766570 648382858 264532276 952180378 801270038 134438636 544972956 802955764 620362634 575384990 677712170 348968896 131298522 767154662 115632858 777046552 188188820 474911574 483568862 369573318 66434322 723066142 292453654 129560374 528373020 180636882 517242590 323727522 280327120 760510310 985627626 256898540 394528754 842616062 37226464 964260344 951632186 387295644 71221638 38396908 130902884 723437684 390215806 712556118 521245098 220732702 998350432 212870188 328234114 622207632 625269684 773109892 850805464 315581106 202520228 319719484 638990920 906737482 988997940 588392818 569108544 474248428 181119910 549100202 857174014 808752244 224235664 542508938 350778312 901186540 630541252 297257918 249714790 8942866 654558566 821334026 242326236 777722134 315067564 962181602 591558782 216734564 456567448 472202644 889249832 610370878 438417152 296173018 19526746 668535320 717201008 75969188 317663596 810027728 430727168 972887422 877416458 824384262 2345108 448165040 414838580 211238560 74668256 801610722 114454154 28062848 366628586 685924806 992567676 897864352 93429960 48852586 885378562 409349348 358524996 138541176 611122320 630944500 667407554 986776960 664454894 768508356 232996744 790669460 244566842 297220630 488078376 663656068 198914270 456642602 855189766 733789102 245990068 603558752 774175462 265139314 182840246 51556266 973476578 177992200 915012446 230506198 54612148 755686816 313859162 662574678 789110372 453968818 790777092 195868806 342208512 580221206 416806768 604454578 517383346 191622030 829864812 417901342 173561576 659413618 104024170 118931750 356020430 934615110 717425090 880540180 335118128 645663412 828604278 80889432 686982122 456185990 94202286 32939888 710536792 488275674 599831108 957358124 724319058 741589794 811112638 555376262 216546822 141479036 468454696 40588150 939928710 575571702 845435176 571876808 589365616 965860652 948025376 412804944 622775072 244838734 182933362 351186302 712191578 845376606 149350836 73340994 515692100 295171940 118320618 467127952 208968188 180691002 162100752 965422846 470223742 524662282 194712578 922682430 885009092 747071070 980572262 653416596 723540750 503803500 782733426 236921388 605679162 418548026 858732930 206744308 877201378 505254304 360249316 583041194 433731878 494039114 437422734 711037558 432618682 945487408 683464448 88027962 819045158 380890522 298322382 749182168 36205710 315822990 610713348 301203558 609789750 978109044 130078494 289258782 104733456 540123292 532352164 328403254 351796898 520126872 838904468 587628060 443994424 221425558 130590096 533338216 120480222 298124048 376076044 424437330 814778466 260950270 870805546 414871908 109631810 831821168 413603286 287276118 988685002 835899620 22360820 702587830 185422530 292308534 443022430 766055772 192992666 734661154 728093816 572151374 978966930 822455590 614469702 136943750 816179828 134704612 191493506 208338960 226345480 341866048 330204988 90796988 10315326 168106990 62054582 914740304 281462398 778374084 115513984 551788326 767472248 811782036 329680890 923292812 136007452 615321948 987549540 1165594 497333196 908012278 753505290 289617222 785205974 912466020 386429280 311978684 378186986 810679464 479637624 724497106 796011338 45999994 687529160 119306754 389725948 929736416 440265866 593499416 187374658 967199938 385813716 540043208 624682790 507010886 258264768 543161062 108225508 779132076 455338310 524658298 222211192 742538828 15965888 330007256 74341988 81930112 950960818 75219010 889944164 256061274 538113030 573201914 301894100 731768870 732700412 998263214 906430070 515424710 980058148 124387548 403589396 883679116 379467636 205300650 855904530 194767366 234500446 373512186 908938184 751281948 683635980 591640794 574625594 470023620 957096672 81182146 568489032 497653966 60910216 89118298 804345008 871328946 750726618 89642778 255227616 546899420 95696598 426072684 705167566 27374460 834347014 215308714 22112344 472994662 556743406 981708604 2071316 282855118 280910586 374138438 20607876 939267458 192628830 303050412 476648528 791749328 515948134 9287748 262631278 342377386 287126352 402376184 784106712 291259986 599973352 94855020 700846534 202926616 979114280 955203204 585789478 397954988 719161140 28682584 627328510 245779460 633522448 901419626 677117998 356966754 862808846 706801324 402148608 731543410 159223682 722438386 850774952 930349266 619459722 612774754 957409590 2531802 829604216 370736460 986473446 550207354 600575170 61725594 413747186 499750476 117594988 820329062 938630474 935823214 267611634 64500048 198288458 439923668 209229862 906911158 892843466 340522784 18292604 981296518 791714156 858795700 680447674 788319046 955150722 543333980 329683418 814923530 991299836 110850610 183480476 759883700 560416690 251699658 322797908 827607614 873921014 924771724 711176346 720471612 730343652 337344100 855442788 9896400 335156670 608366052 846374738 577694530 980667012 696055550 775176024 124622590 487890956 739608224 948850788 871687810 445278698 447966654 970630128 525362258 795151276 591208862 713427796 670700018 389366302 415659952 135380450 192143250 379825448 337659972 558034948 892809890 223962804 460542982 731357852 850038374 319615248 283558090 66865082 833042792 486768118 628822506 493615098 705948024 97408612 975735984 568597272 182109728 331944464 824543346 11950066 12933918 295295534 729808770 552211300 867899212 950513994 834427750 610341900 699863036 3559482 143954050 9589296 493402632 74621646 531865166 248176540 439538900 363064080 782075500 567643006 858226770 258242116 450495478 903644422 112826752 704646402 739452374 651966052 664734112 418130820 395108132 715728952 245664840 231336212 369219492 957721196 904810576 860111302 648101284 695633958 190046532 774319336 238601530 827178180 574803622 161594466 529720716 574448818 731561926 723904096 897657512 887930330 443045810 377826404 212497182 597002334 492580964 779555182 713744698 830489340 503162306 85720852 286652740 63942742 704366196 66102440 984021286 777618080 417156024 752430886 985541292 457934726 370877254 616010180 701602824 976952262 613305918 852560092 603876322 958375502 55338090 217186674 302305610 835402106 39970794 668768068 240913130 891351100 770399208 601205806 409676674 294573472 650171246 342004852 512690564 604780886 485853758 53000536 729833122 310532266 219258734 369130826 737146386 544470794 169776256 318069476 425586622 940392176 826637800 281148908 193946900 202673248 937568844 866461946 221758914 662370750 738477792 559565304 212656602 376887654 766129798 165981764 944278604 995247256 749293184 100122778 687256192 540312436 351204214 486048154 446878076 270730298 308066644 727385620 92838218 72917180 711069868 440315638 958560110 40161196 797986190 705308110 933025562 369229644 474043420 738309620 648077150 575049606 369059380 827677776 69776844 482476780 177521858 172487068 737306164 311209908 413591298 613300804 655679532 592467144 993374218 491161468 728668776 881875166 258032046 137171714 34000536 292746484 712191558 548824592 153236232 171429258 556359870 370324682 345369292 442484010 59035618 819924794 986540866 284945438 789334462 492843202 12534000 465090306 574029080 899069782 885617806 29029776 241340694 597760302 508766296 108265448 513085994 808660418 368401268 234194330 235875612 404255544 851806504 288706994 389270914 278895842 795057656 939209836 961770150 834427576 261061420 203211174 4680824 294383280 513900500 515757278 843047408 310933688 788331738 28631948 735330568 306947694 890602636 841063590 581720020 675600978 347573054 945457422 894890748 514571106 8928490 601883476 309698062 248897876 970321038 8462898 502243648 577481636 825988712 343815676 101558196 476530908 465151096 735878794 827544350 900955516 432977290 752202048 652730492 318274410 529352674 607318042 794334692 823630542 41204412 492689942 206223966 12887790 36722438 702836372 239482130 191444628 920317424 973591150 905062630 631831496 506508510 240042890 624637668 184865008 487717330 16484866 708338758 962118938 785924338 846497464 337037360 124603956 848768198 159343484 747831702 854367082 506341982 657527040 895809472 426387862 466230810 109005860 105023986 679444074 499555330 645464196 279346074 430203818 149801352 389480374 162069006 692331430 305967366 556390364 605301088 662362694 398924750 25732270 637323572 827797412 995991490 624763646 852000406 731707548 700057178 307030506 791288342 165182160 985900666 364621600 659538458 918826620 997427630 736655760 92583908 872414418 785316206 996052472 593510376 489929600 68870070 81305708 255340896 629270206 123541558 748745710 90136274 448467858 746449728 80212532 778004438 74356108 725147698 460490938 319788482 106665274 924035872 115707362 34630210 842500300 543534674 434819292 986057260 957479492 770042284 813446264 658806284 512806558 193082680 340821960 732786990 562958934 462154670 954487054 319282796 20678312 385084648 560658178 271487532 325193548 634434802 433360712 579438880 396040388 280464296 136714112 565617624 48485908 173188644 177339212 340546242 534995044 719327140 293076172 855118166 527909558 103461866 385293732 337899208 39331032 152529010 3973682 811823918 151783330 155513840 596279790 713281942 301286686 207859868 305696046 104922330 276782318 1519986 834307326 220704558 957941640 870341534 764540362 122480258 475776560 962349392 455556164 201441102 305994272 738688196 868404860 861644068 359612164 759602108 773272184 566075260 471888032 659631830 47941720 860085022 665267638 67426154 481784070 223029532 650269984 986893654 991866026 442203180 732406138 963436404 206781464 991756656 432023636 716447556 560873190 372701344 828736990 394233152 516623030 933224490 452353328 42943616 734878546 361097032 434882704 115393048 542800778 94192694 532382424 281933322 386999004 622346292 512660730 245318550 690267360 714036290 205245882 851664 358035418 599160728 8258006 583093868 880278202 777168528 160732588 755727360 416972600 731039546 602925488 192420570 497314460 917511274 61743564 863562402 144709128 912840952 991288376 271967868 598321010 981549244 909831624 164523704 896810578 677114790 489275950 504528540 225246104 238852388 432746422 748538288 836046152 530346016 401051738 963320476 784723636 31382326 32812146 298502040 928126958 621844088 273296956 475435702 188778548 391898030 927720698 55020370 320545270 138434372 30806720 235795142 338906020 824195438 229886540 910804746 442855424 59620390 513128068 677264974 926147372 606909034 491417438 648873976 903101054 407644100 22615102 661670398 98260298 604624190 989088012 570266370 287094606 596359028 906870904 681940034 673248678 518846554 648985710 289631454 556441408 408565284 727904092 876573614 952464842 391354674 72179404 355327454 369375984 555645284 828379808 446909392 27233292 689171510 540838470 693358842 920888246 363109120 439549878 331417734 487780470 775034470 301795712 350130210 591934128 546628912 900347702 577371142 699754738 722120690 888721726 590230312 310628718 497087492 296047944 167921904 12086240 401990746 406789670 782542198 417915582 127082632 93070670 594612084 266695792 86853906 60947838 972733368 45138936 881156090 510189682 169127344 533068060 234794284 547310152 339299480 884458168 658403760 476652748 881049696 967649144 400390062 504524012 798974162 982186660 450189330 869553628 295983408 943559536 604056394 964777662 881870328 955402660 104798946 385130352 66154322 682329818 310988540 106076960 156125428 36176664 523832084 534708586 211380202 754699620 332794056 826499876 742638000 247525376 789444006 937730646 932737538 725961598 248196954 925954652 118671948 957361724 657048022 918350884 207704278 360853172 312218082 181495074 979288798 103226514 458753222 127802244 163758808 999370452 266812838 473081360 971842680 464468152 956716972 993789736 47981376 595357762 709668222 978393338 66871702 273217436 402767640 512181270 916231902 616190626 537742872 104916536 932678036 943410492 688329296 728411832 116127746 460972850 686631608 187138376 714243338 546609582 47738900 257962176 415518802 904122354 172473458 540850928 361638186 863347110 693852452 898261030 793803964 583243114 841228680 149531048 552950352 166683638 396700920 245950798 326396436 300233482 316865772 573056014 966825118 510751710 447837812 60089600 962904160 430008808 121466772 759289834 262002568 121710826 137263040 375185476 615914506 488676452 482053712 212703428 236057262 699910244 244538472 547421574 444623340 986996304 346524126 220264130 483190312 194660066 779354196 600113746 377083292 83722042 46106390 260229924 503913360 981302988 136100376 961803556 774969172 309126866 495107838 765216710 72222596 579129714 438749966 107498826 883757978 239557586 799819038 431013336 762120064 376446994 647723936 473070638 807280702 406739202 947891504 215989062 65382038 409917888 325356018 330823500 888970066 342331690 340751786 431596500 587323680 492676642 753108238 676137998 201226470 247227660 933886564 802636068 633273492 151351770 969594986 435857858 286091522 293925434 809797036 253606272 241658106 183771672 574444846 243702394 824848216 847708858 285859934 479404306 967764308 878232946 292009324 560321162 72690270 572746496 921187882 380998788 191732582 33622540 219433784 85142370 268550810 20617676 684980336 686372278 565499724 592317016 311823680 704619262 67355238 857945374 760299710 576832218 201563724 322311040 737715336 941589922 919222644 124876920 396474076 346798238 541118366 201213024 19146002 391832884 833288242 406538008 681918366 300164722 793016460 652652194 376900098 320436898 903000860 827056914 66567040 634698148 519547538 32525210 149358168 507377822 115167994 842385686 40317674 18714752 122926502 245843982 170376382 997649060 581343694 134016662 638176426 662480330 154215086 341848614 653929636 831378612 765981940 422287668 225299214 92402278 426988064 555133036 63829366 686469042 909465772 119300056 974432136 837572418 197546656 526958892 584139908 482712266 810098704 465316298 607162826 464519748 858258102 842800478 707065586 265009636 849882524 969246672 995814092 251354110 310212604 384088984 963342362 360989042 221775100 36475984 182505574 134593036 833765486 162712402 16839286 44881620 881191606 471222866 7534104 726070944 786002702 684451100 420864062 283112348 434567734 549719336 402651192 726261060 623587926 657011618 635180290 66511594 302878910 110423918 830016562 468205372 664629372 553732086 59258360 838762556 147196540 449605848 161790346 696291874 854495260 254186142 108396794 323245198 547812920 135298908 360831140 538259476 71664144 566700290 619197150 675677508 246261728 874239912 991283918 83810566 371913608 591052340 777522510 836459044 749062038 725015288 141616056 255751088 174504874 899098502 197554724 784422496 689790756 534727010 407437692 788998460 209430298 353991928 421931090 958399740 498457368 158579958 384757754 898307060 918189062 749455224 508526632 769815288 687507952 453232792 932655768 347916608 829071008 363740234 366905590 406959140 815974894 173548736 171825180 553644820 199462684 202036944 750945024 352036802 520001354 645370570 131605808 679942190 350586678 506786830 932215826 317909086 380577178 740645646 855353792 107804384 763502314 10991578 156504604 100376112 454230480 944392738 656384920 212798268 834421664 255158672 67731662 822992720 505200196 403492150 184513146 405071832 339678948 226781002 925000156 451175986 202006804 664284818 688458390 195193408 566796948 646282766 558730322 408455768 798464306 268587822 321108736 847866800 100920976 242002760 934889222 824682574 966189810 499077950 621889162 724770540 552133312 73094146 93628970 238345644 840042216 577694136 958592960 694239890 578625840 216430602 787861462 370634874 851496566 192859966 796706936 435069350 252984920 402587148 8347096 73651942 43043014 639519216 8893644 860860246 237376770 476251066 896734998 257410014 534812208 562441922 381831476 617274716 495903254 764058472 75641290 322978736 130999102 503119932 949693918 871484132 730632472 391662766 801933708 853722270 617901280 242490246 338533844 669544698 471152666 91642062 911783098 92841766 700631360 355115272 559119026 889253048 53283904 986880338 103391466 449106022 234848136 125175688 759460134 180922374 670254094 550948794 61647472 579765042 643102532 119009388 107430196 160380728 603286210 965068920 180573572 750557858 645027760 998463334 650025538 858318364 314340536 222383940 416433238 25726486 674581392 249729548 506131484 543763650 60942452 591037630 830470808 111478570 795553182 942351648 302461822 784947600 165533858 576832836 480746106 129162108 138038444 412528882 120163376 993098100 605204954 685733966 704764400 426619112 222125900 888624770 596743998 513460966 357729742 159207374 97084088 445167754 899153204 652826384 620870080 492066466 697461228 88360416 322475844 404359892 393444400 765507988 876919730 394065166 625603160 422005192 530988666 403251538 262744330 178805866 624772544 776776102 94860276 322612494 450283674 289954572 702843276 5092814 563394974 864201844 406186572 71953248 197655550 226735126 896304116 507503858 459153794 627704502 861117410 991133564 762018838 461669754 276334060 2226982 309682488 855267894 531643088 315955398 474927450 423566694 229718792 737053698 791497412 975691402 852254840 264477404 736284720 410269106 493986742 144347714 739937828 704106610 303280186 679952564 945427348 952732018 480916166 478140836 792199792 484532724 546453962 754332200 851132882 746562144 474505980 73303026 537399818 419143520 455116116 483201564 323341770 797991134 199066228 637914564 180522598 191506794 166880252 112596610 562710530 552981762 123677122 606248902 398913454 740192030 305712426 914354886 746912376 835452166 170479136 906614590 402670944 512837210 771046800 872069710 736716386 634268100 161790048 921026888 538061174 610054040 78030804 195047072 885119810 402099072 844734042 649366892 767555226 688265050 763234194 828935886 490984640 267349942 646728800 648648300 882883152 483877916 308953624 772056596 113769618 309721366 412361824 735619986 607201410 373466756 857416398 776477310 21567666 749678532 783356548 798170936 820112000 587241190 494448918 876571460 238352518 73194954 429553026 819348048 296242552 926477968 638924278 971461824 87977574 133159544 563604336 525250246 656019036 942276568 31062660 841934452 117448808 331362294 111712860 33069908 67956566 411385144 125140126 894565658 911379052 710398410 809292196 886157792 974596076 982242742 311746194 101507566 784674114 787487234 810115088 650177554 963668950 186993376 790658118 633900318 245338246 800886886 157903190 293410634 284990294 936773938 558474772 987551192 799925402 594527892 122275158 307915938 238307960 855117506 585193938 536363872 570039994 84933326 441588538 369027346 339682350 884789602 138541282 424677942 345147634 588782788 696141530 224882702 827559158 183986266 714360532 391869812 761649256 477231596 867062120 229299168 304131762 581686778 801698190 147943570 759668268 617533898 679601492 887442650 205062364 398093048 13554960 177518656 332428024 372492446 647970368 23030272 967331314 452390640 846167886 267571518 988867914 583426754 933519200 907853454 772611592 456264950 291375006 196187550 731743086 522450058 782149254 332839618 152555852 843780504 36643274 897338284 95429684 591807212 38975112 790259830 851248902 827814660 895397176 136895000 618977378 739625486 553503990 64857506 923624762 481705740 946719306 998540090 146411012 25020414 886658410 499743218 779512742 574655462 229607366 380654250 43673412 981756608 397960740 240799362 493160844 396134726 557752242 701873714 360598032 811986944 503018564 879953194 316857860 613754250 450731770 43503170 106789582 171248324 759407406 374942724 3484194 318311604 797640984 430061374 626952992 587519470 506802854 405068698 141124518 153911422 455987880 660472922 33084496 972118664 399890578 773410014 312048156 747937854 993590824 14464854 149614076 761621576 734732916 805967460 962100754 312878790 576238116 728825662 159380006 417818268 528308160 328127936 232621566 112694638 718909774 46041646 532192284 776927290 387412148 835656872 21252278 272730724 487630140 890179524 383695280 586772310 368158972 685151634 101435760 736249512 970718492 494574044 664010058 545634690 662700868 128681908 643821270 598280158 901573222 323265228 120778122 179122768 261170950 817438894 832111736 549876798 892673664 170009482 87046628 414931510 356609490 109567874 163987592 619666330 653070516 994170936 759916980 101877466 84631964 531525370 849774964 234989222 444750042 765089286 895313196 177643162 697346764 624490538 121583798 17887006 722556158 709831262 328656040 33890800 687014128 308394256 876366674 373097128 282997938 354723722 726892044 903491124 199306952 823872834 831872544 755025544 299027744 474197666 715983750 295557528 192691514 869489474 693702754 52305528 127477050 820610758 733057134 968648546 399390942 248572316 31809428 248832118 849033124 177759396 224100900 397844042 964628954 255282488 845277802 60745942 44443438 120643982 371088246 215317694 28103540 890617538 70320090 324671634 73293808 252613884 41494534 18751628 973677984 722813152 169023852 661316514 686022480 799799056 631923538 665155156 869426330 51657718 760809462 860622936 542520530 406575012 599398234 293096900 506005036 482446402 545149450 150519294 353950852 402418178 451244066 48578000 770755652 446057086 871515852 598571514 688081118 743323540 251247818 329926408 855466164 6156106 514249094 290724104 711934504 145901648 33623700 638334402 679332050 303010362 4397356 744919474 153531738 1495040 317396798 273444608 5970828 117831976 612878952 306760730 521331968 50604266 447702126 580626458 543439848 933071772 74641406 344516784 950965432 773932508 411417624 495651492 607619712 703346652 820610392 192797520 323853882 986599614 935166960 184448194 382745706 808612380 658486104 534436342 258747202 903026802 875256050 33551876 94396436 507327924 9260824 677378818 649931302 490790044 466058484 208183752 17327612 657215938 907078390 566198470 63382032 229065424 368522978 693494086 36389010 181576862 357350890 225049056 568424966 763573026 216641042 143736514 542672232 696159392 962082196 543753154 750086986 571277934 384676258 882495212 179412274 347841584 16322256 978752770 30005186 49904328 776012000 559840544 324903146 373300530 42749210 177401000 359721024 351914110 362387662 8135794 774258876 334823624 625544688 675389076 966083518 132297478 843189404 959904122 147854894 253195712 756268000 54215634 686899116 325570436 335173030 982472620 669888644 248452656 226460632 771653932 872046082 328261024 881039408 718964208 612959994 313158770 601348790 772840010 551037936 786879280 84470982 116703318 306109702 871562602 163437184 839343122 797895384 429304146 455750820 386286074 271999122 190065538 692992596 75147550 455016892 611840616 977820210 447137550 838312230 370333684 414695404 603030956 954203628 58341390 118896102 974753330 172562380 390738482 572976330 603121238 431385940 137254848 755678520 363787402 118190394 563301870 786686628 222509238 212703756 374543224 209423590 436033926 755196720 423262550 862439176 744918104 610300674 246057900 645695946 113363616 87040016 864914138 304162042 119625956 588169792 751392570 979051252 536789810 625750768 290935238 819731768 851838974 152195536 933696910 807390592 391987918 27138384 166588740 374046620 597825262 612840986 468659170 778145208 362251778 740743992 665356478 162027250 146939498 943593902 137558452 799638944 308415300 934165424 956629360 804654974 501607290 209720354 231328452 990264352 959118012 395583814 36787822 508994092 783851552 577514942 632642578 314552772 774104334 649104582 989017518 307134726 548106754 133806346 442822238 419378058 24800496 656746904 403097884 17881336 112153122 253696138 561039136 302826244 979086392 273219642 644627832 258171716 670287000 223704386 886732728 533853646 633247266 335672384 277838440 173991334 939289778 115561308 378428536 306225372 125824960 496170056 429746114 453548080 82579776 359047140 921640866 252759570 943096424 915244562 178246462 249666484 444821766 982595846 224159660 253897172 64275226 648207440 471649978 763223732 471899584 895350626 713698296 134785436 958189088 182657616 455909366 829604766 801198292 593910904 594009168 582258178 703060382 147383974 219112350 255540134 516821508 922626112 712781828 947485602 627474658 705298576 697582780 848936544 71919790 506299310 929944078 333609890 452900474 298582250 63430098 141638206 738213284 844165110 76184928 318716868 738774442 367978848 95827842 466850060 533610314 18387658 593875032 859440638 317199612 546801294 96755464 474293516 929665616 537288780 307577288 316924702 333900748 663541380 209931826 466667358 520873276 881457838 517205368 565886586 119727598 289853746 573277710 576739030 424440568 566852524 915893390 935848300 224367940 915274118 199034206 30492630 245676222 840754840 251621582 314206078 914879628 624172538 167940210 234822442 718261440 950316634 100660160 124219266 235122570 708945994 598610876 720472152 448346486 51012694 75389078 109392434 510913922 540415090 161922018 832096552 628169024 863322994 293167490 934876070 252559226 412359460 488438488 689885226 339330748 213436916 935071164 993835082 291620510 886923022 232680450 829219092 892674032 552882528 563595788 146522670 537485190 886690928 543726788 756307442 519400844 814465866 220890580 779738048 649165968 108173982 576094152 242894390 652515194 596362240 156133670 500423022 204787168 553349608 806487200 195979586 547684044 336113340 358169602 565510140 910437728 376151372 278158122 393171022 378995380 370760906 806691872 692940750 660729304 187460032 239415506 689689352 561073010 684527098 278551714 871727558 152993482 893082420 163520664 529072430 713863236 161412700 394687056 679885132 494299742 441800596 421087416 119400936 944702244 501996038 656390988 251656752 429055444 407808866 654458822 819091960 697528620 61996776 397350358 585678898 207699940 443999040 486154558 388949118 152364186 976186388 246785796 856971618 324302876 315685334 378843058 523150480 35687862 163153654 131674842 898164360 50061404 174510840 928424182 687509818 707534056 218685686 254104202 863979848 808272436 844662036 193876366 94652582 344801396 479986662 299179676 322703764 471120276 902655378 692984350 400687500 306101360 516254860 893890272 659975210 966030242 50903394 509441580 376456700 589056062 918045422 171477782 566951382 925608666 574386956 856971612 555531670 990096438 504303196 176726488 914215470 729290978 365755206 893492944 966057286 377648762 306950496 674876718 67536930 857140066 742632386 132125990 801505080 800155278 315819270 101984080 285765872 94526440 800682930 637288458 806317124 576857612 163672564 716728892 809996778 10788958 719459248 109647214 112657540 474862870 350520564 310591468 808378556 936737606 56431138 766752598 164596598 621909930 413297586 829797730 599284314 565426076 627871264 960860418 336088960 19513092 466204708 86309936 692468706 301256400 459595948 731062720 536938936 514387384 719405484 424393454 245710366 618864386 704322680 324792318 358870172 983489786 433216392 298484728 192169456 590195096 320419832 370601848 806964700 541492976 464617298 288810802 54669804 802172162 640829364 610147174 415465252 138296196 74388352 717419908 732220816 905918734 958058768 345044204 619262674 349378740 998310538 299992222 372351794 770621320 355574180 657823068 79137774 87578374 16241242 382893824 333737506 572366220 853443378 777374926 365134466 126962022 528805110 29620392 535890092 889912946 676244706 672502584 95458356 738189324 678911964 953109998 914445834 133817168 715007796 74841526 775066308 200411324 71324416 541049128 137997592 682601022 194874648 833112560 147869372 942944554 427418324 319107742 718941556 103564960 507342488 286262272 386784542 613307874 624079748 991437016 692436936 278912882 471693466 538378588 118717786 393971184 996779878 783303372 932244304 659387670 706855676 109763882 710264848 830130258 455228700 113256466 27644752 163187582 797012514 324966692 161720164 32287754 931639744 60349500 348929568 698788394 973927704 531290644 807348926 13255438 167991822 786258004 991549306 821379208 466205496 512456358 338099868 951862924 205370562 616116662 313689838 533715904 681324306 350562376 428345298 738933720 837327624 874758898 586725526 732453554 867038086 648349052 925696848 420266806 875703918 392717170 958096814 681824750 173243678 635620084 652880186 359172080 299703454 892157022 21293272 620545700 97968970 631675084 120797702 393801168 7392652 665571646 520590210 594063420 182626664 747075584 918874614 679872518 740432964 413183934 806881982 989672746 679323172 340329712 592807566 757034000 942902032 861253184 576718686 731989162 707494926 119996960 597765118 457924634 168785530 657922454 910214252 886173646 499130546 893503982 177329590 591648742 991698640 921043558 132838568 141531090 427313180 834682842 518896946 798205970 690370258 7620600 454141646 377886068 722878232 220140994 520646196 38061620 635842116 459670970 122023288 683213498 900312212 293799718 820975988 204866536 22842504 639265150 676285198 204441524 736036510 451273394 165196058 423415668 25216278 348550932 822090918 379160464 151949048 41280684 412925782 883342240 580782734 834034924 717651282 711625682 317916536 991229984 270759500 874823132 590009024 254149326 61791354 88346006 884387260 683441744 346965996 203183876 62398500 598998158 188531214 358588944 256272886 526482698 919287106 396146900 431528328 853651276 340778184 510403120 820123870 829140682 516384958 284750648 934738818 638078924 439563360 156207120 109877238 751168332 638548020 219762724 883271888 660628970 114729338 310088734 4936214 647060670 616354786 608259680 639916556 323294658 511519058 15424336 276012714 536240582 833989638 854150630 437589578 259087394 820665102 107237230 474587632 663899250 492872738 80228050 995565554 483988436 449899676 821250306 427218212 256302052 483504548 474671140 687430764 840191500 337510678 936097082 633363836 54869204 934614378 681223086 790387254 141817498 542100372 747589916 538248404 819151110 161485532 788307864 293333096 684301042 640966594 300644230 821270698 637049598 925262482 62379878 418179348 997668884 392925038 968387090 444275844 139813720 891021968 969989116 189410474 612742788 516050602 56339056 653817012 61961860 202966054 826558810 507156122 520333578 867569120 748644514 439273742 552215666 543059184 833762402 729127742 733617578 694143590 41518880 796438000 943286144 560798214 950660866 4639600 574204700 994120066 365355584 98323362 402109806 868630814 884667444 440240350 269009948 324626152 349125462 910557888 589138730 68395326 976527634 669201680 71904844 476577526 195409150 936116336 746501630 441396512 278757462 296934040 678326536 620310448 582409590 475298472 661113890 754071842 26764232 123602886 444950578 928235246 693234744 427841194 931741738 885109438 988429634 320022438 580419982 513436014 305777550 418452886 887267838 374296454 30194682 40898368 311808002 779598842 407972266 330845066 473185044 24494356 259758776 191958774 805077626 539975738 330727778 299078638 811480862 28082822 506873762 654320988 109268404 309907292 765027794 531255676 63684070 946117838 634294682 189478126 898756430 423000324 229379252 25072118 651817858 371554888 14206362 907447006 442987996 885932144 216493962 4685942 657598282 488659018 7039998 231707732 474971676 654740710 453477850 874331578 585403874 753964164 771446264 247977642 267617590 340163598 671447570 707776316 69586420 806332462 29122910 144669982 455207716 421574506 823057968 636648308 975534064 776690280 493243484 30863380 542794920 286178470 461291836 364634874 256726522 155047954 175900664 682098960 568735822 383552866 609570868 671143390 367743936 91438376 529019298 482224886 849779218 764275538 313370070 203502206 531723778 319634490 377432796 992845858 979973606 426101694 508888828 79703276 421290662 452561788 434762688 423597522 916620290 725732822 429630002 761901414 450528766 29417084 289684724 947345798 38969864 123615788 521791464 43991744 934162894 300158458 74568760 833350130 351459162 165077090 361197986 707539062 848718380 966624794 897904898 860346560 659139012 76667336 389289874 745718818 838671866 433164068 516430952 589504096 330502268 23355196 312030590 458179362 898336436 56779914 603469590 544686304 697496008 59667350 908638552 63953266 979065548 61654088 845818116 519036322 882170064 798120446 484455372 782141550 541599160 555904092 247451064 534740982 365966848 531422118 817874302 200815214 816220508 929213990 420590256 711985722 511868078 819578966 709047566 743617568 206238856 716011876 990497064 70914702 386114986 71995702 663790756 548208680 409335464 591145552 664032134 242697526 8679052 906746456 769762770 709922192 35588094 337063844 926031928 182034262 558798306 972199854 700926236 876290416 246071140 723425610 567227404 587959028 811862456 748467750 978277754 124640146 705525616 857891438 823426288 14805472 603744420 1651162 410644792 769260534 293083012 937738128 281679520 840899954 934212720 535488430 801231774 125614702 764538638 962831702 448778172 553291992 325923898 452132066 546209200 235470092 835172160 254998978 789928926 469635520 519668252 773593692 363832328 16381946 282175202 291057874 393235750 960393582 585167610 269292504 431926866 631544480 217084126 350277958 322461734 391894650 852937368 224538852 699043872 73821214 474765858 711946832 377693612 745622706 932391850 999847046 724855464 918086530 676471552 330859204 663244174 263540828 891125910 65852776 283790362 281600646 240481322 845789890 643954042 537587422 7074004 993292698 37809256 299650940 759666042 952754776 682453438 893707614 376924026 689152268 848753150 415038126 618654548 957565994 945522222 83920684 639141632 820270272 73158144 891658780 714270700 446894066 172087592 701364894 892777312 578869796 892071470 464500630 959224948 133280002 852427154 64089572 433099028 64518896 732270472 326390194 468749794 40172998 127956758 201449846 11524374 852098644 10433862 122246062 790396320 677798558 388216146 978627618 206038012 429492572 840590400 354934848 747227302 338981698 484024244 721215150 401707908 215983368 767308168 790350622 580474026 230016882 191826568 502562348 451681766 922847550 949596852 224134476 365405064 876360154 167774594 659539172 103795628 954883434 131073172 667277858 163372078 996191334 653986686 669286604 973963826 851111878 828840510 332100278 293034080 837283230 570709830 877309442 585393452 65570306 57516560 416871458 22545292 9430460 304210044 473027548 279222196 177520734 620067594 500875718 97303230 343023806 528659176 431511800 629652610 375474698 280402114 913895770 962840080 698816206 292943870 283924820 729957182 189741958 993468590 367776006 551835244 228754692 552546930 946966710 261753538 842585078 744017328 142006114 888259640 843838146 596298612 234419234 698411806 506650908 518142738 156810998 613494872 858455656 941817468 380004202 944859548 531078794 584184026 521723338 548622588 533818244 159594822 922688090 416189804 158517432 335181602 713526226 735756208 799663468 56581836 292337686 311761374 976778058 709255818 344115236 743541084 185943968 384408080 271448146 709353094 871970504 27675278 880611660 196967132 146900234 331283962 197037596 451286446 342681672 822058868 231824086 45327390 162414508 576453830 592139992 780377992 900362558 279940484 211372048 589491604 268668942 399439410 65976732 212813936 472946924 638619886 299339630 518827536 176683480 262888724 311011528 626007600 247114056 685438284 721419330 260316902 692407996 826163600 591046626 596244884 872771376 110977654 213753832 203484856 785417516 521362778 56335528 244972364 699824150 868322170 907928630 511390612 373113304 416352794 618440838 56746286 400573730 546871562 781715192 588142700 257392010 601658668 666026880 744879284 42906096 737892642 109704456 411071252 909622824 812909706 700051672 134647676 644867134 173977432 662331632 560730548 826502948 62977762 120118124 258897842 584884688 269627646 330420340 128830588 962021572 457676418 232728606 734203798 721313240 793994788 768848988 306601740 821423930 493837672 505883712 825046766 199840386 281201400 691567672 856953080 823372662 428201030 118476140 777836734 261584024 736539980 679841074 951850406 442609280 747616576 602599046 669400064 91486902 302407230 875080386 926146978 308421916 183058702 410983526 895776932 416526868 982106050 987248576 363453680 808757004 724997316 974539772 180288056 622014392 89874048 612557586 41478306 989602972 323559980 821351278 666281074 691398992 71431266 19907382 830174738 248885868 30286684 116287696 505602574 207521442 503062282 732074102 725321722 259225230 834019524 975224024 292396908 845732088 593999782 431576248 905063024 927888422 290487604 198013568 130537628 107303182 445588644 727180498 104007120 845898066 472099830 204509446 522571350 329543990 772362448 87916492 242474404 642670756 216610274 235910158 587102012 374100242 767266188 24044566 665005020 898637318 499839740 130403194 656984418 762158000 199741230 556792534 826884684 256991768 472477634 114820910 716708850 917388758 794613442 20907018 436439080 371549276 579957122 635674508 429070686 85244914 252961052 29160674 709620296 102903438 965930992 375828728 610384166 640082518 760740598 349545646 47494782 309724900 291265504 415938714 575806404 245659418 195595022 393897666 957513068 86416780 942758142 630573578 358501462 163867672 872622072 733913866 404129644 483944574 925801926 703099482 217658012 411945644 967448334 874269798 172904384 323492920 200475938 862665194 888742198 404576806 667882950 342393544 567612418 895653216 970594872 58526230 157492480 56259068 1971460 479115846 958155510 309307974 883556514 31797868 132677418 740383476 219780874 289935086 306098036 470805280 279114856 580235112 826572962 28255930 730011994 903421424 747521620 918337210 334491856 639403770 164722176 211999268 508441408 566191710 344010170 20940296 557199326 96401944 130129204 470282498 322304902 232595944 243722114 77682592 901823542 144991898 474642706 936565802 833847252 222570732 243049930 165026072 603602430 772294774 700899744 518452188 253541584 401364524 601000146 973403356 558031572 767737602 703227112 737606386 570178286 336641622 349667902 58140106 104716512 223801384 284539010 910548674 437195306 431662074 351338094 969405650 700396612 388341036 215786484 771581664 591155740 7358880 97243166 242910772 571961316 982995774 962990202 663017860 745065684 526380186 548565788 870548660 511596554 520485292 597117924 74198672 885756366 171145272 640633544 172015052 118055982 873541606 40413390 314976000 584182310 264632898 32656282 253860338 404716566 487946746 333025166 564300166 329439566 852573392 665563626 324839658 277940268 867676888 817406348 262787746 652931708 356569012 907726480 758020710 782555618 638271312 237619796 607768928 44798608 5711432 777873316 326632710 981594022 784831572 12581456 887668592 297755066 552124214 385620664 74393006 880805048 930960818 545407046 106632438 902525666 204320564 539007782 731532882 293076718 255319424 677569084 631793702 387326670 954150950 909308922 495174286 298951168 55651472 179188622 299747316 677327066 714542924 283843634 367625322 113220164 167434344 362416904 434759240 12769884 974184870 814871930 494527908 165042448 137747918 245890302 843288802 603236866 969154066 680680998 154994556 244757800 265861850 180293176 39918746 725282430 523731080 356703836 526484168 117765498 390354208 423495544 297596412 296491722 11562732 415433200 139170960 638198090 560741110 269421330 213784888 117384318 773743506 115548766 261700238 727317176 871245470 963946702 23366902 492057386 317842550 568239308 844499400 445327656 396125996 779380940 394258540 283436422 186845808 192926080 437948458 584072208 849004526 301857280 289135018 608692794 53091298 857283706 625226548 527742230 732880206 791569724 427647012 856655786 308625864 863416614 307310596 361509140 532115866 485855396 645454040 124987856 390128736 829351238 231668538 64541740 452803800 510303212 508458892 4032958 478215272 808768050 872781764 838466182 462323368 177932624 260239380 249103048 962070304 334520548 5441546 49235114 789645134 556349448 620147382 686240574 186818720 71039714 69723524 303626842 955835986 52253428 488319620 180297830 668773786 107491174 916929070 585357502 568398704 950084070 992521608 160738994 501779800 412426700 441004344 344600000 843745386 80298758 85915782 751709516 720493630 415957924 677589222 319328002 645974310 451977032 625882104 875227522 629971412 799459444 410939974 968902828 357341486 114232418 416026650 309370452 484789332 870717776 943498018 522548974 177986750 409611086 840200056 31067272 740238494 315905126 181295558 120549446 843330290 845882252 474423594 354820588 811848908 133382198 653560944 414077660 102116024 875608684 584287170 213022872 398121446 401936282 957159730 361778390 531629104 561558204 575117446 206283440 244375698 233693022 176343408 961587478 232591078 722297396 4934870 985282102 459429686 877010312 14065386 913164108 464498044 502681370 961860642 655727598 648697484 506014612 367071210 608760770 398198202 466237484 244812270 759290096 701450238 920901908 320406714 909194252 688516518 652084134 960590420 79257456 633972960 593144002 541311154 385046672 774524202 442944572 796639762 88837724 370763378 432568908 109206588 475301188 500376306 665145036 222577312 861134320 605523530 43670810 360915580 560089482 424394288 287107006 783533232 467160768 241132556 182501040 377439954 837812220 982313978 428486472 744992736 34107238 83947958 250354908 807598964 270456778 324079114 974391326 135433742 169532272 144902182 850017412 907349018 284242392 325452042 318313960 504496414 869447832 106233398 644337964 382335400 960549860 898190692 240550448 303664998 823873932 206860198 550917292 204303176 193727696 594344226 880238574 738700602 233913794 646669980 693443008 668765784 910157024 689526378 389074066 285829602 505130120 506594892 17789496 763676276 5349582 82267142 772465100 189381312 284459228 624241666 463041406 936274810 663737864 964960216 438920064 941343746 326880810 363559716 424333824 977933446 660425818 782563928 307654656 236867770 30527558 785079196 355945514 635090112 206582984 759411984 395464218 270677508 642755806 237324910 774208498 541550724 50270302 449224258 876976022 70622304 927357710 930181880 410680830 385204132 575446590 984821942 100060414 412592110 953261522 888704728 212902750 928274630 727694096 626096968 345675110 293284008 168014914 16107512 35190434 835837096 461449872 676751532 922879990 357593452 678815670 85815964 303189522 247683572 251131748 706386760 133086788 634762376 420688074 126849616 549086146 48537136 798660088 332741740 702927590 651572402 164696934 976889506 8022404 171995222 709105606 526601656 115277994 409206178 258429878 641783472 845638628 854737266 793737598 23829580 478331260 720662882 60827900 496710006 377002070 222247138 578957670 178987090 403013672 374140630 899891854 938593594 572289814 157442236 467761038 983771122 766938664 719654968 602622882 144086224 952808250 745597846 362677400 38571936 183561434 542163496 844977824 255048246 696812160 694558968 790685218 285563534 365040274 497145918 334289118 602069002 949405232 602822258 416443526 664745898 299359474 367088972 24894092 509509982 953822628 954530508 525139552 128819882 189824814 748624242 549135708 586552456 981354944 9413870 506934876 210493226 995948966 660787708 426041380 481601052 215967212 257307320 987427398 933919838 843947394 688023742 709849618 715398004 843332752 685733212 344264224 143017568 988328528 430364164 700291048 35008044 675746108 405094748 770127108 295043950 739321074 200255010 922911404 934740248 104023268 880239960 161520008 855878114 588511898 543080010 741987730 373736758 537214678 98258310 22155566 902018382 278059088 15176746 584442422 301395136 899105784 973377118 716708142 425752886 342388224 683874596 834988996 844986220 742239334 928412456 181765612 654571236 51522840 726428446 220161332 763497682 988584748 13783098 411015772 863753114 454085780 476253408 805747116 683152392 195617946 504738938 532372374 328468100 390148926 929721376 509877330 272541560 515011822 210677460 491759212 756760158 122880308 755803988 698194850 620873748 182601860 76221852 70759940 886118176 845927184 281602242 273802572 762595936 828890624 243647542 617633126 283272506 805482440 449595118 979081808 892681606 228089654 458605684 626016954 970403890 148334240 376597026 968011928 41941492 764848340 961280596 249559396 546341850 623743836 305657778 455411390 665228558 817372446 309893146 887069046 681148666 842793298 873626140 407045938 468480456 763711112 835858598 572695126 204481858 105713794 408802550 621674376 250258452 150579492 912457748 422439592 649151270 859377834 575071384 714553982 300546302 315804040 36510802 169596924 645674268 685581756 786558354 399344290 469870768 10894036 685457162 430832036 675475406 982642470 772407332 234246718 200143198 291564624 245907660 332021572 452524330 684389672 482192732 112611040 410244282 284708492 942725278 315082612 93570464 420555698 353604098 896407004 128968042 1936182 939659808 42616158 829496260 507928594 281577654 380784772 658505208 582444664 139715168 651312688 221055974 439813776 666332724 685263608 411477504 505229192 336324956 834358090 898127430 656255240 24499962 582559968 291980970 35721732 824261580 554135432 506032806 382289598 772234718 79508550 612398224 476998632 244885640 499753792 138379722 16502858 619218214 70185750 357421814 311042378 85311642 454312764 652902914 695441844 989736056 115407750 236742808 175408388 655184438 486906776 143162740 802642028 618690 236019552 295582496 699172798 983904286 248350168 642513628 743497154 400566782 333412718 652240376 425816066 846163006 169460916 694675524 993532776 497405450 855489442 655974010 135745852 234087070 531785644 839330210 441128138 381595114 952499328 220221830 432843060 800782694 753086144 789452278 20966424 308143568 806848276 778997928 131378026 495873498 557289138 642111832 47571460 994941364 833593128 471144394 41701438 752800132 516231664 470319360 330936376 927454088 430678888 882593862 189326426 18834106 114464006 326457652 81641950 135988482 931900228 267292014 22615972 437184560 819057846 141892128 828878378 755505586 376346308 666304520 690101860 432563846 927795296 216443262 28531040 359803164 575546456 189984270 974870952 715691494 453458968 504196480 349163004 208860340 305291956 596231550 623360366 421109018 435182436 409917152 505174684 884436322 732830108 968475986 309050974 768202528 497450726 547243592 857534256 44431520 230204198 714232350 986007162 730421596 51584906 433291976 983063944 406364292 781756256 721206036 61809508 426347402 316164124 55625684 43820780 792564240 614522464 35687112 455479062 901926404 38676636 498812752 539588646 232778966 504662690 583276068 865368854 250667444 540701700 207141238 695826130 960712362 595004452 339913068 794765436 137223950 978728322 311610372 528656090 248625180 199178508 378568572 458013532 996040600 94456264 89412704 987900134 757814550 32246984 810285012 782774880 604195056 365217776 696365476 665791736 88237898 240282616 524436108 401735898 743526484 794633838 753632840 787167384 247362290 335542796 80108246 174798160 336727462 529666344 238879382 4210504 819209916 521675356 353873530 540673040 880865342 210922788 324221636 558743410 146563968 949510938 84152702 999530326 112773958 723009020 788664984 197921764 63733478 703800546 578524780 874869534 212467302 968314868 224492760 922630180 674491406 386376932 384101090 456195174 251227116 917045590 724226026 15543376 987138944 827783446 692997198 701333878 775408030 949427974 583627394 103227636 883746424 416130588 854465070 76420798 549117696 288437884 70980514 310007352 794205406 582360406 346423076 643918388 605045474 712878604 717664000 874771800 377315704 843743258 550881022 268542644 365731826 958207802 4299412 872954284 395214008 505220410 855710452 987714480 980634744 458240928 438880408 131971058 409759328 674458896 164298174 747574598 743762548 185679266 279632966 968392188 362682244 73773910 264380546 775407064 445424238 774967650 721851362 535492326 588627108 377447786 480355008 779695452 407825814 855142626 72452732 715916348 560226954 644878836 183356014 117917728 251693598 339045562 902133634 69991884 6347580 785023412 387426306 695674424 265175022 596832240 260188440 541777926 789918474 849811998 947723596 795603424 869713312 3476068 920163604 198769132 228751426 546426420 720416564 147046516 379996514 224743004 392409748 919977318 473595908 704467486 133786998 540959662 226869744 53581332 571279980 505700410 986257348 309492258 26651670 126747028 236958134 644089994 300749132 556143908 708224080 115556190 258363962 771819812 21181566 594999416 24873292 720850290 679698762 151662344 809872452 488610550 700201506 896321836 368181292 677383422 359399516 970396106 575727558 815178442 150888066 354535798 281498932 244416634 51883178 287403866 579889486 644072440 116845958 697309702 346307128 291414112 301720 704013036 718491812 329833532 710387480 446939898 522085416 997744284 752423786 406734114 773111998 976919644 878916630 882893860 79483534 345006936 656503346 227969252 324476362 521656906 53430226 52194530 987134728 629441136 259184230 989117766 371260744 340829520 9159278 337178546 787969008 782042960 119890476 527966980 441989340 698237080 161483686 572085080 271842428 259414328 445506234 91205988 491608944 623685186 358938014 237665830 348141714 877863878 357882190 795641816 892200908 201897018 18597622 34997540 702412702 804017072 178898294 684099952 219744204 897064776 768681526 366790530 258597674 126606538 70683624 170428126 850982734 684178250 277751962 161959398 502646872 661340394 712884102 725634668 255470340 345118294 210578012 441936384 2375546 387579918 793219382 572515188 464375510 43410968 677298582 501040192 515224410 591666550 303286492 409343588 235412102 848332420 909601682 380217034 608458764 946416038 989931632 209307524 36979002 186749286 477279660 909395538 262366306 938138806 224898854 863148472 685286576 751050390 337174342 781536068 414335812 867755650 3086142 732512186 580090816 481502936 406142584 726681666 356621316 187875844 122163300 463683860 86663366 789869716 165323888 61159376 336665420 914564626 287571304 868932442 98021666 931790264 268176942 447094314 279338958 440630612 762914204 306134454 667805950 420791966 102395192 791606752 615189660 63624764 512894318 342149976 693967750 876213616 736737410 848394040 880599020 814694262 638941742 415061452 866444094 292051210 123439824 468631528 727036062 363740996 824222030 430489560 673144188 982913570 656623910 369431136 689343116 477684978 368674928 816529532 531826628 288740382 498797356 613383810 249859152 997892238 444116490 203915112 895286 55128458 201397562 760599822 685920652 421065944 545536562 46583138 287402022 767161384 851335220 335883444 104128588 451079126 918407980 692930496 505263186 928053048 24362786 434267088 543516974 969703394 451849890 940006116 567253210 301728858 849304064 482749886 673958730 542305512 373422690 375163302 224265818 257469344 915758014 226590364 500269966 944927206 791101062 512985376 159793414 902120798 515692312 200060286 157613952 349353854 222279438 95755324 953880054 936648736 102833890 514770618 450144026 516492544 906043844 865463340 935935492 63405612 725909110 8114964 53545956 857724756 205057762 340563784 677461758 628940584 200839060 912458262 228758154 430156346 793881264 666091192 218252508 672364894 758242318 499504744 601823126 379067548 798819768 484870910 579725978 928632146 977845374 88304350 310404386 85605532 914065550 663736726 122250248 371271096 451627602 737872230 418284640 292669402 832544986 344577248 799558978 3515256 849695986 26298962 219656940 461987596 271401984 831877476 365043602 820438434 383158740 275787002 94513960 692801098 580948754 7542980 227740326 905581500 144705294 977708436 606974366 507844036 638404240 179852490 901403494 7579344 446829376 368293370 13143552 818929760 401470974 171398704 804967246 781865380 245317224 80266594 843282526 854237694 237010792 179706218 323513880 389824116 305180570 867494256 712090254 155352616 455282192 794580474 217120198 73838718 903298860 180267980 438448752 722771078 478243514 613911766 487153422 221589588 340782204 551921110 496571736 780913444 385713356 51900092 159576220 485316810 311309926 497012516 270855164 976929380 483744084 262643012 449528296 657376748 820387584 833810302 92012188 335135206 87526262 134029984 884420426 965126322 356340958 266821816 726360366 114001796 549399474 505352240 469443540 639269346 59213874 145050944 555156466 721664544 244821130 303290358 386419334 704264190 778998220 426526768 643588432 948268578 826537144 548993626 406674226 506940486 777967114 235874958 197769030 938809316 857037018 234356184 85379298 171350836 501594532 989180338 166512318 710941860 178083410 15745372 738482036 841741300 784561324 500945738 878155010 307620602 300715290 400457356 901287490 187274838 721490800 183447904 574900400 21241428 234998352 839632862 201339896 638431416 267607332 178873402 581601308 151678408 254585500 187597920 178753062 888661046 138115758 865656134 839510344 747721824 464513900 776963140 477160550 656476606 420835066 221484116 958574408 711803324 605607512 788944518 743636296 791868410 952102180 375680638 756091960 959919340 439816330 727462368 619076282 87977002 311213838 856646824 936841248 32734880 207324756 660469910 935842338 228810044 987047596 650292944 848224930 268448318 489019808 950331708 813256970 314935858 755489322 213626294 675201732 849767810 785937704 971762698 482768490 211517654 964610964 988519862 548471368 178295982 624799652 459661916 461296578 750868800 646498210 946675622 665587756 679645180 70948218 569859136 526691336 164632296 628534068 30374690 599838262 295730828 893216272 438995276 302915668 392670528 391231398 436603800 486185370 118073032 969266220 756277978 174478688 713795776 263206336 945085478 428821192 19813120 463007228 594580312 396162120 474072654 962760896 213955528 332173712 183061232 989513764 872799694 797999266 819653898 183873266 139428780 157740612 199184124 568835792 852384488 703745978 859757416 182446302 397025868 837748680 343155316 558226620 536362656 337220620 270889970 857823886 298236870 66344902 835130122 43442836 638249166 407914156 287333782 511163152 680243298 417262782 501851892 315231370 320871302 83908986 283756648 693166120 105535026 835353482 291584312 89704106 789149036 648912188 115001382 239084850 994942296 118928550 638016642 585047152 265312558 825661846 61000004 804630452 271057926 28999108 29088958 468544962 940116546 25062094 594560132 733011442 515008590 688226686 126150728 668106190 2414088 82499606 841720788 137550026 628074334 990854458 26148610 86701140 305792758 319264914 683183966 996797238 718184932 322236988 910363596 134411648 207036918 453665168 629520856 532231254 251338422 121305428 145036282 796351260 272681178 149111528 220599614 824161090 136788802 240317762 939211512 399500552 90374488 864008228 565245548 643530994 872357622 653763414 496496142 329228964 144820610 34341054 234380148 560901756 106940304 145505854 85586730 807865428 551601966 657305012 605167560 511967728 389230574 983476208 617846886 837515452 797210886 532606530 488551088 459495928 301574050 81772460 538281442 684540116 840453724 764886454 626675852 959057002 193480666 440563046 124989188 231495762 591687372 742261250 333314666 962940168 226833458 42956004 862659562 34697826 833206026 688125612 826300794 235126764 995243190 654963904 562252744 274976308 185349160 213262200 558389216 274241910 247936356 883720260 278690552 992228480 856809558 137250778 226915548 793945042 171235808 34178954 353303716 289263570 764012108 396003604 967617326 995707898 626656022 640328194 318608194 672442956 60901064 177284248 306905750 453515302 374647022 677753482 876958316 474350512 402599678 529249900 510828060 619115884 960825194 995010412 811545126 131985038 583360174 718801360 726920200 495481514 785712574 119257998 306924862 103988094 214484932 886129592 586932964 4958418 842119154 448549558 475894506 710263756 682728042 377355610 295026888 981259014 194799798 114335484 973412122 239404552 656616254 776973386 205311794 243260234 297038818 84330372 55738378 706195698 488489870 342686026 966017852 239649172 495983732 995649306 441943150 365142780 434807704 809559290 762499762 461474166 220164620 309533606 643926524 783684828 554133144 835775532 50231012 751049026 505973408 302000510 594940278 966716094 132725130 75059964 649444034 643784892 676649088 635666668 393469296 417616038 201073174 283573254 242107782 623637498 781996948 340366038 334049618 778163384 259073760 330218534 390658518 500239046 132964094 192936724 84730844 130508390 257382908 408813876 191211718 789257190 343333770 118572352 113700866 414521848 400242546 364311176 45494350 152214780 35156206 211027074 460019404 517463356 896801532 219464152 553173088 955358856 756315890 483079734 790766980 871361476 999323588 440969552 984045946 205433592 207836992 354882442 512580402 956347012 89638288 327519764 980097064 445499422 344255228 510964956 829867656 712366742 281997964 497431474 282233290 277479198 422906190 235071166 907454432 463911690 796310580 380332356 592949382 181851550 558905742 466753048 107389728 114478758 965090842 589603314 612144708 322924064 675250678 176398316 485696398 254444704 807905112 27366602 279646466 795380252 755907162 103090094 840955214 855981274 894360586 13241392 422757338 415056940 242227404 560691356 994874002 799907108 996429240 231777568 483498840 790482370 216634350 178121896 996981352 741070484 302922528 111992802 764847430 424361942 629407410 690525198 462463652 79202300 935166194 988459790 471267306 711938740 8794050 204464536 898174156 118349518 562630880 270180560 713595860 530046288 647320970 692284014 950694482 831320570 115413128 92704368 858740762 963087188 187257852 28931920 978221430 476652248 241954482 914964914 29463556 547594250 371785904 826360854 660661436 843954766 842734484 582745630 199579556 196314266 752917212 398459866 922570428 37741876 367911678 406942700 465037566 563451254 713506450 129780886 966411450 678079818 205189740 235593760 653905200 606986498 403249704 424407268 798558256 330414288 560317162 865679414 421812262 981366774 292331976 616017224 519285562 138562932 552218498 104828780 285973728 892020912 437867506 711121032 470973018 710565302 310259752 831258430 365190272 34255510 483926446 34748670 589551662 509493778 534780684 640276870 130089988 212549008 234498262 301568826 124914774 930866748 434021714 636806168 556384732 159776328 822592578 923486082 691196190 408680994 603149224 838636806 43452252 218180154 923451752 449270184 2279216 244247054 81294442 836261750 476431210 641047764 323120154 142603264 274607056 281514310 94846176 85559916 580040406 16114162 141728260 766831682 36826038 914041230 692827410 817161702 716571786 988946308 40841966 274293984 935247098 277514952 326078420 70673762 464157948 644952486 114571032 95354696 183190956 683793862 992694396 893933692 82521830 758399198 625741320 448367170 374567896 772533550 815018414 615338208 52525244 443031668 75744986 640875982 903566960 305004344 293919366 94873106 16179570 708715898 298240362 845233196 586889718 332880584 471362786 371410976 273350124 243388138 333004368 675928158 325722724 552537562 955156620 188378788 489718952 940199632 484001948 50992906 928605570 840595482 237574776 161182226 654603680 338474874 836956660 517050310 614330532 270256344 93537878 881141028 348761508 497474058 190251180 274358814 678133868 457608440 898880254 762470138 943616434 429897596 719726154 727067140 98544626 74687324 185343606 604315894 494493302 231707080 990783508 740247258 438879482 261760170 383679314 916444272 370102650 340495490 286102828 859226158 766547810 262495908 662246742 802501868 248953016 941347208 623534186 427076134 978428566 853350606 623432176 868201078 753307642 803762010 71540850 502640794 856699830 97565514 846855742 424753952 200110592 922737926 595304466 834482082 642749918 901547394 383281616 101178828 844611806 544748100 449150850 310055336 407098632 22872778 550301962 741208776 512734132 132772582 346628228 765403252 682805578 121131696 204278640 653141628 309688006 731392344 787466698 408766538 972041356 487476536 505230486 80640070 995382546 811754236 757323358 596879852 666887272 446094382 576013144 305580116 96170424 108011828 960627636 146198172 841235332 719199922 107378708 16301604 848225898 439866882 791106868 208159756 88563126 162165944 706866690 948803756 970983208 473009476 560358244 692713792 298460444 299702744 170333594 762767344 491559734 585939528 669097366 923440398 893586204 964006986 689340300 803156668 443180588 37998434 208102576 218195914 619459558 763878318 409953392 695864462 272309438 166359086 327706666 686651132 906107110 175318184 879733360 8899514 466309938 184105296 97552534 572406840 497864674 887297538 775204022 15983444 442109080 267519990 556399590 22769662 636918626 564854708 737839756 510584704 263056360 649767832 652529590 627248532 679703220 687055894 24151068 223018090 164935098 913258404 318605086 498596826 863556088 603789256 649288930 847611380 107185474 32892290 178782680 258585796 624208090 961196868 799733226 445199716 648937572 216537928 420135434 470357466 193375742 805582374 310652012 324728442 249206298 348983592 880722746 959028674 196016474 243722022 347651548 414891212 889385102 681615558 509059710 780140682 319857408 139129570 340494300 198330992 885413498 914688898 830663800 766251414 111482682 271383050 153022830 941214756 145129022 980685778 868320980 572402188 177940442 840066606 773615568 73846920 428453930 287855498 956367426 104887724 431578968 216881664 982129252 963529302 622939138 793456222 84144804 623030218 966171360 622056228 577250984 606263378 143205290 898438434 340832236 57721752 568286824 57403804 226787140 294716192 55299472 780807632 480397060 569288634 364191006 9855376 523957434 462112796 847743522 547719912 503165038 206500046 71625934 518097236 890831452 33447132 174570086 974884462 207496680 309878282 480667738 103346158 277340966 246882898 457849284 74511410 669180272 68803218 145213048 527915068 718737314 862838740 797991798 954542568 891155580 32175766 540323312 770080906 902673658 968127510 703538932 948370366 639226188 242414220 887943646 689897870 902925084 948959340 644386984 347000988 62580332 308352656 663821108 496893180 355383588 590908214 406517506 543196796 672533698 496567464 862471518 872559496 106789790 599784008 145558182 781906770 490946292 875864846 660446790 122081830 561198204 868342208 59198482 528724936 812455332 707060156 999716750 74796040 546193576 577006760 631738306 862192394 805958846 629427394 431194008 454179304 978640696 797222892 562913520 836969062 461100916 781748088 312586540 850809740 358378098 729931162 47158422 975389106 735340626 472499334 889122398 916618396 608438326 499769976 222133870 466041238 791823520 283068234 778960430 619971742 775027234 12122288 271957232 659246522 882530564 648255806 29728294 458066298 572832402 647632992 868993408 926543298 191333298 532320436 716143494 113529168 260233058 335628258 412577946 882251628 674115810 528338148 233292722 264742820 995007310 449900024 22544502 10423554 698092192 320749364 488670054 594543374 656597850 14042804 836966442 801916616 101788120 107142008 309270702 243427260 737861614 678922368 689077234 700021822 389027292 240845102 387736534 19646624 800719228 653000598 213384558 147941744 405930902 855281012 104091862 55740760 17633612 679127134 554773492 796539328 582655826 591410198 615882620 587497080 822200678 442821042 32888674 564051890 345557116 63591482 59175954 307556184 861128314 499100500 407307528 861742790 7821928 190191864 616304976 747178824 337309760 883385624 271205086 642328252 602852250 333409650 547356704 578539976 117917622 679996726 537038068 695036258 54752964 701036312 926444408 283931164 197203396 501098362 762956840 339384342 661819054 511792390 839097800 348363420 581508306 998359904 104458436 58240980 105486736 317989358 600119910 485113478 90901224 432261698 683763548 991206558 458184936 110142394 323292682 46204436 584173914 992135804 805025502 64701344 426397710 449011940 499985410 204214112 884789188 772527196 392361530 588672666 825343864 1596808 50538946 926079308 457453098 634654852 684261334 474237520 277043672 512756546 844976446 230561538 214415314 571482884 856188472 851532608 919734586 854039036 617035216 234906848 817132980 161970972 665070914 739972834 810723632 658421166 929115228 265502742 233308424 77824190 131764844 536856792 168553582 564954856 697073334 583391582 14350658 383793498 672619686 391001818 774467446 947391302 96815620 515789308 396998108 83814480 786768246 705887342 45339506 239521178 293726042 528372584 722685180 494408162 804371206 840270830 466442324 146454078 837125598 231146612 496378178 287455124 964161240 705677748 341681934 534423010 734638454 836218316 357839676 502972820 495228712 863337358 204860650 522408046 228884140 376593374 158359278 278353610 594091768 495084380 293012048 426414576 947061288 617919698 19262872 786813138 240650074 816482758 604923634 929916310 528932064 908593000 650379882 618422566 162392324 216236734 790452212 587816018 296608634 287292732 543373838 630070866 163301852 117732246 40561626 372742912 54044554 160328754 713836628 23378352 41646538 989734590 624522786 833839204 57588620 549267540 672264734 835025122 633790782 802266316 216798388 781111154 903371954 337342090 497387322 609256134 3375380 714116482 253277604 277545502 219497892 915023150 264292726 604061250 122977228 571519554 731843640 584961912 900158800 426392988 968554348 667083088 93534454 290946812 201148618 291266222 626731248 595893388 150840216 439213852 220031240 144773056 451409344 887188832 893607732 951994926 90162774 217273074 537566126 77547084 898858464 638725298 899648230 70953952 85291230 327556616 257008198 246497802 403444598 623070038 821723248 403162436 849432514 193417290 831571418 544066972 890769714 62262028 429770330 147723642 311965658 929551052 178382380 118054460 445778602 976305374 609891892 86172690 188270826 427277472 654279148 335974726 792713552 964176160 968132596 207266094 327923544 927303732 918497688 965595824 732611376 896519306 96350136 250579500 485767154 686887172 570268638 851808906 7391956 284714950 939038674 332542474 780218396 641690342 878693382 372789468 918784812 562447852 692150870 282086870 88681246 305046502 140320322 623893602 848355462 59345276 386285918 330171746 466377912 147104100 386428484 242355516 739730836 231886168 697267882 909590422 139820950 812691952 188456266 213730994 761364316 54136758 620677460 733460384 70695646 369776028 92046590 169056414 160341964 62946670 595084252 58001718 393075050 844872380 379600136 33617802 54979108 179616288 932092268 41284950 889990972 824273128 818401492 205720140 940928610 524553512 590275486 37757148 196793548 9648952 713303606 818763238 597482490 881453232 711307766 14781516 652824476 401188492 484488828 984177974 873336640 896194656 24422644 684749370 281859770 205282528 777473246 369586132 283624970 805178640 802560492 854921376 215932486 865942750 225531908 59793850 853134388 894423990 418875120 966485576 847652200 963777220 338656594 581171144 300937754 126813614 457323762 801777518 926758516 732804204 141296466 137994620 939163260 978555646 63909442 165824610 917278414 552122862 427588712 69024854 315340526 709660628 838662150 583737496 481442906 192465566 530883974 909756848 497772576 102947188 757452180 710810152 947195118 9667044 883974366 437541452 484620702 286742454 25565158 760394622 370277950 199842406 518734368 574026144 231086174 789320490 795886608 187216580 43816188 300830580 16863678 517611968 562159510 873187552 81838832 311761824 270096276 64809294 914846126 190955780 270024668 110251758 4852262 69540344 852905574 73102454 630432826 492338458 306756526 87868476 915927004 481486148 688502798 981878760 345623296 938584874 855637164 78153960 50974110 882777292 459784212 156950558 436964066 358453526 206657780 722237438 106730570 569495760 103564862 25596246 412860200 657124242 297507714 961211514 249247610 643691788 508752768 748133284 887651690 488206358 947468206 409879332 775252954 904788078 824698074 367494950 772531952 331268082 922203228 578958902 33114332 13978800 396176646 753003588 437330288 187144212 45922224 676408134 61921272 649119394 548224206 871217988 732513384 160565036 710955514 619225988 205488446 199592038 470467760 140824540 513833948 791314188 181399612 101092036 99698690 758229168 414939876 328183152 525292348 570493004 332678286 237272966 834596710 531566694 314645848 318523820 587749790 724648756 247522438 640220996 18137038 860588400 227521488 957071896 691056068 567707978 985333206 139362252 817010172 808207386 945570000 889448848 467022982 241054458 617529904 177472188 862203350 551599330 621416008 213010852 762928204 575604272 219887676 812154364 78666026 123702314 611240880 95377388 222646426 277707704 447521564 850652902 351166154 621102330 707030960 564271302 677214008 484506542 550599050 291597138 958529862 844051522 912744562 14788484 674239934 306610718 392692320 403549584 708008398 895547998 95446698 704015550 279132568 654160724 541900736 419542694 44139474 435441684 396818804 567065356 730628374 519217324 822412064 195623338 146936980 862495576 318306540 3261014 610749936 766388944 226920302 482011106 154077308 528025132 322080042 227403538 885015762 199615454 981081416 109947206 882893930 78634512 37106664 769640902 390865322 993927246 485598264 603183630 110581870 573103364 836586088 132813680 117287272 928977516 22727266 118405972 538569644 151374774 63595072 449566382 638930564 405960110 817871122 281345222 816934460 507612586 350540654 620400462 216231132 370798244 741249636 962812604 64500466 686507440 866398228 396487872 887882832 605893086 670577546 639146984 52051408 705237656 125849048 551602378 945748222 556507856 71660520 495381228 530165894 754335210 422125036 131082800 130945224 906857878 115925228 225883266 768139428 638564298 275228796 493972176 468405508 258446552 771482850 132438780 720288488 262628936 278414744 731266654 548221064 59294354 151300998 190133406 903080778 656907810 31176270 737151198 378009100 349817114 886246676 737880992 928254052 63051054 605911690 860965886 712359500 535652076 92141006 3834168 31503490 703282242 336355618 41613966 527618826 982486992 320702048 132680338 72861144 589467424 304921246 650242496 704141012 760525000 625459850 489096744 66001100 778390332 243451368 861868200 264106726 620132284 731058816 433192376 775171320 328328482 859201180 797291712 906348050 884216496 726243604 313093676 643378740 37020326 566729250 490627708 585605336 650117670 317447454 588155558 91632752 147600938 529729250 855319330 906811936 707817184 440581456 281210434 769222336 657673996 129573752 568453416 293340586 837613072 359993440 338611956 686115474 852635034 453410396 520013300 176794812 818769110 987865686 699212832 798766990 438973614 84448604 279399228 351065506 738113256 107171648 834819820 490914556 429672878 823302050 835987088 514008598 162653744 786923036 296659558 738010656 730388808 300237614 990757408 85803722 857238178 364270702 577527134 234564908 305440794 4134970 489855938 868196768 62485838 30826608 750562342 14273226 405977208 863418070 397429562 922855934 120298896 681042706 294666148 267743512 101408332 887198836 37484096 576344082 408907202 337787940 569909536 898434938 200749406 350892180 434423856 367452192 133231744 573574870 179630642 975460184 599783624 75681586 53194922 603460008 905114058 257463188 324614624 10671308 815763986 701159928 264525330 209745624 226211732 60051506 508115830 947728092 804537336 811175468 761676908 611388876 49043912 984391748 881829104 67801970 888232800 438167264 402206758 656029228 541436850 52962688 568265546 955707704 319588736 259233236 306557610 331593942 524721108 660015042 445021182 139400634 594574626 210878624 366823040 720515858 204085752 977654584 682035570 465051632 289236050 641474356 137789592 713547244 355562346 910089680 109628100 373621178 236383660 797189952 37864250 646673040 354899240 345886414 230452768 138780060 600692592 428383614 928184558 885718736 499874682 58271962 766737400 118025692 391768780 451870492 311390016 259780956 547042210 722493044 689365042 656078180 388272646 326238820 838955690 54205796 896266564 173948636 905729218 599771314 698786504 528548506 557082520 483316908 366421776 627125656 46118672 382164660 797005202 962314564 60095460 552219378 109639534 486827534 361121522 230995194 780490138 30888524 867855452 71273974 876678188 772489216 288064706 145908464 39564076 507446530 70511388 857608942 174874220 497898846 916382794 807086208 307136484 159383368 529064306 109439968 335864962 160536652 144544410 24269438 186123476 71315282 58654206 298173752 69401440 989898070 736137040 534140548 655629196 774232454 578088908 167376400 641335780 530359032 899193770 594225692 745144004 168236866 843719020 712491672 453723110 486108842 988821740 517216106 592360582 362460232 660638634 407560344 233013182 265562264 803870280 201952058 387733456 169159854 880801516 848861302 698956926 898691800 891276730 599501308 941332890 107855912 819583172 875916638 226666018 604522870 383029550 239676952 839385666 736036576 792837588 888035602 131419948 212610044 409534160 418981358 387343212 317734000 264271142 337353644 406716774 946203910 390635098 325447238 229435054 972888946 126467614 498573120 485604582 119967152 929480400 702259762 648886778 582350356 290049148 318899812 287607006 564275768 643828810 461683122 186812552 289152654 852359042 693464010 394324268 894511442 363950204 635323776 995807482 909378068 342354786 439343184 606208668 59152588 163085300 803596658 450126056 574422446 503706936 271794564 806728420 229074078 656125242 609340720 130384948 268522152 373657572 14091848 442329832 356793156 449721480 201830614 9586756 653345372 232196220 963126574 212706964 552286902 64830264 675326430 762479918 635602518 344973808 161534268 476637898 177415612 460568328 791236780 153396780 624015100 699888180 663446606 679311024 865718860 265700234 757699526 307834836 280011808 827254940 915108742 404689662 551268550 160461638 749324832 190724206 421999324 976117388 450951436 397840920 803301588 446606660 751805152 426299604 965894770 93983072 430995258 444875284 137843936 693263570 49939690 247954836 484959188 715505992 778316658 351193884 693588454 903261556 40557154 665377914 956238758 212402100 260760710 123094052 806559460 170018902 658215254 533400188 647089732 645670534 282766862 159519006 899401586 469182394 83836252 258765716 728794010 751310350 552862576 466994936 78075494 935088516 280876858 569856486 987316924 31364058 42724760 197112758 429824236 92335680 939819920 176119582 786439436 333830102 966233298 250940686 503054726 715325492 383648770 970063300 639897838 143671106 162237520 957335788 31472840 985589436 552334668 695305088 451567966 350534160 492752082 558800142 207706062 547138656 91256512 680305172 562965298 181229544 734361952 299217470 670645436 866651542 610401588 456655184 204298450 524372668 84117952 112169082 138241662 788490474 872119386 540904638 894538092 775428614 219875574 325352664 277074912 795933468 778938116 57001746 474016804 942690564 742417054 653189296 301166312 702702782 412371368 196327228 455262158 607823950 108480524 648060100 477994428 829658624 317595914 198066594 492328810 11343278 805185578 948054770 239409730 835662398 860318894 741160576 268069814 449536708 28367194 63460174 672439068 45429316 623467834 570278058 766106148 900019542 894007166 972564382 960538054 655423124 23207528 18293638 977080688 674118092 166575114 345812476 161385810 487880152 962133240 31278526 172990344 993023256 730901326 336600742 120736878 35534590 353408180 289043642 92540174 787062020 278267060 899737804 320313420 232477384 819984256 33838664 857443102 541821976 277895006 120851710 349368004 873903096 424425924 811889820 185326528 834703104 916573880 517500694 305286200 700838714 127145510 813042926 340699194 520216836 470685376 807716614 557150468 605706284 533460336 924791060 830958120 68292322 111382926 817911180 516746594 297600814 733019082 101310868 365739566 975448964 442249796 642332236 124320738 663053248 495972124 275223820 531473724 847196436 970296974 608907868 20002246 417922250 390590554 510953144 662538670 888703324 857548132 34778624 668591178 282808948 976866700 121716058 277199256 414004118 658281270 609827442 21238228 966830662 774175328 156632930 599312882 939520510 887643120 453742910 895021946 344567316 401726888 192354 505412748 267910310 12092064 447008752 26523920 685481200 161678790 595124812 269534266 876071950 27495180 315807866 481895554 607115596 413579866 920113434 242648868 48174894 994369564 159138096 983995576 424025040 856084454 721778080 671025124 848629810 410527772 38909888 741187350 639425430 448736988 557355084 867274490 492035078 5885254 120670542 810633330 479889744 192824568 791303054 340746490 239286600 600305438 313284508 973177318 266572240 541006920 206493686 670338872 137076170 403431400 331761028 468031980 779337902 799775900 259480114 679977816 217849964 230344972 551780548 907120770 929366234 356062870 936494768 376462256 936021486 648346698 291525454 870053362 659857344 854713400 286121546 882567504 675456182 138332402 307494564 614240010 122635886 943463852 784237356 343926608 238407572 774443246 574943512 278134260 206389198 67376596 460645642 643217286 150266740 504225864 298716410 978762458 909215144 28241542 613927624 758422558 965785638 718859756 901354920 77000858 532342830 415692454 458457914 628778060 367361640 156059642 813354452 445627402 738633848 528766470 852356214 905052570 699655376 908883942 353884500 783142144 366959314 123612180 873763090 67836964 717710940 295981332 71450564 854835578 131244296 859575196 448997172 19153066 458487554 861171972 719710958 164177994 940376866 501165646 661251442 32476420 937673682 800451644 217341972 436614304 846336254 682339620 852504058 606093540 214433122 220410306 126005974 909314974 580922288 891858118 837035178 130442772 53695702 621764564 309228580 995973288 701275136 794669862 152803430 878918354 522291750 427103590 597460632 363973882 313798096 620744194 183325380 56250868 703216146 790524534 960409696 308402968 676882260 649022508 338145438 797143196 98434432 114245384 990207534 324714260 75529702 854775628 888332260 745088738 744889382 92085496 144690202 14374986 910900278 485617858 90595456 27784338 444365432 97987170 709454596 861108934 53068654 776841818 809655042 605427080 777799898 310329178 552218284 516811568 806748820 706835758 249195726 952735742 880630652 292258602 503020346 875398832 254217038 707795892 866453502 812727200 171812934 553960618 971616986 444977158 990465632 653301356 436630396 570074540 35430722 517837756 102013112 296325528 678883448 820602642 394876544 633620792 859541228 57822402 830316542 696074336 723331742 757231106 188890546 792535470 660219752 871488716 510095624 366294640 849108384 837058320 546817734 128933020 997091974 276993720 727562786 19145536 552776478 674298084 584064536 113411272 584315452 906145934 580314814 907256184 68879560 871980612 270166866 389563334 46620022 219430102 961540242 404781242 203969508 325541854 843438028 459354456 191563312 118947218 907572976 183811730 964085272 237947948 955356914 754249484 356954052 218223372 455048778 789031768 979788554 371908112 626787708 763520104 590818990 736916296 464327096 986245938 47979998 232838934 520759530 619433492 383077492 488249346 186014234 12506600 734418152 72330454 545963976 221130158 96123230 627020832 313357518 107383148 413713210 537100014 186440912 557715444 434664702 34887074 152376748 37068480 353230124 800492648 431327692 857991246 75542812 101606476 655793356 602508558 965183694 72082684 833559182 703798614 977433234 18369704 388244076 220011228 280376614 451664406 424287568 100688882 526592792 761199188 446997966 658111418 362797748 338566644 100355146 977618750 878346170 318599618 575760822 135272738 701010276 391780620 495986968 171622362 202871904 600797900 626724254 544187012 676410790 49588556 252613494 610092476 763209212 860277284 946814672 531347008 697315038 661104396 160205666 154282024 363363464 442975824 208664462 583332068 827616348 627311650 989931310 161510610 273446368 33652558 81494194 296623704 396879906 153731514 220180208 314871202 123860376 724698720 479832346 122089704 358041394 277401948 294458838 485490060 29976878 384215010 882040540 984597378 96393384 775884926 799281890 936950248 549586616 884651578 820183906 810664644 10521622 503690810 1960560 143577040 31690450 145788038 985252370 875100598 132869502 886826746 809439318 954084414 577461070 328196556 689263274 221051410 314350306 742045682 988573974 357437448 745240622 746255734 374501150 474781782 471109936 19011990 260276908 83918592 37786312 690293660 871254724 649688420 564424402 889221600 698127700 412282494 535064398 630775026 452222178 661126660 683147214 891871052 51595536 293624138 458856714 993797530 757517634 877932002 696944494 993840536 359016786 697951456 960401302 662754394 265877024 583469316 874704126 261734766 995737398 52025108 710396988 415128476 352691732 223949632 269571552 498396196 428462138 598773810 59623640 530812418 641678754 962151474 755560966 10873298 881703854 612060900 673221440 164504482 471360122 59006884 794341964 639198764 471430568 832301926 882785662 310332288 610248154 201864148 998842790 624806576 997259656 525705418 521715388 249882698 682983048 677095842 150922882 37606624 247551846 520386122 371222386 778777398 820758094 154772300 336784548 380716148 780922812 110007336 578968336 245890686 249643114 897885098 536682976 32309318 574600174 242446070 845063272 449327110 962297808 711511030 784934122 301160084 973350476 884450846 863360652 9899318 465470508 140032188 350268090 402695268 779055760 864588140 412573466 978564074 840197360 530661560 116230446 801012264 896516504 181257878 220907242 578766718 813739858 82492228 164705198 100688626 257342726 506671842 272120928 20918384 77811048 168740168 189235784 76172182 310916412 64726652 686568412 16911820 573880090 583869906 443130756 9787000 228696964 945412322 666416802 145657862 726063632 497596314 837748560 134588160 65525996 396717346 10241088 699371588 577048446 687381764 550127054 282531894 787496864 916318494 777657152 540402542 475849044 206630364 820650038 733721188 209350322 994667084 872109546 46479858 723080502 164384912 718585970 654853042 384285994 954999032 290137100 211409662 122731148 557292714 164273548 105063594 92888752 255590836 913949348 743856780 84958088 157205234 459016142 806103624 764062828 759688454 729637788 1322684 941814510 673877562 896441618 440356868 516937016 486662748 720969274 71574586 315770864 504689550 639082558 160507190 506308326 369518774 708857752 349086194 636850008 131227102 959538716 217285268 641109144 778904754 321206222 355291574 983547156 507408578 275685356 907925246 588098670 952143834 230724190 444154216 210521698 20996102 450309636 723728338 810154198 411190368 175065804 155228728 21885862 623073170 819495792 327577014 143619826 220374198 844743764 135969618 797595322 349954684 200685648 381589610 477708760 370581134 901600784 375806770 900283974 937223300 864642476 166951244 483245344 328664896 964565142 213620440 322155678 763776678 292564078 631016580 659801346 479515714 838890514 621751178 873043484 595070168 201967850 551230972 501990428 800303308 806290914 232593694 907480500 475417846 876393888 904221266 946184938 285875052 431968756 836690032 627451104 617932772 42538336 996727288 266803892 616121110 426079086 380272042 542091132 376332200 277171264 740125412 302599948 167669380 81424876 762955244 160008244 908929816 846444716 526883518 586774978 29266706 84865608 373620752 792068068 95871570 241665120 425466026 2922772 91030130 632860860 415874784 713676430 939572320 560428152 258308754 118312552 997706174 835636858 361999764 633761606 631566100 382826036 708521550 674761526 466386620 818937862 980798096 785910230 340316608 969421776 546170184 402328224 195407814 814270802 858562066 106716650 129479774 160875276 723647468 771243636 883955902 795847520 649585146 743552698 880483576 713908524 807204454 668682002 876764700 58151678 788442364 850557050 682733966 615800110 483952648 537427604 70136324 981099994 892933858 567221104 261911786 666589882 145973140 866844164 531478454 15248122 869630194 268525696 848018096 544792626 304262000 905292582 589484022 91120098 602457132 933627270 6254502 843234636 128046948 297055662 406370198 802243680 885750504 750665436 768108966 327763060 256800128 488485920 489164006 775924886 87039482 304085342 743851200 381304166 991966178 671690470 142220914 74499418 420486994 168689202 821496708 713287742 963038784 933548528 596663622 300492088 202173234 894749738 703178854 63768992 657892732 805420876 42613442 870493182 922282734 210722092 913147186 59657144 74309996 276526188 260272570 662727860 232920442 824576382 690010242 605478312 775400324 731396810 405382952 870971096 741986792 75865286 24953108 7762132 138326000 63446152 398286046 811130234 194565388 300140432 352606794 338469332 614137726 400089064 942273488 3325426 667542104 488411368 64876292 291335476 773287832 242379552 205971442 483066588 47374936 550861196 866362932 176830726 267871484 828263040 61405200 184306950 841100816 785076484 752405832 338186082 776425694 312253796 280871854 677625036 282910428 533665694 349678090 136258644 510521172 297832126 441933332 569998354 969779106 962145470 956366196 46594108 986831124 957955750 715242138 52209470 373536528 900830166 712385454 153095418 456948780 594818628 20042904 376210042 289589180 466293736 241503108 839301636 434126030 335541116 742645950 646390980 410008420 22597664 952791310 999762434 833747048 225218448 321649996 296363528 438571844 226429200 631525280 699689772 929918092 956952260 366884496 195974974 731214286 597541828 746717570 742977100 337982968 796911630 309770534 744109944 686730060 78389866 902856710 823267188 650880720 73818896 369946442 224289664 515987872 135743556 769865946 747745046 693488906 259404140 420165074 622596646 596893658 860113924 364356668 744771258 781348386 766192986 628994188 594147986 670205940 397828122 948842908 954624576 889523398 585950742 601515704 912770988 187126424 27113814 552189114 186006412 401849194 701318422 502959792 863241388 458280932 737755040 100967010 663450666 573183984 364420016 122218376 671895176 39555564 59005286 295732816 25838500 208466648 757233082 78796188 76090492 263758458 748101592 991433782 101050508 461613644 22930962 598798272 692710116 710903258 664812064 493145146 993561820 233327258 987649536 452210292 125043562 569901540 249562868 457330224 488595250 495799938 556844248 646783104 755315014 927448444 20532976 51886896 670573258 858403658 861733546 810858630 179176120 865393966 578757532 231623932 529600872 731550632 234480380 142752310 519767388 941137174 853717620 295015452 48655088 404595012 60158176 376927500 552696074 956722952 439435028 384620756 793941468 13471708 23377388 387857296 934861388 488160020 867622090 756395728 546035728 402749734 791451060 24727334 872030112 826013906 157414272 502618830 246176472 918863664 441052550 240162064 473735214 821129376 71075980 816574634 150065214 937579588 590173850 560509240 659809138 242177724 849702428 78153656 418213040 237173368 949288 910851392 151023200 856537058 489880566 964635274 192765948 827174852 104704442 130864744 915530774 413030278 71831118 966779598 41391806 517429980 635017030 773888450 566634802 111100760 904543262 977252106 229465630 173227118 524698080 214716330 93192338 485138942 232537270 364270008 819011830 309083082 258491216 291014988 768300020 832022176 752452276 567973106 253999218 177431084 342690512 717680728 180442696 762124606 486661428 43328188 29028652 771319076 227361528 219712802 155940850 455741648 793115092 826838524 529806300 115107022 511494624 789992598 909922132 332320914 742023900 569599306 272889450 708319418 264702466 436799770 950496522 221288772 769021680 90327024 683738020 483265624 808874816 148532976 438141428 394960402 466451132 90208638 456814796 915846808 593875476 696259992 790029524 21902956 537994668 463762780 66448280 654620698 5986270 156961944 590730810 105289092 326162846 801106548 695303262 725671004 998307850 327319154 943290218 141738098 975155990 820189002 489837578 34800360 80515860 37696342 46631738 969321086 942638174 759421550 34339280 673077546 985395352 633879932 625861820 884203986 192721732 918376616 555691808 754394436 665675940 179707594 132746114 805754600 831079784 898444638 592927934 484351066 686101082 872954178 868237842 563661256 563031194 495497408 128499608 865710394 68308200 456955692 103375398 345076680 209867640 415926098 840026370 764754838 192206072 565799380 552589968 114469360 29974334 310074364 435176372 158310150 323042592 211139298 6000628 531653492 724192862 939739004 52740128 140172622 771319676 900865170 228986670 258456488 59524864 597966276 571655342 626090842 300075212 477372130 60740706 621397478 963559916 962013406 412302034 339912722 629696844 904209940 923110924 776929262 642236140 465524334 669419142 870891340 167330014 519166438 83866066 756411792 766604476 442283996 625855266 431170144 109715984 162119844 659412580 658849218 344324166 875652180 995400838 493264634 537583728 373511148 938387760 334627688 778078024 800274888 790568826 277268060 535817616 826105124 476051766 743685868 814496894 518617044 277059616 235718836 827327140 378552454 645430964 278079784 205307500 286455508 977115578 871222144 878958572 196893224 319946974 914315878 747384544 825799322 873861206 757573552 134409514 454962480 368441190 109279488 842020836 664528232 895542058 720038376 161847504 303410278 358586832 759898384 306861672 947408562 206382856 228394936 879548300 681415814 18859226 952436790 811868120 923543958 992570422 540609542 998346816 795435460 963772880 76185358 330580914 452061218 253101862 855591768 784658854 772640998 722107514 717717814 442943012 435679588 717330836 422692474 890949102 835431614 349188036 46617178 928872360 895910296 485261814 105235904 668054264 844756574 599237728 407470638 283076446 380662968 281958184 14585040 700225636 25577102 285189608 148604156 607864022 280400816 263704706 690863666 91372384 921731404 214405340 444078688 542436860 516715866 917323832 370952250 856566220 952796918 720230630 166441760 72262906 910267442 614536426 908868404 999054330 350972558 772187268 765741900 648014342 911410794 292739202 401691546 31280094 492075882 542396470 512480592 741143722 162180508 243385342 35502376 196444924 765553004 447400734 766651676 421063640 54173660 823025132 775357486 644360172 454071272 877361516 584674538 239120516 383538410 956798670 967721890 607541562 826024608 820315728 253166852 712480374 123768664 729487660 103202874 700014612 52345812 197705022 364763556 947159132 101546442 938376998 122804174 213518374 409727052 815118380 737268144 259988036 970956994 585017590 606083692 941276608 694971502 970157040 372673464 324786890 515516836 366520456 678273456 987989740 216339624 747955866 557768568 73556156 60485440 555946130 599494186 777574632 773529048 750861114 366030252 289849134 619877982 926228712 597101234 772133636 912665552 976792156 303674550 805567300 503770342 649754906 994207586 26943512 184449600 822754964 5754570 165677276 7365030 699734376 740997032 505708820 489673486 123915562 810990342 305259940 114343668 567805462 189824852 911516872 667882822 177636124 384717796 146196060 791616410 734099240 906848964 202863442 709390430 14016242 11708134 315182834 62619766 620531930 591114370 804228238 501334260 435211778 369403484 34813974 925240726 297055440 681742956 876450020 263759874 496420954 624243278 218779082 779474922 384018828 260853032 92427868 502745158 594020302 661982868 579884228 615266990 934579858 528449276 267886112 304458438 623159350 746382184 291814104 208980438 616204394 241639768 124142270 491089428 585065340 61344654 604169452 54849940 526124906 655869986 760489372 914873882 897880050 690823416 17454528 40436618 653290548 121103774 764675630 77894152 879141894 111010886 210656408 507255310 244330446 48145678 979827328 882202158 963417572 683915740 350968132 280642962 296558512 793171578 147561546 585968614 131259096 713716962 793385672 580745838 205658482 232584100 117149198 377703478 602000420 289404296 412001058 35665474 43025432 558653304 660919026 46254232 933853754 429184004 969462582 138364300 203284276 41578032 119701620 376957238 303068342 818092606 187814284 784404932 802318752 259853178 959300894 800152430 137748488 917840620 521578864 791973468 527286434 964415684 974292214 28175604 681244452 829074514 931515260 990620644 25011694 862018948 160619486 838069606 288182516 708582536 970181126 227771542 472811158 602694030 654335290 155382138 679007470 809272456 474782848 400313532 607200834 31009916 302948798 405182678 293549006 421309184 869345058 24327878 935535478 572977164 813512134 698053882 95110336 743237836 420186002 71846938 451940192 524949570 982216086 21488922 785450550 438852474 683479526 223462826 881213278 114003478 232556122 27711848 104362580 666189360 148851868 174830034 657446552 8871436 708068260 598124518 968451758 728458974 901133592 872843400 488309444 114927404 333075152 985394002 894401486 863428100 212207524 975849410 25029310 927234894 657761116 649638580 18502484 996811192 790971662 162650278 250171532 71482800 841459050 923525014 39514346 334097604 787101930 377966256 601179096 257732576 957300468 951263050 218547478 584536842 860015722 190931378 414667644 200492400 379270804 672654186 737136810 317667988 545399890 175658114 570363208 980522434 235835672 432691622 342896468 553119752 541312460 834330060 488787554 598151974 103068800 755891520 608356502 293480198 76236916 819438706 359755076 696753252 579856738 23385912 859505976 161645532 853963244 567922630 337116696 293430618 369272880 813507018 612769946 871520864 218266228 16547274 118203114 857089054 467015518 76294468 328600640 491319846 279473762 622136630 680895330 696608316 860620758 450325426 483841136 895662776 764697434 543499706 949419138 553780240 404390074 315740492 682638476 508054424 763541356 613770888 81336890 602578314 9857984 951422864 33218104 681437356 968756142 34678780 451202146 653221790 728336300 644245534 832157908 461612246 129814340 682370344 238076778 997258216 957367764 429536256 854384662 650329874 327520718 563803498 614015450 884830436 196915368 594146838 957900310 780013202 588106706 469358366 429435072 364250986 702702550 175812584 299053678 539611934 716798922 107606984 756087314 225779876 269826886 105366368 608593790 692687244 735894096 591512588 480712690 289593324 222185852 855014260 971426498 387822210 372293784 100209722 894402368 429331460 772946466 83797622 209218740 853367912 743907788 523016360 769459638 71775324 473639760 423700958 339441218 144601404 936514332 47476638 88784324 350824930 553498616 305772706 776082710 240258292 978401110 70413652 652809486 210864800 566439064 65913386 83071968 167256690 442202162 1873344 320429428 85830586 576442838 385764292 261561964 967804738 186639432 925289480 767657362 224835634 985455028 450685444 548605794 107338754 762650934 481161160 159516552 336539430 943291052 110138866 998132598 937373242 50858522 298550596 476568972 696363432 835584308 46374044 755913434 855441704 42586794 517103166 754322520 582907452 660039672 437142232 136578692 362311812 716095820 643442900 943231724 554547124 848633164 807728178 29282766 311707480 88826386 933012012 727945060 736934482 600648830 128302724 413102198 109892960 826459690 201668572 29026236 696669060 101375304 895075210 663661052 978117550 281687402 514830748 192545300 215748302 255347978 892407906 634816158 474500560 526354246 230268500 888853968 382394780 61783142 549155488 641818422 472955112 680518352 954850976 717336894 420701982 939812572 757656940 838137448 761457386 402814026 553406382 419609066 816446464 305023050 671953474 707342862 99344680 840319842 70141040 345933152 267204662 477120220 487076786 222713116 632947100 58682362 497101886 543146506 939991896 72531232 610868730 48092692 259424796 380511346 833511168 381289674 833176604 488538720 618490286 975337218 403036490 693009634 317723406 671234512 615076786 347778772 808781592 312874078 975019036 597149544 705399132 667292118 73436898 605890724 533132848 235421568 791662574 619612770 598592642 814122810 644344970 81850900 15687110 727856718 813476356 652194808 852736284 67391980 924905176 977099386 609213352 312830826 496667656 294656606 697833520 279066562 506318708 139701126 462148192 864543388 809854598 727597902 570174172 282624732 589401168 941341424 719233072 158395230 264114928 367851202 571720418 667926888 40309924 896511572 896862694 55418638 474434500 100390100 276786084 839881622 591113194 146310542 420601990 144521918 675414180 718846538 711192890 596363316 181929528 69635414 253105660 173804896 443661800 388673216 447711280 88713726 193627680 640019852 257139052 38655642 876411210 583353194 640020818 449414298 350411442 341198996 413669592 131653276 297145172 402962172 748430504 659924042 964471276 95303196 468617312 581050426 568592912 483423326 977568602 40048866 351114948 58439438 817582926 833862300 279260730 236589030 746339666 373155638 964537936 664900130 815922398 531725792 28294724 259636798 495924130 758259336 285392250 25196062 566474592 172464106 50988232 173821114 327340764 179493224 76111288 82998964 289847392 652626478 655441676 946763272 980156318 268116084 786847844 868751360 782782162 793573400 374658266 808736196 347827144 3951864 427759502 939065062 940272900 586866744 324283538 46467842 622545098 111710618 238752658 328967872 53352814 487315166 254195716 773638134 846403094 544347766 558187438 641226422 261694980 699388618 478660524 502012986 423925682 604654132 813370080 754702770 284828484 269205832 826894970 532946634 566025160 470348170 556378762 518910684 317961192 588696496 196027110 813013534 964335240 710813828 218195524 289644294 346023632 339409814 543343474 918805174 340517390 337111918 331373612 803825948 605317700 812224360 456398766 338790742 53909504 188676128 988314164 868465728 210219834 276661164 829365182 157427634 576511354 781162090 717782752 791602688 393486034 936730104 717772672 939525648 693795036 250273456 653946184 710010722 145047508 185087944 67094664 487692232 290932556 75298808 59664408 636384086 678186490 946479994 332545006 386986424 480494126 995633848 583652478 826291880 604176236 843411622 474375888 573603780 796040516 948450914 680464544 387415704 499442110 371326420 875536010 426654382 285639028 88188322 806059672 373059966 192802678 475031208 470055694 984594780 731841650 446239080 831319840 575222802 983578404 476853480 236474234 609423970 341977126 630965626 838095684 518572278 197071446 648514652 841135920 20313754 750827676 315562298 795519888 561517582 18421548 253047232 351898768 822934440 968127850 845374982 478639360 116125986 759351088 978844216 187646580 887963460 753488570 695219716 659534696 283525276 671579434 671113432 219105788 518032032 939247930 873654830 111066588 785760904 580221322 241102246 537449536 709219146 375003004 983922688 564812064 419594876 338971130 853163040 172481524 325452350 715653318 811852044 266932802 154736256 334519396 796798092 653600436 134009332 860711154 801439126 744671266 907235132 956277996 957332324 599726186 896229658 610977798 756853488 848022810 272208844 352919220 355514094 228440138 430420074 922669238 390941970 186665608 821680904 421006608 91623800 970791286 922058762 717634354 923465890 482088706 858658488 377308082 704653448 693706978 87631234 572827062 668712880 764390368 950840082 801095646 535794318 714679364 679294044 631259690 668612318 186176424 735796756 250262090 441563104 761625830 778539144 310130930 318089896 435223404 958873088 914075248 706668982 757684238 84335094 877946648 150811108 356572394 512299596 102073756 978398176 814308098 570087370 260133110 167427878 938450978 947795194 559624100 841567606 179005548 579967034 438276040 632031408 327517310 667114218 774423982 255733022 908275434 773806988 536890408 221040692 908053412 520120264 946413698 186043514 615936440 315412556 292465162 712604996 238705368 90481658 427465326 463005952 372397790 298961572 509136324 637024244 527285628 717796766 630286846 752899468 683093728 681747106 834213540 616528580 675493878 169368960 866548460 130578660 275851762 261462824 288742306 371166468 951374044 516700064 466854088 280876350 616812732 235440290 623410182 635830650 142349286 394049250 681610230 739348572 460604956 894083078 158580338 986923054 508486438 41664262 294609280 663381066 692961084 597550934 459597034 943073668 712203126 658562270 82088406 184433278 862945786 771682748 751271040 232134062 76789582 536868122 207198508 995869936 634949198 120757854 943180870 580797878 961103368 906641490 836032404 863885134 903976732 262707212 873120806 578404492 825526518 513007446 417748594 352355854 819276190 220538848 464921102 956976090 54075268 892598356 205234924 612560624 967261268 886217226 987207822 259223896 908267354 419041396 427637888 79333036 580886154 381864840 860941266 238980944 996236572 647411536 796314448 542126994 702132834 855289144 981918710 99798048 325111266 853099148 637855794 726505040 616511582 402726194 17747022 119832924 745681812 48762052 84760502 660113526 707785856 861570588 999782144 937940178 208465616 962381044 271627970 252212912 363056756 339342154 215159770 254858672 973451894 400913022 193187144 388276754 238681158 68228476 484132966 505240262 179216376 866144938 101462614 788545214 515377916 315401266 669381540 651647346 179325318 388631088 537617614 558006134 566484660 295819496 632122562 307265300 393893524 135124762 528872088 797001322 459816654 719385524 428026618 722041420 24658280 887293686 716965960 155572792 754041244 69919760 390170386 475340876 804875260 299732216 221026328 194485922 404614852 110172772 818199488 922957714 62456034 559197368 548978966 248112480 353299810 885793356 325655362 991717414 582990810 991520064 176618964 97958952 362066718 951770540 511863506 81265418 674065808 317063220 481011300 260981444 320205064 620115090 29453222 913112102 919926010 67830996 44025628 698773504 772453532 437505176 561144594 26971192 435550868 584754598 772323328 580003992 61714172 885448416 962625768 783578366 922771984 441516084 752237932 993272596 35398272 272884664 899403336 370853626 980168988 337643310 989873944 68817132 725990554 650308534 953028578 216118992 226050018 957854970 391995674 465298648 511467078 651248546 132622396 191350654 847974408 814833736 569264396 751166272 866513976 277572224 376736564 857185182 415356392 97128116 105055084 872451148 268614536 119887516 232838158 602666324 335420104 44069206 73032072 298726774 436332488 942815908 614450370 26450640 122344386 309595986 400846612 800199896 786062548 15981658 262845650 944741608 678716756 948853698 836611996 558522222 626166714 455801280 342191488 502452062 825900462 340800352 328193970 76445036 795795248 753692700 749176490 751696682 257120638 493722560 399196974 133899338 497193838 873464556 127376536 250922568 116484010 606161262 113738354 122790598 958227134 494923826 371061142 754296604 35606130 696981070 502134642 882423160 387428346 198892398 729638024 602121122 169047172 744141172 731961352 806526410 469407560 464612310 917997198 535534112 959263152 148850180 990754168 967036900 137482928 496279864 516727754 815506598 772948800 36741584 619980274 895795532 577425836 38274084 645152718 968558586 802076188 679697196 356079380 422993998 957705986 679715718 964249730 534413068 165112510 221469858 810544946 682526020 878203958 372843254 813430860 855705620 152069294 334417312 311023784 170577564 581957448 147986194 33456216 913364708 156948848 495249210 575827250 309202120 646428230 301138214 765829182 36273356 490510340 674133852 132410312 469106126 19257582 305525164 999435088 621702782 138965044 424706108 555479750 35297578 859829828 112068002 780488784 513436244 956006206 542437544 528263704 195852318 69759612 607450050 300007824 930501544 532797620 520388380 632549046 949047800 372363422 773750512 161637898 508246442 38571106 70811868 101485696 450394732 245620896 729316128 941954572 320245738 291884500 35105604 847881112 146896576 816446444 160901994 147124966 280511430 164081590 256117152 800363072 735809488 364461302 408333432 368955078 303390734 584193570 814243042 707372334 23243622 504625560 683728698 763821778 596236156 926087612 961859378 184059522 20101816 858641644 266654586 854406858 598868796 992942842 844279386 640004096 692244778 56115876 318050016 322382314 619496120 576666032 828649678 431638910 93954192 869378426 748682964 19753338 28009388 629865252 738934956 788852408 153351256 476336332 130754320 114226764 385348806 388002964 420245942 423062946 280118138 508153706 319464874 147785016 905053058 812020112 804992714 817099408 753571512 316868366 921775226 306833580 127170068 961513142 989302230 47645184 654119548 144168682 428374896 748898922 778329700 734552446 149081562 920155524 312746898 262200298 589502810 999847048 822654968 24417150 110044550 742910012 228023340 885886814 762189674 743971894 47791344 894275510 699754356 639838044 281735992 669446682 758060 604305746 717503960 302813966 446145580 732311600 920336834 77025460 519861492 337051928 757528016 678985178 833668458 445749048 368544290 653384364 9466876 641728614 322086210 507273766 804508480 916528456 990774456 355292760 411446114 616912480 646399134 732297978 812219158 649941564 785787206 749525902 396786066 716851040 596055820 706431484 389775770 632475898 953843620 190737294 347296408 900261798 796818566 291830496 453619862 489933178 394966956 6072640 604962280 772342942 141364966 633231394 255104656 114127110 521600046 354914752 581314420 641823086 480317008 301734526 780105224 235596384 66746752 323055068 444479932 240799188 646662100 15246110 995077098 807946900 11535094 975093146 784166674 259657040 879687182 411608862 542936560 824134812 506534902 910941362 656864222 691073550 162311810 253993876 38659812 679616944 939385220 519275070 179879618 476444306 150553876 966857780 516450498 429293580 953037004 371370820 374235722 609488484 100881258 229568120 190580874 917032876 831678136 403480180 903932692 185915982 591816900 36407022 439713760 82480028 654164934 263917278 563478410 654875904 144785684 105538128 985659338 652897284 273528020 540856024 12572216 569877632 767476046 87911154 777548146 195084768 722487774 518350222 919872130 954663228 982148368 964949680 26227482 472211330 564210262 670895770 25128310 345515134 37823162 175909966 872755006 264890848 511048996 8315252 611608324 914106118 410795924 512706912 965742050 730604726 822982288 218324910 742615028 741563486 237042110 751265804 742028606 401832452 110224978 433582444 109886312 430492828 643311728 775818098 907576122 236487662 395950326 548239952 884044574 152698444 541033456 172336442 704074232 726920218 520702482 45385284 18779724 239275746 350390452 34108772 31017228 73381136 72336710 452515876 163694746 404844090 797297924 60801722 570148390 423752116 789650812 483165146 578524152 506786412 304888770 235985508 205087548 562154968 152412088 76553100 903473378 974496966 310368500 137946876 329087840 715611842 85701432 22318406 622727890 243956208 724277568 236695594 925494906 330367942 57410272 303301470 743790746 968436964 287047624 365991964 583547256 234558254 592964732 740374654 616391360 696524724 200685092 960007196 836747740 769588846 416170340 901650516 948773204 83665246 940594806 664292474 644854270 736637464 275650242 144504490 301508408 58639742 139045038 834401900 975871026 382728756 518080102 823269162 531555626 198186648 998312704 991924276 611904752 3547804 380457188 39975130 410954998 430362778 830484654 983872272 340318 644124594 701045188 40438878 11136816 547736882 329059898 257358450 753124962 905828840 33482762 868852916 438756908 662290408 345323220 699471206 559277334 96267126 785920706 31502858 489605676 725744704 602828476 283057470 982087622 821361186 616310406 997535304 645408804 9899256 752482986 514485432 777822004 911047264 910548780 746511896 141161524 355277520 941290028 461337160 35790438 66461014 800339962 80247466 350352448 354584006 910437252 430818540 908882538 878527290 390871532 435483258 357127070 520205872 486647290 96494232 877640836 471476282 704837080 4764130 61962172 642390536 735594214 542918490 280025120 408171406 3131040 715107320 173797256 669137506 76723320 938491558 233139614 55016352 807055030 138052814 984916044 326301836 777435482 152724504 664732238 628845062 337189794 752921390 255042896 210366248 758214998 696537410 293077980 791772382 162768374 934957376 402296080 400572726 371744308 1592844 595301576 845812900 419957284 744446140 449284546 191547620 846647792 117066072 442497750 891130508 883358906 74321224 731380340 254560260 637560668 475699316 288942546 481870410 538895390 681419026 147200526 600133754 1686158 410268172 397830922 821232536 63283068 515635596 273710950 917295080 78978002 969830314 219207130 384975438 129550240 96713036 279331268 13858962 988188726 479594408 865322480 87130832 692485794 116161312 843423660 914884846 177502222 880652818 535543932 393421234 40938132 554505334 134346416 962211186 918709422 515549648 770792612 321718872 753871898 143875152 721197560 672317390 75855178 828670916 753291376 136457064 636855698 446471332 953032396 780017658 781179218 89914748 426445474 114046766 404283850 802948668 598131548 451558524 609984852 269963864 328431896 261308292 277138118 922781498 248528240 542766150 281269816 938285484 843752792 805873204 191066232 394457108 909257030 513626824 395298314 650751554 729377468 728296124 113068504 789897678 556232590 930900220 932132322 401427366 288607594 564626066 925362016 260934580 226691472 420002902 721493734 221837320 638911508 901596500 337221276 100072966 668167596 429578780 205089112 291717562 398900018 833154854 243778342 339948900 34052330 336736804 43316758 346477240 104637132 532417330 499383452 935169354 589132344 282312290 909823588 352292634 640829250 546682506 513227188 92041222 196044002 997568954 194418776 905570548 343990236 395167398 939777956 240407368 775421378 764864088 394315706 604353642 34009196 145531714 942262160 872431374 485278444 636672962 427378192 538137888 929846910 929802762 513831632 113027988 184975432 6364758 566303950 528384480 258813866 188286638 846219676 273845958 955249642 32470950 80315112 673897066 58054184 272424806 559015674 480653982 516266666 903173320 883963920 762777876 204009904 342330388 915454486 314844132 905420040 178625448 115808068 427921098 592515234 287283920 752666624 651494738 506105464 101682050 875995040 495821112 889805438 228546610 889598336 526332772 438689616 314134612 553864554 835334758 883370454 987034854 588327446 122614246 416181720 246913982 927230124 15934888 920828754 49274296 175084730 991056558 731017916 484138004 64540054 437374124 118847600 575314618 445252862 310369556 381365296 548094844 36752268 814718378 795428134 386704040 71172548 860784702 382709458 729337568 72849898 862945362 989815430 359402986 61437804 900744800 878579444 474235994 477066760 615373376 983473518 637108142 30972346 944419680 938056512 788836014 970908716 193634454 15454804 222357316 943765426 54235568 151805398 921860548 522830266 263930030 318777750 231657216 579204526 607038608 657597154 192476916 636283050 982354814 514577230 274057522 603338846 734524780 119492324 265251236 658974418 955333126 697533310 510947756 934110106 82301904 112097492 313889330 305060850 63779212 946526518 945288308 975421746 82589440 613036078 8383670 14723338 515304422 885288970 261303318 594920878 698834432 564568896 54241582 926815456 288505380 71315244 684486132 776227886 53058432 385009806 792878944 489324652 219541212 480471090 838135100 39359662 897005542 588262724 361929158 67260914 785775948 200331148 250598236 893338634 894109442 110789892 191698766 239498598 185108172 947129148 752403776 314350442 41150560 957208882 86665504 715972372 360157208 154613228 301872832 609637578 350009288 835323092 275748656 582806872 232129300 808955322 150874292 131624828 388752970 194392488 439310776 3630238 419450068 743691710 861284492 255739364 694088118 296852008 84754704 957515996 795358602 322052192 767847746 599547792 389946338 374055792 784009522 473508252 281955224 824549408 836683228 777244880 460240540 709470866 192981130 607791930 597585286 149033874 887664774 848466546 190115928 99764810 974728104 997161418 525689824 129220220 185288664 725718838 809792212 974768612 712547198 515685728 657970 21084566 490755568 248191152 333277812 133561384 804332194 728866684 960843668 591199748 643627180 861947986 162711466 944330876 128354950 414584924 328027038 36882668 526898440 279884772 749866944 797096402 998647962 37791428 349974626 685888432 966032498 295170878 362948548 348932702 515517476 698093348 874407298 177584540 595939330 574821100 390495880 482146882 158393310 84048544 124287236 90561488 403978550 385569124 40499798 12390314 897809504 455931754 156470618 480696388 764095692 43827260 363307368 624286634 22136014 832871638 216306288 279156082 93029902 550844458 49301048 184162608 372473436 301009016 554352590 383866730 191504824 123266936 756613254 465518048 646766032 414860568 120923718 901165570 331897320 529865194 48841118 946344108 619349108 792282294 209972342 289197192 461174696 352916416 809958508 369700102 415526100 209058130 484999810 519105518 361723382 444431252 227714606 434184072 575413152 448947538 212834556 564891786 376733938 458423720 782992836 905498894 991860870 30889650 269876996 59788804 282284654 607549006 833178876 488641510 682428566 84667652 68855072 337430540 994910096 186737290 199561798 771574846 664548530 75967540 529996624 220388966 3843654 257856958 859943494 484298804 280075320 715253932 632350016 394376988 999358744 220853198 815815980 440475456 369139104 716540030 282013426 318800798 386828256 892600394 468426440 611333746 989079930 543083778 66735850 967936592 633831536 18483824 140731008 669465196 858883828 641645534 768734128 118717764 431776166 698250256 851683210 361154590 461104914 611480094 952158092 21379790 397771768 793477226 604692120 539180482 841995610 233182160 786759336 988851484 697006428 751206860 759453214 439883078 107625952 770168624 968261978 148755596 230950888 596839294 53897380 832719316 851511808 816957162 374405738 703924028 648025012 650601850 560521684 920628236 152065304 855076486 530917344 291069266 805114234 505378806 305526312 916345574 949851874 246117538 536537202 845126194 234657464 518526934 434186430 959432306 728533074 523163926 442455252 850753504 681656828 999597930 142528740 986838430 113556404 540939752 685226694 87743968 338577366 590207526 987791016 127580478 444378246 481466504 22361278 629427074 613530124 704102238 801266990 526828048 930406528 991126868 415727308 167466278 884837738 313666716 795189126 114024382 425623386 540028462 159159986 626433284 978545220 279450478 675405498 624390494 667897206 463351688 396744298 472682438 73923008 802856098 400591036 195776660 247285818 322276486 882655702 948054806 12909256 575869964 7632380 53341802 509349372 539421552 783292744 615955068 593497244 346166466 103371688 567657522 886190096 691807392 420504682 917275760 605610756 730238102 730008318 447987422 783802924 875429842 914224162 228240640 9917264 852058090 348230470 685407738 176905992 906871744 147987240 410657162 890944222 614572154 805544646 214454334 730110396 369506588 444790086 455366380 282089474 853966808 885301320 987832696 720171734 571996732 906258186 108413174 338451468 899029010 292560182 714253798 458797150 528533236 154552886 943162662 735614712 410920072 788417184 213287732 888565286 548085082 893374472 214859644 246135988 819285852 208667486 489066398 684600302 522831584 453022040 526945722 60716890 466774878 863073850 177087718 451424890 745107944 719815408 243670720 81872776 626634832 299501064 781916674 179088696 801649254 916188188 330440540 290096218 273439664 152245556 2120476 523025884 456385098 122234838 580241330 467247084 985760054 855105772 854132244 68405056 690831632 509771354 429084458 498020588 150583140 500465950 988159696 318251842 660913820 65662634 369993760 380338352 719606642 411138592 363766934 587859196 129629760 470523274 823627100 670222030 703651784 755368486 395357950 273473106 779736414 192432702 65301578 752859818 747911394 539140234 53205590 971083864 499849832 488295034 175814824 46958052 705036460 308015296 999585464 82439376 321725030 326032344 370707140 814839678 550016852 63863236 671236318 359765778 357119134 116164816 321629654 658943044 714654752 64605808 310271772 623298162 572755792 196907710 794335532 820552716 939877952 544809684 790093548 920331254 175278274 676940834 931977718 380489694 753819228 603899044 746244184 669575036 242504304 744921172 689338686 495783014 130968002 706556010 1667530 382312668 581314444 599074680 817785908 458137506 253357244 640077370 474069150 546794580 417860392 323925992 377711414 510786598 154786864 221420034 580784602 272950174 78428560 488063316 834023066 545480066 105927538 220432810 274646002 480742624 197629040 934467938 682828340 308564890 157109148 436185672 521372064 575568240 874278490 419087864 853393992 10077668 176645522 305032250 2048002 98032808 335450360 856218264 290040084 285542690 703295338 194720828 453947108 559778970 379319346 910084694 668298040 254610052 781497278 811109400 645351232 707957028 114624658 706077746 441546890 735528408 446435714 422732204 896674654 696234312 334144356 929902200 810895710 762173482 116020852 31102276 651276766 620203216 132596598 704547642 439360466 18630530 499333644 678871054 769510254 225078476 146530484 34176998 915490966 15848374 721490298 50253220 446578626 884702472 928717664 6523268 903662382 184628760 540071380 924180282 350941612 315480612 649311012 963654350 564839648 793100104 467142692 88473392 585171374 968199664 394803360 900003154 547673824 128035032 643437770 389528688 426007168 482491484 633770938 267480160 62628520 641767942 589878926 74059924 97097478 872881962 954525246 332450820 863674636 548430276 18984318 906781928 10643492 859762854 103779590 360632740 163378030 248472254 120465194 360862422 276083188 685199424 674484638 406309934 715670516 975816846 578274990 283445764 635381518 21666752 207427586 274308218 447992552 830763132 378219560 919093554 646911654 86380166 685822724 453849372 887254586 962495178 268168366 553205368 210143482 790278226 147901598 674849614 693956070 357671236 626190944 899201200 232924986 834839186 719475548 653803110 156450094 377761748 990034590 719317974 20446202 945214554 778145326 393082406 904280572 566481710 966316562 544614256 152814394 534892432 546629418 93609824 374564418 947762632 578633030 970659570 394931624 7980566 449583478 302919112 728060046 750717584 493090284 39180240 877277710 377322058 387538214 241853574 804022396 549441240 972600008 912397968 150847204 264792358 739116416 16177878 682424692 580824308 799458542 203184554 329872216 567437480 168932332 2085866 766944504 995620890 968464228 918498770 498491948 486875566 969785470 193504024 215481794 503673228 158115910 279814268 941947122 802066508 148843644 920442192 66685504 698951998 762446304 549184680 855248534 371115404 851500306 357948664 846992032 194110866 696842288 594320080 985953260 488557146 674733110 206930036 706428792 267457880 629082794 794505406 543261752 455392396 905935692 522354128 360883978 898926528 557098736 356627618 685057186 905232182 366768680 998644014 391752480 387500512 900447602 645549400 314467630 779896400 340830394 384922594 410542024 192604154 743535320 564165210 384041500 602010038 977617470 543588262 463981342 609456580 145630080 485484308 690523396 792930134 144731322 292452490 230988854 235355686 574996632 576737392 709412648 36149212 780720038 694587510 433453370 617975828 550156558 360952156 788184320 235565070 148724908 919134982 555710184 87388164 283227690 868736216 516553686 368943642 273246538 102569024 544518076 94028202 964978262 958950166 271086802 37912770 944687392 552536144 275863738 950716910 113933614 731827472 358826340 32961442 613614638 715161392 394018394 280718196 240899838 797594278 791166268 361012572 77255922 665102740 534910602 141091754 803641908 31714322 64140798 256248820 334373660 512177840 478756464 500042498 826654290 135473530 138040108 624124258 700130230 148536470 199069034 530680982 907645674 667886522 787335760 319855650 254230716 498183414 263658694 218246042 54150620 90699240 881629368 256560420 439985098 308699410 690798702 642236958 115706590 576727782 676557606 888179314 393837254 416455538 176289302 410848536 404166780 100971984 572348576 48974908 119579552 291097782 794907788 584769172 168714054 757447488 544046186 608049940 755095688 68755602 499636166 846435172 678400262 383075776 712379558 704782506 22004832 868426746 978671392 144594912 89766272 661501370 345988156 129361078 854101662 571490912 857717192 12563078 972678742 527310372 207975964 500243984 853647012 133701098 235191722 45143456 466172514 118233736 366282768 407546998 534495128 989585446 862731426 289230556 231333710 891552980 492197870 341844730 445992204 827636758 403547850 750180748 190034836 674335564 249274798 374600588 358765792 713766542 883584596 580404930 6560158 718098746 522959380 19887436 822618430 221380992 307909602 490302480 517752798 421291228 652455264 929743508 444637384 522293968 333062434 508764062 974620554 122480128 673369082 561562106 836214610 941736984 485690090 353068174 35394766 528175426 125702320 83639982 699537074 51066920 65908592 333862892 634428402 53138322 983986308 595631496 888126670 970560152 352901416 302191400 841754380 966716438 816569602 961286554 684200872 274878034 518923180 891812018 860025990 495333290 110207902 948187632 903789862 479713012 151523484 249359726 109261136 599264336 149896084 669546538 291252882 685901832 683536744 74324184 346001308 554169246 175366328 243784356 994312020 111213634 816490840 57788688 443593436 239840556 368591098 838761782 875145298 676888566 796245872 219701574 636703366 985844450 562259740 673624812 678582634 674543944 552343152 657065824 927879352 268972950 498121966 410770126 905537878 393490252 221305160 452672468 890549988 202139002 66597778 556763440 179575692 431756598 459035958 26296556 395593826 427691882 889559730 291880682 172692034 56616092 875557038 162760912 862156148 335084078 638100658 962979578 943462480 258082558 194077232 959783982 190923656 612598902 418617586 550071032 705090936 617554436 922639308 12523020 884878744 465457696 593085254 737944828 557528804 826613104 688012140 979439730 104824100 367681568 57167764 780271892 346593986 199358974 796427518 276706822 763864380 313193946 245846486 384566306 786060330 865602456 361397800 106266100 857787518 807194842 381274234 392999224 161670366 794464068 208560054 490583820 349674766 437667988 713167952 388033286 491051224 370173192 502603510 717231034 607322768 70618612 866541116 961460126 851529568 431745518 281796288 148097004 471796226 511851708 988698528 960179956 458561814 588242110 986618850 540227532 813360106 570514136 141415500 31613834 776510684 430026456 162393646 557615792 372857578 413662634 574313112 175714580 51196782 193139006 767228362 966132038 290358974 228661090 449466570 238195802 781195000 762800256 482566430 167074070 257336774 204490946 619911358 90904988 232322628 230445872 145885984 591267828 670346160 562286276 562503828 419116652 724337340 340540626 801671602 818028990 575360008 470766818 587708236 295540126 351463482 609173526 432779042 509639238 883798888 163866484 887472440 243997838 908029152 948608208 570771702 59037490 583565652 555383746 194766376 853809340 597158510 356147364 880112120 374010672 224504132 277002316 212974186 115323406 975202296 571470104 940143026 568406720 116652188 599449336 381822256 41800124 335768052 285188278 22779650 132896944 333660454 561880418 640648238 565893862 953269952 89898806 282551492 220841010 346550528 640072118 999307908 675805372 236856306 17343374 726024216 404762142 517831342 544063434 566242938 161770210 407537676 667072180 865281216 512119944 588151792 676906438 885644322 108290778 386686656 883169992 911505478 93364050 833066208 405017068 126070522 173083444 966175890 36206796 313884282 333460660 921166076 724435380 803283890 305462434 813939886 570351804 925412578 913080746 19831610 564994624 90696940 590436044 13665310 380626296 382529896 496099594 396050366 874421420 82717912 436741874 749232352 379668428 161232606 661330216 704444586 79062286 802354034 64921634 739094600 781835148 89300124 483465922 371718356 254452456 858866748 44039338 949639880 285583846 708417514 252085254 580815996 922531788 546481590 524586724 902965952 64959016 80379742 961907806 854250616 753354170 111943488 970423758 80122292 663848692 681555580 277296436 722330358 315000602 105451302 620680090 129804804 751798176 506612002 95839754 129378780 449139396 373049732 480548160 681684224 633424770 175803274 521800926 530080390 175006974 941489018 113032702 516035416 836512142 262636238 395434490 178879152 418458842 170812730 140471764 237846216 911764676 518966720 70739408 510743876 931621250 357793208 225778828 947717768 511070632 703263616 724286478 647730904 831700092 6389032 226953392 580362758 742712050 367518470 496739254 659875380 163522478 821593524 975241530 746655512 448011824 299264118 734194202 186628314 201443298 651068222 775516640 132114616 614134612 728514144 282545310 679569680 742388138 285376630 871401352 35282552 851003766 627744144 196684088 405085804 166732316 452606612 149069038 186659956 964774580 79173134 53905044 152361184 770735372 781717322 600446690 432014656 126145262 216480670 527269106 679676460 882177628 426063338 8814918 612800406 858607154 492158404 110749550 717769064 306692442 937645532 199438376 814106856 825549794 628431496 155538128 349490544 741524404 299435496 774782424 376079560 619570472 408555354 412152336 135948254 221479006 830238724 325815080 253129206 474898914 67258024 474512794 128559874 905308642 830398492 576192924 797343296 605297016 865930848 189850094 368601424 841181238 209037280 799828016 467329386 664361348 573261306 427077552 164002786 369058178 169582030 82122832 961176610 824779480 988726350 812139468 562195988 793585252 444124182 371358736 396286722 767074940 876696232 367037594 907892930 20180342 519651740 523650084 299772058 624782524 970369022 456205056 408764486 955540178 109955580 568785716 191799150 624688072 317674496 160289792 525277426 230665102 215280124 297892836 917193250 641265658 798080296 93671626 836326046 10715564 731715442 642691794 278056736 191897924 27995494 260127362 497095878 76642480 195973094 119083304 411002754 56571546 180503482 555267290 892292634 386317588 657112 166355824 286346520 115014406 918971504 621551922 81765476 488621634 493908344 358761592 107580394 64475124 746041260 881916540 930869854 528593782 125758472 902037066 217474538 778146288 216475788 442299924 814404206 750155040 949959276 343070068 720362514 246131938 435094924 561969770 398736062 958444656 537927012 716816052 861990180 347429110 724863574 908130424 946955506 760420384 589721720 218834716 542396604 193744462 400033014 557248568 494722080 856704304 706401978 820837014 575576008 620007236 418931104 347354594 538492112 820324878 352539086 206199558 813743614 259583132 77623110 752157280 331844694 801787640 180842058 204577644 750609716 994318098 109286800 694850092 135600198 893670802 452225886 762493328 121393650 631940674 191779700 88862490 644000692 932748732 115775936 771364060 125306458 606962978 95409146 159237524 870111152 553835624 586309812 632357254 208413448 512282206 952891696 342629654 407174034 240005346 529947652 389900010 535304568 103693214 28482326 852908548 791904572 830777880 577174370 311491010 850734998 51458998 177038702 381335966 36243416 182330662 889636678 967193428 712515298 281260654 66558198 537667382 658374566 232838366 565997764 203685336 213473944 720062058 996069182 486216994 108302572 616693774 995326338 555298826 939116794 786554154 761269044 896364194 849396090 19645746 660614878 906177852 24721916 177244846 568876678 808062386 294976732 933200944 365392820 574923022 604113082 918890434 217479572 753961796 372934256 840740410 39125574 230289110 612723566 512347560 249807706 145823852 722691844 11510958 394546132 171406658 562032442 51221194 370438564 65801722 846682824 39513620 797450460 648198112 435959350 958196174 966441352 371391480 105664132 446367354 980987262 863292828 274149786 397795968 691038574 102792884 401487748 827344750 715119288 464528292 777064700 786906498 159926352 970702704 752035548 842094098 949798332 22777322 999337748 328391772 131835664 399611708 999753618 671578824 885631774 374215782 747691776 161871824 33249744 525231862 952051300 562900698 831831264 775610332 626888232 294322408 60755862 7344584 607431136 838413174 973474172 598352730 978980642 456966648 180099878 699365268 619050278 161472444 367990018 724546414 276345586 915065666 419194620 682145176 410237776 290177910 690717338 570982958 296268388 745420944 194998854 802720546 683247250 537611376 165025594 192899822 355253104 578110260 708446282 589185608 554703348 233045664 613465522 8262778 2870268 95136424 534486990 478684430 419999194 178988352 585933884 945014876 405392218 96088814 40628386 45370346 170468296 488487230 577041162 489799920 456926328 621513990 826792462 285639674 842368806 591754218 254352628 721054028 580522368 629641298 490849590 218349202 458524532 394531548 312460452 173742912 154572184 673969322 364391396 455321344 265191700 193513076 216731784 70925668 987056988 555315390 360797640 309528692 306688348 721652052 232192404 232806144 505229404 880072034 29853920 854783702 395927068 481067878 437979910 65961818 368893714 807954842 316212406 74559508 942711418 714673864 384275276 286127248 634950614 381107232 951011700 687126682 255150682 719772376 185080144 910681468 23836450 146059786 130555392 516900856 304920440 963156252 608721326 69061394 526917634 911571500 378018420 909230144 121445436 583628688 651861620 307533378 22178068 656709472 844265944 730074394 635135934 696196138 511457814 92568450 314764730 932215606 5020690 949293976 740116116 621089356 320759652 798261906 492788886 499691788 372367238 722114532 530035162 674926774 964583054 733469042 454756524 837217852 729302840 84235670 288883808 36072858 975796726 774849126 342418050 18059572 104488354 217756428 201688978 57962426 613529196 399790690 202355822 431995052 294921962 420023350 761063296 667527260 182456474 923326842 525499512 737115022 84872354 881190146 260558894 689440854 464762944 743127880 660328556 61973562 334501144 656636692 30692716 878329878 520016294 234416994 389526460 499582316 873294994 900991412 950385590 444882598 993790210 990137314 916241698 88535336 598642574 144500298 907787642 596553560 668815814 363054844 443482026 138429622 435350540 880691488 730440230 17525144 226178984 81933600 308940526 467983004 232136220 872337922 312407236 198491326 515307938 127424452 292065002 965456556 794957452 743380402 805771286 104919170 869576468 331674224 597726296 813461678 437586178 233685894 700949390 741167556 859827018 723438718 477480720 25633310 286778698 674531450 348185560 85742708 544098802 723281018 646462194 754968146 442239252 895779284 436702036 14585002 140045664 861056856 807449660 422101764 754335146 874289352 801632770 617140390 642054412 888832990 440373630 644441180 920435204 188012766 776549822 649829954 406327536 79116646 469614806 616611956 39206008 986731236 14689964 522440352 235713030 733377522 260132340 488641246 444975540 220514474 788247768 412891116 79937182 995109348 777449648 862542714 723239904 994052048 375556278 948123374 481262086 5830848 68052346 229205266 396207930 883543014 726587556 116009282 338624952 413046688 537894906 571947970 496890990 351446908 296504498 684305328 552682164 377327294 360938750 612323182 312772442 125522460 589714090 126857586 580791268 259334664 28473378 783663458 995562670 472574830 683549838 738688740 771315694 15692798 368778562 929998050 736701206 535655020 926161032 229928658 344022572 25376844 990999670 800948606 970541980 978033916 252605632 782493244 739436178 189681674 340417330 475698326 649650728 515509288 626968220 822522336 269130358 492294970 451859044 256309506 489571764 131841820 938959898 259920560 482818108 351503060 252156704 671795892 434469952 187858024 819047216 158258204 99579176 313200156 188131410 808927294 63458126 988506760 778301234 582501374 448378052 742536754 820471222 188315438 392189260 37138986 831761350 238788078 981314342 994018436 932735756 784716338 17896626 390387944 880481606 120706936 71905138 480016630 882547202 634325664 199140018 747557682 751356704 443621862 964158658 19213386 284664022 294787572 229703536 697127570 311688268 600281370 203498144 872107206 934105438 806459966 601750184 452390392 794294910 130670044 731259332 333528034 2684840 841462618 671406068 230132054 457395434 11127652 170712090 545965764 636034376 758109750 97068050 82369156 557877342 176791308 341858890 798839828 287337780 478646570 998888830 615304882 991136934 526048098 359644042 253578690 609900820 923403732 327095036 349181340 661871086 157622790 980295930 311090560 351982962 437728982 233620294 937337148 843737734 787297072 951271058 299118924 484888218 557380010 158394902 409068478 491924570 840259092 330287012 26059532 319857060 446887042 633218450 606098620 418627946 902536500 958636430 502598054 372114526 610611122 512733772 380724572 771770822 670764484 808602984 500108300 896787482 348569036 305817804 255865340 864766046 902975620 603345180 641808060 421477220 95161700 290967976 231788228 982907700 975681916 140867882 781338032 802584802 872866290 396046534 996909334 786567548 272745956 951498196 204549444 827358962 867705978 39045398 919272334 929300626 2622518 391416282 242715054 519211060 672427622 291724172 174006374 256795744 394029502 299001064 486002778 62185804 969504026 124143408 476926966 743684780 341323918 282268350 543384236 643967530 252083770 484988704 797144632 595256498 915076710 969386304 307308146 188053864 932062804 608875194 891959538 970685778 401463944 562963790 83877348 342951366 166296224 360313648 31864294 523388564 768069820 43557458 243958036 775334098 654855134 683865684 325648400 979874632 594969868 395229760 300068802 5705746 91928934 153955738 170917578 825573394 958311166 975544134 950989628 978560852 864868546 360026070 476228726 685837350 584000332 621743696 975434822 173184728 326691076 386723572 685488280 151414930 997558896 648804248 625730844 738935102 929027156 617960056 443476064 234252486 744726080 297803388 955200234 154098376 421403296 163537262 687476204 290152588 895200716 325403062 659082382 249537250 16153290 38931532 727228844 427113708 36009264 435848048 221233950 640288876 832599026 574975382 326599642 846638754 346287924 208742768 189385454 676112946 642200474 978418670 62646494 437944592 503448216 166545414 224133098 372319310 63958304 718707556 585457544 133042888 791548324 261001318 768872084 599450780 878583154 734042728 832505738 348051634 751461000 347113942 979255432 716544742 477255540 572205646 114251550 229829950 820510932 676115360 425585764 921506628 488157280 131312844 860612036 719966834 590342086 353920884 740363122 48510626 732693338 553502140 411630722 623713934 703600110 857013230 151441586 479430708 543844432 867267502 548791160 18680448 190965446 90025338 788035950 129684266 580421452 71729212 259609214 820401252 183938258 513556258 891182524 121831262 764639262 753805424 740119106 736577770 683972648 36443640 701281406 761375738 678401962 28351000 894743436 240096900 316851158 574141610 738290302 725231102 113024058 969037822 324786292 552274738 132877192 123493526 606038532 535323674 376094654 563073156 892264476 894826070 385024718 22361100 263136630 517008042 791395356 248229762 738380108 807792604 984730086 604451004 660899390 569893638 600442048 425293508 347516280 83194580 345873218 676863804 32889846 9188122 162224270 803749750 282017084 740618306 532869314 315104102 405965128 336118030 172838880 915382096 855846272 540260114 810805840 524014928 721960332 875380326 460001090 386500190 508480734 635049820 47527056 266469380 976075994 548563864 917479696 299937538 226619070 929452976 830945968 648635254 767116418 530300694 453124056 12923902 486817868 805548526 305053638 509646228 988389458 450681732 469618838 285569542 32362864 686275834 657306480 193712352 547612894 691753582 439274040 436531306 656765102 459476956 221275110 530996264 338377314 382073560 632491070 122994378 655560858 292185580 891070538 52464010 436652192 950425902 992987068 964580960 858524012 113414372 960004926 794647646 777690628 920110776 501764688 185961324 348350642 162942714 266467052 801151036 140838658 593744336 334685644 569899670 370765272 643462362 310359310 332909612 441853344 586672310 634175422 566440958 605269994 417065378 220127822 299300098 231388230 999175696 907528408 477398202 948300114 770597312 504098940 628169432 820013832 696561102 648654770 780760532 463413450 127157170 630553076 692668028 35680712 926039758 80198484 159485730 111866150 554950462 325890830 947067058 560765982 686127236 557498280 676015862 657920832 964152850 63535562 692937922 689627586 118264660 391038124 396114482 22743214 713177714 123988866 406615938 416898632 627073162 115774956 230339358 769818772 305050724 902398024 190442632 65831144 575458572 284099914 669279668 579127684 129355662 13180634 90869510 149474922 569192708 271526304 352136754 306315528 60267562 297788670 389015384 49294158 336231788 649816718 784725686 524652932 859627268 605309238 904305720 83653254 662956196 458525214 366516368 539064704 832843950 612153176 30566428 409907780 717515970 868599428 48802522 103278840 628774004 585428204 473663274 75897132 375811804 564559900 151959878 186749660 452732960 389552414 746920592 498622998 208781318 527417258 660007144 755215872 697818712 971284084 450873944 812503878 240843712 623746668 747678640 90604828 713980886 875255528 382849874 996647186 183456888 218229174 499922376 503333238 574376058 832483264 894845004 962621424 760484722 434534988 551383324 345630960 307122106 312897412 172667156 349864662 686951882 90707136 371130896 878842072 747400500 293932352 418805564 13405078 79647660 449682392 661034424 76604020 855322126 49912168 245117970 646960600 151451352 326285892 838512410 212852052 457656298 310468190 157460924 308389564 399073970 127341428 154223286 81937384 486086072 512851470 91404616 261400352 557478572 356077270 365951182 190825346 784703374 133148974 543755950 785835660 158101136 317096918 324257468 141724782 291718370 725612534 881728838 378159810 875730900 436386858 872953512 632392954 731799530 560424142 6100374 118964468 526143276 253908196 514066760 656664312 301231380 565957208 818868884 417998884 462213690 906173010 154003714 793110418 335784154 341357704 471057614 465013638 119211056 298145178 229914222 611395828 647738826 409187948 233339308 903386842 233355686 195464444 744040510 457394036 143533998 981969396 573550094 510755460 323544994 243045842 843426574 23888166 925365378 389490000 763818134 397652056 439455926 670888934 912579778 430136076 419188162 598787432 995044754 452957592 267458700 941492924 658884372 239460296 587982276 708663018 348870872 350363882 832163214 813177898 323142642 302499308 435328086 418236530 243931126 756210524 538755088 467178246 131045660 857687726 396905582 86343466 429296208 707111384 952017682 107553154 158461854 741160942 510125890 865523118 699661280 630700698 554540422 401527836 967324520 12568170 618886076 187902370 742583634 140219230 893428140 249764942 367781906 959457812 534325224 998861624 9439698 765035842 647723004 61476130 84196884 18154562 113121136 395184132 406624150 230011518 851995614 765101922 647355324 534747176 864523456 372715824 344891506 939498084 984268882 139805960 852328654 47024596 979771722 576943258 315009760 723801124 305025402 443344392 884936498 67317438 870956382 215982918 285521872 870232784 470841974 861073016 715026252 597972170 674330762 645221324 86909986 553962594 9513088 663791004 600701688 32439668 79686498 964749206 886764448 784394292 155485310 370226922 130537240 581698094 466405658 427115230 280304182 225848856 10350644 236902462 694319872 723509844 140245692 43878418 964755572 31159020 570453706 432831032 725681202 381873806 655886602 706340608 352765308 126826074 873977932 690241580 19634310 923794100 411798014 557978454 703573160 316759666 745862822 341768410 150319882 352825114 236860844 305902820 611315792 852237266 158262552 533516640 128528 800858460 12924460 317239482 843711640 470365390 384674536 365742688 649731372 478697576 351405056 674091088 914606708 283626102 65873942 376476482 896321702 998369744 957185982 144910154 416351952 99307054 975916596 623450004 142755160 874577908 937352498 660509574 69956752 295305122 943749054 178983708 191069864 960082224 697209724 407979976 181586482 810860150 929269022 589772426 837972040 269811752 709149900 236436842 607776896 38628264 194154486 277402224 328396230 40546122 917129546 476584764 518608506 35442374 559752150 395714232 357748810 670950878 39060764 431432712 430724076 485368126 395766516 33953592 537193588 118097642 77547548 594863268 762866024 357666066 872502560 828563730 192144212 859519902 682761644 808396044 353637756 667328532 823242390 129241500 978057430 661042876 432764166 648044544 139921532 299334500 546377816 329783658 254802178 378823912 970519040 690289640 237098434 693188418 698540076 593598132 428560106 888151808 464907352 764157152 705812400 432517742 601212064 423031306 582555236 29454882 185204522 1853472 204743502 546494266 871711584 858630220 285373880 569038762 294810216 905799624 721541174 386161544 623638864 410003034 106075368 319929324 923475578 42854274 323152746 29539616 99714578 221466340 479772612 668728190 343023720 358454928 466154366 817724060 380842574 713499446 586257552 551379058 154514048 852206948 338696812 753717054 423263510 328619920 444658424 590113334 31010058 364618942 424706900 892980620 799318580 117565262 669883776 678087926 68955782 310657894 923136808 554228928 635167694 412363362 950879414 55104484 471876540 289962604 691442266 380035212 182675184 75926502 834684512 766369940 459197842 231300294 712914426 440508748 489605880 183375482 534680030 944918556 554205222 363250562 699041366 922159948 544861034 25022078 861652090 817134010 264250638 83225582 778561840 567217824 686652938 486327344 487708922 726637382 486826668 308031940 384949862 607096408 813194546 348401528 233973274 171590926 422594760 323923786 639771316 896705304 823793766 743377676 913750964 940145130 374857068 289003066 762947074 76974878 443709074 515159012 256188166 247613102 21218980 454462682 48258046 132168196 649149268 496228612 281906682 81963998 377304434 864485398 560502214 112513182 171040034 193760186 279837550 482205006 166916254 573802140 39947466 677896724 502968412 435596834 7764100 944919166 880738968 64788890 790510000 316785742 265042298 432385632 265481610 799694752 2737572 943276236 483350002 154930734 900934192 645682072 263016156 494671628 905805336 489795762 248260094 115425524 804002496 558844456 258232656 119272372 5698556 216974548 407979592 494420338 309881128 971583192 212124680 910545870 571208766 524053906 718871606 893660380 491219360 586884272 928053400 362038816 442749148 594158558 859357998 325803060 955755422 51634194 50071366 402338918 279823748 546432698 307665288 360097234 929226666 684516652 386911662 420864214 307793838 811164642 339578442 909067494 166431990 327988774 315590526 197706118 444691430 106265126 689174410 411266964 819145220 853016642 863110916 409988022 394952444 377858840 567791418 601530870 285797822 910327434 301795098 93166710 913023150 668787756 452882854 459395188 755553076 301375958 612577662 136512948 725423118 736397482 569843200 92075948 870473522 301960044 638952602 26215328 136172310 159761534 639207746 803176874 233873718 781263022 821054810 838535548 185613314 428061598 475879358 88592554 951811288 316766814 740270300 647913042 616535724 799408774 868313322 709266114 404847298 609103326 555006824 245824514 235671936 796448254 800759756 448851734 930768220 686998928 643203084 130997398 480090352 160795574 737800726 922718646 260120796 558440042 288636124 23572640 807266928 279752972 283509186 801264790 689620900 619200098 45204606 901934578 250832096 635477472 225388374 489095428 741186464 810164656 885488688 38404540 386107122 46434636 706652052 791579566 518518472 312593586 13430316 663589366 202908950 148290946 23336294 799439262 733008216 810249612 401566302 47357670 829556560 64218768 40782592 514238068 241583836 372585310 664969428 172395358 166874940 803232700 497610102 104759166 504820792 571299832 277501840 539969150 570927334 628920320 540130740 21730330 330899226 378196840 731837876 574144808 505666984 704041346 972145104 773024394 648157972 769941086 365346438 198404324 771183978 596116690 614838588 911089838 805202646 388118086 193008636 279281740 838330886 576324594 369848208 930211494 812290770 294266656 986775224 829019908 583626598 623259180 435631538 402638568 294827878 398755648 337050114 508479854 8497654 77786046 926481252 383468668 64342954 63296308 207665906 578440896 837431622 756990194 676448470 44398504 154043862 660217990 494841752 408706040 142512750 394506326 662971708 51009590 838642916 31169626 444590084 406075056 176032658 425765108 48710906 103821172 13878918 851975744 617734922 641822364 44009822 889250198 156071566 884392164 565267766 447568530 100942396 209796946 33341674 536472402 978323016 466652704 529179718 907701272 99942540 175601858 564962158 417588972 975706990 896962586 65599000 737639980 565964710 709871512 196446486 15674172 378950272 109357744 950010044 948440542 225095092 968359442 463618004 117125544 817052412 317538576 589848682 280503380 215103712 444929516 543864488 667747930 453685844 747244868 703227186 682417146 591701454 35281938 421418258 844606190 657523768 561359002 647807682 719125558 362614224 363606476 490855172 8339112 222829878 692224500 8665672 954578296 397160208 731473848 340718368 746325104 213046060 881079508 310612464 794426764 16282054 52057980 445618858 261056124 384696174 750486658 722589610 423547020 113376568 400919108 386697808 608051906 663125404 683469706 259594940 6476552 485790168 5009556 760235122 414930828 902531702 520107752 944146566 841885334 593029804 257357804 522976786 171487930 376795162 945139100 343372586 979789884 641639588 30296988 453331490 627668666 685350066 354223526 131707100 478962822 604667996 883881490 214591154 385998188 323713858 438706008 7375970 719145340 36673380 372372988 523416356 112250898 3795096 611881928 140052522 191181246 555151886 457328174 368267914 493141936 324686502 270898246 772734206 455744376 704323366 524068680 133669986 689749250 423089016 960411026 147115358 716113836 496184608 84822028 900451282 434521768 620191974 903850716 484849974 445230910 273612872 720099732 838290830 108693704 856959648 564318766 398236192 872501218 436721510 242728310 509595528 645144180 256895234 177413254 341820590 757200080 609317372 11350032 266046638 642025866 726492812 555903946 270009670 850431814 568716144 928114966 45810004 784149800 357941204 503149918 705069924 845615376 595835316 102166792 310545054 507798298 884413268 719103662 337755512 729895602 743647554 792588390 955228688 324552644 553137316 390241110 484330674 227152000 557924502 24839874 637155510 767257200 359579796 295111350 442739852 273579492 419868444 882668634 323825880 565441798 227391600 608198868 997519912 586992030 546676982 649484464 538803912 357592544 123315448 450612340 791326040 404240468 352066864 240403830 873279934 151829576 619627922 28118192 214084534 62801366 330563572 535545392 535777142 76153114 535398416 346059468 474952400 173411322 500840076 612326020 108953610 881137918 345090590 324114360 458040776 7069354 345547438 954326768 167137638 940536390 301168766 438623710 598868840 114232416 276994438 246748440 915484996 133768326 902397750 377412794 854222082 23554712 776073340 90567154 93475908 721422240 321198804 416167186 423728994 397079026 460067936 650517268 367927262 210643008 974192386 894081468 479616404 144378250 270557768 393559016 106562082 272358094 979145888 15070072 971199750 53663828 953380744 960023354 370165990 84561966 280411718 538723270 472908802 715987694 274357502 551965378 259454902 607023346 541937714 813035168 182033988 738027064 925961932 634042270 631604230 510006362 251948588 321126632 17971476 315614180 208048162 949614798 377007338 497110056 94606032 660393516 338362872 701284804 550338238 773398068 245074448 878191794 916579926 249292810 259348616 446856350 234335282 918580868 520649578 918336754 848047390 845137738 876416790 989707926 221029550 357119418 96486790 110145136 443252616 985296684 115805166 912883522 41768750 68872578 795762984 780600516 648488264 486391024 671639466 674012094 357895184 849012768 132694818 619641942 45471824 378897438 106595770 310627814 694775272 992822536 470975902 179016036 897098944 40729424 665997706 302562396 418581056 636783208 785081830 500860000 773242902 4566654 955756588 319032352 15985354 324515240 966552856 993109072 989056652 776345198 542419770 477525544 535133320 348687684 826142534 723971270 19666312 721007768 417290946 689305760 477977510 994043950 654413640 658169770 13870530 881794076 905515458 113235176 10985758 581659232 726324542 825545770 612956476 856477440 764034774 160826480 477846142 867205998 924205942 953326284 218457232 242131842 474880994 471455402 538622066 467063966 730627790 953527062 709152322 368365238 298159548 513277720 593174208 692275830 703947338 291118368 970591894 294827978 770996440 215989436 358878720 615479194 868178082 801301950 923618554 425173486 150459870 831778724 299460914 866398360 423912130 633112974 24717370 358000284 143047992 510094346 377400768 710275298 573454904 1767544 102756504 727787410 122717148 127431572 923266882 949523834 38127400 146133302 614249490 595327284 41312010 659159366 30347700 754502476 177061188 897679260 251686404 129885042 314951970 738776348 355214552 184655564 939078916 405898490 44528412 91449266 559071956 219360972 319571340 174754864 396774124 359252928 959491766 812070262 582849542 839078602 454910476 515514416 223654622 643280930 76554262 947902012 888247010 807918142 335907786 251634886 436375510 430106788 769626124 401689056 624321108 397279050 989714602 823419216 507758704 657046728 171107312 952025490 99068440 659263614 509383642 935791384 35020124 338202446 993366972 812548952 628820530 880849196 72457006 343255104 961110982 185561026 458126314 920355952 252450358 815195174 531593450 838993182 203015004 67707834 641435498 831649294 246385372 81459166 334893352 798949752 199544428 10502614 81378562 730846076 441542046 901044814 669369462 964232958 498071364 280659930 746285066 844255906 681063336 195364672 834491922 573296134 145269248 11459550 918150952 283881234 74238048 316059060 182710548 25119880 880447700 20828360 923137972 432850978 44818936 757094344 848524148 746212480 122208214 601171472 677836748 988037652 9842444 556228156 388358572 350643790 911445622 227771078 693950672 209383306 166675608 674197446 813646066 454695278 473521422 368059532 619428650 468265094 461099364 725318214 125991664 903636620 909879938 722169446 320807018 966045424 125408296 907118306 740623952 33660786 726291684 847725782 159210850 401851258 930246904 794497234 922485864 551077368 219611372 878095016 403750004 465228606 465573700 436282238 237037148 517795262 538951440 422567364 620597968 357625790 846421148 249961906 651114196 612764322 518456724 584592504 203038490 846404908 252944080 457960898 312442604 950504180 754865050 920323696 982276616 982130930 248678808 712531116 926035862 271152600 387048592 355170772 250250904 27153706 508639106 906664834 857042770 155107998 454233548 610834258 46923042 599097150 264200526 879714082 6922020 457262744 636455440 715014792 65033426 258628966 224160680 403477832 516866290 453106498 159803818 162323926 68615728 886373568 678251840 104123256 254814566 742496090 502978972 850448686 68916080 758574218 715226164 498426094 330584672 336064358 468842712 733210402 741579808 5479052 56023396 910506908 856914066 642505074 33799812 858636468 501483988 390674620 482061152 959122226 536249562 900508158 516398882 900178814 103830876 446775684 885973290 870697336 911720194 52324650 120615554 410514720 965704432 218638860 99663084 915074260 559232640 545272140 647738612 526709976 651169730 307334360 536184706 29135892 191072740 34314388 897173008 503243664 227827804 53029384 241096802 973242054 939306016 254664100 279713832 713855152 417913502 469021342 940107298 966836744 457613536 180460880 828837888 650006676 142006940 581288056 531547106 994774294 97063886 821563314 278037724 331142084 264373738 395428038 727242106 573774172 915353406 781059828 937956468 430934018 336021726 692985832 412684324 215252594 866438810 566112036 411827330 832203220 150457956 223887956 76928326 611273360 92983566 309257836 172729732 736271600 111948672 106576874 442920678 990988404 639967080 637278464 951210088 310183894 183887784 552874278 573390448 998023936 180130822 119945322 164682138 664302332 866144352 757778716 226218698 729470368 397169678 410959168 811507026 743458182 380883246 254972770 922346874 405733624 125697354 521117968 964388902 394129594 327797624 346809384 132340948 78718722 915645876 253278120 757119108 97853736 32021748 371184178 746000220 418506438 616502796 542588124 587458512 152167032 248591640 925679742 801404508 399934024 487709382 383103054 985226272 107881046 750164832 313419074 600837542 629017356 46113096 513440576 119791020 958422068 722148134 740851236 27133508 641700458 728000516 323672750 773919002 589861008 169741138 67596854 620243282 984812120 840147174 108152118 589004066 503123530 698174878 126960136 582847004 525787860 755004736 641102742 97441758 504354936 299208776 503045396 680416308 476739520 565106756 763669642 103600274 474970806 674920332 379529512 792122766 693460602 790251792 805911682 288575800 186566500 803887008 377281360 431723154 905046866 459794048 27638322 670753674 975639574 101238738 292841272 239358788 870340802 651057846 123751242 946563050 862975872 279099318 748126750 5504112 940884986 735053414 7492508 95102492 146211652 893530190 847705368 249711126 429564260 713953094 751934924 424953640 678433582 914662040 265263276 399622952 734786056 795808956 814712850 179171822 341421612 506538438 27459332 170629632 100939010 841366396 90394020 699266142 371276470 379880588 265499194 392050142 169862058 749011166 548315952 987509550 179621672 875722276 443513618 21664394 846106470 884378706 610763580 807164220 960705354 972442912 838284456 508711264 279631166 713254552 54325314 826121508 257000376 453092294 361274592 603966262 329086298 335468552 396058958 280987034 832644000 534251566 141641558 326394482 21665798 287439972 53522926 49725760 459090362 743287588 158624202 45678190 272300702 109455256 640255406 409202696 383706844 231557422 418832760 316525992 864505984 129935474 307870660 498267482 532703980 379478876 184193338 272184834 944912214 80109486 356072314 375872410 98775796 295547890 399173268 140441592 57640510 93742014 421120168 943216148 463915536 237951332 697954718 673097046 804642780 194385082 25367354 150406288 513390434 273780256 300978332 189219952 565282534 818790888 923487960 926645248 953895328 160717868 46939408 918051398 725475270 116267480 630781118 386966068 160366198 373705720 109085084 524685060 731445972 518413640 257936878 559183414 626304398 175694474 28114700 137518562 819841562 22978846 652014238 198929920 348221100 141898744 583466634 988432962 405414592 560659588 177971050 691403456 354606064 795725664 548307800 579672864 919085022 976981314 803093402 763134948 676341152 704145272 461695562 415721410 926886228 741399900 487501014 719472124 434697314 615958136 892367516 507500290 220467060 200169724 233977886 393888222 634215466 4104316 971423028 403332708 94408198 326068818 968849506 299073588 511436668 411141186 358085830 60080458 489700196 184456962 153316180 479205384 316493142 771102392 345826764 732918396 653136470 489563092 668026590 737681174 797821484 862125414 892129698 879099452 368687032 227447304 325608528 235544964 386779874 320321314 374790980 771487740 40127302 421446750 304713268 768600390 962564538 453532094 821126936 646531814 413883050 882549790 526449304 340553384 293080474 963587820 172000656 989864354 642129280 228368190 578538166 731754414 529504960 187313362 197271970 168368440 900097932 603983384 990706294 403650312 800142700 923216474 278219442 686972816 91722920 76518042 506232144 598727148 666989266 357327932 149400528 44945448 580928982 215069536 444426148 498681846 676981008 675075214 828917136 666839404 304646820 899009222 569621222 623733648 741305472 931634002 278620678 529632028 47869044 815644020 231840638 778299382 622086284 960884174 459812808 558282646 532280954 568764526 676822592 209597846 393817476 99129484 622553006 375851256 638075132 13632070 287277602 18770102 137735836 973330554 756504464 455973728 807757248 717593212 671590418 167367478 693615492 155907578 752259746 97926682 914601064 159466928 117259446 17826964 260812344 815550562 36720848 593739568 509975154 266754450 574597918 208229474 361850262 475234356 838931144 924497104 706302102 4741694 786862988 463141944 444030866 822505874 99830378 166773844 873373432 723750750 600971454 875201598 387818128 130841102 962831990 253348266 555533548 456609048 342115440 316122874 692728934 978367992 23677260 444591272 754650468 530959598 30343386 235720918 264670934 35342616 243118484 434886362 238918546 245111020 264913636 299187758 878859098 656773408 957563076 219040926 359856056 989614582 530682696 526821782 485283012 410037526 374001350 508503534 822774214 12918824 361927912 754789178 231329250 228984430 165957330 760695232 564053602 711216248 679183620 392936634 940901564 827027336 997562418 599019182 493790722 978235328 898932296 17397600 632795694 646193662 709198962 543938416 286309838 697297320 734997840 168022926 384344252 194090692 41869766 636762964 97414526 414973808 372521070 569394094 426331988 913850650 363915570 991733864 208640166 286385030 310666898 465017870 342411176 92691452 170030008 908101582 203411312 846068900 815224558 530636736 477931570 700072804 331414456 239215696 521977118 428866090 732258010 393314512 656568234 267499592 128429080 722017578 522072582 85046192 627813656 775599708 619927872 263978504 61020950 552491404 707266914 493426868 378882938 599014308 222136162 531894138 717213434 213865488 128125038 686041898 631446662 413074450 169795046 664939890 78479544 316887656 266467758 204233820 616548216 351642274 244627256 40559844 778490686 484364888 958746218 59576526 669611304 685269900 663686106 342084812 192532260 865005756 594102030 809237406 505892738 556970436 290804262 763068922 880630196 968091386 634190138 69712064 222661538 564512758 90616312 369584632 614281742 535962898 322534720 530197174 994059040 601264388 688029002 913907210 100082376 516287542 318135102 320495700 11687212 245522322 812787522 483339286 307896208 127155964 702963936 586275560 209250544 492430346 948529332 426222622 459398266 740154050 442343134 273098208 921712084 622631818 679824252 996351230 892266696 772820990 3933242 571744842 661083102 953167792 44341774 401405140 934171480 294469130 431725890 808353484 887430344 559294976 344057892 761874308 267474814 286923216 543824026 181212108 692509402 659457800 408772252 762871232 546216860 695387924 73953338 234043876 35423190 41842712 855761302 788189518 879761446 9964122 585700938 264840842 946567418 126417326 764416030 29837292 315111902 306672352 172669960 185457710 95647518 283371726 961233564 94130142 516237560 255900734 898629682 147729790 809491922 603665064 616357516 856927716 743262044 693920884 360744882 551125986 569112726 306005768 836587812 130779076 663652546 344291214 368040442 924279388 475293860 753877386 477514748 82398790 448811620 890238222 999383192 763818818 434925390 695109132 673860074 183320944 835274404 295984868 373217584 395841018 769611848 274745762 608182930 988900376 595308638 198762862 281358770 386232880 832706958 774722496 412796810 726525342 698847058 342140646 235899980 29492852 411558346 300520300 77073288 55560294 903397134 238068548 262261590 469910056 538692010 901946178 796951036 859528760 586912770 215321096 602729158 125916642 933016132 353598580 990501706 573921770 568877024 894589410 95866550 930417924 980923672 360904908 713332750 69185246 631020392 87150784 435780266 87032482 25502152 176938454 297385376 448427546 52231970 921744960 624875332 710960618 833132618 530828794 158956084 699872080 685686204 555468068 36084768 658934332 737456110 847004266 740366660 845016402 287921950 308170662 774631664 863649106 156630528 497963118 868513824 751864218 464081226 739017660 104645978 957764776 454063014 920611896 200781810 250274564 242829316 186681118 6487330 386168066 212623738 944272182 941208384 872766510 878308394 975859392 665536894 978005840 127138516 967732964 253189072 183631156 877176432 392297844 705193854 814110016 875546204 56217444 688288830 857967868 163463706 921436134 767990276 686589150 672913160 149209114 541684128 32762042 803323952 418362150 189669100 993928172 113772818 872905780 379047990 740529440 210475150 662517276 60998338 208117466 964418702 343001572 549789610 421412746 37629192 39005730 373078478 273883126 296776332 353860330 581879312 776043588 720531292 333549204 4841154 377888518 237752596 632554130 481614806 507455342 301298256 878231366 754172738 116815668 344240352 265244536 92914762 708099380 769595450 938251826 948301328 367611690 743633454 655738334 341521090 394381708 203446712 452376882 814638986 578200590 510735440 812503158 856640152 801270544 481898456 521473350 299011784 29705622 852734336 510980488 278132332 8450468 664326474 163377102 539534628 642886402 341107394 156982654 940765766 551670114 635831532 985244842 945438722 766931594 612386646 127010718 833806616 409109140 176716172 78966034 345828504 235651578 787931082 562531456 791047268 792183870 404444272 878061464 964972152 29797336 859809728 819044136 96036638 69549862 33193996 477568404 737064802 641065658 861508836 66925146 903661860 760565450 55137124 895983604 377571906 58773444 848633260 332700564 144448164 224519974 904971234 677745486 789304774 5722278 555693552 925335076 576226928 123256524 604089752 61242356 174509964 61889748 328613518 186605478 869620806 630823926 373503072 606119842 924821398 856420824 368178492 76819900 651109336 642229810 85344684 470017388 646980926 965316468 298583076 203787812 177149510 86252518 892291418 691263980 979558190 323688458 984362694 244400946 547060872 604582722 283836076 925892834 323336782 915602608 39548518 434621020 888138974 290905424 853029830 105931132 36610370 578997072 568788308 849986910 420093890 412155018 201020844 357482528 208283782 91626690 220075712 158405814 803076032 346358596 443772844 596428420 252975990 358497642 319297416 128700492 921510656 991631340 138113672 600002684 564593520 142850388 808325506 482575842 462718886 94839010 275825466 453668542 313869892 648028602 373864182 292438396 201025990 381960908 242412516 697741510 164124066 861331050 161218830 876387540 714719812 644769246 6642802 354564862 304062136 382292114 842270848 485403394 299453890 668180556 170936034 192903178 874691668 784092764 80734312 494623428 900143398 560638134 455114600 753076440 717498568 813929720 262808560 363063644 972054630 586565060 331494566 113707936 27757972 494420542 617341350 758296266 473458496 403911246 807232012 961727286 682054132 76635090 609086594 548538796 380256766 625110160 744969010 827657696 157095556 198052288 838471742 47883410 9551654 335227612 436858148 993043114 320474326 128725716 619118574 969403956 606270332 356389106 160996516 434159576 492058538 524212380 47820486 144894184 688301806 545321802 259980042 471129328 271934546 561953124 417526508 174668278 941660486 327664088 678427004 46431404 659255436 318925946 22690022 436698824 455616866 920819544 517371882 930322880 408490368 641301182 719106332 747168394 768616180 838831940 59650326 595472062 865127290 678373924 201871668 265140590 701347278 606962764 380763990 944871854 539099844 916394576 178675892 226826844 103514072 60533778 993377342 772897050 751508344 174326648 214087206 441609002 475785826 576521996 206024034 42649086 593831722 61801412 431314138 359521492 59839638 283400288 568292840 326980942 370259564 339005290 670524586 491101484 770985426 475305244 575300182 715217440 475222922 775548788 58187874 644458398 133344172 441934862 348529154 930236930 695103048 890546818 639837614 482312756 612852954 322873350 275616916 534445858 424949722 62285242 816921182 691123048 174268856 591757078 704640628 8941046 386217002 546652924 460173180 369037762 340737472 871028830 199579018 470318874 996309956 318249500 994714760 704367068 473339094 301745596 822394770 408007368 609616696 600907444 79419768 700511398 833618640 710033990 139608568 324798142 338033222 259184506 280904556 927960200 999990140 587382074 456302406 456177744 198938654 567598730 937053170 328154554 36038672 497724212 71618244 958322082 108018580 539902602 516291008 597497266 819889126 482659268 775801836 892772936 102790926 678853116 82085140 366913876 642953528 877106282 665745604 439383078 106371710 390967244 91449864 176922532 158114522 210340476 920470260 307007396 581894072 685241358 574108660 411508450 529563282 312866156 167992682 513829156 529452250 130499096 250117990 351898382 82679726 71508460 769055636 585116940 591134342 648665788 890249980 825890944 899597976 945117890 792127590 776890440 903904894 280939292 191031630 115910914 899240214 960260148 590581670 967099988 619873160 918679406 513979430 451701784 112472562 366833894 909849982 488030746 343300472 611847964 116249294 799912388 648559708 349617556 841069198 690195046 504223312 221126726 358877066 959943802 807820650 490865798 487946052 790123718 206331600 188224104 694072140 225099016 137968580 34220664 51088302 695540714 169568 662798626 532687746 361055378 7297592 103043208 109294372 191787102 400135058 235830916 642036356 722688140 37775594 526199736 637063962 334272812 81166696 572615252 768983094 811570838 983071990 883020062 218254780 950145616 477357018 597247742 92617296 274736828 229054836 72005448 691747308 710997940 676159160 915793678 580873856 324866696 719731640 729437912 430812964 716168012 455466350 255052230 123050682 135427026 869752754 840003556 733568170 996305798 121066930 23396980 558504638 87322672 92550936 543335544 314503480 444943028 12922044 191416376 747442832 499532590 32593124 835963172 40286998 41036002 805297606 438621208 532756542 534411046 114764202 924228674 712867874 728427698 324185478 790424388 619471414 512893332 357024442 479131756 299172584 481356672 391171162 248831706 877034228 121843452 811557912 957874252 981280454 908625736 274264712 366536798 302174568 682943538 966231688 964906488 994553968 69017680 945753878 164755520 560333892 284004496 209207848 69779608 65125438 283898188 736784242 913302142 665261794 261081744 483645228 685052552 437092760 733665546 572671472 823660722 525130672 390572478 174307930 725584794 901501068 653146430 918571348 684544108 233368132 759187112 550992084 430329852 201047098 159773432 411025836 857568920 654512382 776083818 471475832 326148134 608760276 556167312 671301894 267402036 836927450 295913514 82502010 284104852 865582606 981289724 458317686 630647822 515607738 693241144 846247648 883394844 242879682 630060266 496235114 957199004 567488082 739414286 559679600 358199086 328745042 660343598 291163182 807163136 247067702 413608552 557229392 805998086 909577212 100717866 549625614 795656684 298293576 595900032 632237232 414207220 600577252 592948400 573336182 385208764 483977372 637999398 349784874 50985860 673454260 839749416 937440836 862120800 871722150 870892312 736019056 634369324 776709552 841611730 995898820 262012146 282122012 986631184 14762058 181194598 586408368 782538712 944645656 162607252 171830096 688831670 268763006 611440676 155472472 628269120 658608428 640539492 125238706 651596076 873848588 532241984 352588374 902775074 435845392 300455220 170487410 120349588 500236800 860375496 572704628 135795590 618046378 171661880 469719778 368211998 62327352 120676434 494381052 243478902 335237386 27417996 322271602 862266786 279325456 775600414 704401692 32619116 144483644 884616344 288357166 867018154 925153752 607130910 926837972 508688428 95373906 352988014 339757288 979972574 148246666 734622764 877084838 724894644 590661432 561493498 465095480 703353934 468933658 695429874 131693852 178856694 668988162 332267818 642758544 871770176 888281324 802938860 722749912 862470376 78879758 422334612 397583574 907933554 144313960 907123302 588844220 125571506 254634644 644365376 440185758 356357414 259144960 848549566 710191832 298130886 806866890 25569080 476945284 91541488 132144870 6970804 883952006 692835296 106438856 349627298 217853428 868514248 477191820 630619498 788327582 421257446 105846688 593404432 323289690 565792068 516371720 665393268 367141814 867560106 756412896 946021730 78671278 176979776 782418056 534763028 642664496 684170664 167713742 245823136 170630298 394185328 555362468 427919284 564944418 717408636 116281836 580242690 769309450 982433868 618359262 7648768 380001938 491295102 897833996 698263698 239833892 16085358 487092098 493656610 81990772 13774910 971904882 99665646 570258312 272593852 425779526 465768898 452850670 641328580 460485786 430122690 230579920 140804746 816033722 943405906 62397836 150956902 307464352 346573234 93641154 230169702 752948578 341896790 273264134 912464624 682508394 636779876 866875692 151179366 246155694 62094522 621808772 114687124 370392626 611561042 867884114 361004540 481512448 673329590 154519998 189608342 853868742 132223716 732534028 884726510 689747950 259739420 566977686 513981082 346882022 179742646 889383288 43437432 972575982 935880266 939535738 807578856 1996746 979175098 730754204 459171620 512288982 628431788 427870064 995871668 523820002 224921254 335966642 925007776 477265790 756786598 343083396 712098902 921267166 362855838 70143420 111632010 563659106 532032688 108741794 892319386 594049098 156299056 82683094 282083674 627445678 531508274 406586860 102094944 371026614 19252020 24312402 235827954 454354170 553461186 840722612 800627434 42758666 21034822 107780602 73173072 789764428 924170320 830804412 835269546 372722334 672638006 155989350 437138692 372066252 687596582 202759202 981195368 845475350 263414706 994639756 490578648 243449460 826117546 778738320 795347698 814619662 49033904 865910898 469992424 766233186 827756986 775496742 322799774 600641950 701905898 43373262 731653970 96078462 612952560 87119986 85443602 918017794 805135572 289210448 291703644 156650318 927828424 275679468 394725378 552718332 189485620 699659760 516476616 45119448 982361252 504980492 526130640 416931710 451576894 931420742 250863176 63779788 938291224 439342748 417785778 861084208 647605718 854379610 717602886 379834740 40094908 974818892 84473678 546851484 137149686 862782898 135768924 537203574 20936760 818196078 766846278 562301608 695883910 173138500 775555130 85359974 571873550 760986630 901392856 749061716 536969556 721883744 47997828 790574870 912419106 6468788 824324276 947037146 960070252 897538882 11977634 568908018 535141540 192727240 482863802 175121056 965483314 301716094 100890786 890376162 130221220 614182642 453324396 516000936 940612488 402055568 249671748 171913088 429426864 274403242 399222752 617418900 832578252 432254078 892851810 351919344 439121162 583338538 711595984 475899620 772399648 295051064 330883520 379327146 825214424 83965646 440426438 36490452 589856924 649437126 428528582 278433210 931970682 757061422 562698434 612514290 909030900 843848626 433845224 209722738 664487286 847146216 63835958 72819756 502428680 366164752 895532552 191812072 605941860 464997154 485543570 918789534 286103276 515461120 400744584 499126488 567633160 431820548 337855010 184246978 560088054 549760780 567107678 722686586 761217256 449216294 136244662 641456994 908732684 684114830 652170290 337938600 686594508 706880426 776944070 989726480 683319538 861548770 818839314 433203400 427932454 854602804 618859632 811064230 238516576 719753030 445971722 695211356 283818318 233144382 610566752 549610630 533269484 493777366 705493586 393117316 142064514 384652332 185472438 843904902 800744146 444684798 163016256 610266912 598407440 356291220 584357586 770975124 702583052 854605726 176305418 707213034 78328958 135222556 376310708 462684232 384968534 912510772 538890580 157420812 460094110 208661138 734245744 890607550 588839660 707137486 135108078 545914656 841434138 811368012 973056504 485683982 926218902 697257732 391267818 2161278 637702162 115173762 537631384 843340028 179543818 619001112 610898934 120358944 768002906 71508068 460397368 32638748 560591798 509561962 925104346 212891582 847882756 839909734 192686694 767289332 623003808 401398516 377796584 191638674 660259456 817819548 936260182 202735534 291768362 855803270 605894400 837131576 945625902 805305242 439379620 973948396 646792092 937331418 45756562 381862242 471972662 178270654 201529224 607694444 925741352 653538126 415102022 268702054 20440858 741360748 741496372 699050844 896365228 988284736 554496932 65522394 287705018 502499606 603670570 197103458 949996000 330931102 93217432 260879740 710024032 454839560 869249102 617228574 671300484 655995570 571822866 163377590 221284250 145800554 879387558 897424656 496843560 29278408 257875440 710564062 37250852 743228074 507844382 621993676 844964418 210138134 302568402 365619172 664730848 25746816 12361086 648096360 910857332 447376420 674268296 204851600 785077880 410808786 999218966 171767130 263064958 850107402 429455458 145302032 649382708 278426780 239491766 87220650 909670692 365811664 168330450 698360726 829534734 991709098 236600708 989364408 728877480 310404182 521762790 844000544 279046536 926430640 839352920 818361436 785153418 618027390 641306846 862737372 303670652 232033652 885211198 103613602 195748584 718447698 369832554 444396220 505542528 606550182 562614000 938927560 213149214 411971544 549901842 18969954 470050062 457331684 76216328 761973086 598694756 552396230 311211312 2931242 498006376 445637444 948006650 914698386 689338232 147338270 935098748 903877526 750864968 203043834 196622388 354431632 73147984 636398282 351576370 102921714 179487200 384176846 139665230 47368444 998925360 109309278 197083118 890448832 286727110 221616174 355821868 664071010 54003664 38689432 515868588 728039380 637825932 176612588 976001310 9805430 444089744 287139064 498051988 291937806 96218598 476842436 514486862 927560750 724593746 215293354 307767420 779805394 765167842 49657076 395895512 754558374 995646362 118056916 448056618 975068526 985358726 825210998 210896830 441500316 962107264 583070946 312407706 697123780 175581494 877414000 85440984 874518066 347210326 74905694 125102816 939049604 693945390 303844520 144682404 188961000 569503878 719550668 665063380 936917886 844154070 271473016 988477708 772519542 448380042 760114706 724917966 492596946 609849472 523885566 713554060 341215322 707568570 970668376 466494494 699454018 952427564 434724430 77023098 92800284 701267164 236181622 310007650 351168398 11718240 959915322 705263090 191825482 8325558 386888162 351650098 551989786 966030636 492359648 66802652 178491430 642911236 630198314 78807704 759565318 998162714 220047870 954142674 847388330 496405054 555929454 322195356 731291538 995188756 687245526 429898660 108709552 830064804 391233024 922912420 571967746 754473570 904740048 946217622 315511620 715009834 20865686 860426766 39836870 210238692 133209812 374521508 906422878 317924464 701131512 543713886 61614172 119872090 582642496 136675504 272909364 390906714 412866050 975577590 139779146 932209578 58346812 38538242 707679084 810000532 567062872 626921250 512233626 152479794 422786358 315050354 919223036 751304974 879284440 18114190 177908612 221550006 285811376 748683694 246348956 796798848 680951496 650934620 865784524 34181310 99563918 438882406 116095686 162084816 720401582 553870862 584461204 420350856 706435134 658198924 771635242 466879082 178328592 487774940 542666578 935941692 762016306 965055424 715303674 357158442 941847318 953754710 661222350 600685588 230622400 623198058 125344688 560002158 205479506 980313764 72260160 341547984 245516774 177622516 68809540 587449186 24593406 586500616 510242446 532264376 385435118 657260232 422877104 714766514 124832094 456216548 496884614 770175028 408557786 737515792 712673300 657309524 882232282 810940926 587177296 380524410 675668558 690276122 150968240 269095252 930372928 345634134 834157298 146162076 321796864 813949744 403836780 305821672 935172444 573419252 742617122 650334262 9682658 445127190 235127536 919095972 44313984 424686250 115025248 662028118 657233654 354305232 879291340 330795644 276195252 681458574 848183366 603143856 329103936 26590956 155173894 819760268 589695022 23649690 368532380 128173432 242661190 539330956 711128066 906669042 497650018 69063810 528810624 781872860 95693398 220107580 35238228 522597298 188394000 635514188 515787330 809580468 18140144 996574598 206488074 41480512 683527904 812764616 598911308 302873032 186070694 143034002 566824550 628764308 594811584 866816050 205894966 937987446 541602208 642814590 723818026 728036890 948830998 676222436 564825822 628472678 491455532 592654172 18045512 134432274 798354864 502960530 581059552 530608154 205887948 326131178 160890126 975653460 823397478 640503302 629263692 12764480 29181106 323506236 457677430 524682278 353825964 881320600 235870336 246740782 954002886 336091594 639942406 26878604 900404840 177954352 876373306 611448636 886089120 8360562 585026378 739506240 73090078 310578000 373176664 24420550 807045912 465543764 279128814 44726148 791815534 458741266 671413654 907858852 105784790 117503460 809784016 337719456 905332768 686175456 478756186 456561134 96435596 574503772 812362370 169490764 39673130 51406118 530537578 680324718 929546432 838732288 472530262 74679082 516312584 46627902 420674826 232434876 572240998 205943850 909519278 186083084 680390142 24854332 522921880 662748508 86478374 159541586 438486104 875618304 935577942 542993344 199076044 897565150 150284274 529502834 564220986 512672422 317599272 27360872 601891270 724495850 97551042 900377944 20158292 165052196 75725234 191398506 282653986 595554272 346561212 752475874 377045600 420766146 912012434 624358068 408560960 232739046 911501428 347871794 803882056 105780358 519418990 856760958 865651760 455028182 810825916 354289196 336895184 100421150 669193880 57894340 502671102 379349866 238927446 155372740 823132808 94774952 139137586 826591568 446219634 943317500 802390062 140542778 1104392 108456820 613942708 151656876 897081948 73516020 795114430 501600478 159560370 50176960 453449160 718741300 989092464 325647700 545317424 224453838 161183726 668081954 464523708 397967832 677015542 676772114 626962002 708989766 42356994 813114264 410677110 223113674 908409050 823647746 659563150 474411674 688119196 215699036 508574550 54562782 818116308 44712206 556816722 844357230 394735034 26444666 656877074 49873294 393059288 352865432 329444798 406475974 634620468 613013836 325876238 29017954 948704648 224381840 947467046 697995430 460297168 863580662 577836686 121685390 604594170 435776650 437860456 828281448 228026452 230800812 380622230 77057884 773335736 292171612 114691998 306135014 509954478 391501944 460876558 176437178 613113762 292069338 550130214 815636818 424841456 968069614 789306926 319743670 875317142 454617972 282250982 321727728 578410128 762368584 773161746 971634692 255461012 916218780 604500220 923528964 211187348 158086590 314247300 41507832 524486976 745909996 272559942 397365688 711184890 521779274 244121118 96443804 929139820 575638978 88343690 847768474 650994896 879107052 781723216 228146424 833011000 606542400 371152914 399228378 900856920 153017766 952128074 523282334 212030546 61157336 219424738 882670530 445769492 233271808 147411504 907388346 868748742 148901110 246668722 955682598 326253676 758456864 101530038 125284804 411006366 646038318 246297382 151893940 661078770 736002158 867907724 622236600 390338368 582424254 935593342 821127032 575996486 603565504 670209108 535774158 254675882 691320712 808823706 5481250 488439126 193779708 127715328 417403836 18119958 408514988 816459790 384193204 789632294 556823452 666224686 515307714 497149522 806629026 213841464 14959634 882389730 159098866 102810624 206009176 798632888 756226574 576411702 71916384 131845216 357695268 605765930 196149864 36724310 78375164 396055712 807938260 897343506 691840982 169317812 943581622 266332302 81237886 976343970 545347808 1708168 501498802 438194034 746186362 496168920 164355734 846458314 733056562 29167882 353865880 480193844 282978648 151098378 363245642 882690794 497508488 332296834 48798930 959812246 358136422 506172160 570666656 693229640 947540214 102883714 250940450 309248054 501775568 977830910 960859364 628438626 876222538 986592168 466533050 330186472 475659274 180879862 561555392 699841188 261206064 329764048 90793752 802487338 278641904 508999052 532241200 314124414 590761098 406321312 224803918 371405884 353718326 559825184 10966950 217894082 691973732 745881006 828116802 174863328 38494802 680222232 274022524 766814838 497114322 348169716 543351258 55348862 307856292 401887978 718169592 781407232 764720926 434103604 196146604 506735608 931642422 196843080 911824568 967667228 133950372 447667122 685517082 885596574 711981210 816105280 730600460 640058258 261050886 873231050 171828090 806451650 28789338 408534510 544475552 291130260 844679724 421063670 42735326 204079444 134444530 150680328 887489462 791226556 10219800 478548394 290338556 749180212 362393416 202543326 891104660 979852216 34645386 931719834 257305854 890569262 323867920 148295178 407924848 699354370 633362302 308833340 250250568 927256804 166591592 34414428 179029512 995537166 809105072 847581130 43372288 725768174 398788302 368539184 7014552 919403546 989067078 554720018 572627006 452755898 79914160 196536434 395204786 749374232 34269710 573232020 456833526 706195606 115153816 773309254 621723380 422829468 333137060 204525204 501937646 807761272 328893042 796809410 673984452 603864902 213315796 531243224 580258046 748972270 186657126 774978310 435193780 468496184 258331098 816042142 498421574 154924316 92133504 30232782 127660466 933800706 217000538 654666048 658825872 512530704 296386850 405541950 547380178 713038464 24263504 103964446 921944184 121187226 116885632 21571846 883029122 85503290 939406018 513912876 982707336 37216822 8241508 720431094 622234164 396855414 588069766 543051004 263212476 857737048 215585090 645835074 155397900 51551504 689755120 980703188 698155006 332960070 204991550 246765436 722904870 223661456 724778408 17701082 358353746 174070496 815679786 259639856 951790546 595899850 721718042 385842220 284307070 497394160 665217382 777938028 456434204 846359234 306747420 592112268 488526032 110324168 924261626 13428854 960522044 101307290 262312540 791478428 419096228 122907740 322648214 958328034 675123042 673626222 552181872 877467518 311327146 599456244 518827812 221367766 846599012 796901864 811442 79126408 723231614 517346682 295721144 12452846 182752654 372465876 159058798 554832832 682007292 407211476 368046440 551249648 25024340 732172198 772020344 312066772 40663096 421819950 955091576 194534284 113330172 922252616 736305450 896232084 477389760 146738426 42173596 99034768 846209176 626614894 412173642 832828610 787999066 794375770 414730686 373002950 707461546 708696666 993520434 160909390 868589924 314583402 383873102 440659746 898040688 292805440 748446426 182989968 528359754 823363496 229832152 143026148 447691606 520123838 267847862 123456318 144967304 45786124 335451766 698608466 476171810 406528608 289097186 574003722 735350410 569806004 542422436 367602286 534278834 489844626 664068982 599845562 662265254 680084468 237508558 26173558 747796148 589153872 514442082 467730462 779376056 789714740 192572902 619522536 29348740 148427924 779920100 666959652 297938634 522812510 161482560 974885854 634263838 385637776 568008294 284242188 947781950 731464590 275221498 832714074 639298192 483986238 531230766 763589084 399324878 678086102 551622728 494631478 16432808 933854352 853158580 897400238 920167172 957358668 377301314 406579508 776025512 421776994 854406582 230612830 901287106 980173306 860956796 722522348 454875288 922324772 438450278 207377106 154847508 26493788 909700036 35792980 246910270 541427560 933996880 971761722 741090790 718723202 222982208 834490760 447816734 528757944 347952988 228762690 780818404 714629120 356545798 10343148 583357242 75600760 910062886 316544740 741694134 771007072 893441914 782103420 142591740 749738188 704345796 825620500 731717304 929175490 864719286 633263620 507299396 716831572 942940710 205649884 947440790 37227262 403211514 341682766 481500586 869612044 878182068 278363120 186072188 952430268 623243940 209848100 511856564 968492846 669088260 832820632 487453026 477906810 200748132 314555660 516471716 738963362 578992460 394245796 128924536 513663080 171327010 369549960 417377036 135074258 527724150 675317100 354454994 980265250 643818256 945194878 58980958 948986124 424543070 4486154 719446548 865420402 421251286 654143002 908488632 148708602 527367514 585402594 153854190 2940416 305106012 514062974 126516960 690632696 888207668 796828396 808821130 661886584 671255944 616341868 546240728 310805062 384387830 523217526 858479578 667351496 793864366 166767500 83457862 70748504 470182380 383168824 147679084 1404358 425588578 7492324 841981060 721000472 962070004 352772716 823018364 348978946 91244590 787792408 164240872 418205724 847760324 841085412 193180162 993164098 678043922 308373280 767591762 882396010 324406936 329656980 760064340 244423494 598831002 861000006 798462800 441305668 5563368 915693292 331951558 520544944 309991302 257332078 745858940 649572642 75208130 627747600 842134680 345519982 727064426 76308858 368600466 636358630 102116384 927694414 92807038 616173280 234505836 94375176 748445338 642332458 878337880 4922226 254579058 525595944 591737150 251898358 627014542 580566282 881612790 489130010 18624940 891569566 269039496 21777000 987755708 927775276 200763370 391920540 733903630 850821820 224166122 948116880 622694658 274189752 420874504 931609102 177185674 707470870 306908788 597735150 267024182 325947834 834074232 775376152 28390990 433158404 878426376 775999652 966865176 752969132 886667388 221817072 423488636 271877340 987126118 745597888 966287904 437938716 182607640 901250374 41589302 644761554 737919652 957026420 507094350 210221058 397431002 493575746 72926404 219689868 687164288 266685484 949228764 880657122 86159482 222109268 457633642 312353946 24226770 151682818 251205502 115487888 211598676 240229420 349470892 249613986 347008700 349903330 226526298 498370050 813084590 43885672 217710556 268866144 965687554 982360708 3747238 491502380 768113174 877603098 804836996 321870218 2675534 514650950 990043706 726408428 621059338 977865168 761555800 288286788 84903780 143391048 112296092 567371004 169385784 44408010 801557132 998041464 817489658 434669650 346332310 308663270 985847344 364596310 874699990 53171412 466552104 926402570 71059680 973927646 641805340 67139686 822291814 846790688 344559080 495680240 629142702 384341700 871225136 967313050 276046962 457711310 668730734 247358300 12449446 347798308 668886838 48080218 933277718 13154202 947241714 509710676 952955998 360600950 551057812 28002214 232860634 822252182 577394342 655277482 69643106 686351296 862856508 438215846 586825040 726840912 729237898 192102124 532214328 399837584 551166028 364838480 7821228 588114232 270300546 221176914 102708228 821917978 133938856 270480438 38928618 952084616 941003994 499482626 489060734 761058704 220464362 558023146 463032210 542685024 203754142 157062954 166173222 620104630 455432662 651906050 274202360 112283938 362465960 745034444 244815170 19138418 789962778 968816800 208707654 697817214 709314602 687944090 597150048 914103834 981587772 574195570 647165296 840342214 787116390 250702274 505385642 574432086 644150734 77171910 643486398 509712498 100106328 636059612 561703310 213423964 721371218 119026568 6734418 311878894 33030450 804999532 545120478 599270622 241310466 205272222 502204884 647268584 175224778 988616960 787589170 273388596 293428300 172657728 995367540 800334694 800952604 54715720 394007212 496632900 120274586 265459786 534410294 299074782 678284618 445163068 704913702 456931088 561543678 68008334 270910 215512426 982180886 445815186 568707968 541385526 312811492 892558768 514651042 188768784 389957854 538399010 884826244 110233944 528488762 911764076 910601062 442934914 568126622 431181030 483568642 947662092 713496762 893631296 754257290 749958958 526600500 248025836 338191154 382520074 532029690 255260734 301264670 368822288 766370256 304671758 681258294 384717656 703647542 214350258 341858974 469900218 20358592 135028848 223959760 405738132 23348320 336635040 211903564 144256220 299409972 569440950 597130886 598499924 254473496 696301712 705524622 247993914 902887002 896643582 50958908 227811246 772978196 232571528 387605502 773131094 839608386 693456238 647113184 523105356 118110700 284794184 660336322 440626448 718508448 551915394 697935088 489634718 878338410 554522166 678524282 121255324 142323210 794147472 103627658 97387802 567586160 52297968 49191252 572104742 748866954 420200456 946359794 405672136 852149216 232881178 940541278 812963754 856937586 168552582 523727710 70576136 871750188 972301588 174262936 348075460 525522082 594478698 533132712 69901688 615777376 180670646 224378582 432443160 349631342 515573106 111519376 515722370 14499772 31112772 499172384 181966306 406840314 100088434 468556820 405128264 893302046 622010672 746276692 459494020 493534812 791365886 578280462 654675428 891979230 230046132 209439022 727020856 394010210 868695676 167839680 413529286 754395746 311111608 798396658 496316218 812484914 945089454 140851900 295886976 537564876 375520440 993898494 819191546 741842892 849160188 578354786 883873734 81750404 598014010 395231662 961313120 680296456 342842940 789624298 841317434 898686466 759542568 703744920 940533412 754181438 304385896 405140144 764442742 805557484 729389914 280235766 931856024 7365830 652976976 207609990 743014036 14860254 412520092 251927106 387084342 687111038 898434860 203198574 163575298 308512524 688774316 499604172 644363534 837464568 770418242 211912910 847117826 611193226 62987394 590550944 571881108 808473658 673903294 271728998 335754306 189859828 681923354 542934252 147529222 355911830 62353964 54457610 532081998 838743808 298910708 121026312 7761512 243250702 334468338 18199300 587436128 697618114 611567716 565945292 852561646 346960436 615166826 836560738 262331594 952710716 128589132 497913476 500329666 733458784 148185032 214576734 365582826 621084188 784549468 805141410 688047684 292758020 421510352 355987056 807176212 954931174 605258956 45924696 884341788 530546716 281308394 891673922 737341474 90047072 340936204 486692520 291797820 781552138 607950394 940399608 578857862 788258370 769984704 603117692 746882316 149884698 166535078 545219036 436281164 876273776 968523454 144933356 446066278 914531034 482164576 649278308 513175324 458610498 618937776 656821534 132330314 974553684 736535930 929130674 236344854 345298906 1014600 998220756 3322130 715174768 342236238 4518236 47178686 567761574 985178306 505190270 760618670 763220544 678802926 50945706 163964728 510847798 253648012 247222278 487483150 218913212 686523616 711880824 852385882 105237848 436448798 114147060 468490996 491822246 402128244 618627678 163246784 601687912 975083794 753663696 521322602 831202294 891995172 823576090 802945028 114026234 609243978 697951868 604515080 599043850 331131282 934923536 715171976 448496648 507849404 382423322 784597316 955257782 224936140 240424902 236832456 193727740 218498664 166111582 11561894 759163926 336172394 313398918 629343490 404595994 526021146 557321228 199496774 316149780 824601054 817144424 199777830 180652526 2333782 617940392 903796872 404743056 122658810 997078088 518144756 360987362 869215448 636007982 982435428 830889972 646393902 377803594 541177270 914943226 71783124 373154006 808822244 572694010 108609886 618149576 624822816 999530894 515446190 496454358 978222376 678775544 836292592 158677984 240806814 90809354 886708264 931041652 12100866 393259256 457266908 848771010 180907626 381048484 292939296 534569102 908265794 839678414 336990818 207456194 863859082 346864788 209378126 1091666 29309360 649567486 536040050 992577690 575855080 171209326 679902512 910639416 164968628 279294316 413981006 477263562 380510474 687649600 911754986 793044916 539021680 995880588 513206726 306314102 698381508 253760086 786935574 384674754 421015174 760183856 652468124 874943408 396428642 653880314 863776952 536832474 229520354 263670334 243071476 424745226 798487492 209639830 115348636 185576338 565664010 475454762 400727038 787064672 535448964 966531974 627113860 500470644 132148592 919854108 722475202 905827606 747181398 775468118 684813662 879275392 657823562 771306316 870441768 766266752 934833534 882426946 530371350 228922908 469778440 113152354 504915846 964614934 665327452 948732974 728750458 292719634 416401624 322975292 508348512 631898560 640437972 801792712 490524132 218071022 993871304 216560342 800361484 766377130 963298742 890388834 346344834 210820218 659817416 533815768 693426536 125277040 798809862 348796846 950473452 109520784 849759718 942742480 468658764 33224350 824782146 673410692 327976670 754309318 376618140 203765730 453174110 534630678 354328802 828821420 194135550 175817956 334347474 126492862 323696126 584882122 39466050 605385404 4900216 686310898 302700354 736014524 1536378 240640342 690071038 402015960 861641486 925350784 499775852 389529814 221591132 769800794 613407942 24215540 542430108 244069372 493562210 688668444 874257654 161409550 162342500 162186224 97890660 122433088 158133552 53331552 841393572 839333388 507005958 261982894 318717826 873181012 661661086 705645050 180097978 949174144 887763936 96631576 590294170 306783406 326839194 429868374 953506430 255751404 27389916 283816322 239918546 504276406 910491638 514677938 885749908 852057302 641115440 836975096 783667452 103079898 780855214 321060300 22978128 261657806 522003608 856751622 389563174 960307838 742437058 245305984 626684984 958908186 424715746 69663428 398523624 577894772 514884002 198676926 287991346 396343194 13995574 55879848 863904048 582261032 24386992 903615664 205651174 497228800 642029526 945632972 648873036 406633062 907101880 108453844 341497154 385204334 471745142 278465122 425974682 335708978 275945616 266111760 298187216 312834192 337675712 448046074 927509662 445495398 187157610 296060948 977778094 855523374 320648664 365154710 255980500 510727744 715608578 137930798 252249404 448198446 488366928 83761736 440928430 709661614 579498266 568298584 688992004 22067402 830874870 854220990 292301428 572345788 802533468 892891214 239596688 992760570 670245410 153209290 947845494 442898960 448413982 128656238 882849216 917941588 73458634 959040714 984476378 344729226 194417836 267688634 691584774 514331072 610386050 951808326 714767372 299762778 563603222 191602680 206517380 455293124 879812164 630373204 935199780 545698408 740578372 992734660 933643726 777657620 756467490 755828780 710944670 33475104 235820684 262119156 826001292 493755008 466083072 787068958 583550296 707985312 232999008 719134436 603872588 993764434 110861296 864610128 156782776 943480648 103736104 961673880 906164860 30275034 168407108 234617072 862686334 235241312 207779344 929100618 167569632 573541712 49855396 12967446 548072712 449013678 573784718 367874782 461065304 360046858 13959692 703890056 491386230 746767276 518241164 111566268 318627518 206029094 187526736 817934054 152209958 422926226 597629248 848142624 483518386 605731626 725418838 200695874 267775698 311057242 701444750 529003424 656733290 916540712 516866538 295196828 688699028 170579862 440329424 726901218 405118756 928882732 517139294 148281290 861659770 706885894 741425600 756014398 304438112 487289950 382651766 682057856 832424688 704461006 928770530 831226872 224659568 383944834 20098486 874260168 860719230 45197196 937346420 563149472 652612522 142566798 573722484 590683322 177586604 784442282 416515786 834303198 959599908 287108090 141201146 635596506 697072512 280077244 413764888 658535976 295938634 949287570 670176064 946105696 162276236 49781702 384670440 924622322 520536160 278647544 189231394 220302512 771093246 529909350 510349888 180069770 224236150 436542132 602287830 261378960 300642390 458469494 724041962 692558056 518584360 858708068 104021458 879601726 53319806 71106354 219049522 755935194 585002372 390905776 797292566 324059540 18054512 302821620 853109746 655700946 21727434 775931182 476676284 645342794 432729392 404671172 573057106 754641182 37407968 201598752 457167156 244540716 122610734 225687358 521478790 179340542 731217714 155435284 45858482 57093566 654769288 168380490 353324706 399108148 294235710 63665568 994280102 198329824 487455414 338822024 538785572 890968088 918157802 720845208 971439980 155954838 444122468 876985232 619426372 94387530 186487018 535933522 937809570 82891806 906371148 6835800 900188922 382449186 657460264 224443392 839110630 874949224 423310046 325487088 814375548 352014216 690507160 640756216 632050474 530719672 107759360 695502018 168205630 654247648 944662112 182763344 242555716 380478778 76058500 631645248 617254758 539948784 872644442 185390010 326274764 431093822 299539866 720609584 196032250 914939452 660737058 38905714 949754996 137019864 256336486 198549802 122310148 64482582 526332274 359247596 795886214 128491046 582414616 925350716 701875630 228203642 448066964 775038102 802603404 530114570 711216618 618971012 451717434 958749894 395855132 450036670 903111902 370889808 440481430 928912748 428113518 907875556 373072828 384289344 792681812 353152916 263749892 707948848 306769860 87801624 193191312 294074078 90093812 384106306 422728612 985860424 478126042 492475198 941010226 417220 378974800 208002084 145446736 31965278 720447416 211761036 561278024 79869156 200143898 79881734 429892020 695151406 95309784 919856880 967138338 999119762 280138726 82441918 671025898 919813340 327331418 555969812 598063132 515716788 257609760 291440360 710319578 537033202 637639812 314367830 43938770 373265074 662375544 414088928 696208132 291981796 40980010 166824250 765349044 997060634 739989852 497765428 458562844 915618034 937221536 682009736 373333298 840651220 913522092 37498194 678913746 90267514 259660312 149539326 575514204 372834092 208297356 242401788 230453252 4638676 197294336 56117110 585088232 668783864 393762452 900370844 832916454 740900414 722842896 797028718 393514852 474551912 354646214 516567896 195873444 853486834 893005500 450342238 516975662 642249354 939319742 112320534 943603862 869169026 218569584 659956962 310392764 630285990 362488266 1464600 729743876 627866578 661111006 899783054 138967978 523191258 275150902 631693208 291934924 694685950 351649000 768502076 441474748 959268868 859212346 125422414 191525598 768285000 636588234 935063940 311740994 428915584 552880636 543446446 308708068 894660926 864325220 727670248 168629784 769328496 290965736 515665336 632872926 206620486 523820412 398288154 402405338 717798600 675061876 862832982 531510768 168326358 110094712 313048156 765808292 40174248 762973186 466804916 389120230 855494828 120974878 273544442 378995920 52917934 328328164 562613466 763967338 569280658 661013672 93182158 957627792 507128274 330382718 66639352 48342122 848989366 693296108 278267982 827715804 889072986 688529460 864353436 408125890 859406810 392721858 243567590 913661588 374503696 802842008 360705392 400713752 983815456 376422004 700861684 931936998 810282540 196592278 496842928 284438524 152439310 966229260 532006370 917273234 971873396 372445182 560668094 353285182 907057116 375610044 296062038 248601290 21159830 361913752 609278546 302363966 673520810 81047634 425276728 329600544 565904176 792631938 545192128 18030278 336094006 57111070 180586004 382945806 120852716 870864128 466969576 951507454 203273384 761158502 564333584 563707276 294950690 255686680 981480296 153352556 263668570 282740076 18812580 162228442 855180040 27462820 27814830 556418372 137567494 601155026 604706412 400023414 542415788 586221942 873607742 6967764 85519848 904012514 489852488 405232312 98912164 254351446 470161450 566338140 528111838 75576252 997485268 522220732 676172058 431662016 83812042 282047220 342995676 348496730 366585314 54945946 673600188 560888680 959078952 968344300 175016756 361128092 462208932 508719996 787795992 957497442 268057696 697712348 826017410 284422666 591373694 698307392 768393036 192708524 876828472 457015724 915175478 713471376 139746664 939207710 379464614 453501004 788744438 758244706 237092136 938595400 375904336 162319072 558235610 595033562 796227124 646184684 15039884 609115314 219407194 588128754 932133722 96571366 936264154 982959464 923559038 723302618 543101434 479349446 894364440 166773392 344013652 754593008 557906256 954691306 415483224 154849148 100955868 905061364 294465632 814104054 104773180 895652434 682899316 569109454 374147632 859025892 611499290 736877134 200335542 502379866 902240010 453054442 64169678 507288630 353629668 230815622 501635378 65512814 876792124 895491066 408778820 16422654 865285292 511425640 566023096 400879464 637947144 494462722 328277010 523191456 337607568 795708278 883646148 461597650 319603496 955933668 203057252 654905806 206955266 249710762 980498504 153878766 441566684 150304216 381467902 141344060 874686484 344087006 941768346 283216396 310235462 662291818 7305632 192574144 501894282 944455554 373381286 273607032 845943408 292278274 356046224 56898362 192029614 199621880 182145680 224381214 253980438 124778332 958857342 268859886 447963312 997865404 416624844 273683864 199755478 838565520 612036560 298151574 92462558 870614366 335926472 708682520 503122086 408134072 182576230 329747710 809968616 551181482 687668832 381206080 532861976 140815352 897119928 999203066 182687240 678643884 279223988 99359686 870841878 302830218 803462452 55929100 320488876 16261714 790150584 244136154 305943034 170805274 811605660 704176492 263509026 656954888 993590482 130859418 813046602 290360032 597373978 298540802 268811822 741255966 444426132 848718518 709081336 353299178 334824894 106227964 986690564 536976950 242123556 76475830 792126864 740070114 972859336 793780036 683295130 86482366 371564212 767819366 52809836 564555298 776601258 252593342 480844390 954258408 657419858 455806974 994495682 809290436 404954878 571838842 600890962 983124988 813621892 551674192 519314300 105831684 709417828 56973270 522381410 573675064 956736526 324634312 397406018 557169246 149182424 221252582 268352142 599544574 744061352 118124848 964692464 410994910 542752226 854786692 888443664 232160676 413831192 463773136 796733660 803757858 732122092 242433796 607998 407049840 726043514 747750618 517643836 752701316 761873138 7261558 605671616 636786170 444904466 662233104 126888766 735584634 589039270 605347372 858572730 6648602 425151114 997763486 830161980 915513106 458567818 216959952 617433756 380854810 492046736 234387734 268195164 767198134 815218708 573562400 949537156 943100160 871226464 968578716 883450038 12328414 67448662 664038220 343286780 434036804 504370190 361358210 62995098 623280978 165006682 426295678 130104228 190304854 3888960 782777970 715350558 927394886 931704472 66844556 851382524 55945650 257762800 254830742 106610668 777386790 331908204 921839506 344813144 970044120 219385988 644849958 841458160 201578954 815930220 782436442 872778544 67316880 747919106 442904496 656804138 253895334 169074772 734008532 159133644 601796200 115668854 14763674 446181686 534717336 778507864 346926770 578166274 849852106 725122546 119580548 816292964 816989116 278395864 244021976 967464546 214498708 870146368 976370276 394937496 476495528 669132918 913102284 610756140 16680926 497372980 322653018 77065052 102313004 619196266 337897242 922004886 303235750 625324436 780975778 862633502 948821550 672292696 217513334 572168796 320697402 144777646 609423138 216380144 130925880 741943768 524692634 203101356 22517586 927658482 179864898 243676682 266138160 651030096 276561982 830593354 207303966 478462754 639446878 158195202 599171366 475744606 452492212 576286416 894490836 349973200 263429742 794708354 513732778 98289274 859550702 420119376 722976930 995911278 742292220 810754348 917402358 756340404 995364496 696670210 627126402 524739604 740522496 124681072 252449998 537725722 622525412 608385122 436895172 646931476 776184948 128687336 256914738 122889870 292870188 739338838 305386784 261775506 715495632 963510316 715715948 705144116 111399632 906804606 209765096 725593844 767094420 342153054 685544788 47934450 542506876 489759918 36326444 379932912 495400724 824249334 679014508 355081860 682863530 101983560 690413786 852738012 427132448 131478478 598822240 105006686 32049266 622276440 230985484 63672612 954119034 808014630 429444602 937663020 585524578 755924618 620262740 550196210 108852910 489063186 560209782 187097442 470715914 670898042 745552358 944636948 828090802 385253856 326462530 249325170 656287408 258111810 446587086 334996694 715401882 57469668 109652100 432639592 492611386 490768688 387130150 322160888 391200998 522240110 754239802 851068708 813622874 699840788 432149970 742999654 366991254 871578174 464210198 663326888 971808184 890158742 941639918 212113086 990965796 204401312 573469398 45741870 924284920 251611444 306496458 576790770 637273972 754702624 943119916 314452296 676468072 347255982 840027398 49582464 367701510 901676424 828421896 741379192 699206806 222796672 759671912 95528524 164281786 695600428 377256264 376789536 480290524 244114200 680134740 614760986 920448928 13775550 385537978 775015726 833886796 468620788 692596846 789371534 469432234 482483202 58964804 456640420 794469552 461735966 858279216 893779012 847616762 566878334 470210270 911703176 250302704 759937242 954899680 836775154 857469772 837600484 322842310 39815894 892599618 785983790 455551092 885817712 105422120 405727444 555594262 957952502 832899192 722178760 135128294 135356780 320490434 589596970 358056922 185288310 879260524 21216198 990517066 674514100 254155348 237522248 395587878 181722726 99923856 493221466 125765942 412590596 303131772 420928654 644751762 791433158 356482992 393021630 194352742 943257218 200873280 2933572 604908514 743504358 965010086 356298888 773702274 39613320 483441556 486288520 196765938 355374224 376248742 871038798 963302158 568668308 786413212 552487676 490816006 419333830 335548790 556994158 985085934 216393742 9034288 523271842 588337156 640540120 542930238 64033460 432710262 76370876 391554230 310261426 311350566 592819150 393335430 171819504 742586398 826979492 939222996 776316782 146860204 106836106 962811184 736703848 111945384 460239750 764488378 120270240 526132110 603112704 924908956 816334676 171159940 440640800 535795044 575460680 225933260 821668758 725307652 201288238 673678966 963083926 488356084 592980492 379844030 272252654 915183376 501902616 825636300 28689036 228531408 599413302 464006914 510617516 134803990 997957098 578588536 708921200 796955804 961760800 960735670 594893060 894464920 425814602 487201842 748560902 141981004 400089626 930930548 292944764 932487726 953903326 433049258 582565520 155872278 496066598 290731158 480538288 20749444 462765512 98300166 193410180 260340718 392858586 95431346 179721220 253600096 926083296 800487778 146914782 362730894 758091566 430748522 862151802 932698548 535183724 228494222 119072960 845689022 90374286 575064914 278270956 234334196 251996022 897289470 800727964 987022156 67425178 913347486 436192610 26390504 353477086 73612092 994142462 622357520 152944306 170168802 483437940 466397900 583077508 396318674 430891082 318624940 54572482 10718340 319061082 237425936 712616802 174056852 744258790 126523466 16008442 410191812 337658542 982693420 514265830 37287054 703642666 535274870 651166132 314800268 550553332 409384412 994551328 131564312 96135412 165895534 536046304 513568454 355833024 814326386 911832294 503165578 571858890 667630478 569604814 514573190 941083526 437147640 84310688 5809132 60701802 726311562 513505578 833758774 554130752 666572252 570167628 494122896 864981360 626021736 678266224 257376820 149185732 820892248 171518008 801195442 603865924 708832494 227877270 999356438 750911916 738229726 293134482 891242098 368120384 932475808 775919872 7562978 35747538 313277998 465883484 219242518 651418782 112238274 455509338 891183298 163319580 52746250 97711342 247890082 199381844 110641702 946063570 941526070 214905478 130964312 414250638 683118124 757734320 701480692 373629050 895011012 789093454 584003316 309460912 291649976 919670930 698172824 573689682 330857548 530851086 460630080 919173636 178385860 717933082 950586292 776735738 422815584 773132508 387300012 162050898 459693886 982129142 238941206 610541058 60438462 490675262 974557386 177577938 854596914 938213266 642468118 541034664 731681508 653109852 301082088 553923180 813958402 206166468 965913694 531685100 95632290 135352586 42408070 646306340 30936492 289253190 949267184 216600240 776854746 574637280 487689202 892126658 186338822 386557168 187482118 279399004 303600790 211887112 980868626 436283920 449901372 224354982 150215726 607028246 320494164 346166398 746155524 64994070 651265226 491438880 101225438 119652000 918496526 55203970 850017094 669482286 513371546 746637560 298798316 880016992 756784504 954230122 422821048 771494322 893259300 137438822 449585472 471283522 677013266 755419280 430747260 488417020 431675006 588549906 240629758 523373938 786870364 362103920 822390470 258441938 567761068 447623656 988339532 942916762 36182854 305535626 274875790 486201336 359234482 91546724 764688004 943074918 941787888 915058858 821936562 523411720 689156516 557326188 192436782 575442214 818228566 663182208 144437852 322458720 563789870 985995006 701437864 271216696 385211458 833966036 678033586 548478974 766095860 105835532 432186226 31642044 755701766 393726408 539448786 244300628 36355532 977252706 121859852 263893168 2567926 928033874 212516502 423419512 167998416 404268528 743868954 764792268 761491294 883474742 619042198 466500974 803319230 821328986 685261588 760712088 373005632 620779632 207153354 514350430 572376068 907633440 630822198 799367780 277475370 467189268 599074480 761375346 929400724 586383572 973067360 53440170 488707310 678132632 461070548 982806982 18280996 860688956 813372724 797458726 829080 904414504 308764110 96643508 893995874 434790012 832004520 232593480 358567746 260782956 910839832 773430840 911029712 995776764 989854960 584214930 921848452 660548594 927491152 270093606 555048576 103267358 674379734 30455412 265384790 334122606 172110744 13432668 924585760 18500550 458929770 101065228 544361722 492637440 334742012 912652430 883268392 161150248 381874578 750101142 245131024 867596342 608484996 231487210 601490008 375574706 664855322 201819760 561814648 149324558 146788194 433158554 88807600 804108900 725967222 806702760 333497900 362756636 265035558 357058444 428788980 117837040 573660270 580824890 701327830 776671982 421025222 51018402 217832218 962979706 433283110 797982538 341838090 655821056 217402480 218734498 6376994 955204572 502959340 236683544 829869668 497381172 576183428 349488536 621873390 86505314 484954622 982918708 286037190 730605016 438900202 375705494 64180016 898168006 883325144 453977050 309710572 198270882 523410502 364128008 988809346 526531790 983788416 951925950 674123720 255921956 339608252 204949794 137571414 227010970 214801828 281236740 596605746 784783370 491495374 729390590 850251474 746044646 562759248 115353744 889366212 108658412 911606028 819177208 534728638 740834320 910929842 936982442 799328772 3486064 440536900 311570148 7621538 344658942 387521924 455808964 186713212 615034704 61098208 600219062 341347338 119308292 94568710 363283556 374997998 911470718 890740774 293242104 926007648 75806156 520380540 640497940 804648954 142050774 854001736 128993330 726213706 63937668 908429696 444157030 605884502 760089312 431981788 467138864 746217208 755818626 428894762 794352910 758012072 921440896 189630924 140982006 128381574 482340772 632665026 599590158 112868988 703362684 130909182 747137250 589219292 879999718 897353028 260334288 686985684 12035988 6083114 733542124 429556792 471428604 812687134 654263466 982106208 920725884 147413754 581362380 513911746 215504776 310985024 599440662 74035076 564348788 850290280 925433620 926777122 714347462 433200390 436907432 682359070 492096828 81874066 8252058 181531050 582112680 275420958 395931426 540549320 464774110 861240228 334450652 807884540 529486328 16965670 329748650 290900608 860285002 145815492 108163786 875570620 968962702 29425318 764743442 607938922 385343782 258417224 349917264 894508712 701362002 953834556 290089248 100020244 920953106 822140938 967858530 203641446 881175534 171396358 449707306 648592596 675582926 69824900 28420328 663928616 545127768 704189426 799953190 516314834 469722574 397007416 94073450 975555860 520053670 895939022 53367660 263484380 245667658 565026390 749730734 665893632 399503264 693045486 978454362 510025838 967420522 724867624 291154420 300283428 217282494 605584308 26461060 121829630 565383868 478385676 547728884 531879704 697867122 421004020 545694128 830658868 9103822 755002248 428825252 157530180 720587792 879464774 819980206 468598818 501312622 441222080 725926884 554444814 963290916 335581636 576536992 656212340 983776250 375161972 208852500 41354536 625290288 235577714 969899140 543461278 533046618 281287342 954436672 767282920 851088026 33733782 94904494 331205194 91833544 516408212 383477128 727043986 991428552 837845112 908208944 856373276 964895996 857818006 51172912 294883022 970562330 898049648 457947184 716088982 484997462 480691570 514443424 744592092 11822940 992573384 252503924 23817368 19595082 66498520 834436382 185052094 675056524 651440526 232007666 291931058 349182962 672234004 865465946 336684694 789128034 367889520 249778348 68871370 962042302 171825998 297315870 480644756 186591044 683756898 347742424 290735420 206904340 391750556 572605224 329366100 480103430 81749864 536197564 619644534 681870428 206053906 639057456 17458214 466939800 2686706 246742756 215598302 324606600 854605588 785505416 562241898 151328896 442669796 588593382 852650388 348043562 29065392 425277878 915486880 837549862 257076524 127445264 56577404 644217884 321551566 279515174 465745836 241251372 148960630 516050322 524843318 697381804 46854076 681682706 890130342 241056084 812433910 5350122 52732540 317825138 31399634 613405878 691369458 442141966 932513776 599824966 601704926 307564016 36127688 357836012 173984204 492847134 764581026 700993076 632294802 783821518 166473488 40590174 818700294 686582766 597076018 461286600 610067772 723243130 360101234 189599094 374437340 386588044 130843760 927520200 3848976 735659938 369870272 839073498 100223614 954427804 350091176 249796758 472645822 974611002 344927894 394106952 382857316 794523526 133050874 268794630 746359178 787831084 750199184 46178766 500023668 103568526 553149382 116164786 903216176 720973610 475219458 603473214 278868914 972558942 464510308 921484146 782205928 319700082 3361294 89689518 614495796 661726906 623355270 162830662 267724382 639940364 462858016 405024552 669491802 986986414 384055472 904510124 884486170 360565402 914329790 153106278 406637070 764188086 484939966 734138712 532543444 397578694 759959566 287027524 467054496 346572510 572205896 712054538 437782448 238323114 79260790 402193652 109694300 544476770 463326420 308108992 514570354 618787386 637811340 804996028 811943054 525510978 608318210 245725772 575390848 392029840 476956696 778876596 255896012 72121206 819665102 744082680 687202012 587522116 581002744 795846706 984745002 663432640 240833778 580376846 547953074 584187136 530171986 333910738 889740976 629017874 845770100 4416848 601748058 195312962 95965194 166091500 590676288 33603860 914006390 706536750 700837414 544342504 882541350 24154002 268160640 747880752 676646926 905348602 130631006 288200114 510094906 146319402 513634618 93475730 936745716 156821162 751711826 700906372 709437808 627535626 475768704 541642206 297400418 403289292 468086816 281890146 819306736 347817578 980543716 73809596 971373028 185785654 454419188 362162792 919550544 457664478 482897084 110005422 418173736 644921696 516376930 293861460 328424666 395636814 454568210 164768542 894980812 513919484 39220116 724317618 537520086 534392126 142835496 589863554 897507948 68218412 617341390 455557678 559772172 218513438 76989240 508587050 20020330 966359264 103354076 729888498 661599864 216341800 991595866 803674906 210924048 258345934 712967032 801358432 649375698 816633142 41282516 556916490 557950812 325548500 687449530 264435576 3523176 288808148 563709768 642857478 579633180 924745454 347400810 100034612 237376254 899196760 794286268 32273104 751528096 148872544 432086600 650921098 740166554 851880262 644280814 768616408 401417410 382974614 393700504 178067770 736482880 111493138 967679880 228535268 210839198 569459314 430928046 731993052 640642504 402799486 503701884 440563062 746974720 550498200 595820114 718238300 370969492 693404150 498384800 27208460 95167628 106042970 150897558 956810816 627907536 396023752 146332582 796497162 441635546 525871178 668568634 87007516 225057800 990105312 304136330 833756794 900336694 140299966 143340864 285449512 850183670 546051704 701198202 950569100 348325224 991282160 728294680 93956880 22527942 131510032 921969440 49833036 578486352 475640048 150990252 374181598 996556236 585930800 874881972 733485774 441977674 540934488 906606874 568628110 648297298 736955318 359430144 38216648 372899226 929447482 209897630 690586298 438078476 676204628 378164744 198675690 344279494 825380448 616752842 506078042 295801246 896108410 238040984 629932198 902483382 917134570 151942880 917912084 781326458 385981290 429473224 993870414 752613162 959950492 207603628 788626914 152356378 668583464 388605554 503742820 664414084 240597294 382249900 706155738 278984612 81139562 640631050 338704664 533316388 975186320 219385840 949235042 866078374 333276726 530052022 609626008 642274764 366097340 682824280 545630486 924487354 627665564 73248944 409434328 101912792 129636910 553521626 189724096 136529066 281766132 422138240 311549664 659061624 428860774 641919798 939017714 831049890 938987004 250059148 318661892 423613662 418317206 292449382 597889488 781694534 318984092 852112552 190375516 225781792 104134640 541130516 695907760 7950106 553142924 799375286 662077954 120921834 48955518 554177236 873770048 828038532 847068174 772178024 201552528 793053758 344929814 384286812 995133930 192513454 84349412 210249224 384458870 78787718 96026470 683217870 739901598 508974862 934754426 392078802 190975934 717486282 188697510 613689238 242933444 654668344 99850954 883621350 418176228 600009122 936464038 901520708 299097600 134850256 973642330 565137366 87569036 872266986 585860784 442227830 413606600 148941084 471529704 942221370 660891034 595112978 115378882 326767732 475267834 152453304 592846042 1381690 498075710 740239330 53978308 114046682 530542146 748794742 977119066 455534968 563767602 294176448 751664324 18536284 642971596 204992196 502962596 494184088 715345686 372468114 919581244 967245066 710466178 710460548 936295388 493818960 532369702 328751872 486439734 126501556 285494060 969439162 308401984 443299642 984089108 419227958 637861114 611816396 780729114 993104910 343279342 276759612 424679256 2203116 591131582 684745092 836927742 485718384 363377278 640999584 94669112 829317988 180394146 999266364 794854208 317114340 944672776 453725072 989245556 943250982 204138570 492903784 842217586 298388380 796054454 760481720 308807150 384779930 941137910 662567746 134229348 984141766 156250562 369089764 529999318 253153602 780139334 834305366 786303946 831083322 674380698 660088724 828323340 373252076 640792874 547300190 813283986 103634512 42934928 417743256 216984958 717767088 53349130 500129320 273721484 42800968 590781118 389803450 666087538 687755250 709536568 407451412 822284364 725865114 793769502 80447510 801532954 914389236 236025584 240488870 177747702 41155758 877230714 886103798 272324512 525090914 666028754 586865196 480639428 225691106 215988326 659241816 964245228 142817544 300345530 356868372 749913044 158857792 471484872 253241536 951756652 960468398 679066878 80098240 840930270 759581622 818499014 17306774 453369468 669631492 206631940 471898512 102260198 936830014 166195792 833534564 956885478 301197452 2252130 697816764 638870008 372427064 903449664 830089404 472131562 603714690 914500220 602521488 895944254 452604204 629812402 405784742 962045260 774908290 10288494 527342634 925331424 826794498 968738266 485878292 238217958 273787836 795975114 186537246 472296150 855265426 998568802 631007562 319021232 156193668 209530262 519804228 912871030 818736124 574852742 262714294 76927140 829210074 601914720 411029680 205967618 905865422 304272302 553937878 276508708 16292798 728996104 729497374 204410666 196566584 590273602 174679834 364538298 189132444 540380732 541865412 243389106 998668182 247171734 757724960 220292714 787352980 827582708 907953242 71745480 599811102 519987716 337825184 198323556 546353716 645627320 686666280 691411442 608941106 107171036 688162746 140498544 373195666 772173782 996195598 552485298 747081980 791488062 51654842 289037084 464923688 723616474 420978788 809499462 92036094 796137398 484316464 839039668 890895046 323977172 72358932 728458608 964840616 272813936 134884458 231904580 738528568 575046744 657036762 57986884 246732114 717704580 219891896 135450428 809390254 395917090 802629722 109896396 939823324 35423626 426138958 39405320 788108900 742487568 836113324 268414114 506202920 303006600 745373050 501994588 267143082 489790306 512218646 271376580 698663498 939042158 971051616 798241872 295851142 576436614 144281166 566595518 577595344 728844210 414442512 622715206 187977378 304477448 182826514 564659992 609869760 156701896 633346368 471665378 523153228 810283528 29739590 788519316 974556668 259360852 661294948 942806628 225726788 212976956 686286204 752436836 7282724 457742052 536478590 848011024 871787138 144785220 136322116 203783778 616611626 820478326 692429462 429316740 109520076 602250556 431885102 922950404 207221372 927105142 151121928 715898346 771390972 357230666 810176660 622252370 681226888 301173760 788127682 817691450 695198328 698036454 633134508 617065708 497345258 549528124 169709988 455153590 329837098 742050046 897855872 726978394 18245308 536313434 308345280 710494946 836352444 72020872 874460414 565013906 565345348 291952632 951212736 56288650 415313110 98135918 262279026 376095280 179423982 94033182 766587624 716195074 406685668 287928056 632963200 651322336 967554710 127367330 971226602 608122988 417918116 212278756 907891398 869797854 305480444 500790320 610292826 821885464 674780714 810985920 681073518 48415110 495686254 71776546 205641676 843796364 427772630 437298026 343915754 594303202 883139288 792692712 98087268 694407616 661333986 484210176 363010298 62908128 995649662 108670128 587784212 729076024 798431490 448500298 363242914 981681126 873084110 651918722 749234396 544165830 74802632 491436902 612165356 109165038 266458544 667737230 916721340 676966756 846287272 803298514 103501982 577152354 746641644 803304204 315804540 638912954 224789308 709398360 629344630 386630294 18986012 911866012 9992980 276602994 137168488 810210566 953763632 224552526 225389160 298566068 739197316 235487520 56082882 400295782 485993132 697528384 320146478 782956950 182693082 93052984 704942544 146504148 515320838 993243586 264532066 427297120 523959300 486132336 168812652 334241080 899579800 876603560 658556072 809882984 749157764 900722118 692643472 608029612 730035414 992994802 265123254 473603894 559024548 212145592 288014638 254873462 940247926 974692914 350877828 3435488 972169192 713384664 796062150 922766052 354880364 921393866 52951102 327617990 676089166 503184018 154077238 590787812 181772776 315518440 549716898 589028404 385003516 988730084 282010036 512540724 143655692 139489182 846571786 203828872 206027680 89526526 316167918 639096306 173921592 791405198 998078026 257934652 653315120 608099172 428794432 430710786 940134154 820313592 448214698 301838848 224210436 551001200 405783554 716372622 256372928 428594740 736194180 551960546 222565758 684101584 982372506 740860622 24811546 940748688 673999366 997110148 751869234 759265080 650997698 909177692 437047814 998510142 22133102 175250326 261447084 219960582 223545854 556596722 267703562 816164160 938821446 114687724 249987772 961678910 684680394 298499438 305266618 940609904 750664584 408546392 370877068 798630924 752433564 454154082 434050852 636244404 758617474 528928386 325646922 181937906 781659988 972019084 44445562 765375348 351229618 614665724 203624836 821098312 967346630 466884894 313363818 25421122 347470438 973070068 478092206 180988208 36942398 837537584 906977444 509802330 888447900 750549982 829580806 824778946 142452318 29972042 929026050 504423210 617186924 765325992 665609254 118554302 501468736 739135812 567373152 344270376 774873486 759680238 223974358 781094586 272189354 844156848 817174396 81274472 65635408 489922288 402912176 893483112 322362626 440604970 119550564 664004010 344968940 718846668 155187500 71458190 475157424 635176784 743240652 778536362 632790272 616683104 80488004 888392806 441661710 201051194 529213620 897729646 896044676 462040872 688984718 808996816 487274172 921860032 957079532 857910644 22950312 718498634 768856486 366927820 420163802 417026690 48123656 879556042 289922638 570118792 330868354 825579916 367189372 360091220 48334356 601961550 325513026 424864912 314500020 209792440 876907580 223396870 557542376 317717320 215123552 35290118 447718202 458153854 842169462 121644464 708503256 545167026 492060228 443200124 35051984 515752186 110376704 583904624 932269908 743178794 191157770 868207662 311815964 364849638 905554944 760754954 150393442 104242836 103623600 522312386 982490448 273953372 818337324 447990330 505347892 638466138 998955574 629466502 698395208 786940346 194657728 750121488 166858064 440704774 937111244 128093504 827071352 960497168 490189730 622733298 156397450 833454308 741735910 669319006 814041756 700602166 840000182 806651726 962774220 360871372 718582400 263255942 728833662 987146994 437561050 878396904 390467062 682325706 48813546 469574880 495418554 190568350 28884074 513794738 293359568 568729652 991917968 345929004 866481808 32296792 118286540 209558910 473187188 452973228 317816084 156203406 250144232 88524408 38207216 624586512 812005874 440750198 11763136 705795798 44066702 474239834 374425654 118993932 80259312 183431644 975069030 208535186 188329102 912611562 194555528 336130640 412945748 316141390 19283710 90856400 661415634 158714986 771276212 406452222 608385532 731366806 721385822 729260452 599102496 121998354 143018218 639658140 673865114 637851504 376014502 956401838 559885082 496314168 474901782 82938460 513929778 977036222 691184096 325864098 599760728 102554484 810988228 10678210 148607386 604238140 799414350 891478658 506687590 824453244 542162588 94526466 350241302 776165800 449630044 745831740 94284436 554600038 470460710 279549962 167794822 643765028 493734922 446387246 343732476 201951998 629218630 790496910 920258458 415025124 319997736 938651430 153203724 834161212 898516290 239689164 805234958 943577798 290859550 465742562 424219496 332395816 78918580 264443116 941666154 769279862 36243288 5900506 856491458 570947060 202120518 3524108 858775582 989893666 640316820 581361180 356101850 884936264 16595496 182709286 37558696 572811956 104335588 165384792 285614590 51046226 295914938 280685094 404916216 471681546 400506620 877766694 64284474 172018038 689508116 227880190 307860346 47871630 544442150 958913500 59922904 137480722 862361142 153818292 811009822 300997924 966287668 881607536 545598082 551206950 142903622 621047880 191123530 465327956 745113574 557529676 44218344 593689760 177779506 967513696 702398046 128790850 480978548 519707428 900557394 953748152 508381706 31027680 887113690 900071216 849303998 910738270 510435174 102674844 595880704 149039360 295400078 53355624 397241488 263152618 749067562 501151726 168487792 80477770 458398578 82693864 842908696 833833092 657235748 50907290 101177644 990624902 277263618 881992844 249827976 928506314 815395044 665397252 44326848 157117308 864983934 431124060 753477076 625080498 201913692 78195042 177986356 618447926 514455778 773520752 626226244 112347014 905462542 699128946 259698306 61545598 945955442 44850148 856666386 737438988 64888732 624559570 260069060 78338480 73531990 931646456 420936140 787413914 466109198 727416790 342504918 729379628 423809692 650952990 148623536 100718038 361476986 72162594 732885728 733540754 778810436 785158700 663167434 198548256 416092348 502864454 116239628 932640190 612490036 275709716 759997554 787755740 351938774 472083576 338712552 347104946 685080420 584415900 706796884 672752398 71867814 836898436 751757250 566759602 944125736 280748632 201698270 765217568 959980358 196997106 917277954 346794046 942958724 864322724 474069664 961334992 952880986 502013490 197618760 646742194 67839770 806404288 412316030 867788994 142597456 80141096 343185858 182592226 160297200 812882636 467479478 292188156 628674044 719972710 856175092 610517256 631478254 783651896 571177562 493105336 305474194 706193144 825066934 165128404 857838146 161699758 817515966 173335634 603892114 585544134 620972860 162586784 220571300 629577072 570415392 451871430 737071790 372494828 912820346 58985472 910201622 466565508 647115748 852098116 797234528 890624872 411534374 409666498 186879070 741621144 461430962 729599010 687124598 454402870 420806386 842783832 196973650 579144506 210844748 718503970 486247500 210022444 506319350 707573584 942996814 281079526 99395032 355300928 289654572 982689872 721997632 448648856 364480658 774069178 809082528 265173252 788869098 398634892 974006810 284616530 387752586 905772534 935729118 166603870 254237446 217100478 398544802 569308736 429009116 20994582 97812388 741863832 705230162 681722142 597735110 142049806 455802532 75754276 988695636 569568824 403297348 307144218 938690406 124153512 412080026 830752686 541527712 114272120 681008330 235207508 987888716 652399280 534746454 796890728 795205094 693128052 874905258 290947622 226956916 596346076 560178014 147906912 161090198 515604124 127414212 15115116 323624812 318415420 539225244 268325968 304253928 610579272 544449558 591408398 95297978 780279620 664739354 350731898 463977550 96773150 415081632 471319760 559324310 16994222 488612212 185492482 347795892 964072222 661845424 613930812 242843490 161515044 229824536 647830718 845206800 358356566 166451372 405590840 459580500 822708614 64203034 1524488 77360578 948270754 361567034 347453068 371776534 97201612 189430866 365086392 633133434 146545604 166800416 452812708 410033606 57807014 518434758 545815142 833364036 49879918 811389240 984236586 253434314 61065514 481449394 662868570 934682224 852382606 803960886 851198090 375071752 890882500 274120550 140584398 35265348 795569936 503463912 512007426 589464342 768096986 839785358 313942506 536103234 696067954 942627352 112055576 234417710 576219980 871568038 513544498 607163150 573510010 519727682 985049768 625429344 146130446 252826432 744869196 78751044 98159888 90334266 897240930 871715818 992273164 936563460 87367234 49300508 638980310 163558662 613992766 502858578 132608290 429265408 73165608 114707846 8937166 353572332 629982424 58893450 472092372 476852336 670966560 957461040 533403666 381165942 604847462 906959528 540100554 320365036 714105726 58304234 765118376 595348412 650521924 291778952 96968232 530378472 402228650 483995726 939674152 711804148 900097830 848226132 412896302 23004914 678642064 342094516 227260826 178898644 894862436 395283696 82812348 915968768 112485868 308663112 321655074 437786168 311397412 331152016 514273002 637932656 312009650 891900350 464444624 143625200 70098396 494635386 125273990 71036364 214627942 910254696 43477448 447378050 6379050 615722600 241405498 407559296 464365962 845624580 111867130 953497100 556838118 970630958 258670394 657617658 374205522 453459506 832544126 815034746 742036788 34578188 635241250 855681922 527377942 573840260 549963868 39507086 411248868 392897928 399411844 328361126 57627484 575365726 774755328 754750642 581763160 43217478 737289820 774662622 982060220 512061936 684090272 397591312 133509742 744492822 217089262 370463652 957765118 251781826 743666388 470620124 154972886 313058812 749844246 47186746 884909936 336201772 701482642 339759646 110622596 933335608 408949524 684656056 833579826 315705406 670694460 323320170 604367686 546238602 115174190 917007274 277452138 505056242 152402258 267654974 198474468 976742188 971183202 806806160 803987082 432643108 440137912 617467786 691932612 894897690 290673698 467112182 457544326 191575232 734317442 222875442 633718780 207468950 12059590 152905848 336850958 506799402 353638886 895779944 397505038 334495022 614474134 776490142 289944704 15343594 997026756 112508576 6276674 446483730 975543536 168216124 643397994 337452822 673027518 441948994 257092472 192228160 627314294 41601752 852721080 21781552 355953932 356461770 611984072 886327340 874559210 204233562 316286590 83816588 320449988 292414568 770592438 271836648 448237900 235895580 440668320 348214506 657728178 271342848 124359468 817941126 147097200 267364896 719728948 600961146 680994716 943453752 582294964 131418268 406708026 297169940 38296638 649474918 826375516 262085900 363900360 79096340 289678428 380495984 666772142 923447014 321394952 718732540 774290750 126486068 85651902 211207902 900245150 452164994 35043528 840353782 961235820 304879906 365880114 966323694 480517472 528282930 640277612 260118040 663150080 821035280 316824488 550324608 964608716 424204162 28592676 715425878 354285780 327140550 910457564 770648736 695414008 114250072 197468976 996112874 297348074 424445574 283972846 965338116 591364890 164481980 149496314 872387108 185807800 937621512 849081560 803243488 320265716 846410694 213960108 938120008 701262072 452235664 576225298 369514546 603023808 235041940 238272026 731719494 881875764 405187406 34950420 783553010 830955382 856388302 801256096 353675826 644234064 322426680 351375352 49142356 759407980 822984384 901599746 668454722 634933976 236112718 27025916 40246904 468475488 422829210 403378626 920004528 895610718 447363714 756707936 731988800 340170508 487053648 716309420 920046778 477556564 795984178 445828196 437918844 201149772 595880694 71000186 781919150 811873978 851664680 365305908 46965792 455071572 20547092 483310590 726941202 535315552 597835392 386255936 669504376 329293666 725764844 647737482 241024718 722764740 228434576 648078528 761808700 371766778 760740784 83863548 874385706 865916798 498034374 52956448 115454008 83405500 858539610 370177720 6822748 29748060 951059542 825738034 910162586 137755806 488718580 335465452 748044496 593297690 872002750 520925062 68624568 608389958 371577492 511116342 421563190 451614648 804373414 629049896 430773500 386022992 323658860 767822878 970723166 567195964 978210974 503073560 280530520 254327740 669205862 68413390 865236726 890103374 756858776 290144244 628467090 35784068 3538960 15168326 512997650 315044850 874646700 326972564 399232018 593628816 411693312 198703578 29472690 958735150 252422708 832195328 136221028 486336320 87947774 884777812 723253620 181623440 707616282 896540420 35900438 321561284 559002244 179139866 515734832 359186090 256402038 46409054 661803000 229839454 93747048 57031634 853068518 925703410 965178782 724446516 279921444 312616294 257298982 228333808 311340064 425351936 954289534 839728034 577363890 549812362 782453070 600719706 807227600 254326228 300616976 147164886 590414382 181123040 901478580 936054744 423594958 153119388 494713974 280855984 554774994 648987936 374227664 513588404 204484018 37990978 557018862 796893346 384362450 398847906 332565492 935980718 897745136 790600926 452761240 87297644 105258646 656804112 278057382 958133438 334154300 761288980 322580532 267134238 66685320 610110090 222140198 143704596 870323524 258074296 491208074 12025846 166856860 685075916 368291058 439230992 200127536 540689882 994337038 750429588 46362998 75938902 429065624 116625498 675461390 812692160 351960048 939165960 901416932 83142556 418211070 165711656 749566456 542444552 385135932 2904156 370225896 155849372 117974956 861148404 216794436 735870838 849792294 278361598 731805564 800439784 922116266 356450536 845066892 967055526 940276626 647524690 153967158 414179654 402772092 641144092 832795424 166889274 676615388 83356886 810502738 415805478 401143244 725628292 757131082 24382814 372622040 885476324 569482940 608293992 505914234 680462880 625405722 454687188 451929340 977885330 607799190 157773416 402238904 570646996 305684854 516726872 58356926 311287166 943034372 705173490 675581160 766596294 29874650 274112500 241357430 832569674 946572798 782480800 222078812 512714494 721164980 585550362 491480022 254600996 747410922 391245634 605521414 805001366 876202140 131409606 856203964 327759678 441963560 236484296 107629822 245961070 900879222 777320584 516820026 984490750 207301324 507853756 493670248 825191768 748939572 377166352 211610422 306696586 584747384 536928218 200461678 472008912 395406322 359955404 540476060 111621506 831158270 223266658 996843116 807949326 946113580 365200466 6853184 944901498 455659184 659994106 267655832 735554146 14182994 919658140 156949598 885446578 365931674 632714086 904883812 337146022 326442662 645407104 205739076 356433816 925568126 958165384 338497836 511511774 573290218 979669782 992856836 150229434 44315970 644997384 508996378 239450380 919762882 390094558 874270268 977057918 589350032 371360374 35446414 396574936 997102572 833884024 12887612 347079536 691141840 615454752 435802924 254724014 862606124 205102170 761256668 868788786 802340934 760418990 513069834 962986412 810167688 542933160 773416838 447003800 679724292 989166488 350098656 779757258 99081414 628516906 694496050 483600976 24639280 723536278 724697180 567253614 195310270 502197344 319741744 414480812 871584048 850413032 795160630 340149330 672232726 790257836 318753626 385738266 375509018 506745224 897982784 314501954 836832448 975164804 796587532 604144602 810492754 804889668 844560934 890132184 232174922 667522654 820261236 728908984 925625294 593924818 566287792 17671344 496702720 393741360 439008854 455701072 772443204 325074848 746250672 710412706 608787632 459108534 764913778 381160500 140176768 571310568 565673476 74747606 325514214 40842108 554988876 700877292 815046772 856255186 674996110 380521858 228343648 242038106 596280622 990790474 364450154 524694844 578794376 639778682 313819060 10651702 217774234 699745540 323701356 492639852 75396064 925427558 879406302 815221320 837248872 26599472 216970010 791855004 694730140 102062596 877870166 215544876 433874932 468949388 517870844 809581788 406879810 558385126 252947270 564286424 240964532 439341496 683259370 813489458 895384208 744777098 791818744 881527078 742912444 534080980 633420380 243281844 433688674 912234780 824910030 138509192 393144310 753178828 430128626 91892210 562009118 52132444 574158062 776735960 501306398 763984756 528133390 931823280 633679578 81349748 936164362 556882704 204441098 346788378 748819718 456308946 243920586 572997396 782253142 855529534 665429546 136732068 794426454 564081574 500796968 739872080 642806512 551549972 444114684 168660202 347928848 677239072 760895152 290400886 636346288 658241666 237120276 782660612 540641304 834706010 830585030 945828676 322845154 893089964 940383296 512505308 334136806 29774802 690475508 738387390 152010482 564894060 256938854 925082430 539565080 902788668 412181542 291046872 270323968 374243170 49641166 369503112 303896302 283007536 2808302 396645732 666094728 881112962 301350594 108526492 297162470 769620664 466873962 28484606 943082144 159345478 257478612 365066628 851029132 649482592 689711318 600201496 682330770 122541628 409705700 896707374 826835956 281594164 170662912 969114756 846546442 577204614 320757928 169115534 597439694 140208676 331005578 430576596 386766928 517406382 287043832 613217136 867722470 378312366 927533340 706461222 871947298 801415470 58492980 762472762 650749596 474963656 655076782 459728350 154107198 731694960 144868964 698194700 678975888 770776840 648101732 747054754 604094496 592940942 151584196 969179294 995114030 259695520 876219570 635937826 876952302 842886806 673007522 599050674 679817952 981219862 44337378 701122688 155342430 879220768 531529102 603141076 607359438 571842720 978519618 118402228 782050052 30305740 851328578 413577744 261749066 56315510 141978782 725247668 346730434 275504880 970962690 301770794 668295064 789174692 348618510 159945966 75729526 79258762 375004660 513819674 117771382 295402556 513301834 371893478 244360820 510334824 257475394 2850168 374575412 962375922 451482468 157620686 738628664 259935870 274601198 405324720 436454234 345352528 74216312 972006938 518543510 665801422 664601442 643222864 893969576 685462818 771693078 84368032 855977350 836038894 299177438 777425218 365522570 974827640 491558980 180601566 903865696 129559978 429839436 939077736 565630960 764256834 637801244 231802784 210933008 833828240 759582402 389847504 868884082 835516860 506077644 33394762 710130314 933679238 254049532 245999148 665434458 656974104 904231690 177722072 700860646 392665672 114791254 597635078 624493204 76349192 472839544 70502250 614088766 349043500 289172306 37537354 259977386 642573318 698213888 139762358 86920966 922406004 430596064 852955662 180413602 716582876 418276568 411649804 491031190 623287042 67182886 981131116 706957124 662660164 33180834 753038826 772682566 113890664 994080282 452449266 581170012 80045472 737825456 218281030 165338572 33525986 647270910 988100876 163487192 494189866 168865450 341409794 847880650 988580268 309072950 910638986 649258770 418243790 15338594 322763382 358739084 496875776 886218964 25080244 487987374 887260658 246420230 990339046 32199046 222949690 148242706 311464950 2271598 250085458 567034504 904138884 219810390 393018248 683705444 956710820 492457576 766287476 443642286 7373502 419076968 765750870 190741210 540193642 806487342 164754080 652524532 655541298 540466850 841222474 896652942 608073740 923947672 552019296 348612832 967711772 836338092 337849798 227205668 61362446 171662508 926942704 224228118 812049364 682651030 801372360 619221836 420014734 949485894 94877706 252496176 596769172 465726696 56073318 592666274 614321310 850201790 246548702 543704530 18349724 946614750 905825708 54728034 573789158 743630830 948908002 88111690 439725334 131686998 49201276 642988234 591175238 130240286 87788930 149638170 509436340 537739256 97402920 159083388 90361562 10985936 962839188 792686654 51833450 695390830 647392082 546767386 173935728 103361246 822645550 644507308 691624414 775104670 395751284 58123472 728365264 117911526 849924110 618386270 269924444 850590606 895145156 517720576 981027196 286166136 390947824 655715094 159861172 547819898 37167026 186131048 619113006 486445366 307762580 248785516 961169134 496124224 929273622 926253772 435780624 230531354 350382098 533510796 464078282 265320542 506314904 55599402 135033440 522393358 324494318 834813750 691969290 420602630 138712306 868818076 607060440 62452672 995059954 574778354 577165138 274612148 397652454 761296606 786693084 463767466 504868482 829817840 15244140 425289754 213452456 421375080 54495730 858011538 528100648 389492664 756433232 512980896 997215914 54231440 522102090 346462540 172617628 610367814 327024650 603412376 698976582 936396804 310514702 112599122 741725428 807658404 788956514 92229874 359072836 413150190 824409262 162470136 213695138 385461758 99651898 724718316 534192042 67478588 149892558 845370474 444048646 252017246 696470490 835765704 889233326 806560076 737799408 916146316 529637036 996315066 548501510 72186892 371242386 157909296 509207816 384797080 634588184 440386084 428739622 472927060 678540636 978202058 150662268 751850044 367568962 180230236 219649238 572774202 784402996 227312242 180706826 67878684 861238488 505530644 223104606 117056050 917755828 70719100 9057694 763086060 854460038 622303134 806492976 386592578 109289682 500018672 809443538 703856750 960911174 411636310 542432570 890633690 679860806 870792288 916410788 839984560 844881680 886973152 944508660 336555854 967749748 110435298 564173542 642175706 359795212 212026414 779943522 438708116 771450180 629491956 981832054 191462008 801477480 721646508 189365062 103192380 328651568 18710380 212177274 804743606 50913052 227998656 557596436 481909562 539182156 532985006 171104528 199888564 223906036 676439254 338608816 714076814 12565230 393418228 71823194 21988896 613169734 634727092 188895692 620132016 387673794 556992790 894700744 399860204 994057820 279466670 213627524 307054984 504823410 55071432 220173262 21711146 338275860 920590738 675428954 87668998 996048638 261629602 967414388 899048668 627389508 511543124 221458918 764916892 887862666 678185868 764436988 541858648 745212796 298873328 563185772 842419212 631877632 322906782 563814330 776320688 262757032 132150650 177080292 22916932 904169674 122377506 460788320 455838462 922048622 866025308 335243062 60656856 121778800 704123278 108453566 75636264 955326280 447465474 899262148 17546078 112297446 940994686 388113792 923193326 433071590 320066260 801565462 187150596 332153514 566015778 252127124 868910368 668666870 863543182 658930656 319162538 611856292 314504496 681734588 993232342 416616702 714448474 674935380 364636778 716646930 689930914 745663148 982857738 865645824 561723032 826358904 302542594 664412414 650695336 206206758 444880076 422381118 309574670 27560896 225666874 156070108 406882998 292243222 902320806 901836160 114943600 572758730 620112846 591826820 236789922 472152472 426112594 568390990 971080108 451398448 425641524 659550554 695678494 841051432 170774268 848867436 787323860 514294716 916796402 866224188 58082488 42204434 980300844 443738998 459105228 991633668 9622438 688994570 679406310 306739810 928039578 120291196 875893434 671093300 729009488 39032278 754525090 830744126 374818874 90307356 380769714 954828916 866964120 851351844 273160200 537248050 648869832 160826586 730858868 581577082 27004008 670770768 497901306 743282392 108385728 942623064 500895246 227540420 236814386 885393240 210739876 335179880 896025638 519679656 822748480 464376354 337736742 496870812 559619418 452935238 801397536 230553572 720075148 194776952 906568478 46689256 571311414 549174528 730468294 327052674 91133088 936713902 779086352 427480040 380110290 424805360 390055664 976208324 529523686 75097568 641061236 186739694 224070066 565468032 835549784 819105192 782783004 80818728 711818750 693655636 550707568 153996330 962277580 229766438 661868678 985093116 556931538 109095130 694231006 32025712 831104346 687181790 780116046 365213272 986665414 290029162 73175778 655720410 176416928 535583878 356599372 457144612 793834884 687833636 243328738 476333124 575778162 223272854 55197912 764558704 178389780 638302898 728883110 522495588 518344710 512456392 115669936 636822358 351523204 145082242 613561890 563145662 790896802 684608230 34526270 701881382 760431900 563001086 388490184 198308464 867639928 876481016 51735676 461574386 823208622 504563006 743729216 794421592 277704600 274614718 958314982 794491180 767417098 51192884 983412390 551864532 494169892 764808356 877525724 769180390 371331892 483196950 455944572 891207336 168752854 189347652 742590574 860650778 281805838 258944066 343354788 956828700 96362070 242908954 358890150 585241292 51089806 187982906 769403830 386926076 957301004 243064598 618113946 120615120 502238138 494714912 669410130 688446324 958360190 249095998 783921140 339850358 28224040 417698184 885020564 644117996 172239874 842474190 121717430 386274536 963265346 477791240 355644310 671401766 214398026 934923700 458888824 438981222 543039184 70362 24674394 121899556 383740748 138395042 828712912 539540070 724819272 760354198 529648176 83665148 835681184 695060732 806581804 616170606 804393894 990177488 380239368 119879250 664129980 925143904 845729196 117863464 482872514 584523850 322753792 142718650 250405082 490291432 867909974 816109224 890515768 790560308 704322022 217401602 466454182 222397758 207196492 85167526 316308176 591536056 870812286 813297158 914383148 311467128 520255116 150645738 643221536 978904116 344307420 373888742 406141976 904652900 862818268 466609778 56580554 748802226 871048800 110251756 850433138 767727282 722052186 46347558 832774910 64255982 567293744 619084426 773955752 644502224 47543614 620815452 425805386 758936588 873624470 125181226 318242894 596485842 265403316 230090604 771812680 11608360 849523982 812367100 585435732 586348586 869099328 699928024 939704624 528235722 636433312 806033118 347568440 854588212 522430116 33654246 543863784 417130388 795547468 715630184 609707276 34952186 264917316 668540190 892537682 867000838 608888390 908343876 904297490 112500236 598420874 564065624 627005694 598600972 214269020 477092730 845137886 144509870 58674650 326385266 729898118 52733918 248746720 698864556 371320292 592940256 788127546 358203164 313493012 476459130 613918858 82628072 394850166 826554132 854997106 705267926 194085292 856882770 777334936 907946982 897191440 171405698 846829050 790900344 270210718 276225612 165957068 259432472 87484656 125058290 693965542 452504704 557431234 947857160 467319530 486736422 721925632 750210630 989808948 167106448 263755364 861059622 771663980 215575524 403988120 894306020 645023560 867032986 839980100 731383404 208395726 367729308 124605070 1917770 960912094 582746762 129088798 85484642 753417808 590683130 293809192 279005110 989194640 163237220 712464726 157064626 400025198 902689180 729881762 830820714 678534810 89972734 751838960 141081740 425285422 716583754 244698546 177326734 948469818 865713040 183837994 475092750 694149962 470691690 671259540 226427106 678504268 916948052 214957914 140442928 162945992 765986570 601654900 788806018 264099338 391848984 342173076 253378452 735615018 467805484 134709554 450553130 327365856 291934912 930722516 81134864 714760180 176579076 637089584 504906622 576951478 35441934 953051946 500585568 904715938 420179166 237334900 351095032 769127548 977376926 906152488 962425396 981773850 575113760 695039586 262019594 770534500 813519454 110781296 228868730 34848710 213981714 297380028 303624240 694833200 636968420 590529084 674835190 295273912 750322024 491892710 966489008 159589358 51911792 618095898 963158764 525056770 18754972 463405758 788284848 780066682 833505044 893552864 28763002 682957772 133224458 839888372 374280002 685974544 320633528 120331666 698527166 390458584 777000666 662459576 596608692 263029800 273974052 419040322 652985978 547157764 84476974 117649044 798788204 645980836 634517350 259620536 928868728 661433352 165900666 80414970 842490696 120295520 977544272 968403460 36421530 233119208 722189588 699833162 60388572 497287672 563193712 746131108 812741740 201008218 664879404 952972640 780857096 673159358 12728512 312089162 121435420 241623560 901277840 880089972 760229662 671430920 390741664 23525092 388503818 526464324 454454032 173541826 903991504 995067856 710158500 844852604 534421534 980844110 860193676 237644648 731751180 871248300 369326670 329686438 42458394 385350266 61772252 753442628 141860090 52233340 387923468 74808586 834602072 232844760 659450536 536501042 742003530 130492320 154103340 827841760 754691016 657063228 865742288 827425112 377316348 251001028 8184222 46643850 205031036 705158372 689217484 28959040 329280982 584471578 301165310 880150816 367720148 641307170 460515738 261342196 400342978 854226600 570265116 598607306 85280708 233576072 812997260 833451148 598438498 250348918 291299286 247530728 84312794 246312656 350550076 909981114 945467136 545321568 608067428 823757082 735028192 254073232 73215600 600256658 304087008 172376202 112306328 931658304 801963532 278638736 551715580 440410926 128313210 526271070 805721574 901915194 750336244 138849422 20373180 514765002 994804130 727809262 513962728 546245976 621482058 692564694 528711318 748295784 121081654 407769014 496281882 982220292 923577398 816704264 391205816 391496806 433628122 911810588 36545128 231935824 212172676 510485918 233593938 408492458 817099976 959987770 181610272 248185448 138829244 847461832 186450526 605382180 167699916 587963784 277813298 799973084 579224522 150770704 287641084 535140420 771521518 385995818 626474946 384132666 251217026 969517496 859090276 822219804 694611138 66502918 124437676 803352680 439662962 691945122 457302056 379729904 427402604 96029056 226056714 962996438 324785570 734871522 346813852 809737138 766304992 145767726 372865432 382634754 276846916 910359128 56392154 958995542 589039166 896932798 978068668 847461140 239683492 334668028 651814172 282757012 789975086 624021198 488261086 59161808 694699810 565643706 460411090 390389600 645845936 923664882 152038098 573805696 127228840 275158714 62909970 100571108 695857214 428151778 480695896 392587474 941277184 915896158 9591400 836304094 69705548 779889768 863069482 986144110 51568126 58063320 869907112 13911034 833273544 545681978 991761290 651916996 525988252 120917994 859984796 798228068 682788794 91877654 338624290 425430746 262810144 967761466 516881524 836475746 875812858 804441726 66927108 401186290 287261178 355501868 964194030 362099032 591075590 354271390 228241432 322520264 47574324 590691486 861168884 80601858 552871440 981466630 576109698 971204382 939227258 692282616 11153964 657223918 318341030 720432690 822781498 683708186 738270566 492491532 876047812 116050234 947230810 145509840 22168608 293805520 990217458 789009366 359776430 275311560 735384414 968219132 547391820 759047276 934428652 438561136 388831828 488295850 494183254 248053510 752217742 584358978 644757738 108362196 696676326 403366614 64369058 329031144 453637884 422691368 766322130 232757398 624487168 645590894 963041436 52775696 8340142 924302230 583908106 911791514 957857276 973303852 419904448 306181174 92875336 662155498 337607932 338625108 159597030 459510760 844473526 228062118 36577992 192223802 963484568 656359744 603728798 426821492 679551852 213885368 86200214 301334092 230189072 537786668 521911026 367218812 345284776 447080812 531430308 256217914 332618382 930680122 247725712 299874974 202577750 227307976 834432304 492084068 407277972 758866322 564167412 655357272 461778472 211990376 537679974 241089066 991434584 888813794 906260858 751165922 838231054 41563092 545009728 896354394 707279244 114526100 327747814 260772574 590849342 30250342 816686760 407649520 457896856 669967212 90976854 359612618 190823544 373203152 752373194 982929840 871654794 743058226 216024458 447585362 451946420 845713024 541051394 821571736 832070020 901936954 507131948 651422610 99306692 230021460 710068340 286910910 606750026 127558636 536373470 202402786 546768378 192025746 916231894 724560292 238566560 184073012 776248088 362778598 579731388 756465046 501762054 101552838 620607628 972210090 308377102 458183908 61464550 220178944 896146900 966684574 907952656 883601690 751787884 441086226 454191602 9396158 978421766 841306374 366496340 275039344 965100450 597336138 19179458 697364014 832013100 86516086 263946298 455846516 883210240 457224478 762489742 758845138 104997278 269305556 577370162 988723748 736320458 485064566 811670874 979120930 44217766 697821854 316046910 573328868 188254118 765275302 313854976 377500128 363461690 192071548 573152658 577420218 868804522 988615908 180527694 262207064 325331438 947233124 720283630 405922924 655361904 388949188 631830352 392814252 91857326 470138514 580230532 273308806 464525242 640242570 566991538 582069634 346227124 739446404 18488282 510092568 844265544 585191966 168171220 353857890 414536542 608144672 790696024 293174742 19559172 297364518 573120816 545733772 311668444 32815844 988244702 812573772 703809242 443899066 912006402 628790288 332364286 698067094 273900432 515007686 24604846 887207018 134003804 98193182 336457166 571627930 443552552 628403502 862176170 616286018 24709272 893523876 695649952 985425314 649778958 365348132 971972522 30105206 367132276 587940542 869741876 81539724 457630412 852025470 447951166 202626782 495093948 674268326 168183018 913983012 76973024 30285394 542724182 131139414 68808056 425536774 480147614 535137626 801507836 819400020 984533290 3032448 166954616 853457066 40964198 240705626 119160912 192853650 121069942 161650856 947538308 760212958 377561186 994418842 4554482 296467868 712052596 631291478 700891302 268285280 45957654 605099540 807654894 267709380 770021794 622283028 153101150 639939906 598325562 96618772 860994344 84103078 906099320 261846142 213702322 371774260 300645816 848384454 549172892 54687118 832120024 519930198 345437644 439655138 381200464 429976536 643854290 468896818 608758112 623685404 56048928 466810634 705590306 813841732 390358700 990290524 706705922 219478050 300421558 889394542 594774840 280656706 920607918 48638936 801106366 973423280 703962448 522348538 35009602 648922650 168886434 350846072 675437774 611997058 22421680 744935138 919369712 243982636 207889974 320811016 372414002 995454866 983692058 408927928 785002426 441155758 62723146 391849414 932657582 519560434 894033884 313239108 746864926 285457362 194872252 575521766 732157626 630970816 972025212 865285186 526001356 865607366 327011324 72412588 648801868 894784216 529725660 401224054 181649462 356684630 825638646 86289642 194619648 265553544 306486130 374102050 576596310 891273466 294837916 139074524 892029984 649180238 315871700 493688196 373546792 397645312 564272816 899480100 265343840 390011364 70353038 518138144 591653636 189655778 765421012 867061868 418810448 969497672 115094324 710696254 17389908 240507158 577647744 375159118 261264560 950644420 379087852 592135044 842554792 56963642 645171800 422091616 526126528 506178844 229636428 637985810 389141058 384298756 542517126 960580984 381217410 578626056 894499718 497941574 141634822 241901800 916929904 851319624 617471098 604610452 327147486 948429568 10563534 214912442 731557102 965259598 618748866 607418366 634984974 131888678 823250728 624799926 787588088 156733308 731316836 994235760 125210122 600211844 695269366 335084868 853252066 973967574 454105952 885899976 524714448 744464046 2445388 929776356 108833984 743961494 176147930 419224364 38863682 404984276 8322098 890325448 502164864 711283854 983188876 149331824 431871632 291944334 982561880 145596066 461373976 166431474 174148660 856545156 597295692 506263768 769499560 111758280 763615192 791558462 700329376 381103560 48586056 365460912 510459428 812798856 893451158 391194684 475045384 237227088 466469794 148594332 768219978 903728822 999873824 146434006 617378108 625382202 52327836 250482824 840869852 741092636 827325298 279374258 773109666 857770992 536643854 89533258 98957450 711756280 500740690 851181534 661680116 579148370 226944490 975892590 670378194 880363376 872265620 998346606 927009346 786123860 984480326 265179468 489135852 948063992 188190438 386801750 721280872 938264380 158787268 747791902 367189140 733657798 66684070 538973638 480976294 286560296 761879182 951690788 916078122 480948502 1928684 134760528 618783180 865375232 494009582 348783672 368875322 572961628 802824632 567768578 456080282 72946370 942966020 228034918 96392914 64997650 301210070 355722782 365872878 529044814 724231974 49432262 926238406 205867874 726482676 706629156 589070994 915948678 818225548 773278656 26813190 966783552 862112272 301776764 815805056 681905718 884741762 769911130 394861528 106129406 223355818 9628758 677781550 666466426 285160016 146490082 99655916 935188140 757341672 681604406 405678592 564356946 160184800 606993240 929340870 957183454 252684546 851591776 316365912 920397656 990822420 83434114 794142148 294854068 719829754 285352568 954809836 610255706 808669360 361688066 177267584 680185350 952165454 538135462 33404052 257432734 768239240 938165144 316691926 949502346 335856342 646215484 250306502 638639200 841797340 376538614 799059454 541486224 429629636 908513220 901107838 575334896 169247174 683114668 137502274 772189314 415229982 583830424 170614102 171467244 150555912 115648408 820778928 76053956 139885054 734367864 325574314 153416852 576471934 733653210 178283764 694621214 984915472 792760402 833866048 338632716 218278500 523136638 951260456 592140072 494463136 789353584 602351986 244176310 985914998 649476064 77659434 766476918 755440866 104616444 147840718 474810962 540060796 38826126 839159984 194073636 328135140 38694550 464225544 882824304 930312610 83633948 583897704 238982880 941239752 36474358 49100190 57597722 511299038 745858444 380352422 813659604 534900566 21926764 392262074 659154358 110324446 509243564 23213720 38988936 718443046 837249762 295300790 809473560 112325942 655278860 440842788 450292696 751625832 166790026 17635648 838940656 539338210 793278950 996058582 201770206 310305844 856079324 247179474 921330460 638998298 142519470 735451108 198980814 211154990 574732312 707790080 72739436 405021216 521248344 50417074 586852580 938185986 820235658 815085206 323929338 628436346 338888970 242593464 361145690 144872684 584489418 541780274 44153984 143452230 493562482 583093254 183866090 258094132 985667368 421980598 291187326 381333724 734204910 759096150 769181604 596530562 758460112 4787514 977108696 816330934 597850816 7444992 114165146 368583260 969554472 372195960 622086322 152916774 345848236 292141614 753327548 682194100 748394402 140017404 118298428 430671870 238918046 859665946 792482714 740485514 24868590 76171524 132930244 580735986 386890722 641574460 540898442 456521280 851295182 301240770 838949466 677429082 144648564 195632968 534184126 593218086 747407708 82641620 17122498 40191342 2446716 261896974 673351354 402936950 177215122 579808112 115539358 779953184 751573764 772642170 528634492 493388128 801665094 282500382 497999016 839929602 687060930 488212038 351230882 506022544 763673550 722735842 660810634 57101422 91200136 263209872 249832394 7194466 317702318 198538584 735130418 364320164 549041670 620778910 415188558 660412536 494943032 38822988 165741560 683728854 782460168 268961370 625345484 411042272 875352428 481989762 501949148 36458206 667989490 796687020 612525912 694982516 503375686 797933628 825790476 282269568 840617410 123283184 208330472 139677208 387529474 348154532 533150538 484653028 463941292 257656316 306837096 834197930 673415446 892593556 111827340 624150318 759058342 68214628 441382986 479267572 715025672 957655700 5251258 987742092 483736588 573229640 91414188 434944570 397453916 484084816 134750342 784678686 719001350 198664230 605143054 140653424 266453592 738865524 422181690 201011572 594449358 464661310 459803174 579544896 750606984 789688050 877174198 824694870 753806210 686451014 587124626 941135614 88468534 897755162 164099622 125230924 951102606 211354078 312502514 119353476 987049094 646833064 661742990 140694984 144490006 760659336 370428482 794374280 276173924 445161708 151797428 791059780 809818304 466527838 564315972 677870056 360853792 228824488 824230562 479593610 693306144 202202678 351055024 940463464 764777174 172363912 804164802 361666238 666452908 13665162 664385444 755704590 654924744 401693992 681925800 231863532 59130392 382339444 188949358 424828460 487026116 833154018 156800084 985887684 739792362 563532810 467586766 928790078 330155348 291871878 823826448 586434606 997661918 271644620 231239630 183319618 497642566 28238978 868383590 690477492 627157842 217696374 90413504 632956192 869281632 497079166 454326414 547665014 349874458 244568190 692580462 154850000 465630446 379540976 934046628 33321576 881400356 321338052 971388334 998247140 432136196 227515938 824327528 2274250 728618832 712385866 403501750 781044580 771748656 503293380 628406296 471756544 834749574 971556274 394231842 407518392 102555586 419026300 516046996 328509662 991281270 661350274 800371380 140661082 862193284 966302376 493853366 688977628 898858312 566825282 956474358 891832154 297217888 294144708 194916308 144917392 447814828 843510660 362780826 363502598 345320226 713757928 713674730 89117194 137911724 535177076 604157046 779312042 389102180 945445882 818215696 783310014 113327164 712834910 722538634 721095458 500329864 868794774 960465348 66939828 708610440 428737972 22041404 436619186 828500120 55854582 777474266 950155538 198427368 202786600 259402488 84407560 53400624 610830480 359820470 768140774 967543132 260419712 425237986 711758582 81689236 515904590 232823202 558866280 944580848 584242356 164433428 955000102 418205484 837812888 442173036 999198598 15980534 175982840 460948204 315848128 887289128 730086552 543149244 193650730 486414200 408749604 939761690 214624916 690480200 967072826 245039154 623643244 602647386 632111042 559858294 138508040 790671748 125952504 140419972 145954890 131961552 834670276 236432472 57534378 567950734 508491006 421243374 520037688 996700178 45055474 186837342 566229050 726542700 709369768 177292624 536035590 952478008 432989644 254017622 617120452 423366526 804574586 288836920 408135970 355048406 987283640 100823688 203086730 386150468 482180260 689192730 430293868 355428730 894137692 920864996 687717662 530411266 679797492 422415444 422905894 405930882 405317200 371367892 452413492 57888802 196033504 536499648 925793286 494131458 124249060 90224222 204167322 127652532 260454380 685837800 205907000 177454512 150606266 332014618 564206438 307625812 187809956 172123380 988746956 539949746 569140122 166231440 584255594 398306952 714789616 986213536 727240052 700526770 950617802 377889710 679317032 897500684 577428518 110556958 479958304 922191916 910431520 506614526 649043596 524522262 674943140 581540520 968849566 201359842 813543044 478847356 444802366 698063388 404596862 764021706 276091906 307884264 500107118 746631952 50520800 793840528 429700516 782365204 831824010 705228262 79298636 210160286 937521254 38722256 990070290 552145600 400122828 564990648 57647166 171337924 786359748 372206828 321374354 36141090 234389116 92576500 959245616 893052304 281610826 447910788 490166102 804583010 647254074 469694272 910529536 169563278 443272970 105042578 272644426 971427948 47408484 563702132 296353654 788193592 82833256 496524354 405690674 425864316 267661590 644615142 367762876 282112206 356519260 159961696 772425780 706842210 238411920 521245140 774767370 480347626 611901848 649315106 874640618 965144050 572649868 583535014 829762254 515689396 986708932 623691910 447358468 610054858 250091244 216219380 635112938 839805392 688240214 522102470 24158484 347524996 437694472 711989620 917497618 411567566 603479206 148228582 647673602 50518624 14682352 405972676 553911796 585036598 332649348 26359368 781651818 356330094 822725698 770846424 247758174 956230866 905902946 891544984 482315426 207376496 277842128 885844290 607657940 781866622 859271808 746568130 594185978 73256554 843249900 413524922 865857150 997175414 203538750 843157088 317820770 751984582 722497742 111382362 784857296 470372890 567605860 834202470 466486730 679340950 946260644 518974710 559420532 623404586 837343986 818598444 735955774 830085578 163077290 444133940 196781764 956117222 112930164 752718134 365514966 682574730 229016072 737683212 813833060 408141974 849723748 811029096 893187844 744425282 410754470 323866494 7137246 215992402 764167388 63578096 472247640 759133336 448352798 534256258 291707644 86132728 328667098 138619000 955059926 553706292 333845056 853552904 93480166 231677132 43852142 970965894 416175868 840802576 166042668 432629962 874796736 880259512 220161672 387435220 919294792 911634844 628533078 115719528 585394650 161327556 880600158 346487266 787003200 228761938 209748408 851685996 988719692 992651050 102084526 867486584 610851574 543249272 879163266 491492372 632032264 491298084 198780648 101910570 405146780 797812376 61848532 104182492 797449606 89644534 362939150 259138324 755759356 218332168 272254404 507020620 316508204 258972834 956673762 553198756 843228220 713563884 120761910 115630582 280978052 438427368 482038318 276580084 474933812 254626908 651915906 92663648 238029868 729123974 747185578 428886402 316230548 295166344 374650448 777890202 389402940 565545232 21850634 609796574 126866672 559505068 3560996 343344930 760518478 437102988 105548786 689295090 339646042 721850220 676015630 577518380 389021824 564995504 346855284 896696808 690339282 449511442 259635994 970098638 755959688 721270536 531145684 426953684 590110090 253666314 49006130 547331308 657691968 465700698 639765704 482371316 799138588 100680508 598588412 184621524 919832736 380467866 810439426 961711854 352062772 620646000 404644844 43337872 830584024 855795022 881280986 434558670 11573628 631405096 327613594 832459758 326955912 706967694 933402612 606409182 488829212 171555900 306601632 932478078 98354756 469782508 114100962 905192274 37218042 919408314 60893836 638778348 381635334 989005868 585337844 399719234 116164714 686593146 102934346 757255294 325606950 473555950 585014286 706746846 649928108 911298076 367272996 358226232 887605052 655626462 574056964 16080598 208190078 601531850 711415388 523534922 986146444 545523414 949387442 307057084 595308528 411328288 999302508 871203886 723122018 819342112 666272244 96371890 868569996 329450590 16763438 559651384 613302778 650823738 586600784 431124352 287785542 976793734 828158454 32661844 413989570 750548206 928768314 845900284 827709972 494160592 712745556 554029880 258511384 721847186 657462734 592698796 192716310 595761234 201541898 458341926 263502786 793255922 23123094 114472266 736832534 164748940 280592934 77785800 236273248 612819950 437241104 785562348 945684720 363373296 269170232 368815422 709662426 530907922 264294002 129726772 273818678 365748848 512940952 134858054 605770304 594132010 482409114 584366612 972234844 245711604 529360044 353086898 140166846 95112670 467499200 120521990 111454742 141095368 544832560 372801358 362028908 496250398 906828506 333363626 654451802 890466000 399809810 804046048 820913352 231035254 416900548 573655996 443131838 156980600 522566520 592718266 183869814 460953484 603312552 272703950 339884096 605888624 472501888 946823032 236096052 771030780 530553022 810634984 980813902 886798776 947882984 520796012 959610306 770093104 475482230 395567086 405938692 847529840 685327090 451400696 973943510 825618580 550397912 379738522 145990482 609232076 638512858 635681714 684911728 540178322 514932352 484066682 537367286 728517866 600999160 596179150 556794766 553650892 691752434 588263198 75343418 650752878 208354244 40371444 768213398 325629084 765388006 392989222 513378244 875044112 381412982 206677752 779593422 362433422 754410954 183591254 58511758 395085268 442441852 106736624 17139490 868958564 715282196 749910978 380843108 448039734 575080384 548972928 98145836 382400746 83379426 446043426 198000518 221432070 941376266 243779610 326704574 158095590 922446994 611030116 334291180 554102944 525566234 6649250 288735430 974783444 947425878 38326020 453496160 441951264 476531504 653523576 471662752 208049086 349259028 906220708 646960646 802688974 937541370 771730608 589631490 794353186 330988280 571444272 375000124 427040004 202563076 879197576 523534102 673537106 888488848 776369742 422396916 842485416 971515292 780100936 295874780 220781490 942006662 666031442 733766292 437792134 128635378 915791318 89157612 470668950 578166036 210655326 539755016 298362858 665574 344670192 75113588 735754722 633112642 636313664 975744222 916316648 168520412 181109162 840977414 177754882 686141466 560908686 281189592 558552590 806120446 502339526 195015014 705383032 86976212 588223714 814076206 22837302 230230930 96842880 76445196 659581978 491072644 976834310 120456652 117568392 941453444 306785010 315973928 727146010 621381540 211916076 521381190 459159778 871419674 964909478 115586880 667979964 864360660 165017056 73020434 912002866 544007050 152785370 123047688 656415992 760262054 296332406 812567570 210121434 671796354 615842378 230071462 701564844 105952490 183130454 112373564 543501888 578658370 404012758 5603424 194840216 435767776 477191996 951841302 867714836 138276880 122209002 517379878 610992442 226128356 889366034 418542082 801347178 15600560 8322466 28250044 849473060 429789480 733243108 439231620 851171344 246425020 293041514 232574048 952670440 133937258 420240486 823856042 21890030 819107890 328914528 729713968 359395098 999228020 833322212 598795354 349688082 38450852 399474012 972303940 162423752 600957646 639274702 239791886 673149730 873535930 96724446 958686916 661897738 317549862 187134830 489932234 54179174 618388134 149192514 567123516 657487620 973902046 241207040 167905178 951360474 226295266 302350584 803525290 280015628 446137018 399354996 531592278 628963502 522157280 977004622 930886506 695021890 180089476 972403838 835700682 451702124 704336202 171946514 933275310 403283406 287177194 678921342 239326538 178556414 971410038 3204714 989200772 46703874 599708856 302234474 616390594 723531134 523580264 744976590 995328022 172749292 646781684 786981760 692523100 667300974 565691978 525733664 398198536 217480806 591272616 511095416 885387484 459331590 183730052 777143906 918410124 926630894 646205260 682771962 943534544 325185854 453093138 282298044 844751082 818116854 214711358 183843700 954021840 368368590 704753074 139755724 984274280 650227874 618231442 655137768 442285622 800423104 689049252 981543848 452650262 113243930 484398318 44852020 927181030 387755488 758607126 972203762 585540328 555334776 906466598 325037132 198202738 708277924 115040800 60394108 726189364 600488128 195877948 628467200 677488550 587724746 148921510 431535876 309678258 833512338 40185746 682210896 916797962 479371232 888512870 698845846 744993726 809187566 496395852 385504790 778532470 584680592 782677762 798182400 539742660 354260348 173919576 269168472 680016458 332044464 594031070 616321688 799200786 450024612 601774312 199298526 831011824 751787118 160798152 415793444 578952780 17369920 878476690 484839436 734968594 378017112 84289626 182631130 162130718 190126992 678749752 761540452 355117518 20698932 218086168 640640096 305129282 396810514 453113670 776455530 500304820 369107682 736175466 46672518 656179150 708827782 236998232 179900678 67497768 759298880 449784648 155774442 291826292 365501008 304429330 434097396 144971540 329758066 958415084 770917174 154892652 168626666 131816018 969262302 776878998 157175116 174582900 86579876 720456200 645595210 528078006 547171500 935812582 457777662 747715570 905002850 46540276 891782674 719427644 788133184 30249130 261840632 472825750 412918652 763297638 547241090 311811668 717210536 620038028 81842838 341319662 886750118 807455252 529229564 710497764 122397020 154365932 380087132 591480218 252925258 895955784 480363592 775725164 353680692 933599120 255871864 479101212 755715706 172988840 408912212 948168226 213949312 300046508 449877720 981384448 971993404 954405652 461362780 592420630 162388240 936840866 563230028 841289986 652175182 104050956 171875986 511455308 15887946 444922056 620153622 195536530 60077048 64878854 868427084 669437416 539409696 729831916 549476848 198484744 631028522 941781564 779241566 177354068 927424448 171455464 976277112 847024108 358593480 693270954 534791122 234028128 576604016 931497464 910790514 70823612 491331184 517749448 655367948 480492590 866855316 721169062 152965724 404461330 18418740 312495728 168656042 877452304 68572862 363332104 212374512 867152652 780194538 469532412 324577334 655317894 273724850 466490728 711685602 270396952 118406578 810818372 117920252 157326478 151715422 503197542 873260750 228128122 505578224 759898160 434235402 548675388 454745994 159102088 80925504 227920088 199598368 232299184 128586194 659242352 917936932 351831468 64949802 255194396 518971970 210486100 102535568 746354012 416938922 442246348 955706352 262557694 157410900 379382610 252367598 9213622 245656950 830911718 291284920 781503482 534619852 414771110 740187256 195943422 138358162 521299184 731958996 372660200 680859366 45413038 399245612 792678010 825781626 722789916 504547620 464694060 638764788 601512132 519324890 728005944 645876278 190035850 378115002 761944688 797497066 455929170 895067912 786160364 590542918 870174622 277724684 594907468 882722602 537715326 110241236 861199054 939111486 840063988 685520938 645588604 755165166 274358994 179075334 384931400 82989126 737614712 769987274 898293046 339765856 180731762 861355708 86145968 210108560 126404372 493579396 940282996 531189750 329306598 611854758 569378190 606915400 942907888 463046502 835981568 592470458 542331610 362860166 63090958 139359856 526010774 230281332 938585992 281428758 61992290 980704286 203152042 178986038 387912902 78763968 664163946 929267410 673246508 116467692 447773694 630227134 960451642 839624476 365433832 919152156 680085400 693764062 113329464 754765334 218733354 241428264 724314086 8679054 177433292 593026776 406590026 231660618 557467762 151287440 870427154 359488280 621624976 601845300 915093834 121116094 996720898 755468370 7330266 783379360 298280912 319117154 137544842 823637568 592544804 495126342 634272998 426487684 972822482 576645102 372450868 921953176 133573384 564400826 612782662 828506572 969304570 797288118 712419602 833051416 448779380 207308190 418409374 649667486 972579574 460252822 915624100 637753628 495301260 787700078 352537164 326176090 412082594 790316504 93005924 550328266 943452550 574241252 399445458 251769618 266902168 334766378 541409392 334495504 616922156 436808668 510079850 853883752 464296426 542438954 221064524 305250100 69273064 514483394 282114348 104630900 600850692 59868308 45306782 828839566 822751262 739760930 869572098 686461922 282009974 605811278 797841392 234296048 809283620 839000972 370628772 91264030 780023270 630803740 744131092 151336084 619746464 445398232 631094546 607713622 804501926 851431446 123620142 662378952 959975480 30220762 152933446 398828680 175000828 716185492 78924860 447897018 463664958 470873800 943764848 863339768 685657980 941132138 614310286 650251490 59005936 702180318 933586976 961406864 100458936 898254022 670544318 372267776 416513654 903686698 489714356 353448666 577850630 738057634 134186380 340364704 312790720 507121888 505458896 333376442 588312224 748425264 692407544 355134154 536549508 57522496 956034388 135216534 895484102 72826960 569387222 402869960 899721222 716902858 622566908 445170990 184454870 65685656 449936326 79517786 185784078 773051852 763077146 919734944 915827672 178627052 320897734 751476934 256547392 816667892 463496282 848882102 766690016 29490370 459707298 538594516 208497592 987532814 501440950 304273866 67395778 118108294 950158282 94131082 766595900 327560482 801298 596123284 342751658 436293420 539644490 453460018 347096056 2939994 943054964 853990168 797407898 508460356 968070962 841095806 33609918 896592798 87289038 397562626 180436946 864270144 197029352 211980118 393196198 194390826 252322922 243662402 38954598 424399042 838014036 297819140 897817912 587250572 652270960 873015492 626296576 767428852 589766350 880199418 71573548 807235568 282085612 873933416 280775868 593094018 821759132 21646738 537873610 798504692 188890772 205924890 750445700 215297770 913840410 855459594 69403768 450850980 286733330 137513862 761738046 813146606 675470270 501125032 206963734 489983616 428498954 188853536 784190774 757653496 288076468 397007568 890687650 113769594 503630078 420488074 723586012 630380676 445054724 376182310 686715108 169824160 926436576 590002864 939167730 609630144 652347564 245600468 112375978 688236182 394405196 477787110 981325910 454190604 651160908 818281386 699837780 911763938 58822530 494396478 372752664 503571610 244394328 497632076 551132792 343345934 511255330 126875432 753817376 891970594 128334948 175698950 647795216 841283848 843158896 70932332 178849352 885964962 149337282 537857670 132292692 912089674 76118696 453480358 401930914 140246136 654972332 50382312 373320618 131313100 318285176 24658942 371874484 778439062 239013968 855890624 435072440 869990252 693485014 384352114 380733276 119805294 553663120 808748316 973676602 229964790 887194144 683635438 481866420 529733826 118482788 715217776 685080010 170383232 279973694 815570254 645127504 615111228 237500980 728087832 412752734 942373268 321944468 18504962 969204296 980057492 729769554 339424730 267909140 47736368 511986556 338076842 162585204 543663462 867339320 609946214 346482504 22991214 191827262 647473014 836197378 928573898 493471096 444950020 384807758 9047446 165518132 360909330 126822798 561074362 238212300 923683584 211678424 218204970 903302460 228109636 376029602 466846712 52502762 856283416 841389094 434126388 480030428 921886780 607326136 157342848 313632658 335744264 668740082 775906016 356163602 722891366 550704734 58512894 335102016 123737738 467697340 53960294 947811018 698291938 775048672 383055602 30464082 1937656 99606714 212406250 198367164 386605008 960457238 231184412 579130442 850821154 212433662 836654934 859977732 632614700 730721982 242466814 362117528 576320802 95114870 565696470 361468386 851405488 891544796 346939232 655703232 523891054 514111678 957538876 89180110 89725438 635056156 378248044 208638932 746030414 870693790 526923184 337369136 635961708 534429884 395689940 295414318 525489880 946193746 490400974 992831350 565136068 720024136 609809194 503711224 700391462 92585008 200856084 739860192 911570724 447107000 226880046 896506068 895357900 196890956 88518448 958957004 784678934 900393702 761195648 302206516 373464552 526973852 544776028 805179396 25887900 416921154 213539384 334237026 501136218 823235900 996681554 182145332 995534976 1019454 708576812 998613908 374890558 812256288 416382678 808708468 238070280 751589156 493710710 813128058 348977460 215974832 272193734 584500332 146336254 419712390 160410050 750515722 835311522 265069172 342700158 63041232 230880600 196814364 57904752 987282948 477434064 370256390 788343354 286535296 379200248 993710162 273341060 218506496 746530434 859782764 807191836 266956312 439338302 855745706 901113218 749233732 568083628 656330636 929849788 365716472 909036534 646264178 82088934 443540304 553963148 932345220 604506348 373839104 489859148 513209820 415716446 628721812 66498404 801922130 548466586 726577482 3976166 161799950 591437840 310816660 7351152 814287926 751238408 857147228 611694582 288449628 962708144 57166188 55663582 927034244 404479268 731981414 116011408 831420906 237604168 536459660 460928834 476377778 693933096 677872382 832155064 92274090 460484438 536279764 898240306 816637960 467212168 311973968 922461684 84337958 680276288 238641784 133451384 507723854 898007562 906962324 753454854 335593058 67962824 595251424 354899790 897648676 670490032 593118324 995335348 978631220 139127130 817087870 87772996 374626836 343779402 486599046 98141576 275599302 809311954 185401946 842294346 815035968 9523552 474189240 811511598 213357276 640506642 221371416 430880248 931522048 354595522 651166470 744410650 729772666 542594632 231519956 340102920 225618548 525421524 117215080 125494336 723069414 679064818 976972114 507717028 62151936 604257418 815288970 275107900 65699016 488218164 307072356 418326424 636185322 24867734 665986130 349458156 493773178 8739520 730251934 513210958 575510056 193858454 341328286 775409552 933648938 981299394 823739224 42658372 948582370 229667560 907631328 447431084 217701534 309067176 125343914 136823090 442282126 93484688 304599108 627189260 108207240 794264424 351105096 147190234 243610486 716558100 366230928 441903264 509335192 443928562 934051602 44865754 150234420 776588096 743176878 323376378 658408884 233981936 187986200 147768136 767992664 303597244 927338236 675779796 247589040 18788054 847585254 669043450 608272852 285333448 769642578 562202252 244218878 589946290 964770178 919554716 379921036 102587312 898141264 614410062 981629642 924650210 433176008 685926478 364517842 275130566 496175846 999605390 305242754 181312946 868141486 193511726 992520112 37464766 439176748 486321962 287177558 733806698 22038704 436669778 35917874 635423196 832596358 526920008 961527682 917559706 230347244 292274922 169739862 2514028 131232362 799654562 359444130 557892042 479595592 61197036 450349044 453589628 589128208 103975574 516569812 113461052 73792800 881166198 163264290 587201258 217857018 933773716 48511694 244332516 755483878 775105724 695613680 517878150 732635652 568954766 951425342 372495132 610696318 957944094 392842746 557269310 938045722 775985516 284423062 342421404 40030424 711566568 308824938 494304382 294215088 674863856 830147340 729293236 916674024 861837002 488803212 220781410 599517162 55859658 672524696 662100070 772318292 491106672 753909976 153886680 568134024 394338356 92994482 496054118 285684700 157430844 904852644 735993174 757906544 364912202 700381942 924882098 289848244 657465186 434365340 663980192 517517046 856938554 388413832 712540006 482569628 895483936 270877022 449456294 316420366 514743752 139064450 305299508 200833720 771034676 628110578 552917440 73834708 668539476 886918096 348270498 356529038 129773380 480656032 476444708 544713872 395895960 683159996 828014008 463616940 716518204 902537724 124696436 49016858 545465860 614349794 880195920 909636286 966621318 157203598 570113038 244238696 91802674 863789858 607217334 289372394 427548636 576429442 24660808 112904754 959971856 398092180 865869952 820119074 256985584 96908354 853851980 383432114 982740104 468354448 763921338 140558226 511924272 853537438 133092488 303528378 135593524 348450220 802459102 245581054 884078446 994791522 833458638 486604238 633425596 476581856 705173786 585104892 249177666 388394500 692615716 180135826 411490496 77748736 70894082 664059254 408838694 310599358 327018678 143939650 650686792 568832834 897149254 470308476 792474320 278391438 930277574 704116322 798272326 44535198 753698664 701393558 609332056 690254200 81064858 771301036 521941776 227830036 57316012 167458250 599613142 224857684 293106854 731693008 855122462 545857034 847371944 358264378 17682558 971281790 135005476 38546810 992203190 999900382 329174774 506334664 384050126 741281244 502376204 495687818 595830822 989812406 106656698 348312790 29583392 955916278 584482718 39566860 809936134 146239938 202778076 142857932 580860260 815243342 15846858 914053122 128283362 406694020 909007436 483056250 425008088 783964604 23286866 119821028 269940648 315232312 984181090 383732942 568616778 132983604 873950810 518819722 419910172 70964508 96993868 145821778 893589150 303544762 473843036 322335328 313874512 892136068 492546490 792971964 753425760 163557364 129636898 643899524 545881876 193550880 777471834 433391620 802922956 220868706 733023814 432498092 199698412 325780576 880916168 288447476 415117518 399746074 513267396 336636388 995644442 373607902 842283046 261312056 336978498 349720926 954273228 877791908 893431446 466158838 391008634 474475708 308116056 313818378 369089154 994885860 835045984 587816250 370694902 40406218 527195230 307963720 790382020 825177422 941696384 333139256 998809228 424530704 366910590 99294568 340736390 335612334 518830532 402219854 58592652 501591128 949407038 763703126 969152670 879100248 14154352 507490008 494477956 377472378 369606958 897949478 654428692 29770814 846070262 455690114 770619104 266996126 747637218 135304928 781078330 645715704 979734114 330595458 801777316 577755442 131929572 697891756 780992476 795570456 679766314 32783082 112243334 562562128 797801092 976311498 387954356 224982802 546741098 960869244 663613708 300174208 659303264 855341128 50586664 195828426 621143010 514867318 239119986 504480398 487178590 619724272 466674366 471926092 632413340 958336274 674618554 911652482 519974228 44764598 402950438 522955786 153898358 302989642 115787612 337741638 445549420 403855238 33697346 697070026 642990388 4340592 276600980 95546790 755134142 757099300 813977540 760293430 929882990 285483560 762116824 582052582 856970432 422867984 424830046 967183216 298588048 329291322 194870738 48978562 942463316 303455634 121085090 642675272 156037198 651961256 806449954 792730978 302138920 727294052 607245244 645397404 28818702 494719436 929753240 466232020 890507588 31869054 612457610 613472260 579003266 160311670 10707410 260876432 793355246 913414650 622114846 705223692 895924318 1903576 77559184 950843982 383726348 496235320 640147982 189691174 143637366 54721720 43525218 557205804 997626136 829089720 555131212 349469608 719999286 325062210 675222450 529410240 681050776 628069296 221010350 530871778 274823296 261606308 771206342 98525238 801838124 111594034 481890592 944755048 203129568 992393744 388081804 223918102 161621668 314557630 682928534 801987666 94948180 648136846 221967746 296730718 864179916 359443280 653775846 899096664 538822672 644395832 164430056 596253250 107892394 351694742 825378866 891126302 551442550 809387262 121006076 537470810 496623638 984662382 334133070 945317702 498039470 523887562 250208176 57020460 39111030 745052380 226526354 871429746 999661478 128346126 839774594 671039920 204856410 703815678 320140658 739786008 172010204 401609254 875036570 138205262 869194622 72033052 171591028 216284766 525462124 90262524 942289174 133719900 30716884 472417318 174216546 647792592 572871822 900491306 104832898 264783074 664725650 721863430 736664986 782890110 198129908 131036570 505967900 285045906 893943462 854117818 970208434 577424394 755265392 21116578 815732040 726647302 918513058 833729256 351736032 497236230 306886450 932918092 371859856 39898656 515148622 760921348 358401462 766619590 723405330 986636496 38578388 408569458 423275504 180270282 959041828 323879370 887484574 990977504 310544994 745409310 741930876 841082194 864785714 285773078 885319164 297840476 373809336 444100576 388699416 365361784 611898926 881103202 565329122 183785660 360724572 95700188 131018262 663296528 805447430 62020502 119513264 96625348 419850566 568260358 102052896 897542060 587553016 715228568 417078996 25515232 326200138 684210320 808779048 778769534 766070160 10676806 408196180 272402374 666768778 815244298 250573198 877636736 992924996 183088982 846229364 189085020 667989842 473274376 750340024 913105816 648326586 636516394 311614140 940920418 172656038 506947100 938974852 908662256 904349272 220246462 739821138 814057604 151007300 447133498 365376458 75390852 136638860 160649012 240650326 928672746 129026180 981370274 153734380 552306074 195233844 823724974 810666442 366686986 593759446 914781582 388166522 768791302 813138884 211609264 695890630 844759400 83588452 48121876 668182978 175960058 968010610 780806562 426781046 670084514 338063124 586178110 713068956 955770306 778451812 607859990 191194114 136852166 867976102 892266018 850580244 153940066 364595978 566455572 992310624 361764412 571613440 77017538 674234802 517593882 729799006 208989160 261676946 687892140 299289236 827940994 379670058 11387706 672314148 981784196 76842490 795548844 819951930 681843882 237708528 819273408 279600286 544721196 919723014 63945840 897514086 235003224 719060016 268991446 915266492 613002886 916341902 686545922 633774246 913979250 517722236 227097638 31847336 14423836 855056702 169063728 322241726 293018884 972580600 956690152 951972686 143077252 480510702 696007376 728212280 662524716 242017062 744705992 609535962 46976536 374960648 316371718 222223348 424199870 925826414 770461728 846138816 681032212 337035084 489747302 245106312 3926016 315933310 297111776 3593672 547933372 318751846 723999728 396253522 240059070 440372756 175013322 38835640 659251584 659085070 957719442 140589428 214264350 39221542 253849160 394596652 941027194 187994276 21365724 176009568 383702552 801884126 640347362 443566634 594766140 196467140 532217918 415096376 786933120 855804290 573318136 916315072 200704456 595509122 193402044 510897178 179939214 256228034 925467012 292419240 291088824 52312622 40080146 847810236 497380988 11155340 869049898 298509194 191612378 894993740 324869624 589961572 659838230 755887362 210662472 12041674 354003446 342152474 833382444 380559074 444936482 119077262 701720024 159435460 672996106 179765180 545594992 535044594 307065328 331237842 603641300 410239168 886722036 562019362 276362562 760755040 181014600 607792104 232035818 497442220 710160606 289066580 54224302 192053590 474973110 847221422 836684912 649094396 259882206 775503924 184130250 857899982 764078000 36698618 314368478 828671436 963745604 319322266 112703984 420834768 920336388 941785558 337065138 646654364 355125460 873764704 867771986 282637086 335162094 843987598 657047102 849970734 432788234 107827960 272937196 380410474 981047190 168339168 708255788 699907310 652735404 568995086 821832274 984592564 995092332 594758026 296533162 502516058 252248570 399122472 576260848 769025374 489277734 891448058 738063070 470216016 894094748 162486154 849331116 264428620 660563784 976226146 252015944 801852112 245358520 584782856 107774872 616457346 751773694 782039678 674319560 768964438 996173652 642904490 960794304 501456416 542335664 825635708 777089488 5211258 221022114 373390360 953528490 72546938 311754474 697149096 813083980 208046696 959278066 418612388 706631962 433919912 413501626 694993574 302569814 163489168 96337170 211652646 856514072 965623944 426581160 226794386 556296294 580271370 814467880 178311250 414582190 511900276 407554464 986020144 298910314 483996542 593216418 557107892 359462658 959650908 639078410 718297768 502925504 19153448 575246344 98922358 194614884 305277038 618121788 231246894 191589868 970931804 108273252 864179494 310283670 120015302 20578950 333130030 698651254 364213100 406153070 928988230 962075830 933982898 846151186 425649654 33480568 946343898 12649424 836607446 679166462 340684646 235432228 123486262 664141534 788660934 438525298 494338720 62110970 460994744 969481098 390669838 123294832 243682264 719229884 489738766 626660888 188970110 904392026 989820070 711990386 123380808 575060540 634084514 605597308 821015504 100122732 859431390 904836696 38535530 999930364 437201012 51693714 232527512 382080740 804902058 743267564 888492242 680411462 977274176 879267648 994509286 67621422 191103608 897787188 365062624 767783952 389166874 821141938 362306164 379179670 234822114 400932238 52192764 504133054 187684252 277045448 320467230 574275956 1528104 786617420 920885400 632967414 192746714 178306352 91787708 623216900 592785750 418147592 453092256 99275720 378071478 266257754 438965472 915009356 771718810 626490512 717614346 443847058 950241980 225714204 483474578 470048408 249300780 502744772 949827260 142188594 597649406 256235348 101774114 972678914 48015454 312716986 809568194 99578424 306725392 187768020 248830814 84043186 167478536 432370832 833061680 180056720 583441624 214444480 23407644 580333852 786874062 680012256 482177750 790283226 333024630 473482274 65991050 801835650 505444720 683108134 657407412 36055090 115549734 639700204 731862546 145807034 690365056 1673202 921825646 987591026 771007248 780202202 363966266 352128552 241116968 256256470 355702466 116026070 548706780 323737026 108391334 242106184 291442176 460460644 354287610 164762370 606851218 78135836 748372288 308848646 135697828 783690012 336933146 340031864 517751474 176232782 456144078 722827682 602560454 383284810 614282722 598610644 940506576 662662560 211983834 350567388 294269892 660425092 210469022 979575812 951024078 590700522 397815958 883126660 590602442 307627092 850097216 909922736 8045362 800065944 428785074 259848236 859026658 885799234 597273776 49443194 597450484 239853934 736344200 41836368 500448454 600955744 54183452 128236142 199708478 870495590 851264338 895039016 740069310 69736654 29915158 860107466 287396472 174778780 828960134 956782298 504563100 236446062 55537050 681807398 695421124 344050696 522549574 320973626 369809496 310201078 428831488 749234458 476430036 277040472 46967090 378628518 365895866 60356276 629583644 67689740 916719862 255602628 553328340 597051814 847269150 290249922 581900108 710522020 407000828 466656616 34168398 803355096 786536428 733293060 182092860 896383134 389484620 192900412 449974228 453548572 435326400 507454254 774456318 787968236 145056198 696603668 318439138 997831382 499588214 654464942 28287430 232738600 669061658 959096544 109551742 224153538 371321082 650528162 558979860 916926168 177381600 359233230 96885598 596572090 845488864 618528104 425848744 513412 364686030 315883834 501357566 796866194 534502300 869210434 367914394 496043314 109928318 371702738 613261960 271791394 830370470 863975470 562855986 211193026 818323550 557389218 421217808 43909970 227579282 974264688 803668202 609973318 36436768 743613796 904043134 968357998 515207960 836241108 154880238 13162510 463829568 530656486 910299038 430484234 334793322 769845306 977827548 353138168 341575104 115199290 599825036 304076776 534134614 105328366 549725048 128868818 972704960 92019762 874123638 89429998 282587616 258831496 349776032 971610568 858138560 238110492 140936100 653110364 193670498 638998848 239430252 572724938 265736064 512451798 953355662 221568890 504246474 818492584 213378492 710596660 965879434 648615760 465307484 401550742 444127458 480025948 772402476 103638082 542011948 790206676 575446346 791003936 110374442 485599472 60102498 375197080 484861558 638365794 312446230 416821076 425687620 823096722 744052802 370439098 568691834 103317802 428959588 468972280 387913044 918238960 594933804 327256526 753746804 560217970 729571324 162725110 790149984 114017388 452885062 840168934 349398302 353447416 649447414 285402964 946045116 908079490 446224700 813146736 215801098 830681382 849897422 256429078 11603840 564307804 290552016 958873956 896097910 257562866 147482296 807455854 488745004 474383780 329080020 802665368 643401438 508628376 396905986 342334994 997178750 889449854 403079924 880261342 243241998 274557748 272717876 440018928 830390382 673726836 95650504 992688240 703498456 891049558 550990662 517457708 620611272 306772122 359718300 935488688 563300910 39800170 570363538 253186676 308407696 39109936 589784940 207010450 850658456 73118150 787485446 884906812 959714216 829921848 77801326 568065796 522464472 71485714 603591604 758651024 749900726 224060668 99106736 448127620 679008054 134577046 932325628 738087612 61753980 736934568 42580948 617118436 99568290 616261726 909767986 463240606 128941144 394659940 120117104 99810634 152377254 847919974 53309846 431959246 487216340 758061634 388205424 921022854 311658288 442045664 69338472 782947922 263518896 205638142 508361108 2899372 664094770 870247886 178274170 530045292 568172888 705197242 197132122 423061010 387581910 487497682 41684686 430006724 601040826 360312152 456527546 717017708 812405776 338388412 31414418 967257652 161834894 318677438 171405098 419671278 786879332 515296096 776211770 888310000 173615342 462473188 719736066 247536078 433441880 77232838 626918880 21257212 202111040 972025874 90278974 887549284 910002734 988628886 307496690 703739528 266947672 35768228 960292496 265772812 268546702 252745792 99891696 87266234 7488616 500241010 354996564 810696724 739290300 554527912 877637434 797309880 492821340 122421200 133551750 995750874 347452110 611981988 392535156 945182704 763950154 973578722 10501314 88706204 768068704 986897198 315102142 531885776 754133356 842784168 495634868 603153148 834858128 764533642 136213016 291122678 327937688 561842566 869502660 543554048 252698650 675587218 185882484 557828564 250515360 379059470 193371314 702849612 884440364 57266814 103477750 502180056 741282194 712825182 194785514 64529932 435004014 186578902 874484822 640902180 87651968 176258480 994221990 26177788 35433948 297513990 921504948 606370102 551273456 537110460 192295750 14250524 609374630 670759282 867219598 154765174 1628540 185570376 988564322 915260688 482373332 258342116 770328914 429181564 926098326 364963300 79762994 222191044 421431162 190732104 976339750 584026616 223905900 270452644 497484206 906780036 708123356 869700792 849016780 872379082 699605886 498568828 457474090 714892384 818389152 180931058 978838924 405083078 411581460 93501386 894227226 814030836 691665924 727065658 418672398 71597948 938325162 354960222 324839368 595900248 22227620 40764992 76057706 121677006 498508460 177054642 229467196 293297454 619147544 748448246 422498250 50115498 279421586 774481520 403297526 113270960 900828076 157372000 34783588 819373632 578667788 238495844 213333158 899009782 880826000 662298220 244317334 205233352 310542630 353377262 282788572 991152368 155254486 45622352 296578318 178814976 691010836 664162514 170111652 784286966 325298578 783741684 471511606 808421422 440079036 130119708 694696154 50169274 578341470 731621678 7712480 655019738 9398590 78085868 772878074 576120358 295149530 317072234 803243760 406276776 785198752 412883862 150059580 453132404 167186680 529798198 569456362 34734994 3725796 841162040 531618390 417674564 744781734 82943716 734993328 250401000 739082982 348218984 633957210 932818314 12197626 321990802 530638696 966275364 166623498 528717188 228043932 389797410 409179472 363260348 609654984 586141326 316237500 251742356 518366598 485132224 830359010 693191404 300471894 484142996 661019702 397790910 158411422 820634884 105182316 866128908 427658054 786777044 331248794 123171222 360244100 987191448 873322538 924254750 186352010 957610066 217043554 107054832 562149562 588506096 222149738 558925040 666003700 563076664 361854904 870372110 237920044 21707256 565214378 319531908 442805702 544801384 572756064 248674236 152703156 567779826 92918116 629797428 817007676 138925342 628864288 623917788 861048190 854973460 916954662 42744048 35548720 130567726 230334454 288557562 868770070 440270820 334379602 668064764 117923902 689015610 506730632 457531968 23802340 907958454 779324398 72782934 592372680 148984798 220663292 572861656 754507672 13564030 286028288 205924680 629523906 501400956 163878716 852992404 230681360 221063338 958583074 908959130 812152828 860754606 663700166 414128730 463374140 153473318 84600240 99388404 740482676 697834982 965322442 116768812 943990532 85321298 363808114 163886806 449310866 783234264 663952796 234719314 496073050 661214000 694033350 584084354 967757956 896064378 70560078 933349896 714490874 419189872 108521630 640492296 675089468 768341660 565454826 682399664 569248164 361510266 847898734 470781632 599664726 237516978 776468476 673726848 339602240 592891506 25800002 653719798 693859170 324825168 188937968 303517126 682569766 666064288 861654738 371332944 185562026 150279980 675807538 914425424 432786872 848876126 613846222 490311588 497707360 483568380 899364968 808620464 139379904 271422854 309139510 321320 387330104 249371088 287023864 141730914 611005264 397934266 151159736 970637836 897498240 996901548 676171454 185151064 219547666 555578464 391110922 279024042 386467012 678671416 808492158 61327930 202923694 418749700 176642894 549749050 448913522 802518846 153838174 312936450 689488788 372197950 243052464 550792082 222981520 699722548 30498934 485321382 263147148 837944460 757543924 555605886 563227468 121854056 66320216 356456684 416411816 574567874 385917546 997216916 818863814 417545750 49688702 871437702 550887058 932838062 43705162 273849090 775751172 691468332 800266204 267140830 282214896 958606030 316521530 128491140 620337070 630064926 346790686 383924500 711322636 589344718 120367082 612304546 631099128 313203028 608501070 358742554 245696664 949278936 837088678 957555274 110837874 229346534 380002998 707868334 743913714 308141334 537414408 114371926 248439544 988819616 382263848 628819448 237159598 17006876 480359240 357468112 52348762 217817886 436231568 593968482 958118224 127109530 797952108 148948852 356190050 619383990 545611388 451107732 359174166 11062300 279569236 508440746 150172494 212286296 989069260 640653724 413765036 236992072 910782374 448654732 28719704 234039034 724158040 40795112 505482100 393907702 6250086 243383070 180734482 846137630 32012612 219398414 175536062 726226364 992438074 886512278 390694392 505092414 114904580 454775082 301259670 190635070 685280824 747896446 371875056 141750604 405021590 931009924 27987214 529711654 740142732 269494662 349549212 812421234 386517752 277250712 886784664 868190704 273120560 549457120 758983158 169133318 451867484 115472744 956403166 476397380 594588546 368436398 431969884 12633094 702359704 195870410 171934210 808535192 599604334 67125474 874929122 396346364 909395822 995511802 48333836 777240824 530339548 83340872 212225284 124105840 405020260 652766006 526114860 109132858 576251042 413224310 525994050 997349624 864888912 207240436 949187008 895186938 974422588 213123384 144419232 727794978 155033144 152322698 219546660 716197864 51989680 781753438 196736646 511284262 791684646 155408078 202499046 204244622 105054156 593624926 263512558 531409100 972302482 961596152 867891544 123841814 319252582 318969440 458079818 727180264 900384266 220312828 488800984 758395438 368197652 59246370 805171652 739579532 751100344 885902698 727379602 525050454 997391216 322201156 725863128 970426136 821119020 951889848 775957086 5351498 841514666 963149924 38926526 942364590 939494534 404564344 530209436 892488258 59927560 321978456 28896858 449994106 743469338 67231622 573594550 919557250 504641280 19862984 614277872 237690558 415428276 85812592 163623016 192803306 731044164 990010776 252836276 788242578 69406090 103850016 70701228 599677070 622182284 953354594 909846082 7908894 386676614 304696790 933883678 140623216 606051216 198480782 149672196 186209536 800803492 920415300 601271278 85528944 230776746 581857408 960995382 651861032 979370828 196063728 870507030 846937920 53835560 779833456 788497894 812892808 597236856 487259116 446645362 679403568 317220882 26491038 318150412 420440494 760215470 746455666 909607268 171843508 799783104 670170454 381171570 985774022 903973906 629196222 497173044 94014862 44053464 500788410 295342898 407460356 387694702 529051070 501351368 418960024 309778348 387703486 93050738 389178342 910733052 779638554 736588592 587293216 499434524 145392166 824298626 356671576 464973094 758902996 146855650 738398260 732250334 154823592 123780338 756631740 624138860 619450440 597304224 908610986 387009334 287901314 205869818 746763124 657609878 991804108 372295404 73292274 608261912 153921634 696031426 422780108 178915882 121378384 895115316 139530176 718292664 599001042 267209998 194898884 339629810 38023624 996383282 161514066 113434984 637633718 724358982 746693352 58793974 628692848 842412772 813240510 959945522 914366286 514854238 225785054 620844524 844281510 993448892 144386210 960399314 691932998 59066240 38753482 722915966 948726320 240243210 228971446 907820902 181534602 794779728 477805314 957045380 713271090 539731984 28684868 736611362 553736174 335160750 249314008 767019212 285554980 864729396 34083272 813967788 100857210 774784384 132038982 678960484 48319702 28120530 688020652 170114548 866067392 560987010 281568296 470190882 45513084 405182186 305814238 299106976 945934224 556814206 122886206 380418420 870363554 619558940 973916520 585274180 707505710 656490062 386028026 948746634 790094560 546245722 602848048 104395760 403280196 87492152 843181950 157114584 944931472 769183058 153360464 325769542 1705218 248156830 111590508 592935194 369588792 73137786 706876386 757622772 865173604 751016710 363499130 327552626 313371004 797750622 307125868 560535044 953459880 510638368 265866618 538124814 129076206 123017350 522768328 501862312 298637484 631303644 562829264 644850080 348628682 297828908 328850410 377381296 459505072 887476780 558961952 940546212 290970134 729543080 951935834 73032662 158080060 339768426 84373786 918369610 41642874 277960338 206815364 785483740 36654520 854325148 598963896 878035960 580870402 111827032 180128800 193482912 895547596 745225918 554117960 788498518 696437666 821746446 55954296 940025058 621926080 249766676 947913476 377269110 78196170 557073442 114691426 239635920 130782340 549953876 858857044 860926942 132207022 651089854 204459962 481784830 775659868 310953396 167650764 910239540 246698318 109534908 834558600 710572996 399505518 794084160 217695426 215353172 135669346 983075736 528234662 662607080 101164444 976349962 349315646 736706436 667436588 350183776 231080776 430210978 552588164 515569228 69696596 922866512 905505102 644510348 307196960 87617098 885392170 215813686 725042710 906768956 612410344 805509600 756587298 116239148 69068938 822985196 151966264 91416060 214323034 589086296 26843716 125369096 949319314 99183258 478016508 341697172 170599306 721315528 942117618 579316716 221367562 904725286 468329762 608494012 812250194 992627630 499776752 371018948 730366558 512536734 5470624 844403054 509454134 993610736 851939060 993307844 999176492 674402646 29459884 885360022 824428296 795049232 439058662 99360590 581347588 659681178 140933654 44010216 675107832 561594190 130041152 43266554 598201726 579235744 172677504 24822780 92317590 585427968 81978930 951340610 717805414 188705046 842524220 554774754 194509006 496758164 342571000 907981112 711042966 660204300 821476664 108509662 105081062 510617548 364251608 939192662 257106320 834250418 101628906 468158960 333296916 793196572 682049066 547626860 589586560 417543268 425960284 616116788 951356066 667528678 979953284 752670146 508918916 667554824 429336872 79184720 922140390 676841746 336181732 312581298 3368346 838948674 191727466 703595038 889952146 319155092 816752774 13732938 10860116 421207636 982240102 261633122 736654588 654637754 170221250 649757934 107908822 37469180 934572668 634755080 495743146 445335546 656006636 354062996 618363804 544352534 945567580 171895816 758797088 339632740 408960514 671220070 450225706 887439432 572363616 958049220 718113844 967790824 206736784 17863356 451381634 63092690 685227338 386675572 842912468 551427558 970532580 63614730 502557812 928237828 898775756 553571248 67313788 542770792 851761024 664517594 980803704 572490078 898681872 402414862 791852572 132715202 911552622 972135654 679899540 180588844 616589950 873104146 496274690 343627340 951078532 703356050 796571524 595397710 869769426 105460956 111445072 243068290 418638906 769102018 126954120 375431240 900919952 938136688 790002046 426196566 452072232 49561362 763000190 895110734 93108328 718344552 399535928 818782376 727219050 575203404 710468298 75402286 103472158 748018844 937235320 200543916 921184444 181984582 397494454 73541200 875582856 135777652 248126194 856016562 913419924 319311228 557029030 726430456 337556224 545229948 946250158 9343026 269868370 821898430 717740818 141088758 603134458 543206556 78482920 820674262 71541234 809457014 186962346 231778412 969743894 468179222 11584926 247383414 34190506 601614192 397790694 268703230 888126036 401551566 575383052 204097994 568598454 110086988 524544316 306723610 735288140 471768378 225563184 720858082 701624018 975494148 438758640 687324414 557735368 431300778 479012104 165604666 368798554 763719530 491208974 967062396 416235158 122089370 557379732 530486830 654925206 879036276 71290306 389846732 879982122 348739464 757394820 115339178 636392882 948129244 205556452 862851798 770453048 323262290 605084776 310856512 288555266 823328940 923104624 375327326 32473568 354044246 495635138 769333474 830123456 118779384 62080400 311208956 305970436 344256952 163656660 506410258 66211894 610713464 459672930 463428858 89349458 200019450 512321332 118673438 349746182 46589294 520027444 840820286 997404204 766259384 131206874 887800576 413774222 790456336 337099666 718725878 156531132 861674952 423228596 450378522 876039224 330522906 858524586 549851374 926328574 441123052 990650136 31957938 634082922 338669128 731833778 353509272 830101382 766517608 188301498 623666640 275993556 906458100 797591370 515174230 234482988 111322940 12777748 753624298 231869062 839124556 852677510 893821080 513548072 680782986 310503496 580478910 960281196 622321752 263195240 540913760 961605624 174682070 800411896 454463094 464503844 86024114 172635282 82487992 564669940 555392344 905405244 61062692 803811684 422046750 276692272 173308604 711013000 18864284 58443184 192854024 550386428 231165422 994624808 504267522 641155996 205083700 699559128 13622886 772878898 238150206 359060800 636492418 454701756 894964180 833907368 549129344 176086052 72538050 228402942 462900094 834417448 982979842 98868882 363274244 889387864 946702636 224190422 95343810 62864740 468340602 693046390 184743034 189134692 393850434 88610458 951023500 729903480 281464626 729498572 102218270 669381790 187212536 440532924 916378060 551852624 742367198 414006190 58963352 383494354 375229698 234811696 38757268 82666166 65760394 233417734 306549228 946882044 663343124 787686042 808420394 865669322 137112046 204359426 751657626 111520382 638505354 575662570 817635702 811597506 380606632 112731296 917967936 316769864 692399454 914867128 871094452 126329668 105020436 816025990 614552340 16319900 266615938 427524744 697684684 82997152 28099330 570145084 289548566 217293638 244564992 134783414 689856296 38083856 955115496 805351396 818317860 60499854 96351084 310997718 479032076 513014432 521219684 707627598 678376382 824592382 197874724 153371856 490408426 273317442 288061526 504431858 39341926 52341766 316066614 356209770 30974516 904614226 407737390 514543756 184451230 573739570 973324084 478731190 560938194 804728384 591512132 273421400 257324772 759900504 737883140 437763398 851003606 279098460 679506730 409637232 581405558 673766300 315458876 805239206 963932404 157257482 981740824 163591488 977566026 829847264 92240620 673628174 897760530 283763256 78055708 120425812 543161256 615766648 821756728 44369916 693591546 821292840 324741350 773823980 511652334 978001738 803961924 668303384 159208568 811292456 446252314 296314560 34548338 628259354 104092374 940017662 532885638 296187310 687667568 941027264 656042336 158195854 466061760 297703320 870255620 124245112 708845950 703007332 275096186 380528308 227590850 521401610 307976688 365305474 687285750 698429128 199440174 904266730 983309604 455987226 734522582 617127846 677223162 781396420 682729540 451256198 829797502 228025846 556987778 196452006 197654786 124985602 584180982 419601108 907548106 808108250 907810806 399212098 448494716 90880144 978477680 53512790 287039750 552381050 72314266 757232830 868780104 546027302 973234306 579214436 582735102 143058592 439868340 378570624 974846232 198467846 442040260 218260320 177250698 150716076 254241730 875885954 307642 306692942 767525762 352719274 999326184 886492380 446872974 180548038 698623816 629504152 723232544 523696424 175933438 216654474 120431174 845189764 316418054 743525542 936264076 492700972 44127630 805489416 154373404 304178160 141176206 441955906 317100552 451972132 860544322 9865480 702030344 669747068 814653944 345000844 133792306 865261530 948186576 667200902 903821250 911143660 289430080 724442716 95207582 423341138 566255954 588335656 7519666 597262054 375393798 454173750 473107734 276750856 426457858 216500380 410738258 552230812 986548876 50774216 53303516 18772882 47391284 655795406 579263972 337280532 584302408 443458000 331885258 453385462 473806468 517582072 694939938 464945814 824602408 167642442 11833700 759955880 955269382 536208714 372403502 296462758 766319154 661720034 82587362 172515370 278051238 476688786 398760008 501892668 440374128 796625120 348773466 26853962 487742666 388772086 226450686 323586708 360071056 393113748 225827272 634911034 712806760 278822204 179989390 241728314 209847398 858173068 797009878 300362644 31411004 273057600 555894384 679215124 245323086 24505288 607759342 635241922 21809962 538908514 684280406 222211468 793700450 528801446 87898038 443958448 830201888 194070604 497728248 425450380 903737936 796696246 237842518 145068506 971379744 989373378 291771392 419844874 43674694 172281614 325836594 810156390 679119846 227647672 155267624 737807430 217563638 874434552 669484410 375697092 768512770 59947496 425341858 949629734 902599190 99891404 776929918 430005492 757194952 338422746 300984524 608286240 28697190 111888916 57011912 183292576 548350144 568616906 269161724 399997864 137276046 699602172 167390626 483639358 533249638 754266554 92270394 611115828 478323532 875732460 479800108 342438310 914669198 971275950 152202926 159753818 706793552 502427918 759955076 880075220 369859366 129218712 596995596 985254332 809114272 958598638 50247462 179247066 878210328 301448280 60938008 331961742 144153400 380649196 71633032 100190976 922243912 432334990 231342790 264069546 526341132 78700204 483935222 945470814 348320888 247633856 740463678 790823078 274925424 158790632 71112494 943454950 267844850 348649606 766229578 388539440 197230460 822735558 861647020 471436256 691584060 734572932 898600900 709645880 174683196 477682128 962983858 149249334 58935830 501977186 131661980 948650486 798061460 352733446 182328802 101680788 639195140 584985698 559466206 168372796 211789940 154050490 424824868 474616752 454152078 813382108 219671138 454163026 740872662 448665256 270485008 268568706 410793628 879818 283583944 452895588 920993830 78489726 817637658 126963896 720180086 389369182 900018092 236544270 950298040 220623668 393248320 833700658 689428654 653929986 914458876 634310082 979666774 326344678 293755876 462307822 83770098 354861222 305503694 96483436 216227848 970617810 790837910 310604710 533967134 812516356 555616078 458196648 854911940 23480352 38628438 240371050 560642386 466606660 81047204 767215560 831524678 537242174 210903576 269473956 469881340 229399778 609520902 39759592 877925436 6565794 315658878 607705622 289612954 293217026 790120946 614759640 663410920 246166474 948286948 272948584 330786616 109559490 88375892 560164576 87786684 707553316 721458754 379165408 746563064 634516824 668224640 6588588 895860326 883106930 324944418 879017470 506460764 90886364 653269786 382786022 188945998 961630632 516346364 604308142 538655610 95363916 563188060 108677908 883144264 983178060 81164612 164536876 722428638 395265166 239344360 624221538 103001064 605770352 445782688 747796610 405057474 450911226 910424010 14780340 249117516 212397460 176007744 491549984 190900656 661078348 764322374 498672910 537120662 166932444 944370144 887311674 755957588 324769614 651708224 552152472 27403208 542330532 953149996 556620082 777785352 340965068 163968850 285952050 684270994 351875348 766772450 293174308 172695648 460865722 88255672 439435894 503521724 737583132 27455180 933673266 477623674 976070126 430188120 934393930 631261720 510766950 514594498 501071006 553663778 461859766 343795800 280930964 312915754 171853874 806463314 425773288 277440998 586167092 171122610 307323074 53763370 792249030 577078110 716161246 640344020 48908828 812271152 651846624 661454470 123598344 767734250 774624232 212083804 675092822 776927238 171946732 27115904 779416908 404033640 94143276 225756550 669459064 485630708 469907860 267539550 274898660 621275414 95602134 949027668 760070080 120650760 921444268 946917320 189512300 602652870 261381382 728428476 753831750 752849398 922519452 748623086 775983572 782588990 444506142 193920166 222670740 684923530 355718082 887336204 725775222 737307440 742973830 755506966 821640210 309238528 522440698 553646042 40966360 662641636 991891586 408504150 586617134 182342556 673026184 961684562 719309362 146203030 765663952 879828120 750397784 256459238 195191910 667134702 234587616 110606956 547723558 744142162 876600510 616862158 303185414 739537590 102391746 526545204 751600948 446029812 251601170 170179384 455072248 236249236 99497542 798884866 900275988 877655816 973901174 843069834 897141422 935625580 676275772 47864258 77372634 932481642 122471956 873924606 858888622 828936748 249076364 179334940 169729330 733426260 662347478 571197138 815663978 782429090 129421266 643917128 284731938 291931888 30368140 355670196 662055088 58135624 326712728 52988046 679707452 630124102 369072280 260152552 167181334 904742428 916035958 948601370 447024148 58239156 210729488 9450090 908156006 712313952 819449212 303000542 28154234 554907872 821075040 864260816 131836844 352021906 896055310 463451078 202304882 386223478 581255822 469087752 76430228 883403508 520952414 118410328 252394812 381931028 521351810 250933324 986249466 239638208 120144786 68650690 775394788 361498058 17692422 815177192 688637542 734755530 409736678 655376680 954964506 968150260 547292242 116494428 758451846 337645920 41102440 491389488 43656612 936686872 309078324 580265512 327053180 926724646 247010384 691023946 659446562 515959070 906924548 88971444 638631042 615090396 780057428 933676854 199478170 556605634 614411606 50748216 691017436 886260330 17091952 168921964 615774298 278286834 404120046 16993688 813967196 246738990 553744878 194427966 651546122 67383302 567795250 408375658 507171078 36672174 677966964 783309352 789944538 218433768 140860962 831604056 247477448 742697558 354280486 109440856 540118800 891376338 321859758 201506088 132196598 893467676 429262860 465964828 268067680 973639642 117818496 726357362 837496614 61597966 284990142 20479746 35426852 648599616 846894134 158355756 364211824 547679938 779602962 111077690 309409282 211758184 702774248 186124958 53904986 584024808 182357044 680196774 497562298 420981612 674784984 704349284 284385290 888403490 804715930 608643808 2554856 639808466 541307218 463728342 439501712 128757414 472363204 285887822 88061366 230262188 594024352 21848864 855728912 131553242 641200404 727817950 555366962 617024996 199542498 1745082 123587516 802456652 826345664 233213842 274499520 554164832 673088644 714839798 461885858 460632754 190973628 407393992 540980606 693484566 514489466 36819762 242060168 577100088 345459396 689928758 305875412 136936792 546391738 823020452 898456080 261114570 861577482 850059988 685270396 62059330 316703246 98820300 926620096 18022836 596491872 405064018 991072420 77277142 688799310 247874082 981800356 727424434 120208338 359403072 117471326 509172062 965961440 843480134 84635674 751301970 185785592 872955490 150292832 587664338 393181122 501934618 364986628 208820484 809904518 509285570 387738098 436140382 794099904 242956056 269849162 289920294 370663360 912596270 112579040 180542570 197500808 821801352 361351620 960368654 831586562 974661700 971974570 811411074 790900242 508926000 911654464 917018482 537717634 746573264 505130360 975288634 512557684 472711328 815264182 411534208 862538784 977966514 949479222 517994060 701573776 509384170 764757768 763840516 243011122 427709568 664952296 846290948 589110920 993690018 212794004 892290392 279880 924957860 314696130 129984478 985536250 782194470 33060882 97842302 507184264 584837484 237459598 429120568 844627814 945181236 510825916 17396742 236211206 963448102 457594076 530987560 717469352 875577232 62654644 904637472 709695718 957325042 26662068 844553940 125046962 955483722 495520054 501984062 885636430 328246838 201029802 786534310 237965330 331493322 608381114 109558892 531890044 808269378 854528882 818201398 326165548 201462926 128729418 395611632 62555844 873775840 243801380 637121072 24930056 386098344 114115066 536156488 231780488 266413214 578105136 540009896 202844196 115136048 428535160 752944418 404460376 542365824 75188548 244655972 974759336 811292234 299780272 633853110 491483504 79512502 505359752 962875086 78953580 704985426 563163614 575525628 190627472 634276550 235938890 459459292 996010264 959941756 97123120 562869670 532936182 211513922 916948630 736285832 666507234 418796074 494804146 716087764 425705602 223666356 883977014 828783522 296046836 92167972 747479558 693299250 716622796 828577072 17065098 668720694 851062302 664725152 913346166 905613564 447852918 126701740 884334806 159505124 734785244 765920956 454962988 981129616 563753004 15147370 656720070 208931778 88692360 293462268 770343928 994612720 489059334 120458188 999818970 416458438 796386082 369576004 806195338 245017450 220039548 429492552 696918576 855034678 479745296 319055038 193127056 519040206 883283126 409321452 452240904 325922238 279319014 944825304 293984056 96638182 435248146 827165548 639786114 569380574 230258998 787518056 691821336 443208660 208936328 555083084 698726916 113440566 966790700 296916500 671558404 98492190 341407416 39422114 142935234 261787936 468229288 377575754 913279234 159138370 804900938 941341416 117614504 928919132 960446404 262966562 758894900 868914942 402835670 40843658 174583154 457841654 394530816 184316406 82786882 895775340 168473034 813845926 333183526 230958662 728526934 962982926 682641892 732872276 842311050 630303022 889917462 790740384 185650390 515503186 512359848 660440718 233411498 635962154 153667186 178302574 930132360 685135418 40120844 666008926 931741008 463823962 446029146 311065576 696237442 390475438 31157016 375692794 867588106 550186388 213624054 267868136 905124110 233472406 636896338 184120226 275050206 457482152 569033530 89992300 424186242 67447626 436928158 999895388 551236424 856964644 24094150 699411254 78009476 482571688 62968082 422545254 294751220 590432900 941270022 818197036 310663002 279680420 152196682 9962802 301012480 715998446 533557702 374775130 966710222 427669416 46517330 443600262 292334928 808468536 612837070 809330964 65937194 693023886 756734638 938109154 64094702 272242388 623180384 325372356 385836740 110289730 514639084 795855674 113491750 163032480 46513344 105157432 825677856 530631200 459448954 568548100 619274124 868606822 678679316 140855116 228051884 796051014 383395758 584070474 174207086 719328940 176002858 2548096 561156334 871103436 108844026 704272014 384359700 692269646 118498122 108635918 403302578 89311116 989330412 909501166 478220454 720401842 67167960 311393538 315476578 916058578 840349882 893691806 995897820 97627824 989685412 297403654 252809316 177312708 971288388 548678352 655007484 907768280 631901928 683551406 647822338 345968876 514445420 786600456 964064896 658580302 774395002 159099696 813605876 81423168 956274584 130006194 495656994 253773920 87636928 269509464 405533948 377420538 87369506 770419924 36441954 579705840 185458200 723526706 18813234 120693888 42252320 667360484 382406550 140527304 741097412 476442086 259592726 58112654 454882308 468061938 355855218 907027740 483499290 381673022 555489242 611200240 115376228 549516024 450457220 237361122 101341590 406896738 8356300 958638820 404295810 720057846 411043450 64639696 798020 237553266 545963386 490312052 407265936 645365162 880466316 489250442 871855188 217494660 743303970 355736718 337370802 816345212 276369880 614089156 747741508 779252656 485599232 840581292 413216204 700879552 300350922 277839392 324354210 819961706 366685714 981762280 880204202 374899546 357555872 296118214 204000622 966922760 480217408 89560966 118067928 869113750 510743844 732740528 869968758 535249668 615630706 138183520 217843832 596887134 272800466 570955736 306638852 124489772 456745274 773035310 337620272 294932504 686322154 471849260 948119740 87893768 602829524 625423684 105625898 791673904 871265888 603543078 951701778 42818502 252450450 721962508 135413530 52548736 7723936 632484498 795031794 62085992 69755538 929246824 927172732 438253544 87038694 54628600 714804054 289247004 857270242 646648644 918193294 170235076 820248490 958700696 576078116 9490056 963485536 554342776 74146650 233914584 716969912 140530482 705487460 886965052 925403254 694669154 611517262 280035846 988176764 120181850 991884044 455048022 585506024 711504444 109391596 620082460 392219270 58888552 40214582 797563692 40401248 851214698 935119970 330536102 859278434 797823986 454342230 899067818 924149116 390576570 76733580 294816608 778318014 994005896 760055038 719839844 922818576 153286328 933517544 36296304 576503994 351720744 306934056 203905210 95943910 438269590 159403064 786719198 933224108 117429774 577816390 34801198 477400568 9545076 435460938 136031362 405157088 155183526 57520352 915588428 302031446 851377016 301058988 905343756 214902736 289288752 348339260 893338848 266796796 414736166 3554730 723077260 245259672 504298922 267395546 198139508 667486900 297646820 191217886 316447602 63698130 83083792 168396838 188921716 189281150 37477508 470279150 470056790 510218558 213491772 749117332 689733018 312504346 953294130 357442156 862691880 77240160 329856314 560081004 149134176 571985530 446508146 902839428 684625388 396722004 872080190 740438592 565674032 583407866 450220938 383361404 78899496 945526990 60253658 109621540 415275318 533666482 812756908 174346940 285626566 350028226 45336842 167829950 747127800 304716222 542535170 121203828 316936464 480838658 325126040 451411906 982008860 427947452 131631992 367069712 825324420 755813946 5489886 158294304 476609294 390247676 196917672 806830312 159565696 757367516 353266602 290579406 438382120 941458926 533130316 804037300 114300886 240115678 654719482 421003174 486511570 826683460 367160792 581395464 665203042 703908050 330692398 355924624 470585182 759640950 535296012 834083618 494885960 436497012 837540464 644934896 914061012 691560746 977557858 689503086 520426274 16531130 716866266 328557024 762587608 797800888 278021420 597575296 741953106 115913280 797489012 975092184 611607578 82747942 726245972 573269300 801565988 291443554 572596450 244111470 658223340 242551016 456895770 756971006 202182262 534218936 215628488 951424734 955852582 931368644 777560866 715229608 165780016 539754220 194680938 195229086 677357598 365164966 989323180 687845756 573209272 290717770 988023268 204398420 115843674 711008744 805035412 958170882 276856076 334584920 755947672 411737006 210433168 156325304 795525544 976607500 741957688 837027682 21307596 615363484 655237314 170341758 186056250 58316164 103055646 958326780 130873038 243548346 639156198 811421286 857661808 135961276 622595410 597642200 361344934 452754240 91526482 221121836 499515006 781544438 715010036 842431484 658976138 361320442 534907512 48249042 349787072 516910470 566486948 168165110 129714758 968899836 791629810 926132444 394302536 667145142 953563702 88657410 247450102 59673570 322609070 176701986 156083222 967059556 806898310 777098576 705741188 397931106 118074320 664525238 139880842 14184874 523226322 12754730 156672560 185555410 59537690 634843336 985847900 733729414 173151828 375339404 101713980 776130894 525590690 287543364 146592364 522303600 970771284 642741090 803020404 805823590 767726558 986944496 82834658 120197458 184072870 949913056 480903506 336967796 731110796 383430962 900586628 6236196 815159248 507034136 270774156 648319416 385209924 173492478 20632136 669367452 588077804 818330926 546835326 234563284 963136134 622953654 657675192 514596220 578391226 15342214 483682128 934016420 62681950 637374042 717456840 245305580 13042002 202241712 780562512 158077076 139767036 266526132 797783210 342515844 853343650 241119570 390837792 296217062 965239614 399483226 613522342 651123510 810590356 928541428 25956966 634264340 819369188 212343104 350446216 724925666 717726154 555821800 171371424 75083572 214970130 177269564 828708566 583097516 573892024 896380380 306269492 762068804 687128714 248110898 463563074 110091286 726722924 848782918 701528180 2346546 999396466 581668014 502736114 836423562 457062954 167732764 973509682 94270024 680514374 604626492 457988924 243332030 416426798 394906952 867514646 401317300 765711060 546340064 196949926 79498562 538864806 60341298 40861552 477085052 626511812 811559618 463551886 562994596 528020492 525072124 809297748 663318820 962044674 67002728 54853430 984679430 852187538 539613842 887234664 690775008 634201976 688318288 947685832 891701640 756439754 725164642 400308950 109878206 154547796 72414800 700225300 781316852 420022690 293056204 858046028 716772002 742121012 869949010 161066382 992568150 923477376 88444008 996358222 302289616 68538788 320739978 358566954 811810270 50124836 965197356 384388936 546726436 834361530 160845372 375209036 420108836 966903524 763866046 782285656 357813196 108212436 764699188 525252168 161210412 659404304 97073402 316761356 349146770 386190756 30676592 644298334 238791188 913605648 383383798 185347158 846974648 439166802 872385710 712849946 5132028 704225234 996007760 569007664 565418538 328939214 671290492 199038474 492484008 60933004 897365462 729075060 377078060 331815580 651253626 156724898 921058972 471284960 467796786 546825938 131125732 994531066 377215670 548792088 852473086 536926944 333891388 675443648 765736674 157845334 143260188 497062994 696680660 695677600 974711728 767957586 763117030 453568682 662819388 829791626 19050254 549119234 227346624 357050400 378886348 213376366 565988758 776819334 371716640 103555112 182408542 650797500 97049208 382439930 847806128 975981940 678658696 893685138 815139770 870286072 825942882 370265824 414206384 36424252 765177346 226873710 357918604 240373860 132466770 420445712 655707050 302115530 723279464 177281012 81492676 184236804 690483726 725650260 799430482 129996944 962413206 467348450 974584134 714705588 653129186 499091872 392417780 758498132 225172032 636952576 647987774 751128574 442392248 640676724 43558530 96907800 254566086 59649504 501602490 102229280 264285828 770972570 15008178 405012532 533302500 501775794 230663168 176953170 457875848 124106486 21810102 97336004 844834674 435371368 685226178 700972366 510040312 449479812 690937800 911759284 230551660 761687926 902455694 135135930 736437834 800175696 209112992 538081604 463346618 564875192 153031376 897582300 515925976 122750078 163598644 500838456 528261552 70079772 908502570 377606702 955919302 241257300 887961034 491350970 101759678 638565776 573274298 580040798 349738346 893523876 562666002 787299992 26041794 985957976 870486224 824242570 57730766 81942190 775004946 476842596 36136662 965155168 218625364 275386198 889744132 14723478 128296360 842050188 332085016 312062870 688536674 903372536 733877954 432395504 273695158 942099830 434129640 376124964 858940498 78283278 18916432 640383970 123142808 46407050 697920944 428601060 568947144 341403688 176759490 818235568 410981582 260406636 994031304 634272122 902699958 756076220 585047042 316187862 987557562 447083410 838290262 762249216 135396090 834853570 701870338 56345546 632939462 634539968 10288926 817763174 102409876 393011790 959074766 885263242 265723276 666340884 445034356 38411104 144209444 844799418 506412790 147998434 222529982 415317344 411641198 901246398 34589794 842289910 484061214 177630554 796993964 939143958 625510306 946633466 383825642 778213484 870819248 544190664 585204262 922758964 313266372 545346444 113367032 725660294 228754230 389196636 520318074 109310922 605027780 508549840 493951752 664558882 46759000 516421638 966345588 883395314 81160898 735999764 227049764 162756584 721441482 511815284 464698308 323212408 875541756 23653244 848881398 550121610 651531440 373179428 112508476 442538816 869119744 95242768 312132904 595376080 911854250 69040162 600764380 659860320 121764328 440677654 408195274 464724440 569074070 783966412 187304664 146157512 195959666 191311618 846005014 598487562 126466610 310915626 455211918 548770952 593532346 237094318 844526490 362583628 193228390 321874704 986636452 600503140 471519602 881443182 669860286 817124548 916222868 846096158 39923290 891928332 231477654 511313772 893021200 84928550 212206834 324510592 15220794 53065782 815122754 465785074 283024412 180999562 619231242 759214156 682414140 269244106 519476274 565709610 418911742 516533000 875871178 793058094 306143854 418992748 441054820 432959110 600631750 572249926 620817364 606581556 528606348 142329920 500465582 206243874 458711800 976328524 339631696 342815092 246447794 761618372 900228038 940196460 174924540 286395762 225212240 918620904 757556204 667684836 545834830 401861902 571552668 141739256 43286728 105829904 917061860 448654206 527029014 874114966 589878982 151925214 895843906 848632092 195393188 804501512 107730504 776341938 11066700 869966812 307036546 571251318 391074174 164179644 42846528 865253014 255437262 298934368 346377014 437859742 377400042 16688198 661794804 359260244 371497946 309111388 118190358 426012064 416848022 439998806 335894748 532424478 90939348 152212550 668922112 46283370 248416920 988402454 529487178 833789044 609166828 320496200 135047586 567609814 399246258 203279936 457544662 582270264 609670734 193423272 887728250 882707040 899227500 664288834 890838936 8482236 711749350 211340642 723625612 49601532 520304844 793234092 816431950 625233714 853294282 489973682 438380128 61820240 169413840 228784814 971003248 446084038 569322990 589266330 678236042 841550886 971321896 908037720 507763818 204377110 508213094 808381054 969146742 388298498 529452120 561111552 138225120 425939110 442900166 218324330 190488328 98518380 79000566 295619698 569380398 516505520 492150480 40758780 550249476 987714074 107748782 333610612 298867094 328749548 279719374 115386236 449137072 516610354 782120860 729117342 527599950 843745824 229776276 244103792 262474444 638275930 352468070 754623426 56478098 547907782 493846170 77466484 69373998 860938762 622598316 360760552 438314632 539557446 193980598 494505518 371479542 708172288 4480010 469623960 775687208 581968934 835323210 853234506 85343484 682387692 49849872 581703760 150249984 479218966 746099588 756429758 468702476 471225804 271501854 217049276 107594922 136113934 40281058 576600150 863839368 851240114 424145186 875847136 187661444 707685904 127987028 513377722 996655660 528443294 733852662 477713250 895580862 266876484 525552920 162233796 489488734 497286282 970891330 546751340 312025392 433393384 119058226 251585438 685723296 96574814 287315290 600489054 36035140 114200170 77153222 763945882 149748300 748915274 43766076 997536280 841042884 697115462 717731464 876634142 903941688 168183218 313131586 287552604 316306588 736587626 210416434 611305948 134035318 830455190 876298262 302272196 745197866 194378838 793065324 467025970 482005922 696569748 520637206 34164218 345450290 371003778 260769740 760234152 468744720 693172528 519036384 481919522 96334516 564175636 205986692 180439446 179069998 752864006 664698470 274644454 229901836 806882402 411489920 259054052 363563102 653699122 824700470 896663734 49903738 489369234 946312196 499044226 461781200 414341606 832457028 54945680 960189888 632173888 386567916 419398338 456245070 384155068 774674932 881822706 968961224 568038794 621413314 184354014 498259414 660033976 446488422 82661692 119404894 698922082 146083764 581207212 346371892 878759348 199533960 316091876 577397202 525113202 675379900 323691850 693996820 797768040 596602476 483502282 478387370 305129608 5481762 314013738 800708144 191119184 34466252 179049278 722133450 434057216 694503426 131748662 178888622 278165064 822733668 86186742 149150398 611351454 948236486 217747574 177242694 106597394 323698910 659237406 820012780 65943984 274400726 703784610 768564038 732751862 476056592 273832686 658055502 563309464 37808400 799503338 75634474 848047012 367048394 41237352 659343098 14195676 988656622 89741814 221387610 456223944 57651348 374775108 504873238 55516948 540575392 523052762 978240404 83185720 434091422 737442284 206556678 448512492 31356186 714282108 552288048 156866082 284907352 652373080 856594160 340329654 713872028 249430850 729505274 173511130 887296874 366241118 278243316 927670802 680028792 276166836 250610600 51980944 494631580 902408256 380491284 203925366 440786440 433918600 826064506 275474822 57418734 448983044 231403944 887648686 741893312 745488372 650721452 744872350 243204862 537805850 369779600 276044654 69672532 62826896 766487774 167706106 383108562 896361654 455645924 411993434 269896172 213087388 191436460 802387098 811938620 872975976 157997934 896392682 36987672 462530026 104799720 103540354 212562450 359559258 846377070 675422500 448743098 162432492 606923084 400816416 329972410 20247876 557986030 245854454 942335030 702048944 490708070 510763512 692196178 330911138 182689232 209274062 333835022 152637900 652970064 54116974 111783358 718506608 322166072 521557824 428853912 160971008 951122562 461764592 624088422 633738488 826591934 901529250 988299850 229167088 122374780 408397556 752789934 901370940 908526476 363644752 498521596 921657108 180403818 291398468 846728040 587257838 565507590 590581784 869888586 578952892 597590112 254549434 399668020 684176478 675297646 222558516 435099352 554929980 435829356 299397556 288807070 97588892 105456816 636880660 977799688 873261536 494582954 879289686 818660916 912724760 488849718 901501728 942805042 582630516 656786548 461450294 956383208 345207512 553846580 226779842 245179876 796312784 885361864 76905944 127298412 41194954 512792922 52515574 877430714 950384306 243697608 212307194 684824600 788633924 195303964 55409072 859827176 228610192 772198474 537219756 256489696 440185266 438604378 849823778 293840692 144202348 567786804 610397366 732387506 606719362 972401702 612209416 537526010 490630684 938626292 865363026 808023488 794803508 741704788 469962408 193434376 141568208 811239680 598005180 561746898 273110830 313944236 817185530 942185472 132236960 653281336 699343892 901526540 557949738 596152484 665813640 921517536 794040302 310102270 810305322 285384686 106286506 808699048 584433312 232196988 512353402 174434454 34161090 15681288 519858488 89071100 193564388 77903266 697707398 425276142 788785532 899876726 533328038 748419098 413867570 464154756 40217936 662172326 323285038 564005232 154403934 587120760 877364472 687327080 957645526 755771372 947513448 940736096 662207546 647946762 704145410 622503558 563031842 149770748 289073318 542010858 715644334 854177924 48640222 560574986 576593754 172173638 303529584 553311462 456146296 483627994 905003106 221838338 596564738 339605308 788982032 551282792 577803618 338935818 941436404 477055860 728714050 347538026 817436898 821665622 986291928 954363108 551270792 754316038 99117714 478225414 392805538 827315380 608693274 241975486 8303142 408615976 313030750 619800232 603542284 419678632 461564738 267993330 309346520 814561040 143540406 101520824 119043858 352149196 306208000 27041154 108807892 176754986 207896996 674131158 848754588 429904504 863908852 10194620 992896808 719445672 715675052 350426146 982952362 727466546 487940722 641530654 506927250 805034764 704486860 722988950 964960902 616288694 853013188 261745680 345621210 870890448 80004394 64981284 126889772 525258160 713473016 310689976 878939488 332610220 463539172 475716076 395644528 272610618 292761942 221473850 179192242 40897944 275914450 613015912 418393102 126801592 568612432 841225082 593267096 935494010 968871900 421819154 756635094 103710296 235399894 196690082 330680264 327798360 316942866 220854712 924179290 181815824 631978250 207083446 233110226 205813648 826664938 912127210 391986902 794105182 895499044 149044870 883417128 564835122 764527432 780146038 323277392 702762986 47127532 508828718 491684054 298338746 99027146 271015600 224673714 254424568 463985004 301139646 862805502 415745328 72360288 62296836 626123864 292723504 469712078 158034810 348052700 427975086 279346070 526639104 597147176 436703162 82332658 307476440 862039006 466433298 715307696 402207666 16803116 326163178 602882530 906676712 362764406 686003876 312349258 187429932 932630220 252756824 424531458 119601244 625766846 586750260 620167320 454575958 214196634 394909940 781061208 305526462 967278280 589048790 488822336 700620984 118856158 381840234 492224870 181201512 598255528 979539584 494208726 956429142 936306324 496754946 703008358 676695752 452115638 282410148 872225376 160435808 274172948 871975222 835072292 996974636 280565738 431584114 743481804 167359792 938585244 418423858 595018112 718585460 913091196 127399708 22552764 441897184 457372062 567128858 664446338 819131482 694873766 258100918 801721684 209054868 5971692 868579768 426941850 818540220 866454436 444844580 173459948 815082512 207169592 113065214 984381158 749038048 289152354 879716050 527290998 356226752 661535736 78896078 400494608 958010282 337018036 386769084 465426252 205692772 163871540 462342264 486313852 745683136 137782636 46263778 661991466 853994708 94779450 676891594 757806794 31790064 678628650 13988716 55355210 460476718 522785334 745079416 972380172 383396072 391644980 85838018 653635142 173854886 752960758 682880270 599028954 400025532 957851336 989068812 486196648 959058442 481682892 101940448 597018188 561945518 589959064 316159434 319790064 933976368 161572276 730450168 347427954 277468934 916337576 692286282 560162658 32332384 967880940 93112172 648137496 226482886 460716326 982996724 328270620 543380770 427230852 645398682 970733562 48768752 700392660 343092820 243863076 918726128 381395472 793163324 105186756 564859260 394075120 471058718 157553862 422315242 461054286 26960604 246936612 587187040 338084598 525194096 844744722 649707112 557885214 720983704 166239282 560836186 753075398 662273652 80020200 32547688 787982778 415594646 784827540 701827718 621720010 243048918 859711744 659308210 388514746 808476132 777985194 767679378 79136466 244022544 662341786 700946348 438419942 48225568 116706996 580884938 533875840 145548788 353550268 676353778 477643478 883905944 635033604 758653020 952369592 869037442 352127462 2272882 594634028 141384436 440994968 63492168 657721372 732549978 225115092 807378810 829693958 328317404 82977478 834534746 150457206 87478508 711257634 725576176 815041294 901774076 29040588 282528986 922722422 390912594 647186240 257799060 949367636 434810246 50304746 642999252 234244738 977017184 803679776 912612918 719621234 922085162 573364824 390341262 183071074 575968218 416694030 423643508 67505946 195195804 682180356 116360814 407782550 874438312 926721796 277977114 272558574 574333308 603929836 41367928 296167576 155438580 287733506 263893316 411643076 575100226 656441366 255074340 710666018 491107420 896504066 657752786 105524434 595472336 119498538 393956994 779515132 427379196 946945546 848314696 926814754 987761122 493581292 734659188 989305584 49231632 441943770 332760300 593353026 632722888 37479982 738035882 734792804 232953936 7399074 343744976 738470578 824724852 399476670 430147044 132874866 646233054 89383260 43193898 163331958 547579280 996740636 827538134 980175488 911508556 569812500 443290472 401264286 154297382 393637272 229116768 951239166 207827828 725816754 557430112 763349482 494890588 3017938 111415680 269962828 583349252 751949356 322110160 229757452 272910064 626243216 786369812 660591300 502453678 964246506 370597200 630691538 442875150 421060324 883863000 415137670 309947934 140903668 344938716 548688822 235993948 851163472 617519564 48289516 575545182 446679360 45448076 476686284 380660624 914168940 379265884 489139488 914796538 331506550 866013460 420023298 96486084 712823640 638701128 788614376 706133816 163708276 629989400 750719554 873852962 728414308 132995268 987572212 519695986 440627432 136291192 673463934 221988230 96777036 898359638 896610088 990885408 93495242 976498716 194743494 756085958 86830728 148466116 11204854 7018060 420207542 396899470 878281398 203120538 217545198 614605480 574052180 848006488 662270750 189718638 849999750 953018770 101289070 273432560 203650214 761126106 966520990 179021696 528963806 382229244 879775370 501156484 30923598 249241942 348553342 432643510 516811928 828262918 884032386 211054664 196887706 260741278 430643846 445477382 663558668 815442662 886732802 802630546 273752566 332133910 607083724 751911922 565354746 859461098 190536638 538851188 149137682 784287510 210223768 925630988 272080666 642178160 260277620 528198662 420077770 424721092 820041954 795627478 447565728 831566072 884461144 318378910 893911686 426574434 914939344 123138012 19664468 868610316 803244926 116159188 240369872 49351228 95991604 807775982 862579252 472520492 280557394 30542774 827957656 316007662 83515572 843724250 582008132 371897518 214808900 669716196 259114144 632562314 787863394 196742094 712945774 156171794 967763756 137344318 393087894 801275670 154208434 479163100 308666782 355591440 999725122 669818106 353445246 571108618 88278076 814604294 640513900 179224236 509717050 104501134 323112446 733138314 498148886 953933520 316673652 574329942 169670424 248189110 57194572 754472116 497567500 308727338 418039822 625646568 360667584 825037804 24262920 871444620 872919946 814024908 302148266 807821092 639900990 531543432 459539676 627575878 755083848 839593730 670876350 376632886 531362738 764926398 771048646 847644580 65857530 491235916 506438230 512082032 431113200 26313290 78578148 181386498 79482906 541592674 279291934 763659402 678507640 570452682 239589008 377884570 626734308 953505504 287999028 377523680 921589344 901556282 678230702 126073968 934217634 407782264 305353732 182495802 455497634 760048246 450500628 217747844 467650622 269559472 107308050 224772398 521275042 408842498 22847012 992644582 333712012 739833882 173082148 89134010 119963840 583636068 838993134 503360358 181558708 28941320 164239566 941067662 966147586 281046348 557263662 403442076 817976578 216434338 617054768 328005212 889193326 381236746 853050802 924368238 123152132 581944098 79818208 418774782 742355184 180569448 834268296 437885786 208527752 501243662 938212674 53891884 39549118 670176900 665133566 414916776 58917720 132832658 960337594 790880230 947216386 644594832 75689538 485405870 83659770 901398586 796409972 668924692 25370590 499268120 897056718 851598464 204615056 940355782 172913432 168893988 659073504 241222856 798637924 699605432 385841494 262442074 831896274 309229342 83373158 792724082 219276492 578814028 652049254 99359004 540623448 510970542 245808188 795279886 125991570 483956752 190981126 692519668 202667938 368096880 906855298 214819432 217666982 930091224 865526468 355243828 277386270 584465434 158678450 658828660 754061384 289283992 742035928 75714784 716368150 354390904 230669430 827708400 349699964 138446834 113449718 543572730 94937786 705795386 646940740 298256792 729855392 670298278 580473750 583508756 733314336 362213658 550016242 894463608 5539968 154573790 478265260 647725780 911086862 363924924 91523684 740499770 799483930 704830152 130866082 71845822 821921094 296301742 515034872 341586922 670137438 608676170 986147916 659478282 859610862 865041892 371735954 958269100 384200764 547343998 747259252 623158282 226660078 125611914 967884338 347353352 829914800 39867732 228998244 246416582 346623614 147622026 223285544 57222120 126075082 22049184 81040972 601152924 606542016 515604938 274401300 928852950 59665920 477391940 602282730 506985938 807637330 831627900 769886730 442036594 347520448 427414512 204797270 822253194 489085746 977416282 879266384 137864568 402573410 92243212 835388060 6458078 294006058 12832358 868987076 595640476 859759740 854360940 945415682 779410314 135362904 139318212 839512008 650293788 857505930 99371770 153017554 667656712 349997644 751668656 948243062 155091274 134528098 294196974 177164556 115716370 695265064 456437380 21033990 218213968 475668152 785388532 444348174 986690326 203756098 769691400 415492258 945149840 105234984 27942202 425256424 933836874 273554576 752739456 11724676 915067000 590741154 447043774 80565346 687095634 891831936 544841888 967445540 975559750 873065882 90688506 955306014 8654580 187577866 863553316 528751928 837589732 636352984 461487664 801496544 314549420 403390612 603312944 499596340 197733286 641395032 574207734 289709358 164488848 530628662 505812426 565066110 526456666 735207236 289327150 544792514 263751678 834526350 530057020 593501096 587516888 699879224 704145354 442207640 560255710 38638882 346854278 152187886 157205222 55410990 557043796 784713520 379856782 970809442 851867028 628809290 40368110 763727020 512159152 945933962 693468818 207463052 165112870 279112754 585701448 502184958 872410142 392344078 673747176 804911544 465513088 860707564 100695840 871858318 43487976 40108622 479486550 780141974 402343674 4325818 955714652 253310386 214787174 661457410 704175644 443148744 806815814 543774000 751642862 93808312 258067936 483453270 898035228 852290264 851829198 460703268 658646540 158554544 339527340 66075998 992440812 36745298 681212532 867003774 986610774 716890448 232694564 421411806 231979650 816772768 707134738 728913440 75138134 621000576 978537570 315275580 426447956 744954570 76467486 986155882 976105470 307629914 506113496 316365978 343847266 451497270 503543286 11676046 223054098 958501012 760735540 365735988 482306044 181199050 665179378 406878902 457330248 45282482 146233780 10289080 519315300 238142906 742557376 961815912 349920900 194614736 808624898 882516300 110699426 226105550 622960896 683758758 245017974 313478818 705957036 4053138 555115136 416574924 345063954 275463234 971350062 754932154 32741240 554828942 94746488 144274210 737361444 659516028 419163786 609551726 940444922 185409008 925202862 855400350 491843848 174265850 533492472 16054484 691567690 217682598 536629258 890167442 731224008 124967060 11569928 396879420 410908508 871638456 65408830 410720690 676599220 801969362 547688246 922537296 250851054 665364048 364818920 20278332 951812622 622174452 259135946 186779106 415654046 522699472 465331470 919062354 762470692 379883104 746691764 282900834 946757376 626923292 178245872 952265632 969150398 370545118 176091814 580709760 816567966 889668516 645836050 136261034 213266758 911277540 378980326 322391108 975090252 483824534 325478760 576055602 125874868 699460080 9211252 406785014 492768522 605573810 461382834 440607544 853175296 422847210 178588724 309673996 623504482 2223566 564733400 870006582 862616132 409367406 29261102 333596376 510411346 970275620 502957128 937610564 544196808 675889778 433711732 448655932 310305586 836256928 886541170 995947236 231327958 840714690 676834544 593545792 53349394 675394144 95340610 866534544 841440802 678364544 274044160 655992544 160908706 578741754 691196580 750056242 197830814 121511892 715664222 638182934 27995684 208377180 305341916 647667976 285620816 352526210 752790674 195752476 295273460 337492028 856717002 736500926 982837008 350835930 273061052 255382956 12693150 36090786 507146756 46768250 695435088 231540284 131672514 322488034 225639644 189895612 100784872 324275924 266631246 61619548 453651052 783199040 356878816 708799658 366014796 936733248 266003834 849187466 32953468 974393036 965238890 720008498 329126514 453665142 660919414 455295846 138638082 114895452 293905008 145360060 151577796 417656978 348863384 687146050 213445454 58562654 339043790 335891348 828492392 222299772 635777430 682852996 866989924 78543072 521399750 340604426 313731788 733368258 955197620 426736502 637663748 917392740 425059584 756470444 415675622 517418002 639324864 132712684 518295356 779288840 731852000 335247814 196666088 873599554 203314804 776121150 552044898 367694086 558901792 320592082 79769266 272552044 374682340 668510242 400061256 500244818 685179536 90400912 501163064 450324358 421741574 187712756 472365392 438531226 34734526 597237578 457743012 294241354 36779656 750438156 134586764 191113492 86822674 370292206 53308754 696000544 235878040 610846576 341664884 12626272 481743828 977872346 590939548 627718446 982825344 930245800 618843442 504421472 137320460 976883844 373895144 782705288 963636842 758256140 26050848 500015298 872955616 70205120 472896710 89378900 470104220 249731130 345562686 241714178 290654728 764594426 50337362 12467234 251633868 848233834 411001724 801218626 698869330 238209768 97274254 35094296 665444232 187444494 439684654 727025888 594433978 991716312 540626766 890120418 405727864 323081474 943655182 96583978 402686462 687150670 771187912 999587068 478125958 156553250 328204208 737146232 276066852 502266822 764599782 988724104 613968524 127232874 107954970 747368286 846624632 390188560 287802552 185699406 636157000 360038030 245960868 431511514 566236192 196300926 556695126 225516782 646802504 928006184 331167608 275211090 711070434 274737404 570996256 464985586 77363668 225354208 229542826 687327686 687637360 766933708 548923744 816676952 885379808 102691850 759241602 584982782 823579946 699782864 523238798 989084912 976035874 474854182 724346136 934610134 291284724 695425938 167588358 918953314 909011334 802000494 976933652 22723078 670842776 592547358 792828170 731400786 821743284 45770670 319425546 137954494 373733318 107101918 816330370 531118994 2712874 593111410 138478998 970582656 680595616 643285098 543033678 676782072 600336424 200767652 742627894 882774162 672850964 729577752 704158182 211837450 423156616 784798720 73384692 686920432 541757864 771380896 486646354 202689130 891337356 958872016 619590818 273230842 820840788 301756484 23931434 605293472 499254364 40039778 568425370 16931986 204290172 699905888 354523882 105684218 247384572 241965242 799757586 719634770 824249396 433860812 304380582 823135460 954176042 410106716 453810050 874936024 651951122 338990710 695652916 896527906 167550702 687705042 398608194 585771002 35901496 361331896 529513620 171112546 213023250 359833976 669899064 30789990 17644898 869684192 599902660 111349588 684148466 478501266 85899886 315629988 844498468 156047606 148357082 6306722 848534864 850485092 478485828 82800904 521410058 882024834 969386790 790186134 407043864 692180248 178256574 858433970 693567324 801008480 117408134 213301072 4114338 470945762 994396146 511392564 977050050 617381322 850976230 730387216 703772066 995365622 835704132 238029742 868400546 557673114 57377740 86736724 568356194 49102854 661854546 690581830 906949320 424946472 128633722 298067058 619777652 575972958 92368994 419993226 498587184 799801074 938164988 805085428 4961460 343115952 367402962 35310040 601978772 344522750 917160802 391454422 680144900 422566280 667095924 797181960 543531834 627132000 110412656 321238216 565496536 194997758 409453864 753668464 610301586 675359002 506647104 183567906 260500474 423845750 44504936 694570236 96312718 712698150 429018062 221341230 756392940 662849178 823872590 699851116 2410424 170986794 365976506 326158486 600292702 979667248 528941822 693839930 431414184 493697298 273844094 288378074 975887460 39157824 601321892 116712634 748830136 100066942 933513642 481544802 23410870 213008216 505435650 297676790 864808386 28129464 769321308 283582618 65393292 757524618 611456806 12379294 225414488 479125192 65699238 749313618 636511044 340008816 763192518 506142904 861807342 436158960 612351244 482925248 511175022 685745796 528452966 200456864 583277584 653129038 38441662 366398188 873433478 582256592 37107534 245567908 200565558 478686372 103288724 620216134 301370046 230201642 351720064 263732008 535759732 985105422 648975038 754080742 942007180 153201748 728250088 308368298 829130140 429111442 284933392 714824192 547656898 774179726 327002856 905135318 358755206 535955130 714760880 899127170 360831396 618541880 495734168 700192306 898182496 134684352 938550990 375727112 942139260 70152364 778318238 463405356 472744450 300595158 706474012 792989350 845731374 865573166 352172604 932174788 700230522 572982108 994637432 159576516 226366180 44619928 651785288 17906056 150055574 510835198 336442824 877851060 492270740 428676366 970283754 902480838 69787394 619995882 785513452 170168626 361837780 524416078 341041086 767758844 676965914 714350942 443749900 783615644 448491666 902580180 455860420 475470096 229024534 146579466 822275706 669936462 151600958 973889276 915138020 146921064 314328282 203008578 771354806 12492990 255971358 715363422 375978708 947966068 733162742 161838628 343280474 508166914 626762728 572528910 169728498 937243880 324452930 763133172 769781436 188185562 425283698 7111604 5495886 430237084 836637070 39486262 566853026 694385592 627102992 262058068 655466540 867893246 520720460 705456666 165963156 180908190 652982764 958496470 620614552 125677454 279422588 161888100 169682518 398329742 726112236 190579758 16299596 334885300 589238188 775962040 560746466 838416578 143449262 237573704 209992106 888542688 994425882 135771008 243391834 7540248 38623212 110990580 436613470 690929530 797445758 194842278 247756902 943648208 717584214 826789494 536046154 494233852 67689516 710916832 417548692 536514306 284734926 882819496 227315556 503821590 454793156 423280706 358739706 52655682 381332150 595361634 909527528 89075982 556813970 827377138 642814882 528243044 699692822 706471256 290574996 209462542 572165394 387102234 820781294 214613222 810009874 510370068 496252404 995001186 368634172 346328888 544320262 701592036 43724628 298902766 330728926 891815922 196258256 371095670 705531648 311521054 231710452 117630422 550005064 717842322 677368630 930889580 209166656 942179878 727928166 889252804 836325910 270798692 710410568 173044570 499878692 475051352 336083986 522817416 925381072 896278004 62213326 715999134 657915634 830926034 386748052 951918992 207973514 613124246 389310868 915323932 694180176 456036110 689129396 344555000 733892004 974067304 382570558 654763634 994091526 478291050 539709970 884942418 667750418 283167270 957382328 580785706 644862610 146123966 827313746 667464388 547428492 591072966 660111494 789647480 544401928 933991732 379905000 96499462 22888252 192664152 168751954 987025220 206594216 438027844 892830296 598523052 30279842 980775326 492351540 691502108 883053082 750843886 11469984 674868896 338466280 237068432 601165620 726727814 846998562 548863058 796619340 52067812 449362004 764642002 560650544 913085708 746128864 738131104 506500398 979903382 12316846 540515260 862165676 600327324 918985082 226413266 295371418 278078436 663913036 61231870 196228268 753067020 889308920 507268736 650072762 602979240 72543054 803877906 280820200 102877396 628523288 872639832 144818268 623293274 534514594 341465916 428605058 412093198 302324594 917553472 741761544 958967710 474005170 906626424 261882020 506566452 124906092 461402486 41651820 169877076 371117130 208495590 537293430 118990408 465897920 720085592 606996156 562377884 812487680 348548422 64118740 330389532 262340356 352526240 73818866 396111726 460623750 350512604 939079424 254162276 605679978 642894466 844781680 959637582 487216126 618567326 192839512 776213488 194543624 241983434 387386228 210159318 257956196 519978022 812938970 154222146 777863226 492857506 673302530 519133266 74974932 804570852 453070840 310791608 559401280 455125232 345998492 749441510 793045118 71157776 150770604 428730368 787664644 417715324 632764302 743116234 907179642 643734162 264598026 457473008 481430706 168438524 854485316 724043112 945330650 72602402 282490744 39474684 715568566 544618732 635993808 382852972 259698256 296268094 843151366 295491642 837601238 603602586 690552472 135595156 975554440 789146698 361823594 27637314 4834504 917231552 724712498 641459918 359678046 335747822 198264822 399146236 671853666 662884410 270134312 978551990 104931210 363915978 923211544 93731712 504907880 762642294 163098272 883676114 283550644 276715456 802794978 683816188 287770320 26114478 916350068 922081680 551452044 115831526 963144374 241773320 574293780 524631262 208174774 354688904 742340648 823342972 141960740 80452710 507237828 877787742 529671750 531792682 233857720 935300876 574482354 728236456 137239634 629988580 254710832 245415394 433541786 641679928 436429218 686911942 15231928 853953688 169083318 261264758 617092856 200066724 478583266 825120478 36358978 944066298 470796262 105094356 254086152 914883652 526029432 425246652 460529530 801778672 979936604 261845354 876702966 488204992 860298618 337183156 358992728 427181042 969962416 80113342 84068942 169815510 696732096 930444488 208360942 289545266 116201756 65582000 525135058 578407480 758328450 672688756 577096646 89572468 213384562 256844808 707901440 85833526 218876130 295945980 693236654 948710964 30852984 123641920 871888352 923970860 557095058 876496990 516124862 852999966 307783482 453685894 324096606 195867970 381374148 506813502 811757110 463656026 927996792 513589962 316318284 687186108 744534880 98135670 996886058 794839862 443766288 57862960 154677246 234071386 261281172 209459452 343497060 95090486 148369696 324962432 512096256 951711954 119552522 131827890 168520086 173466534 322186978 567846366 235786822 798922196 618592612 380418388 306489606 366641422 251998106 722324576 6094274 453939126 158457162 817309014 599901938 235188128 382646372 842814146 603687636 610481836 873038670 273944132 860421424 949477490 435375838 907902832 876373632 380089514 228021264 917934166 489524726 311675502 575402584 882628562 346268280 751671438 50355318 240346428 350507366 111261782 31752668 80029538 691523668 388677738 667497278 460521380 950044830 191830422 204932714 213623680 23728008 3994024 862972572 577757186 938975854 885456448 221127598 139597580 611168110 385108264 945942808 355322914 92977248 380904938 42621364 103263596 358012416 485021092 157723490 719216584 155370864 74467512 321009770 620429730 689290498 438274154 223339574 473002844 306584124 379747386 491755744 430981100 478118614 882710650 729676616 3807632 784339934 808471424 80804374 470989728 731470498 139879876 401274134 418631540 645376460 903720432 415929868 561474324 896638010 427765490 808212732 204187272 784487892 410069350 381242432 601125718 982095620 229026140 617312048 98308358 270203980 93441356 544163792 884611162 134489128 331186658 654912396 471401976 66447180 125544700 10411522 162208386 726732288 270934468 415042408 70349916 107435414 53237224 28712648 991813832 127214964 374704462 370617506 121597034 858914672 324524476 190879588 552985754 144038932 79160756 838179206 257018648 957781072 418644022 824402138 295678368 174044658 413107828 213941762 362282386 857367716 568337812 970474228 583513332 587745684 108587800 5264672 581370464 929631622 633381668 50285878 535657556 879371206 52057650 512226110 886161144 94434368 572042900 794775462 942214236 668795008 155630980 737387766 690358980 626678740 619299316 124596180 836550010 13982600 987673776 478809306 199018916 90599364 965437070 789021230 270395730 921207676 572976000 294244922 287407972 649040730 651316660 469273386 896938034 824955922 593371526 473856548 12295704 792631946 4344076 230643716 829336180 616252938 58990168 469949522 538135150 344774064 127721476 413637210 543739044 427296984 951964818 656012076 965935102 930267498 901015306 25430690 268297070 196055716 5710796 915714614 45644552 549737730 185724710 961264924 298174784 274077158 251455908 296794748 887903648 590605000 48199400 22955068 48537580 921034142 269942328 960160006 962986364 505451558 791295132 137772566 303666214 361682544 881914384 942021998 859578954 247980034 265567790 879966538 720764918 573049994 604168466 902471902 482210922 75302764 722484572 554718064 168680150 872714834 370124308 65067348 444964362 149471696 16346086 696941338 527153216 767255634 23386268 478576230 221476658 758495532 231018392 484109394 208723344 271971356 552834314 691916674 842209412 167437832 730246094 700250616 435721480 54329934 720090042 446707962 380940524 189041372 259703130 175829038 932044424 45572546 473432756 537986650 119741520 888611666 591582284 250741296 370321808 399120568 987526740 201836628 40587718 535824314 493809646 753283564 957559536 84049100 905268686 805278940 480129228 210126408 826461156 825002128 87399700 446997392 79144004 61616742 358480082 661406678 382526722 64580610 400400156 750570140 166851414 24038406 786331928 908828798 966458302 660758108 917514556 414685442 879147284 105602900 474084050 741445902 424426626 142913250 590540716 575253954 995242350 583635432 205323816 118668718 106346994 340363802 771871292 341450490 463110668 903080738 476687276 258997002 758580580 925017452 184604940 174227424 283966912 162626872 489041906 77683984 704674042 904153376 421583566 6173872 930089052 158088918 375201060 283744804 651030462 545803134 179205536 943697388 532485476 583301108 520085192 61490376 814154 888784316 24654982 77331532 918704374 317500398 42824902 540916582 127012236 233503558 187378872 209508342 484795088 49910568 937295576 577449544 705359666 211672680 971289474 78333232 969468624 219555162 520741312 813399944 654245860 754203946 632293660 980218688 885467686 606818720 831021550 317983612 381432262 881278142 538549860 103351058 498731390 955035494 289849398 139780522 289764262 64700144 710628482 732492710 540672166 829937582 900024612 815031422 856028654 952534708 872262860 37002662 822266000 589023464 136454272 424800200 511788458 405122800 273223298 797917126 371862564 601671644 478270632 812241820 181734690 635377308 3739100 155868056 813086642 183433624 746881764 474985490 517235700 608267436 865494164 409289720 976341834 715368768 444440630 542294332 554030016 897997346 301800770 565295152 613092012 10977964 284091804 95875292 938949848 456459272 847740488 852812420 257029168 502523246 769036362 188631062 581798772 425085896 66560028 197908096 925935088 780465664 761378668 864585990 546107406 733393354 556684454 658839540 730054788 867782750 174401490 156391496 607261402 636623936 352425426 739140912 607604776 910887602 932948176 369269524 269973732 886649662 224386294 287157270 88250876 842853966 13354846 365182444 467245132 458620424 880438130 621589294 68429844 27644716 1510334 536652054 208647034 948907688 271919730 413958518 600316654 650959986 655605514 17522900 560282172 869102416 962745238 55417434 62437372 827442410 689090130 117054110 480977044 969182048 97193264 274979224 866533504 989702198 923922042 51992096 341941368 832169112 145653192 189505156 211596082 196268680 13188660 952267786 834047164 406451338 369125376 704744498 936656656 226205992 16060922 795133322 766249146 895590344 171551840 192213076 483232298 312183316 164983872 180220506 967611132 377847272 412182098 806127724 977331378 617112530 886514594 462730968 249758404 579711006 631698152 449782816 937166576 101844748 957099956 748414292 24836438 947868424 854551006 801112272 196259966 235358634 649438478 575132274 717488342 967413612 761605338 122725056 658897036 276554448 279001918 534811564 591828650 301042620 295795650 296869176 971937906 526352576 765424240 392310300 851673468 800091838 388267890 392484108 707606748 427826656 891762548 464480982 452813142 575904430 501418868 607683094 755048092 426780476 168726748 737053098 718105852 472136520 44108518 149493548 555441408 347466640 594380986 196468076 450898154 268864394 332195468 483818398 708749964 125913844 143209518 230666344 161104626 119273260 708352578 173762080 348636602 926853340 953387956 976793908 354620016 413736430 891002326 402807362 381221242 305602996 254596938 745308802 63265520 537208476 612376504 640997342 740640676 372467150 35346838 557782558 700527442 315373834 805565936 806702230 294869866 835110546 334574574 135111070 202301780 648279996 323756548 934567394 453256684 73555518 654408438 579822904 426550996 329059254 559849414 818930086 888221274 935129486 308293240 166633982 27763926 438677636 516718500 969692704 861254918 630290966 655795390 646031622 959681058 632373086 229358798 233816212 273238036 492001724 224702024 331192630 984523948 145268120 179675852 70965130 868728704 487343942 253947918 105329770 482431352 654772976 779996026 7148878 766391472 643958850 501618696 294847380 871991438 158969292 884106558 151829834 460193618 906307300 706509438 530514560 892766926 670603650 169885328 381828930 941537298 508646058 530891830 833300304 140772438 269465260 200493888 146942458 328432952 593862564 420546620 806142302 644417482 481905786 778268236 422240286 469648466 844952384 316337132 997071166 117582962 598166416 62388186 318546764 484404154 451122928 642682512 356642154 831274062 841484594 398258536 464228354 532772942 809985070 956858260 326812980 665219320 523783226 97122042 890754932 917097106 707696178 811076370 352312840 768316180 546794740 225231822 774585492 44777286 238190888 462252074 463577122 395845490 585627784 781927468 783315100 479338720 347292320 978503300 542736932 588520078 177576506 273250838 505227482 362954360 894996644 513342284 574833966 222871282 475995150 718271264 921312348 926297232 955272824 217703336 451933042 11686758 346504100 153729678 782433576 600337212 903911954 668556652 683526926 73916794 10272444 819183554 341811270 912514934 253194754 57930728 766159718 846634060 470866284 715731732 871592668 976818084 716020762 71733398 217249460 25186950 716818038 233001068 992285078 137452668 69911748 228383322 73029950 890775290 765140806 776900668 952604564 389796566 321139212 128685672 422649830 6997720 886983446 463304610 256272238 361430142 497867886 775277450 670558450 194947638 739985912 255632804 482090616 918207110 91004888 835976082 208132458 567370000 938171682 948936070 433508142 807140008 284056678 22732658 825538030 243212220 452232064 231306466 964367690 767354550 631842262 339627790 705535562 377143152 122695242 785110824 432377100 600373238 853460010 927272984 187887410 254018618 116549286 52837634 690408560 667349554 181410870 363136592 406356860 714524824 985946434 236043666 888242970 601090108 512637390 269272286 652234148 625027180 69644532 377386534 434674512 374094652 615791576 439571058 118193402 502373902 65525480 379752842 780905128 856229816 509167944 891966814 625052316 566915904 522909290 687426966 577691292 810562832 270751404 772350160 607394646 408280522 161905698 349309216 116684608 586054676 883199854 53205596 756869880 942183320 369780932 573254070 23878744 885362106 846927970 614813960 963369720 655809808 145778794 541593480 583133154 70704554 545602276 202341110 840917364 190188092 40638800 154087436 201752398 177059404 836890184 245437986 791755418 566524728 615950338 383182838 691543084 705775612 831989846 821624774 310576406 882449174 306404374 481703602 681019568 534903942 236400310 341215714 738517616 383720176 291077696 267731434 856952264 342548176 935206450 641831848 260871574 644705848 299118048 159201312 229691868 236482392 847850274 512502848 884907028 206645634 28001400 666625324 25194184 62021326 925346750 523920936 375538174 222635494 531546924 403272434 797503718 921219966 875648792 556452468 885507722 212678502 25977946 606199604 908687014 143911560 64584260 225642232 531792046 769589762 223411890 27393344 487288306 174643860 332041546 77991632 999162510 544792844 363877674 724107542 494984052 925705056 565379636 699908696 813018814 363485734 703767028 87706890 737954512 128190040 791490998 598608742 288255686 423546598 952896312 462055704 745080434 75858896 653922876 899574378 301955480 508653428 953234340 355994244 725617462 336928736 422121058 478459474 901753106 663185726 320429616 675115008 898009236 35485074 506992162 834962550 619464884 211377578 325138676 292761280 206526228 650226790 846668678 293249646 15880356 419132660 719819002 976249694 13426826 617776822 128026278 19270010 667557076 531770414 867474234 500781612 179091016 130716468 635466876 787374664 702221554 885438742 601366736 420884806 879280154 201182320 8481078 314140528 213928066 272478910 683217770 793097252 297119006 639496508 655145180 939974566 800673420 993424774 571798146 465715308 128574972 837019294 772487056 375433568 158972454 14764744 123763482 842129832 772809604 385694938 117565506 249601160 427701640 218132266 688782940 370885522 35409284 12175248 444756382 486056910 24022924 201192102 529913884 741649652 726276250 166964556 835254126 162740606 969773398 651286720 15801354 80395916 910202092 659776546 422777910 675437608 566672830 454023050 127925154 930670398 237773150 302150412 865606122 896087912 525983616 478377870 215763114 315684030 178375328 252301676 140465712 678073380 282287644 240672452 168468814 235697412 925079908 412736668 418736192 771332654 181906592 489377886 738499260 491388080 354537262 625078244 445012886 235331138 192540144 88469838 448750104 41101492 289658732 841950560 555250034 581864166 138518824 22464884 395733908 504517296 783479916 972450724 366798686 429300416 859901852 5927302 344960616 94847410 331021398 435458988 494295326 118531424 521366400 570634696 650511364 350534324 859789202 504076414 288943986 423910064 13768876 473242928 500077336 196952612 450089360 54136734 193948126 401201714 57324836 597361202 199731180 693569712 244465212 530256300 919985434 720514694 516887082 915687908 547914460 330326174 168704654 507671550 662503832 176309760 844346748 160470290 65058852 816261334 630994732 411422326 786780472 17322854 940733776 99101828 810850404 138918214 927324838 231252156 989390694 528177096 648992176 91111648 906646472 304540982 235702670 281198800 587723794 430804044 281984862 549973238 84134542 956310758 462974676 288721076 503948034 207198 237118488 224245606 479251182 149267628 421208442 508223400 528680958 112179898 549536 821090988 963875160 38430094 23006484 445472528 588300874 35346636 967612932 426019168 784661138 992873256 17950806 214785818 543349958 688380526 455097124 99525722 808038158 748390132 736530560 721473938 736046336 246844720 614310772 586618448 787595958 104360818 627252862 885004662 812574790 931904938 11556514 8909256 622304002 638723678 155182280 158773954 249837270 944846974 34067248 432032832 380627540 58266998 675460350 143581122 674076854 616395110 261134814 151004326 164724558 864286310 606436040 503315956 777390142 747599792 359321410 608613056 822348798 723578386 214652084 977589914 151561118 621626644 324051942 225427136 496968776 10674748 326703032 934474098 380380450 246597154 571649602 426058908 797990388 785076636 53347012 71654260 293222828 240922280 867928210 81634702 120930030 972794716 387047276 309840718 73690608 8557240 317193688 698061026 410999758 451960502 522118258 831553438 219271612 725460706 694302728 513151128 583403364 752839246 345680622 192412320 509502482 109610534 787428048 438534670 43047516 54447456 687692300 789216268 176602432 809145426 976372622 708307374 32686196 291123318 794313866 838220114 17399338 519131078 799223808 605180642 956209604 375593176 146898794 173832632 56504620 564783418 82156220 769882132 473445092 192212428 17235738 979464340 998070008 356130566 785666984 336805788 629846584 509300692 63025842 298532800 566602704 982323258 250768804 829334036 760602976 75936110 965324638 328979666 345733896 977460940 452848084 97417104 184197978 585141156 34244642 865695518 313164888 121120506 852028370 195391146 658054196 100030556 423513604 104118660 419820544 627074410 353645034 161000618 560154800 534855418 680615040 364201536 634109284 702229402 722546796 62061532 125096784 166952910 182266504 710336162 626387350 658591372 248686470 952162970 972439716 971062620 75681754 904368586 890902814 225904906 232527872 583987644 591155172 578659910 812572850 731580664 184281552 489877662 431957390 34775298 937002200 248203092 322500012 252935460 350675720 939196402 448437844 463530258 63353882 309448094 692443188 584824000 256228920 538901150 74365296 776610594 538787514 339382018 908725724 353960530 983433164 631881396 85627128 483535604 12114088 503427992 630641180 88625814 873988456 803465024 509926150 367771076 745124306 446066354 291005882 444051644 867359552 3477746 83326914 313302538 424639160 432213230 401564974 364986248 491079836 841787092 381480210 550820746 36607388 697966210 21997840 572827594 710527740 567061470 166759326 34182156 14038590 852340966 439579384 43233814 821535442 758204196 642062934 132066494 635728054 219165228 937830926 914830848 44717092 734026342 919914836 317503018 162116536 178500212 507345598 834465654 586748280 899134142 196036910 730462866 117015726 547707878 550481048 640330638 193191130 80098472 314795338 577025410 758756714 306032304 907456634 658147744 749652310 345989112 271108480 5661198 728686250 147735974 675727400 546637434 162802762 160948446 672109176 205225208 770783982 850769098 659736954 470117566 931866306 6097460 938730690 118953020 571977020 879631966 871697480 49051482 553944422 539456854 460192808 209955294 551669524 840439458 166749010 559969908 201149146 163445044 417811878 951786994 811827546 819702022 68949120 177718072 144117102 678812190 569471968 759255274 591272312 46743814 498330740 44781308 513806192 795698952 825794722 441327026 297959732 202535908 894703776 921011634 610510726 176220438 279824060 43135550 716941282 105202908 425518498 872117222 246884002 20200678 115656574 546135590 125567014 251930366 901811864 500383128 401794954 750781886 894944494 829096588 690608670 211658486 194083394 776076480 606011002 315158984 338187738 370307908 436961296 250926366 741452582 502455548 242389938 629129946 369524480 373354338 959427820 582431682 810433566 345074332 681052742 794784862 269476314 628832344 542538270 272307598 646443288 81042306 251069246 461322856 623361336 471577934 159462686 462828924 938171538 234127202 973045652 852238664 743338002 97814328 98643344 817320308 810050364 805604650 722441116 439429016 916484306 101811576 362856392 385908332 122376422 374532986 247012596 656679058 803105410 829097108 165802234 281076900 305605800 816651504 821162098 200677872 474353100 827783178 444655764 661848790 938140600 558249218 119286930 138749130 608105338 573660332 418266678 321992934 769989038 243723396 252585944 617653538 865244394 748258148 938175848 604182328 774148808 726038412 121741668 731604340 322655552 480177226 951307702 51626054 505238104 24733288 990886342 866480128 678038032 296422564 374530670 140287912 110475232 551095976 533560972 181352488 329171668 875442754 20055174 972254086 570034244 97462746 341259398 158135504 546313674 441153984 728943020 360640306 850448160 73078508 725044506 641631888 112871992 317324970 453206252 880138006 381052436 33824646 947350808 539583116 32383410 123686620 87948042 715008872 835227266 105884084 944385918 739041612 483697706 69938652 374102 149962282 589480420 408697536 898378714 162963882 513095578 921066736 59491936 487762756 526207520 151453440 774288390 240454804 177712680 169086994 632734660 995971348 984946226 499234974 742165556 821768470 890446752 837482744 921467136 255747936 872813662 282975476 332048506 893075808 649467144 140164234 911043836 35652122 347952076 753916742 424278262 156961408 538890516 142516266 852952466 589558968 591422698 560324090 330357664 975994068 991038358 71899762 493645368 320903320 202268458 614097578 383202204 171495242 612332674 240801906 309767204 871654264 743436092 513459330 982225702 94737360 441673196 72509832 751164756 489787672 548868404 578795360 113325082 281630264 649161458 93045442 717114240 197967866 264087652 267673520 448877252 715626204 837372666 16164622 384828272 872957672 616258974 828640412 447678736 28975464 135816100 598195150 61141810 60158878 520889224 357676180 758926596 215317394 337521448 176300328 378060220 759979906 188569412 579083148 409144812 132172630 730222794 384324098 641841550 945177362 912454748 790751678 976312990 213901794 282339840 146611154 271544090 95924450 930065464 800372300 130145490 789820288 649848706 82980044 676632168 930464868 216438980 206727094 489277302 561109352 618915108 774240690 236142232 320559696 814506770 631663740 750863480 749815350 745833808 285946092 885410200 303407204 885534034 517209008 54088988 354391148 717139788 786530668 697965556 719121532 105153286 540982954 103330004 22706836 750658092 944059332 579653182 970926114 55358894 711928470 688208622 111910652 523449270 328731238 660063946 595265184 141214550 208206464 511917642 761105400 558519820 873704784 461384100 274500234 987593436 300065192 728266116 111142190 898970604 267660596 793357592 41046128 767852510 39553832 934508036 552324800 505661784 306313212 711191238 393433194 957003626 479768600 682375682 720344024 911031710 919680864 377847828 213432784 749234552 813070028 954740528 453908540 139613052 903178726 261700884 432564102 558512040 822617110 997725690 439434236 397214428 847211450 629213958 205754316 518990416 302251622 746821346 852453864 859420402 433613242 522681460 961859574 804792720 457588122 365514694 394133524 831495146 156096070 296766234 473913214 400322144 670924858 548968466 756493386 791992582 348414690 87614826 43285766 299372162 292280726 22429144 77024532 192833476 445159964 433881800 493065146 358002398 236404394 857198300 236700778 833646550 637005068 716217692 147931748 110611968 672310922 585321828 644625962 800810480 125027060 190213504 283204456 460307132 763237962 919574418 923122524 166880030 448829958 614665036 893940902 821851546 426102766 842532372 386939760 514963446 677983800 611711664 564271082 167975030 56486144 395991280 821269588 371798534 765553824 324707696 95770290 293443750 8626108 600722976 659182504 335936000 823106584 170300352 922226654 901013370 314274252 618914132 298410334 293875796 510854602 221997362 842431658 30986980 650863258 143816960 770408982 229771244 257968064 284657418 26312610 812781610 624126606 797791146 786267460 716593760 180323730 417226108 461795894 874729494 132046768 712324764 720268842 263793680 903875022 958107952 694701420 305917716 579821352 430139456 653916192 775259274 498900076 145848364 410547266 834777848 365235616 358294752 119247616 747033158 239572310 328990140 568188190 383282476 615253078 770062548 937056088 682231736 561187584 799773354 92194704 493456812 837368714 899282788 667016472 249565774 565252912 671662490 433061470 828295276 363860028 731543794 676437834 399407094 242608230 83129706 135568682 971872184 810819854 35043620 246354242 659430556 502411002 515479218 816392534 827515586 406260498 652051420 623382964 10155668 479387554 64897118 331863256 994315448 480083862 491433010 537956452 316209452 292407368 984794786 307041288 918719952 276327916 209770090 322168434 198998432 841398076 811857100 422300544 580887434 676477230 383640496 458990280 769439802 924957844 370695694 50520648 690052260 758425166 313435504 318296672 844990434 669195660 487790400 256951390 50282910 35669244 3593094 296123848 342084272 120432982 730787002 13622674 958328272 500227908 851583330 964909366 608499586 479213298 560079854 225839086 129063600 217123508 809396428 280540458 325115178 617672216 696589620 210000136 904493094 995922446 313704776 254390332 912799666 979870844 402304410 196439486 129884712 689117828 125751862 848509866 804110380 938577706 708046430 528745834 712349410 360584124 51674018 92401858 941081242 822516390 543219800 307116882 578071236 482855236 650034802 401094802 389153362 118455298 28280640 677586112 511071882 1432706 61677260 645343154 339198280 371254998 182814554 613589508 407439704 31832426 855457642 457880122 448712584 627840128 457068794 123938336 259362092 742552376 766735996 447987118 782851834 806461020 284454642 981467618 198592260 543439532 743689460 761312244 335541620 553697756 390384128 242319168 929201744 80872826 920093844 778097574 500634176 795161270 394495804 349363816 609424616 951921406 58284488 974859038 284832566 551617192 471718790 113567532 416249442 472444312 241779686 165578538 371485602 690711624 275046526 104388264 286476128 199584496 702825894 539953596 942557828 120811624 452526844 672481924 376992026 184739664 422013666 910103344 193592640 70658362 871383946 115562614 725192326 399275438 148474744 473391684 222109894 829396348 785583630 452757546 586459834 255203734 966776812 691866184 680773728 400693338 496346424 631588038 378739462 189865102 752021948 601942246 332247120 847859142 640368916 566578646 584528922 70928570 123460944 56541830 698510344 52534572 39967548 409173432 180311776 207388398 344452454 680261278 252410018 884282858 707391312 695180050 263863848 537574890 999460858 346824314 172366802 184086734 637294234 444539214 950064394 468082474 997430358 950748144 133406696 940573724 372699490 25164940 616905164 984688432 778139982 293176846 352492514 883884404 324224566 946535062 656586700 762238866 75495416 207038246 103475208 133309936 321596238 35893648 286621846 307973912 169731862 382010746 684986806 175721312 502350818 250606676 277706310 460245996 823824960 915583204 96765010 162008572 192116566 98314578 594053258 108515946 720459164 679673834 799648756 96681794 782500526 358231390 978319832 381282596 243801184 784258574 223019452 888151866 13259158 172939402 911317696 354252556 117475066 779917112 576577140 32318442 792451528 92634620 515294532 910115386 155416648 612431868 299646972 600947486 265081884 345470830 917287936 619412970 751076238 400145352 787453796 778598762 238574618 75001102 127670764 117844916 277973316 239330950 853185312 76103286 833121850 21110906 663313588 556725064 950805464 367053852 604868030 940213308 480175164 374159736 524976986 717470846 308833272 736651038 844243146 911270712 6340128 445218626 368535686 581609260 309383978 473837974 26675756 373397694 89760500 809999230 12118400 54929228 928142418 250080980 552423258 83912708 348878492 3273038 213450640 942216916 95370658 929264552 887292626 759036398 246428998 169470832 190063630 844722620 30292042 686014006 740071446 909143092 111444900 904335974 547415528 113704256 801883944 726549088 928763348 520774630 330181946 620117426 830910708 282926024 977277836 11466076 716964902 947800724 442067522 849899946 463058530 477112944 450522660 535349278 568920138 316511184 995900518 303607636 624473432 302287300 918856190 833944514 641832756 553608592 429521920 733363024 733719760 338269360 342854952 479561994 487525978 196832120 712059480 214928900 798752824 651449022 827864322 800603912 929385730 238973934 227817800 984495112 170802124 395376578 203179800 275076584 810947080 556594268 155553626 607634806 965428004 469721416 288196814 915519930 790846158 813561032 504149618 333157998 394479530 158582198 347780014 692285352 904542548 610802096 567364994 189231326 389267150 545423160 770385266 728671278 778749280 85098372 910713996 316576718 842351936 430238508 106988176 12530078 226069540 549291292 556371418 248494748 425365096 317846544 10655460 370690106 81973880 157277176 873751588 558779828 2671234 368440270 986939090 905230202 146544082 121875170 940533222 776914224 52128844 387066726 611679756 823788384 513538772 597201854 158382476 403454142 629107314 243183048 996002574 898382926 51302288 730804404 534419288 155504266 996770332 841861270 357254160 774638814 649776726 914636828 878114334 408611018 971911374 663550026 588226280 937727008 408517212 897080752 67941818 447698952 362424618 446836378 324916038 199535732 263220096 90674482 297437282 429635166 724711496 697317174 620435540 283455792 844216340 411275446 393875756 948788570 745027428 956490926 26085900 702462468 906863886 935784606 76997520 493846994 47533680 363026946 971940820 440495120 523980648 876078614 262862768 448373776 255060164 398100916 697606412 723314362 366875972 608950166 296658480 2311430 708697198 525199638 691299370 649703286 627182922 738285012 157003686 550105806 366727718 150649162 582999790 753924806 119307840 681473496 782681188 537009214 811560726 173024546 759502996 62398722 360197820 433497658 52767918 842362352 731290470 189737748 753749228 276870070 149262592 34622716 149359966 687937154 357525732 569446926 518722072 387677048 318557802 143528152 571247440 937964438 8709586 876327030 325592236 155176362 889916564 208118034 743629230 863186334 757816964 908505188 760936796 685542206 270133740 117989956 584230196 623329516 628276246 903081572 846766200 512515534 539197400 838864878 514393260 265742260 111222238 417799306 653076600 54487554 190211478 71658592 313043822 188171026 376716184 917688848 539564246 7152722 727095842 760794536 63256224 407485854 332049340 524016278 114457126 628977100 494220254 696059774 409137274 952182850 239846330 280252338 11659602 528178574 687498336 57033488 863860490 253570566 401686716 114859670 696613408 374910750 857979002 665807186 365398196 954977096 764973196 913962190 75636856 128230692 458136668 179100208 394623400 285177384 625550076 392632586 985728638 782830316 941382224 959008438 727287462 505333324 424040728 410465226 498684078 90569242 806921202 954414542 451093546 80396818 665489526 337037966 51796198 507996450 68259490 77714190 978664776 542296030 375384890 730898444 454614360 48584624 469008230 522916440 3633744 26975772 423923878 303969374 139270160 283727910 890983760 902858236 861411126 685215648 4417404 356647810 349147410 75573244 553350120 405341128 589690080 107414282 602197624 332121516 176346892 399266822 381419152 427218202 376608126 632609986 867061682 250809978 275171072 258449314 957433938 31251532 650441758 50895168 701183650 172847970 78448000 89657830 714880866 155901008 808864862 111467154 546432022 523691994 80376392 669667244 271341650 874902598 362721348 765694732 680325478 113877300 453987084 757571138 122790110 801196206 969715352 305495134 12918894 237770044 286151472 669421296 30350128 206031650 904596536 967516928 431768912 81083220 584117312 96128172 177948852 191385114 677066496 337708794 241472816 741588800 724274626 625984408 186799432 688178068 842794678 366737728 389108690 713398436 416719938 96092036 252495258 79051602 936174012 525591888 374287918 989461098 182670550 369566324 880131458 714063972 811725276 639413614 321390306 124337898 683392776 55298448 767633476 57922902 380201440 917188698 35842234 258471944 841357736 472282316 84335512 542906678 292322756 886944764 108652006 99152028 979768734 726764146 141036502 896797204 663015776 693601230 91515904 20140818 906245446 952813690 851380514 308522318 588072638 269596676 842691562 467286130 129316414 922604752 987925754 107355622 811114510 58495702 609477024 915759954 570051686 964441604 800709894 581287990 982167294 901158202 973389338 165366394 915806744 101461328 35606866 709292076 22725444 206917640 909084844 50477026 35289046 250217964 575472824 893215618 166288560 469587012 885097952 190197072 18536402 981699960 157952002 310636846 7639152 107820884 77300616 84320186 704430916 904026344 996293154 575676880 284701788 630094668 106428886 595199346 429976364 455907364 408049436 958039492 743815870 642240404 845899502 387654856 859504106 14633090 105237292 487847894 780667136 573600204 64448764 975713306 466314052 347102356 800633882 457414212 328947898 686815256 511425572 578745650 482651384 548008332 236075906 158501354 213712806 828015680 167049040 162411622 318154892 644018614 425628136 890393110 799415370 811455934 856209412 193954050 408273724 939049850 402687046 862563494 6089860 864734470 980344238 523617344 388601904 159120626 487146762 35323780 952460946 887775572 509088984 496739834 289480328 687192756 301009806 352225952 74634294 669949678 144309014 331575908 458883652 198432728 395181922 915870738 602432082 771516406 118406570 129815352 479187148 503575328 671132968 930836342 657134622 114893416 624651210 634299442 233930270 647861946 642197740 350669670 90366976 619946364 552549606 98536514 640068456 229259096 163320524 275131838 936558030 452940806 847665184 553197672 4396826 272641744 50151622 933715096 194614294 219818722 474397832 74163594 938306816 550941882 94862518 574624932 910108990 598341706 132005452 446019578 947719258 497285668 958760790 594140262 187860776 811258374 188709646 3658296 647824882 645571784 8679038 449730596 428990128 402274888 373606340 859465528 688222708 797716062 935176658 575719188 823205064 868280248 121915382 70332946 285937128 791312060 281137680 555117414 570544214 458311214 808921034 511822664 59445086 944068418 43143412 426338828 505955114 609618412 9615622 112016818 65068894 402927060 38198006 708071382 694495618 466829496 984583626 201052442 608511850 792822556 916765456 325342690 210998614 987917894 238217004 695298146 744259170 770289094 681815740 686300568 158277510 665771076 994177098 611265192 271743740 352196126 169802348 938387162 515057510 948844868 156961566 818235184 176440178 392799732 560587860 886374362 768836954 259300850 790372032 51512670 711048868 884051676 37515024 716179046 10589216 287090528 937449750 203032854 287950518 932987302 620823182 857683272 43039112 221634548 335687274 458945448 587163716 112302066 983289826 546554500 308653408 76932944 172776876 86136178 495324562 382747876 673841414 512976170 243864958 476345524 951881748 454913274 388252716 454724186 302845818 46049066 133401138 324755020 616191794 477122862 484059884 815686144 878081792 793341422 38473104 560451488 58587134 303597870 879705808 569444694 439491110 310234884 744934986 845341740 133450554 459349716 194464736 770541016 30414612 772745944 630093422 637186328 998322560 919400760 580698258 955773888 923534928 912870698 646765988 892875362 739593432 13913084 748364446 370765904 541572006 719361616 447768624 272565014 619405938 68440442 747605318 378379396 680887320 10903962 891153442 963288990 983147138 218891100 824137780 712777364 124315652 754296282 77053584 523411852 897014290 625043958 358552662 457473188 573583818 696191774 824794218 587796134 497118 35332146 573558092 435010160 788692110 127344736 4043162 523273924 592663858 880284268 974987422 591547690 201436562 858409936 186999596 484471246 342949546 95681454 944970854 304547320 630750424 155627956 268339822 92992910 309483694 718819480 209518798 144143692 688121052 251177200 106519966 409471810 881934906 491697208 151899774 126620224 966153050 992197818 457946124 29031280 140715842 637510242 595187728 262109032 101233032 30051976 663218654 287096120 475889978 35624464 679041534 188684832 482673318 454490242 749462620 102316006 235739598 134141022 650940744 516883858 203414190 254046808 921035030 284877972 64008546 961906272 495611316 177422734 926415240 154147396 215183256 430738516 255628616 813149120 449186818 643908402 871991846 545999846 484387110 385191920 219082422 225413016 226569664 822708848 853058894 905873252 586145482 55056806 531235080 482332036 307208858 419240686 538808408 455328058 20842088 941211136 302351008 48744508 961236550 964176978 486979628 784291426 895545056 248192248 426457648 303694528 744180184 888609398 274405844 944467200 211301838 327643816 994621864 134254348 614450798 693479210 406863280 769247826 455429100 817660980 507368254 696744466 682076652 257501244 949008758 455017118 729888536 810790208 893980108 528930572 801856308 182373112 863019764 277645134 128548622 544642024 153000724 300073872 384181308 432083662 487827506 496627874 284783456 2658900 143135598 750215022 447602880 347389316 61746224 95519518 733691514 995846964 889178970 457286476 703010834 868246944 650447028 309017390 930557252 384890420 7505828 73304354 722116676 252747822 247568560 812794232 542189286 771936646 957343400 165036502 486911200 5414108 160942348 746278216 592434320 361683744 930223778 900104498 819805016 49944430 305829372 140690338 210449952 455985502 409296978 663318524 655813514 486697104 526749816 922810350 835838160 942650292 208541376 444835540 590655356 350362338 853742802 609137858 398371094 888921670 877954746 238327740 604517058 336664496 403333436 785820886 444087286 644675402 643261956 617727072 727057524 138741796 44186270 951191712 961654744 565507508 441341154 116952416 323365500 673236732 840581366 911936008 160646856 541292428 489145612 440360960 437958388 624696274 551809492 251886968 498568414 842388622 932978574 707524428 745212440 668727264 853718662 618422668 158221538 989946622 62692630 97474398 84117212 538036768 39006314 196258196 675177578 387308280 623952840 954267012 553957462 198670074 594843112 717505316 808228262 918347062 593707054 31713598 712852822 669460128 407243660 940660696 248979642 986237408 8924640 301230578 38918342 333915526 469894236 353002184 326581044 874747020 903096278 816911328 247157894 530434874 697111242 772918262 478237106 376672972 551658590 668687870 358352854 257824144 961628694 293364026 899140962 424409354 811637506 329211712 532311412 71758450 1830616 500614622 649278848 285777124 868026180 681956684 596598028 221213190 493953356 675688198 276090738 307906372 902992692 775350218 552349456 427481408 106606322 553184044 885584876 235600208 931958536 22253132 289603270 721093314 735430840 666527518 560679460 33153406 936965020 558388580 903088258 745807460 335920858 626578462 42389316 15630836 477665628 757825150 285782536 559311360 553421942 575768420 611633384 786177666 912726174 533346746 46962748 746960234 651080210 714487664 683810528 89777750 652907516 457306752 162809058 881097890 448810190 359291456 532417142 76656444 234344124 352550934 787195624 475545620 197494574 949553886 535052380 249018162 653535054 483150282 469009820 30672622 27896124 977359174 70467274 666478880 72128758 652895228 856725976 929351678 579311198 366559222 26633856 797329784 615905982 593240362 621356508 811435218 936996606 789455236 918677566 709252572 984124732 788482220 933132034 397551344 415508416 19402998 188335478 152147296 909011686 970616658 937467666 291608186 711537422 780734364 17040836 802084026 27634462 59127946 897271784 469263024 149844218 322597638 865370266 634147194 640975780 429742110 41006328 503745816 815661140 225487692 250011118 342675986 900108164 657249248 511635862 817624074 990117260 954728130 407531870 984530072 372288874 511314774 272130514 81883540 953972738 807865274 571380842 627789170 631986286 296766542 465137192 985072234 273359766 13224372 151429386 376897316 496984172 229758150 718828526 518312076 14848226 320167516 169869396 179899520 426855988 532668520 951372072 790481204 47350034 969626652 534087500 893352764 784951702 803085684 336667876 814780370 535421808 642128518 40204100 819949256 950812144 402269898 905436322 893840822 701025266 317211740 209900930 521409266 394489524 794820246 386883334 599080620 699576106 958542436 149719420 80001094 984129420 961116806 633659344 249625346 719477440 260319542 820976690 295281388 39711696 474723360 116537386 61910592 502644362 840993008 71786844 48386870 221103172 377647212 669805320 180776586 671322640 328330480 540634508 499100670 838460806 278022474 138196840 177154868 540809796 399068146 570313480 649173800 487841752 198834198 250200586 146306736 884961558 950618144 81508550 870359550 979455350 290473562 951027930 64376154 925849802 510674690 503694444 349353322 228268628 790729328 273828714 30372156 506100364 63088424 821346514 992142182 322744298 55836034 227517656 82596568 706046288 768381644 20185322 85934510 524512942 616460920 921251406 136562062 647404752 559840812 171547258 62615510 327480364 211479144 122498686 541880522 524106026 935441520 475970418 708308742 36782732 718020726 269216404 86929184 248754466 914291856 283164618 156436838 150020022 201005354 953518218 720943008 724680792 711378716 754222336 486860204 902891152 353250374 367024 954831688 108262324 917610522 541539296 148132716 916267390 863238186 55075238 120798496 154517998 158820824 539731408 871523686 220133418 270798140 992785654 81238228 483924148 211678058 887051262 776573184 130727104 512480344 209697432 688813304 259136294 69731204 665186372 130437128 453198984 813613282 699415300 124844240 54235802 842309862 58814306 790442486 957796860 983268926 731155952 752880110 731578126 812431320 290306016 435703820 369919574 574913534 416232378 442194814 328858604 679935302 151093924 265161080 246996738 959737322 65817056 83842576 896057078 308904862 249130506 712812320 993279050 257627792 805461782 92297122 254123326 498707108 322863536 411453420 110015416 272152080 359147018 366964020 718709546 124819766 506498896 564906298 878783410 566675324 230421860 136111602 441628422 968666286 745640578 243320144 930771642 782696074 79961616 679553726 63960510 137119178 646904652 113786916 851775756 310959614 610735570 751413228 595864754 275938258 210992302 547317002 187887214 49640144 436782992 283222754 913615572 79362296 252768504 841321694 523680416 240382442 464693130 80901346 900514036 399577848 46619446 77258510 311121012 708209306 437146320 511940048 333369084 914801332 28284306 792779054 893254390 191175018 252212014 367083158 661550470 687105476 843090496 662185492 346026678 125357574 936717690 650149842 64906578 83020472 345466550 938416046 36179442 321215914 510082206 437134838 320007584 950868038 952224052 925706238 452773538 431469940 719404624 404844920 917844202 10586776 905936632 495843654 828750608 189085818 323520544 540062426 924023954 872050760 642463008 740826304 623256542 1070344 608687490 58332138 686024614 319581784 641437584 285290954 38918472 144387922 179360964 504951958 34570246 471360820 482101278 881898598 526581768 18922396 781436902 317701660 658154140 703928602 861139832 350870408 646496270 678242168 877124674 280407768 567556696 310532556 272025084 826315432 978134452 425422026 941458654 218373638 88488296 584908928 958098188 232981032 236508438 825960634 971197086 137525312 285202842 980273290 537156854 339067546 774084602 648441212 818785016 662468862 850283176 227811940 197829832 940894606 516862188 17083472 338504756 990238238 324441590 138577582 48318562 621298400 945489390 745403466 942946866 307520660 974267808 89832134 112182540 624712722 165567150 633056752 82230684 605208222 61028612 298552324 746503458 393290272 778938762 972655916 533234636 17661284 431220586 611805852 69738444 186662852 203426120 768969492 89626014 979999962 887967150 8763604 125467290 464324226 329773724 785970266 597997866 90414114 113750022 624467764 705820674 736464226 203389194 520969374 230499724 513748998 151862904 6467240 198691066 842689644 404957638 54468782 849897938 269874638 425479528 604465968 542140770 170089870 592707146 172514086 326241730 751992158 343404176 862504940 889535528 518676290 254101140 979378916 694375280 68281574 868128696 10018782 698339104 338285772 870963494 110871030 967697628 819149028 485629260 956144708 459877682 728471602 205731586 146997690 562666122 358485584 393845282 343069792 890216010 922138968 300572826 589447786 930530988 996682064 721262752 781688670 561195320 354110832 434886732 109293342 526207368 799216620 479056012 521864672 3823294 389193454 247249940 812399516 445719150 33536758 5518544 130872228 219291784 876097922 728957822 598424792 275519600 978535974 158636514 142018408 511594748 608382006 30750910 992515414 462402780 667786596 316300548 92123422 377452602 681848090 35545786 240593972 204796890 192383100 669934880 210038886 121891788 102948150 320159196 11905250 301288672 101836930 90495054 997421628 958989070 19121688 149704298 919015116 988423046 112800558 923384178 283467484 194050650 262094230 905172028 354365144 832606670 391017358 784846114 526367810 777696586 995284322 546538398 162719388 482379594 310438606 444509012 175212620 448182954 46462140 787048982 778419094 501408198 758938624 748419740 797169756 656194488 836193358 528871270 361667750 792969494 429718400 425722062 439437922 227574810 232773486 276321152 773342964 160035998 458166238 509675492 448074928 811163372 129572388 57780240 19294410 19159764 30029790 720918302 560102934 589165026 174908914 541798746 95674066 954015148 439127590 3793260 414183870 545066310 362555936 939610602 273916226 473745304 456035354 554992962 47922818 858489286 667287086 478386182 467786298 964788354 141165186 844441654 203336570 121364316 615258012 119029314 154984528 558160558 835569274 737787390 729261278 385547086 164784620 317188524 140443878 954105486 865815126 994099986 354566138 279743702 826940022 94172364 46864724 787356258 92953272 610251792 175732614 662386736 620404384 769422416 64123792 58231854 201933694 895169112 452234246 746051148 897779790 402704280 633145612 672309736 859127248 501859220 321549092 308085182 867729822 638918582 481801574 691330442 265923258 120802290 570764704 174067040 199153856 986085986 98803450 22112156 422481416 297268032 453867558 119139626 707166290 371670850 637037220 764640754 445281326 400486274 817532 84080462 480567124 393048568 233972394 871399184 103931600 549363364 175884404 233233260 970566334 753553994 6272258 808098016 825612696 305895918 417072428 717811298 123757582 808270554 192529840 792230844 695302504 98507228 521650890 9685638 809905058 718675458 820056772 166541524 454492724 467251748 154406888 123008100 931907920 783895488 106149114 623141134 337153368 615199202 32625566 845501890 532208994 246651614 99527830 852384100 920137938 752496718 331019712 873285936 164794402 792649050 783161028 95450102 588869886 989297104 624114662 287029936 906024380 960452504 922573564 935940910 892282144 481455818 14423008 809466422 648650260 46936664 76190232 173051952 191001178 824027470 261884752 853843700 211885288 964152018 396129170 785193826 720869288 52195934 346044776 777990110 566148252 93401618 865832206 519661758 651207268 970114402 240460808 482261070 575492104 24185986 989794764 981090808 76167108 635402368 197980686 836024200 461651276 643065306 425174682 824279682 932517020 701627988 505938160 503896522 560381058 29831368 917446524 764535964 659802790 518017626 610581166 984332996 402173658 36374462 948884654 155511372 92060942 714860148 34632780 327209264 523667496 25295642 31734488 722638778 428623030 586662386 707088892 452298366 546584972 73372740 11664760 347151720 996487902 639961726 477524312 300629480 892980332 740212136 251124922 389925028 415978524 848945530 894175400 846324906 791893138 967476072 236872842 336087412 283579076 581102724 685397632 969852556 189761076 641418610 245474252 475339688 710282320 298542092 240543950 861406372 700321772 787632790 502280098 222051354 273097470 439489612 135309300 847561486 21445528 636800574 465361004 361272066 796608542 712734488 25578418 88366948 93401400 390107768 384296830 832408748 288504702 648760690 926831046 452546844 467094984 260518192 807564836 140824244 465630364 15000532 137302320 577238216 863422748 625705882 821591922 171371142 467521042 576801502 962235260 755829178 48055180 754183288 908972164 938113018 113902732 237120684 481953246 825651060 806870502 977959182 168160792 492189180 573487290 508796246 505576978 255917412 186479206 938247484 339901328 624167668 6350592 491525252 245545316 619287758 515320918 79209240 389249646 411619990 229459842 229079128 73094798 13782544 716093902 82672230 759382324 142565820 842553162 483332616 254595732 510252022 53935846 820229288 390321594 91056430 811246248 690211646 982489930 163308594 757569824 616042958 721782824 287815474 668504692 233009146 627209152 994424436 591410912 188854660 411757704 496568746 874839142 250461412 315374930 506229254 466849376 79360520 934669454 225111356 476610158 252681476 778222794 227591952 682322344 940682532 289182024 591920382 703766928 700690640 797101130 162049062 106084982 34713752 825570080 372610808 74036092 75717980 676903662 949188088 395502202 799566122 931086352 821305258 317909410 216165252 372372854 122581072 503026552 49771384 299376802 898219688 693811222 527309058 586154826 355456558 83217048 356448016 970906504 748432024 817227186 190635642 207449636 312360130 486385780 702681222 879093392 76511860 894794756 240839382 425023532 852979472 278066026 192764354 636398330 764050926 211656408 433707870 89777420 664411760 479453582 943895744 800203952 387606976 411984172 206793340 66287352 430736432 521632838 538102102 778849994 807180150 999586654 831503824 115705768 666184926 837404202 736905554 832925234 159947068 348695510 308951858 20864116 791945716 417365580 415657138 982644442 225072784 461190362 171355476 149061644 243357138 406284672 694066830 796901692 67280500 880713368 66168292 122826032 759897086 23765848 645972128 383183086 449136932 237265106 282411210 75893060 953862786 792657116 723918782 282053648 4874708 933073708 289043714 886532558 895583230 41185332 494811928 600871396 786063924 947538090 864684744 385417624 528169646 462695644 544052802 458828342 96271540 400340148 795388346 142796654 950411508 646291670 621834002 952887804 754813864 50979924 640839468 321132700 468101394 582334460 337107844 826602256 485191286 17038824 165352802 362368948 807633510 175198130 923563580 548724368 821426330 84806490 305445074 96951966 72633602 391148246 522442284 703343100 266312698 47338016 413281892 627111032 117717428 659758286 83041344 994944762 974484694 192213092 643894842 124551308 167269182 163625006 958320916 677539560 543646980 274649144 819279280 47279266 837275490 281312522 142734118 227015468 59070100 528504730 122090568 755122186 531950650 37115214 94524472 921431724 869037684 231007726 274252658 931339478 175129224 60870488 374636682 160621840 971881544 151027040 496317276 37063710 375039594 2492790 137616992 552547952 66712702 281724008 916305972 294956438 927948616 732069356 776092484 128153578 544590124 517981518 753916030 279075126 902793138 135846072 210139324 602229720 289075230 813447952 306822662 775880996 626855090 148968240 389307874 757685960 66496578 727448032 262349078 278949826 210658862 863922276 423316582 836810584 189035020 455279158 281750848 714424658 889541260 672632662 744783268 996284966 737214340 591299888 71871778 370874988 621471784 150179216 231622142 793594822 489758626 607276844 607903498 353026824 377274812 689313194 884552496 962298532 904907408 738809066 516239528 933863094 972626156 174982836 343211132 947919324 596516462 466595038 500611632 508143028 807948306 589287532 472117350 33750768 296475860 513150426 392286030 857732582 823646878 950101192 918492332 915145984 419797814 949442416 852561932 622404370 966785384 796571396 947354496 899410016 81529172 356478436 946745834 783235842 588619216 196564138 535378634 926384826 913860456 557370526 990459432 694391444 775186834 873344004 592393868 135984250 789847638 441471834 119431526 36463892 343622804 900412792 188363242 762318224 69265698 218601958 583338368 3516710 256579138 521583600 254469004 668233532 591227956 225632720 757783730 83669686 661771806 287567478 709735188 947650648 450480076 292871822 813915638 517452984 314423620 587068048 446954548 404972618 448745498 813683764 728578814 210474498 432670838 546840946 55762630 914378810 139229464 148067128 709968274 872807544 545687612 46040214 931694446 843445358 33454878 220697310 715756882 188708618 874147092 533158804 491190944 70720750 272662850 652348666 194957940 663447202 386155310 891490548 655400762 329368676 132840166 480544324 820992950 812668560 453370830 56890632 88089676 849876562 464027948 770812644 237341204 732062962 633062000 863644884 790311618 79852616 943963818 523439010 953720262 332782024 357896530 681984672 258795952 596244086 264859652 369753148 295956256 624644202 168515692 564578262 286766448 896533802 805266422 289524032 91516860 398950884 580370128 550676998 430203368 385327144 20983554 942959714 975760542 839477322 952180914 382490146 297750224 416160654 93630742 621978710 744739060 81755124 57052842 987057568 225644890 95935996 734904548 486912950 76153316 770285740 15493608 229515728 667483958 224395392 165771862 918482360 197146198 479288274 657030592 383659862 935498118 490481378 422664412 874260672 893694174 340562548 38737566 635088116 138909346 693218912 905355404 770374224 231295382 261884176 219000648 132231332 554087382 639339762 696853300 253515668 281332874 866922768 949580552 929755782 250282052 256871826 529438820 901870154 562307396 736949134 718682998 344058836 782791448 834217090 507884340 851109468 806282424 13243890 825458890 529654276 105827936 789897472 746328064 972163034 694480480 33064602 263114056 840525596 148556990 448039634 471744538 638601668 857377868 184093562 896636994 57120524 327466512 340944300 571811506 905140672 346305658 212750652 500276140 825703408 346534312 119757224 48691244 808706686 248038540 664406352 283109356 785875702 794516218 352525148 439616426 310673604 114272788 260614644 98910668 24244786 185305576 8350058 963885662 565857140 742505534 562915480 235419540 227032778 827739374 516475068 926781610 849825152 149729860 311666092 93632158 874154018 333064668 60284904 358930956 984085248 296867570 190370624 861832282 342218288 674766136 780912022 909034222 200299220 66157190 338669480 744835150 38022772 514824746 427441682 689243296 497769654 210256822 199517136 78315554 342711942 832046454 406565454 34776504 89070710 117995426 199704282 36383680 653493682 311321138 913688632 302000564 126172286 400898542 131556916 573472088 122566294 530305386 313067326 416757666 30095512 638776812 592633998 946594230 710724070 404212502 216961274 792957838 473488112 462788396 263978340 735686346 66892684 56526424 220298362 383271102 102992670 669501016 227134904 633336470 139263240 752317394 41559342 997701448 320037490 516373494 869055768 287903430 217792056 329080798 256888072 175430946 805461838 157235694 622526718 958245580 126771692 533987944 414502882 362715724 170934538 903293318 256132990 465640704 171002562 449938348 70725568 168554234 619426848 279019414 136852190 444731430 201668800 538104016 292641514 14320484 277951060 866004852 108723156 52102232 55908314 485907860 482577622 436582570 120808128 296089712 237903664 884468354 822447616 132959440 321359460 760134104 887784440 531859938 291251776 868393284 502714034 518493358 949035062 494560126 763121622 831229772 11737952 756807348 261024518 128420428 919203986 619549386 505806602 785600824 955345580 351617802 989244642 385850144 454807264 458010654 494189478 223455178 115072424 592975094 96087788 968486706 141265950 609251694 252486770 119603362 223284198 910008660 177004674 594212854 7681334 308605284 411145038 502397714 178072436 887828994 807506612 380849016 157924176 877880690 344325052 118225678 453614754 607148366 300200500 763576610 63121412 85354678 429928846 834895452 918437862 927553186 467341812 88847474 444180384 275019614 339245180 329969898 923988664 275079322 138102434 269644592 681074900 286933780 236964312 398889372 710068900 878105510 848151794 261533372 766862590 408371672 795396994 56366462 298095582 271613916 915599220 417350780 546308722 211126158 860458168 182511326 834726530 72222570 816145318 642276916 351187240 639159930 589576312 605792786 987462536 405939662 392226234 84932858 644415122 44424638 352928686 305434500 727879938 379400490 996888036 441688840 972638112 666368198 979904586 718327230 701176228 951523360 671212390 899580270 239717274 992083330 378069730 129633556 611242340 847367194 565915188 560360798 901499346 867826210 433551720 99986886 478311154 221635024 913799762 581044322 504656528 642834814 948742188 534178846 314562136 956636784 963213380 861214624 474347476 194424074 558457130 49369278 302563160 611837844 418615344 325491220 172650306 545010608 406974694 464533090 956090060 940475754 649205296 12877814 215609448 91266812 437677596 408674902 783284020 191992708 474679270 789405102 109849524 346666850 467001534 361171084 965376462 393924596 398654582 678390158 346966194 55318946 954558184 496978500 131332490 10624102 245937206 100628794 372852948 903227954 130101648 8953336 723537152 452127174 758792590 724901664 24597428 408234210 59553676 467025060 751945330 701311248 833255188 701744630 286558964 366066662 109761924 816441664 418985006 911082290 449148820 467196150 205479428 72237122 538592346 620158054 22269624 423867578 832476436 155066930 817093774 576275494 422312386 23084042 526869540 569559784 208220272 732408328 223689436 598411372 545898952 260625516 578979286 359764142 254581662 472656968 412164114 185061944 799348686 881646990 190425326 771939416 136651360 954378670 371242152 691508716 559144754 887685356 803658108 75667136 35741928 973767722 279133904 61500456 776929710 573448828 774553338 463748682 829698042 14758290 436422140 30625826 717879698 179349686 706017864 566032242 348386292 586585806 606116946 93921618 62225422 610727624 641149938 288225236 111044316 815351390 233543118 771042690 259097046 896997192 334223006 148029952 125172866 964208140 545945706 4416910 612067624 189827052 443302008 752436576 466260280 384304718 800762712 85522386 211309730 505087098 368053454 941697144 626692130 53833170 795981452 789270782 820676936 803998666 360706602 333770446 511794486 211732590 372190692 883802494 620525018 446417238 467276182 334055880 53799652 429859834 897296874 344001680 626882364 99140410 660398350 454090720 200829568 485166756 656262738 59318584 279542302 103595356 37238986 988558816 868059118 904519782 559694040 415388718 844860190 703272638 170980920 648576682 237718000 988666218 745760200 917723322 897412592 249874474 298198010 266444312 327766690 483976132 944666828 438197046 348839298 194150986 175996752 613239078 736396490 790044220 367129192 244886770 912774690 418491630 168827624 684750364 936071366 33501914 628149436 646467976 165090980 812472088 512335286 730320554 227350094 17019776 243903016 530481826 277459458 462970444 918044326 445886892 155003648 694002528 696306728 24878774 209711564 495179328 296537038 642740858 925848078 925966256 406609244 984125708 134679454 310210780 114011812 466937084 121826782 904870050 275715298 282989966 122476040 518579748 465415372 133964496 746273642 153956566 226685758 240474818 548212004 595130768 474606306 730641870 398422218 552535200 448847538 546885880 511558934 917181476 144414434 571820362 393084298 449556440 598773198 705268350 766429208 828447240 960548200 25958288 536889040 607404104 829370742 674064632 351476502 859559482 786197206 315298546 290186632 677140922 265415160 158237396 651664444 647358812 728584316 664251682 809771356 592864390 775551886 119541292 164739826 545045214 36315842 410089308 154853832 240672262 595400808 387683504 913937662 491847640 745777670 477542128 727653772 451865548 89890070 78567286 128627020 200092070 844703632 774527740 789140644 355194888 931831308 546460568 420374554 811754908 502961380 436834112 998303966 171709096 997116206 40009464 989782832 205327944 82970390 538498920 481297264 27816222 73989878 776688134 580590322 819515990 615308306 800573712 360148118 379054492 183155826 129742590 6685240 788957812 295854302 967704724 170527750 458462070 528191966 772958982 73091260 563401736 631678534 385532532 763505300 771182278 483208796 531173492 863099430 309735746 392075146 891128328 600872884 391367768 50243280 572284564 687540552 252791090 307911970 183220476 711407278 99074196 457204822 51329206 244347010 441324930 239731734 507780664 800067776 366664830 284166496 416848814 573568046 431962290 827720262 74608806 300508416 531087604 248355566 347187988 253510340 73675440 904794456 786871166 990623094 308652230 97829356 608531798 309137976 276957058 873472780 432625130 985889056 611366510 870784146 755872736 896329538 729841122 232511896 338997088 768730728 268475888 633080468 870423624 992189650 674853292 647259780 947187594 1861502 814427838 641791690 217175208 515064378 111973584 774096226 451304568 22126696 354605854 270461392 577431732 686671920 119377176 934240132 590813656 690726570 876447490 934171512 218967784 736825944 366740998 724888696 817041112 958515698 354651468 244410286 989398570 909143736 814188348 302958840 102490384 231126148 720043740 592255490 442131364 677606758 238716572 361462628 738491330 848252516 178953902 210263572 522170606 97508766 61814178 687758944 263392172 274346308 684940746 652808868 779191904 803428166 848777356 603965652 570151104 355854472 609610246 321779588 955651548 115544234 160751236 465807706 515762604 861685424 757422934 471156686 487238920 919737888 775309946 273051826 725511624 941321238 18067932 580299028 245041120 849177532 215372232 231868072 704493840 611605260 877567282 117030864 532005516 520108564 911407384 59309650 390756084 476858142 155860554 1744934 89772732 613090250 704124892 470926456 569841558 111409634 506444964 918658322 585909458 330806530 857163092 531819254 734446118 486703606 536340982 559155406 796225234 720877982 354861022 133135466 99607452 870240450 874098256 18069200 621039286 800408320 498605344 773750748 411961562 310241754 613762134 283407194 130423716 218994152 66387942 728997400 279542198 686868920 489623254 741702050 42342330 813591814 119050858 4086894 302116038 296190610 631986410 461988718 695294452 591275140 882253492 642556090 657076936 61802948 910908696 202924062 202270798 58440674 379354084 92294814 852666732 339058132 55545798 576397334 797033048 19480206 576571536 537470932 917326338 767199142 239550862 141508860 831108868 466900134 470837164 372137480 958494172 530077084 242972106 614505188 374124322 66429220 573188064 851557016 743823794 787795646 113996574 82578002 230561308 435068962 367311772 857643534 33838938 468152600 461270430 893447062 573322066 419635080 822937088 656397226 566757776 604248166 713114796 964790196 428578166 661563764 557099132 3612244 889398140 709405056 54530122 349213460 957660206 522114208 806063522 565520772 494702478 888896486 747277054 526947968 904466552 574255026 185063448 432000918 818678026 688523078 743411392 944534874 9135128 307736794 975193160 150301208 717502380 291715480 466148290 556040328 574222676 967104058 168653574 880330778 403709150 427306788 929882524 784721214 250314170 124249294 584605692 80394152 610236174 939148270 724242108 433310564 279456902 210756452 422922464 41531840 126818096 129858404 452671536 947966452 999798762 966916366 845711728 148342128 437292962 707473050 39069956 252319598 688103888 736084674 798960320 652016662 280101176 626301338 190121750 931871796 36680556 443588168 962301484 975215512 703012936 695654812 29571378 498264432 833039892 979821982 359407714 263019538 791109852 358607378 438372508 360323642 306823620 853267152 869570536 514965882 231982594 777954314 215210034 568804034 160461118 574841076 750695892 442127670 999604892 700045158 277497318 876553606 971737610 710805286 600114564 713313022 792562620 50798404 996136942 588722402 317407100 653796896 244342532 747720456 690332122 897462044 673067510 452890006 295875198 422322494 198532418 154130898 581706552 359407544 550877800 748354220 391894846 329252588 266621512 412613888 289769950 739959538 465019430 927517108 80506198 244763346 313325100 83740080 364677262 613842926 408556146 7613242 164345280 405658148 23136664 267287226 601515556 839390840 37432266 813768326 233832232 183229528 611102856 341973812 744056070 495732224 396939010 504236432 602905334 746081638 642709378 598323092 578778502 615229396 633818024 156557970 679504462 665919152 748047168 361739060 269800784 79769326 315345354 972080312 46035636 962529724 628531744 941790190 929141350 154489576 805381122 356123364 927884274 529685512 830152872 827320390 515977806 757760064 591188660 155167464 496773648 270230030 131179212 515533202 513126300 74418540 421386904 807199344 562536412 109864856 294359566 765646676 685570194 845735750 318894608 477764516 558707340 746228140 761762844 779379748 781108524 977039224 906914250 30837670 364764636 737232040 81884716 857346882 512809858 211921684 497492308 65176904 893689690 530667602 665310934 761702826 427206136 36006790 259808086 172861652 134778868 115852408 220850848 189728442 458617686 948095832 672603182 114989586 572898474 189083122 704253746 143150624 654158298 905804294 24920158 828201740 714045058 432088248 508139982 240556000 300660200 866734134 693700172 272391314 426396316 699047982 229426180 387254928 457476158 580704750 265224606 797100486 463059108 11557450 410245618 476756146 779452152 249135600 720054330 132572076 432287498 85021428 550524266 321473320 937470642 208000582 402089194 523332910 436407572 794795432 615480888 675297152 539931762 161417414 425312512 959565612 42994336 379150014 27113374 370243764 31701168 184527438 820131174 226692794 979634652 130673084 29098576 975431766 116560602 433065268 924260008 734056864 275379030 835402746 657782412 937978820 810720944 395658020 777504692 568565010 495383540 386424010 299184802 385113154 698404966 228054104 106971882 939949026 48906624 176031830 611782546 959563400 926241354 858215186 787144446 977219948 898761940 497854740 90104198 589321394 29478504 789243390 822013572 58437110 278693616 536560338 552440258 385795168 907887932 436141044 390989578 728982844 180643732 47265302 810181360 359398558 536937356 601755480 337487970 860669316 350911824 833232344 576934206 897666680 619198726 683166148 817323164 229274358 800164382 397405810 933274994 520700954 326534756 789456690 638610458 125297870 379288370 526401824 907989296 963561648 41993746 846367302 325304240 187444138 582696616 370436602 835926584 488767616 956547044 248166334 390589332 41784550 238243156 299852608 897252462 26732972 330141948 891299732 559479778 655853706 176924050 42752580 592912048 760224654 357972234 237435244 119795174 986758732 645124316 480596410 615915610 739388606 671478748 602563106 80769910 316208888 8477740 714061380 616540094 435233638 361122704 933550478 98041260 34363158 755851176 731662408 237383670 493823252 737449866 947149376 997075738 524174300 567203948 583770412 450005910 199155714 463446388 661804452 75913238 486195596 140505266 603895902 88456620 370907534 809269472 576656680 524965028 656877706 440578086 727565984 132885738 377169394 282957412 987242376 320739664 361246514 996535102 369665836 253443130 988662862 664850542 235224480 36929392 299421744 310584096 155654970 195694370 110388218 679669828 162741356 400280000 252065864 982575012 272482190 642802462 232774060 918876678 845358496 283020744 198865762 766411628 180115914 729553408 68002280 159982686 283419048 349684818 658510974 862519158 102567346 932462844 60774966 178161032 98328824 867863080 356156742 495455904 508946064 503321194 74256042 80120484 862390106 966518408 924159142 344945048 271156564 339001740 692651738 777594980 187622000 720080352 843579214 445888068 19383628 285375776 212789696 299288964 457391434 258273490 245007810 620543132 196137214 679171972 28193960 445143036 557685584 141710340 523092250 595046518 205505026 48773458 685292210 579465362 424542924 638281262 87864972 376002928 786779058 173553140 501674284 613537620 874358058 27225918 44992296 918084894 217548698 97275398 676114326 511441408 444547842 331847842 51192964 211692958 386638686 497327158 687100458 505267318 791990260 904333724 721836574 238818694 689273064 676279640 48314584 523122726 693571354 622522650 906030238 108438680 524562084 697855542 138904128 548030174 683167624 302226906 37074964 453248004 146029718 57334060 468251974 78459050 255910808 119806612 835481156 243037864 452076008 212587876 610942260 467555972 594576436 989264296 9597800 318117978 80829812 644484482 504843066 485133250 999380982 847605230 893599486 74694310 616325788 266585266 326294322 535212222 863466728 258164502 379684732 831340312 28982940 505970766 803866724 969418610 600170564 334192902 659235922 64900072 119199746 504646650 877633198 275888206 848010048 413570456 16305872 648272132 855650190 886348370 684262872 259140998 482472554 702791298 680795356 979741430 348478086 623383084 518159296 813077620 859955488 756509954 100810366 757495792 210243726 580233748 428259376 187829950 624384878 498292602 710622184 986135514 794966194 277210542 109902786 950616938 448200116 473410402 46290552 503377592 15965258 518765372 458073208 447820218 445348922 681403256 425655740 272756414 344240548 723696164 988507478 615244702 825413398 230183152 468201202 852344266 560956886 332031640 528956458 816017224 507437358 606379428 812359386 355862190 504211812 953090614 77411458 130231024 926099156 363544538 471629154 144981904 367600264 174541382 457995492 243317994 376811258 13108168 454808526 313053438 438734574 169171026 210627634 873944524 221762618 657365494 675677168 187777178 650322882 221437672 415144488 983098056 860656698 598996744 815850826 530980812 627665234 802503044 884206370 896353848 595457472 557869714 489555992 324107128 709399386 759772214 894711112 19045732 538020832 760917958 309717714 832459158 589330714 986721124 835120994 899027996 773597768 55127196 327098434 682879142 264622598 50592990 639797316 440325786 453181958 81676126 488333060 628833848 400981166 34443606 798668120 539049106 553919840 505782240 833868174 917138786 296485612 279561102 966085212 388280232 96679650 328390366 60482768 811492128 287935360 709734004 538526526 857310564 525182910 139370012 653636482 940458616 606538690 309904684 84717112 177976766 647438824 460722520 169964482 630821050 655117102 760791676 46371064 401477250 440372252 488574396 155032730 386168898 446303478 27213984 890630704 83614878 734844016 41451168 858929328 53715836 253978366 115458486 211891394 291367966 890760532 811901940 967074670 85807918 77723564 436830524 291106090 825282056 155174000 181298700 420038030 781872666 578326456 278294496 6321092 599332956 620366486 105259118 593403550 559897104 598366182 80887674 857704402 241298212 618705900 471267276 734552722 283467718 684978346 501550962 739411412 809419248 564442388 596736382 357129492 250048054 563304684 580788954 143188678 8543394 799906844 828353376 671705068 483526642 208775220 609771278 36579032 477187992 412505758 918428180 308528650 729776604 514691582 242931138 106839334 144590236 208027508 119087570 112751626 189251138 133274246 506552630 603619534 137177566 601187586 324599948 289763308 542889678 67346414 98692608 25466624 575654316 549028230 733090670 678661024 250573372 586942642 154482466 856920246 742452724 561528970 920419042 238788924 476783606 898814802 505864548 410995912 835076378 796199404 30963574 336801074 811218020 109776436 459098460 773326776 261572918 896970196 218139754 111260436 171780830 89946606 453859226 820211320 945569562 436463544 336857472 610603776 685128960 241685286 518503568 968851296 746308424 944746554 222947362 431178348 923586698 284448064 803204774 646955714 901892078 297923306 861986582 321597056 665556900 699833018 691549854 403495940 708340468 21997296 927523082 265049648 241351272 117686244 191595358 915518802 573762920 768088168 916414636 418923232 944312482 410528534 913146426 430771050 720729850 683021594 928880572 680047046 944900500 578226610 523406692 826826878 73378908 863442896 34490712 784365874 61990768 197650036 266505938 679408202 205693108 398017688 995040980 581054006 776364982 200253096 180281834 70895100 75959072 691204654 239088006 13155778 563025182 663919480 390939790 141892468 982566932 466299362 341820232 784802736 461335428 805450304 458121770 466816844 819887328 17318506 679884296 740291316 133479872 752826862 246661868 255087604 810615692 252435656 563732536 468126120 821345466 791983224 810601018 905945362 840697612 803470970 38185592 416135518 147365242 285729820 42429558 536407648 523753186 887648056 903672460 772035798 630093482 196895874 833995238 241435456 92538964 430775318 9485244 99515062 454484480 206397464 502316198 986073204 186317980 997240690 410171280 497297084 612728352 40824960 445066670 423784680 839194766 704813798 620186338 447293328 140527412 631871594 639860056 654777320 726419886 73741176 787814492 970986790 110242876 952122386 718952330 115518904 614253170 774912340 710192164 987353292 114442024 459207344 349614196 990541258 693671838 891273646 214448938 245797770 492064868 314500234 948414462 328504546 398118760 957448650 247566022 217304730 147832778 186502618 788105984 559153518 928674788 740739820 904555940 481337632 512185146 771205912 492635986 235181610 980612448 793815530 464519826 117653550 932517078 9283848 95095966 478272610 111492650 81753786 33696316 232909630 108843550 715206100 51363922 105755208 989793706 323923024 70867436 715193694 86212588 374481944 33204680 698610634 572117444 730089834 154808714 832061104 428274950 146912134 570751146 55381524 896103408 971344908 569913842 939694732 897369564 669211026 342776478 228976816 54951882 490188472 782605394 856577290 855737488 85826244 207984324 526633986 857868836 104438830 711053338 719598534 125653810 238179028 831054156 916867400 464759032 465822922 134783360 780375316 669654892 970603706 750418854 400000690 562057904 481258058 450139552 623230364 644863960 868845106 755513904 580886986 958817722 950095484 636965420 353105104 740262766 621411678 531827342 182107338 943617248 333215180 851496046 826610200 641249872 554882006 160695998 722832700 731104590 409357720 959935746 856520870 340649652 956319842 467575594 828253286 443855100 336725314 491416926 938241438 69060158 841728270 493996602 249164496 912485682 213808404 636590688 211725960 177399426 305115516 940368704 739139122 349299810 517229626 761356864 896187168 946201846 208654038 562998186 971936126 799008374 779760170 783241582 506983840 419869328 60261836 574144578 486321824 706824858 833608674 336989224 518138102 999449736 917063592 420939910 101861536 367154734 482700420 582596014 564605028 902930296 537237530 852298084 902741946 91147310 93446232 898316192 533833474 619077534 123413714 326308726 397539086 612715314 423068624 818670152 295004424 874189994 362900280 803879446 232828484 178788936 77279320 102654194 489658496 551081524 63502572 110349910 217168564 29831444 433647566 837757610 4337398 772614584 410947552 277175138 485683596 711924458 551141008 48368774 734446702 679641132 937650260 531691088 325028420 600058554 464663386 236761160 181988754 645463772 826447260 172233260 946404994 935164496 765977114 116255144 382884618 729135190 185578706 904614058 576286840 754834006 367762298 501946980 840534836 184465230 69453488 992769602 96567856 424319592 5837766 514029752 513196128 499494306 759999432 74178532 159453166 326235402 16286482 810796138 927544614 926804718 3646940 166137706 221440756 320478828 199772266 727605394 485076682 66706478 505189700 904107124 265104130 214152796 41517576 394725722 140967002 162904280 163958622 588849030 485605428 383428074 829988140 479867438 400170594 164327682 547381716 859303618 683000178 972037362 52054756 998797130 267832190 177874062 981669584 792780238 684299272 908681206 658318102 592045686 206622682 264237826 662691902 147271462 9533748 845833974 949481352 149783344 803820314 789686830 511010602 280321782 441139124 207444328 376107560 347815510 886928778 608205486 979379962 600708982 150129388 873553766 869813542 4222152 10689408 398801384 71244330 403092230 90485098 724184690 519697148 769538312 274661370 691208724 256499918 143705306 883450910 892725052 32451034 870556714 410323384 218071598 278582200 506102354 863538208 605425008 199754580 940400442 221911994 162238872 972472472 930908912 284284504 548656012 19841428 263570590 227358652 327703778 822631934 440345138 237347496 620889936 745380414 142225446 360481034 506200474 156813340 124811802 221334114 506881966 530464710 858376824 266336768 954544742 660984170 342929508 896378444 375937276 804418640 99012966 569334760 465226988 290867434 666429020 200295610 870410154 698313064 871275770 213611198 554395648 666795306 791921850 43683502 71409802 957393110 688933844 37903732 664847172 435623908 429781144 499518072 66473054 866346180 750816308 454505456 493594174 455353552 799278766 33099498 964837164 64026470 332641838 769740576 273195598 183725660 196726258 933560970 264783796 105727174 255826150 396492140 62176380 696717428 228814562 876965630 747714188 877405628 382783362 121514350 366875840 123270706 775897450 435256936 210201340 939450706 754002912 353804864 520531268 129068058 479618508 998330956 665538872 345132162 330377390 47146728 929303652 577283072 946761684 726646722 111890138 305220364 119835828 565227412 164035626 571531112 5156182 255642604 735889958 98946420 261976672 592281768 686755098 515749640 383655614 334922190 16019680 566381548 147258060 959424416 204090612 861085356 976611666 284272986 268800468 933882228 436828690 453635954 140618824 154901898 296881576 514694336 332008470 298107306 778763050 174658154 487269426 662034030 532373036 772854302 342523286 640565328 46613912 31983186 474575014 117690464 157112338 379487698 816097400 640734818 675621684 891281040 813775768 914310294 936790648 25469728 782942996 614139374 222090598 699490914 954284732 570944940 976915392 705175716 947039598 691584806 570019640 464753282 852805934 961371082 695828452 548878466 434543190 978911752 635017732 658709692 892594486 956218872 885853594 479572198 110482246 913896608 124475612 323495192 560713252 323748364 229115470 732623050 234930254 592374824 901791376 268716522 786828394 662733748 30415192 964065584 124553986 767719360 772977530 717591618 689544770 261218540 364576166 595580148 68099370 735898892 994518450 241340786 384011936 710355366 48043350 260159424 309404312 558300608 91464652 348184140 245667408 926698352 390044952 765947138 315831226 371785136 245046392 975203900 709425724 684080734 932105166 848490430 934586310 45454726 13619548 745259472 869908400 996669520 354818086 854334374 297444634 371701314 809073158 861079432 202960072 248520898 113315666 893888802 348850988 198079264 131396760 486226024 913472546 917488850 989527964 867361224 497863968 427330528 577887710 727160862 308080294 574126902 83082148 202493342 990170844 10102822 430212040 805242158 12203118 681189472 270820986 963988374 516737022 97656726 104997676 470646808 317479696 981579290 244898768 901447710 220238612 389231362 352753568 147248394 663353164 782985662 352139098 848570414 519646666 474447148 351137200 495705932 13247122 918997410 952110912 925777828 125233898 765264682 205133224 660108362 825108954 935829524 920120034 353569844 58383892 36792430 7886148 675475190 248612760 343463326 606965822 531022432 259012032 516272268 123949984 467367632 318826000 427605074 236940032 294481076 71424336 584819912 86956578 640658302 93428410 56240014 983254750 652360488 765304128 198326462 991411098 637913842 247735338 704726312 531737814 905136612 473192602 246027590 528554362 788736018 890286142 573940386 518504764 346058128 834527640 686925566 136789704 302232536 862811894 894095016 205429386 270939504 84980716 806186632 569418168 692710018 557168056 428982130 897382170 902899022 719477348 459647718 821854118 60270810 815862804 711944622 335787144 307350204 394351766 727499574 646934728 745949772 550025726 591740058 335133748 301850924 682427280 381013228 654697152 647561794 63763514 933470766 92959732 275907366 232443152 323979152 973288880 30307792 931921148 479830954 250799544 884240590 544574200 921664552 298840318 910250124 960116060 245160016 873697430 724878098 234199922 907283840 630490682 897054778 838824960 163539400 184259036 508718444 296434268 941634480 624135250 60400780 759483128 271956364 762907054 828982568 810587758 434313296 78446728 411387230 584760432 46710904 688795568 145916512 19046908 390389256 176472608 894159628 815034170 467489282 483716200 748454530 488941290 499614152 252112584 875148798 650791468 827146762 469588114 596251588 942669240 842565746 107165236 381933956 261700748 608549586 972683248 698639184 656262292 968589256 813188838 121971478 10184350 204072076 754127922 888629158 825195026 595474516 83422954 104987668 870429434 335173986 670108970 404363344 7785182 441536138 231521780 293872592 870781690 628669872 829931136 802876476 650027362 817336368 118893914 731112402 990983766 643120644 351549132 147479804 833258224 797442624 819739846 459943182 126393814 60146526 879702438 881611956 246715732 480615186 776018346 218182364 403155258 929068766 540698534 801639910 341436082 119230644 200634580 570283208 501153624 423001954 573729256 719502512 384705554 657589634 373319674 576464118 146368294 968280622 490270482 642203532 67683424 465883092 622351548 837190888 405566770 677058822 253939328 599893622 252338396 498273340 999273814 635145320 746974792 416099224 221933128 713924720 147327946 695168806 63970270 911991200 667488502 645846862 887710074 473769568 841052624 758776504 881936998 597814584 138647778 615336044 425775666 966951410 925895678 361352824 811321044 171373680 832148326 164117840 793794516 850394498 11140964 674342538 319172470 466378598 719870144 913805242 495952766 527430212 362703712 318965476 534291828 735937184 115822486 553137714 867903196 659533932 865950528 604646500 271953210 135399398 49466008 145684368 30992630 681326422 65547516 710968282 759344620 582460832 458660636 652712924 773377082 560192898 364498112 78283426 492053120 236337884 839125412 714758146 158777852 379381958 653623942 301146262 370024308 544134622 578377516 130666906 951939240 940411396 436086328 357299720 981380186 82253940 829950918 431423384 867891526 751010820 703273360 486619360 92611648 58466972 886036802 981904998 277020772 790935028 117754080 85221108 189683804 678063672 415378650 309221428 944451252 805804512 934408804 692385966 457055822 313871228 62348642 401979538 494131710 483429900 628493714 668069138 224065302 638278830 582303064 742288058 939424864 874463124 753755972 307525972 911909074 634719806 735756786 83117380 937785866 342773458 941894042 324036984 264388 674783220 138183876 221254304 387977528 476449846 380641608 53762866 846628850 467553032 671568560 320439538 386291780 349940320 23360288 429877966 779176402 897676784 563090274 905656196 384452698 758255670 292954952 698523006 105597916 335659768 584604996 54040460 833359156 582355204 478795128 680694794 403354108 407727552 790666752 627859684 233703120 682371800 867030772 259640680 266864478 179815786 283608534 850801636 536030988 464418104 314559902 568464108 298407296 969309110 98545080 218074738 221036204 901799246 267449936 126617838 204426688 781737006 353132222 920624856 869276026 397852070 802163280 46805386 895957786 126510770 609349080 210557648 22191102 266193664 103403014 441239478 371192018 777092242 546853488 638217870 16443146 316566326 85574356 836417902 935251358 379804678 541991078 791687238 433864392 338115584 758142058 30859860 817497554 484396858 222849332 743749172 799904040 35595308 707112136 134436970 228318658 288300486 174215046 156023640 360412534 313397616 63918750 809175486 168877186 64381404 331865422 288752664 92661236 15885224 814621196 935569856 862745344 955073694 748405852 832051226 509103302 181229276 928439876 668330716 581181060 819267896 772741254 593845418 629228912 535156134 74320724 413195690 843874714 501513734 656557318 795029664 326387298 484011114 953936582 998450794 573632694 935354138 401483130 479707798 480839832 883890828 437943120 788984624 280045322 859219572 562224472 670695548 355329464 658787852 421961762 437912932 511992234 774987126 532263572 227843538 471626706 46614528 449365956 521523090 428337736 748077428 435072808 59016182 423995300 17766476 832473906 259378200 185238294 602927176 265698392 722281628 723709892 243631324 962434270 619574400 783064332 480511354 761525272 994975456 410749814 878909352 558481876 774242384 170231590 755165386 304278328 849070602 715901026 515493754 5461518 618300736 318980522 629983146 569446268 663099596 890838106 778127580 936445120 642359518 820587480 320763158 720432680 116614266 228011568 662907742 883917454 434725170 265935762 799364912 25883552 634963870 947719356 706778938 573515144 927994580 874672378 242028562 542640068 14120754 673422934 879133478 263030696 44001698 139483846 418230980 177603296 196353108 251631330 57922406 770067194 191175130 314965376 758856818 26710814 983123782 685917306 107987436 124651848 890183882 574538822 600706796 14558262 823975562 256769238 446312480 514082264 388120312 783111572 848237006 863647438 215249878 417286724 421044950 502139538 540972142 182700032 367275154 979278754 83264602 168038614 733254130 637542260 691215710 864579646 755704166 464907580 917732364 51397178 397363100 63296608 182385382 813568662 565890960 213450012 270440212 637838192 196803354 302884120 236596594 782175710 2278556 403971378 333405826 922095232 403289208 499633568 611723956 918364796 658855316 39560816 446186026 844957878 933038808 24310768 31900460 259655582 884498392 809956922 980374046 610550102 182149624 514098974 530849332 548316076 619063534 390590086 712368142 864553014 927087544 526276324 945870710 701872796 555365518 553656316 830215536 372154542 499734386 237563994 984882440 20581054 578253324 472670746 358054934 439620804 175352588 236940604 294405482 516720640 131126354 734304486 217165826 786746536 728912464 930174488 245917732 344298480 527434154 322786696 774497134 164719482 363151526 992182984 702942032 646132646 267300638 105604006 847829432 114837456 573446112 563516282 26213040 303160026 479876330 461571438 235804950 678417392 43521982 150671298 175733444 216812104 183716064 543982086 151774276 318750174 187140222 764185324 831755542 554515572 252099378 487278840 2808350 267984808 930390380 355765918 469765294 419991084 40259686 174996536 920858344 295753564 662386948 276338678 333798094 102384834 674343864 722904440 266403912 324968986 736995148 48830206 102923160 890001566 57941514 79487546 353454944 940777000 506073930 919380558 444495764 82723876 862184166 756203426 526333984 601054814 834460894 892064660 710845194 393185326 21073216 800525950 593489844 318373362 423549548 661387172 476038944 229915488 707357124 291943666 497405468 84612518 909737502 528494126 937371616 783325806 542593646 326775530 546928738 124070434 530957000 858326536 747480004 332997732 933627556 824705950 30605734 83408424 1174968 869717714 164469986 201308676 971104038 219097042 807127686 795162418 305077932 159636024 211624326 734948754 562750158 428266926 181991156 960495142 418536088 808944402 363598036 32679010 87844404 68283390 958871722 772430290 141414098 718054468 270530388 14684218 274808334 80818184 29054878 236746896 703512966 612772242 668595272 565631592 390280782 434293886 971347872 779374018 194115626 824020610 692383462 914002726 956829064 841444126 273034776 758733620 40499484 437801488 84627342 373864056 413123032 708648230 204147944 983445758 292915484 923541414 390273758 870414542 292567656 178581036 832002092 465530358 760288476 418471642 127416744 794729310 992087924 561067444 818483056 417512364 742856434 466504186 115655598 413157276 398504962 81530874 195773748 578509884 318141398 928549356 438585694 206694284 823009416 184504092 698096106 110315444 185825008 986893782 307923334 75452238 353637626 993106224 695067898 210201406 364782672 766171382 39166974 867262148 656960654 183663766 906979740 534311062 884485614 952115390 110887020 641351396 591423642 486014278 170650824 961950626 754836790 907404582 662558750 65108080 593560782 889072162 694056462 106462310 723482434 118463628 639195362 549086538 326074472 904529446 292913086 28194554 441526478 372731468 339698488 646527400 400430312 461468844 453646940 684521176 924575822 817731826 102830900 929503230 548884148 103361606 902895440 392869454 605119850 961379082 15447832 499036718 290569718 445863078 75053770 234167910 867673294 951859418 964461510 605928550 340011992 450213174 685415242 957698164 99726580 83958170 743858742 184789230 909901252 508688620 343857958 711408514 623117142 263258710 656463932 81996256 197589452 824293966 383321654 220908942 690743848 973664978 434329694 75480038 381628400 229754372 676305962 196555050 870973682 21061432 642309066 475749004 927675902 720678204 76390980 17375884 31727976 936549098 558404078 382752988 352584908 901612658 139209616 816105566 768057174 147714748 331247626 781465396 89052254 596598606 150280206 796085702 43872966 963050774 624549626 740424464 488589744 713063480 366660746 457908416 653971900 480973866 390362444 450607732 419940200 862606352 249395308 473933290 269298842 97497196 641884458 454106490 263368508 630664870 208035784 157789182 983360548 179937870 212466778 686443482 211790034 433996902 35670862 925987492 190671040 55109120 336684944 199314976 690490872 412160526 840143192 123709268 42071928 178933482 631898432 283795742 64589708 224917986 832704494 642020312 448092174 967716180 151760542 409583764 925119884 701768486 187490280 484391954 155442870 897107214 502531526 678029954 44905400 711952712 146058148 89220370 737029888 275744690 15903574 257221318 530348172 51307402 304890826 293719136 956293214 934527230 289299986 545409052 969036700 558915848 856011158 965376054 991559926 1132804 405415270 80771818 775922046 147954254 377019638 85965720 180162744 897129230 854882722 986112456 32294504 966002034 284386214 646939712 402304050 158184860 341886798 210050494 671266590 244217350 654097482 178763310 415419344 845755712 788496918 797647214 698633652 675395098 883500146 683314220 294418588 455126464 364311704 636937472 820631044 316855266 285629994 311320616 38163862 183450736 892631280 740988384 855683028 362971938 630329664 639679374 342079844 490659290 652450330 803222752 780245036 282685686 929210902 190855280 128216632 807693560 411685190 768153236 201825960 647151826 149737706 240353330 167428594 908856546 501557220 422412286 401723694 527035374 273703856 339154648 743488038 149684946 562705336 987608092 610747614 337004870 923165680 873799088 265000154 149128110 452797932 423357020 780772904 486986094 523639652 489703468 348476626 761773320 78124044 91400948 375701626 329998214 227896372 338921768 771005904 237929552 511798856 438562360 722833828 787885156 157146554 730133726 408176770 288037686 778989266 399501778 766281674 424974682 701390346 227252166 338915478 285696002 306087458 182030482 48411650 130596234 461622828 68377016 822514520 795733874 124484572 694667214 802628198 475357680 95075392 500282074 349171108 49052458 939944778 384888252 792916620 448813776 704190816 581562968 186425622 564924920 943505578 887415946 333764226 91026742 516259876 613043254 660894528 538642720 680671106 624735940 763774480 351953486 157014580 315282420 800235094 837826740 925435468 945026038 736608374 560378318 279065788 86566882 273045414 867332142 333888076 785714980 221661388 244026346 783609536 627720958 885346038 455790380 780163672 346003372 561472510 425899060 820315080 24130752 413229304 552000446 827285494 308380754 496421538 375173608 494720696 672200074 670854940 798444882 772864754 655924496 421204970 227503404 162513528 977827026 779258430 715940936 419388496 985423654 135080760 656734018 493135342 289418482 16326278 136395216 452428954 641855844 612405408 721608400 724988914 295263540 530878784 867526252 922284964 786308654 51578928 340810426 659467936 639089354 366469926 580293102 632214 841675330 876369460 496075070 162447656 554481076 892548446 312062612 294476638 244472362 604632440 674177708 268086932 133758026 552899350 445556874 772279966 941482160 355175272 767258632 86564028 463263556 429844744 207530682 848636402 793297188 779479452 379468334 327125036 965180188 526644532 636634850 214882978 425945872 635078930 653650598 218771330 635812662 671014804 615888830 832167140 36902726 657493608 154202864 628298408 623511544 784670854 892110884 850348600 925078390 59495214 33319284 695597516 165249384 475088364 362391544 759958472 919387290 3369690 39049200 550351588 695458544 344807790 398080628 390224812 90351938 508412792 860107584 941026896 683385664 992623296 528637852 418929200 458136974 586880936 106514898 907349338 997685880 55529082 238253446 904042342 903967534 669215080 395063172 716064296 669849488 342615008 760458242 133392984 516138368 863999698 299391358 726275520 997560896 537503468 453532480 566986664 26721086 330836324 418356522 118638726 393221536 782894666 397776652 142673506 351261848 414070778 894854656 573958774 626305062 431151010 949331672 642047346 229708942 2559378 490161560 350644118 948450444 59761562 606003524 814278256 506552730 175259402 56396074 65523956 537329036 399230370 775351374 322604308 834232700 321764610 586890334 297401498 515630298 564661210 405941342 171213586 745494788 271381872 728792180 373645394 294488500 239779316 860860160 655832682 266525772 853940594 810506798 227173288 803189368 178765406 326138156 156298428 337198984 503323106 941327386 447922300 130293980 135889638 999174844 800042162 786859228 26185206 65223202 48786366 725546294 150606272 409374064 365788060 695392094 743299840 850432250 57822216 359800188 143241136 722412518 569498568 307258996 224866242 947829102 428128786 137729206 801581844 177801590 55416286 536188496 585739290 603317562 556216388 356073526 967587288 962370568 286385484 919022034 83922796 374622906 541970572 730018852 164445708 708333652 819733354 32601314 854864434 631612682 670468932 812683342 925485134 40048496 472961014 576463974 189003384 819520108 958076048 552196120 551832054 754234114 252327916 877931062 426045070 625446132 621887130 161893904 802162116 823642638 605459260 850204174 597891120 556181950 668131414 4547142 314755404 468914526 456536034 709820026 588204590 782361670 577407598 657453152 456393758 216692736 604855086 615403376 938757802 872569270 950657600 4362332 259539910 273909464 616249542 984885724 90158294 379032124 960291486 474622628 969603226 838817864 459671614 298235544 267554724 994378360 154448232 740359442 89469352 831443984 198026552 12669846 263427174 389122558 264007460 567124694 322202870 219151346 50772752 199959774 858782916 813554108 72879402 540678380 852083872 108758758 171307712 51581930 669085044 841423888 275742612 52050222 158537166 190698400 24253732 311606322 895369726 453133438 271778346 482458796 524956538 597354288 790263052 879809428 46505474 987116308 583916276 876092080 651125166 468636640 237650352 337314964 131824428 985893202 806272184 27440770 479668330 617169436 452404882 42857564 376076652 599491448 10228988 652094584 416282614 747284170 560979798 772011608 881764756 690928190 674104606 317838986 865661994 984394154 682555422 685085260 810218134 379110622 231883762 599153474 83850418 928589614 355941984 264858636 884307990 812760704 243679322 259126538 566486840 718077490 957144922 229364330 347031864 813938516 501388426 905834530 975453088 911283332 751541664 598089710 240520270 588868426 536518508 581421008 265292842 792040996 719348180 451948156 740910800 464751756 269141300 430742860 800789896 201555124 695889552 929595782 334156226 292557118 320361938 441800856 225363186 857967316 589560592 611543302 412772434 306468818 224020682 682053308 258470282 330372452 701676322 521937272 394514392 684805118 308899806 921863358 271048786 627845288 60924898 717184032 10919252 146611578 254050840 37925550 907100668 638756144 679288594 247920650 918812502 952856312 441658090 189473218 442915534 872039692 796074930 771094392 790144830 504440270 809872616 315551898 686602894 551367814 318314896 3677892 760795066 910991940 836335742 888696768 636202592 513577318 757073302 21394914 483620258 664270010 609367198 377688024 876548020 7245712 634398882 207721820 116082574 593636374 347796830 156705134 860488536 870215562 219767088 836340312 308135550 73607628 144138620 681938908 447731182 403510242 850953100 669990598 103497428 954889034 80037612 399553304 52674586 629427406 160945122 970162782 699724868 353255940 899993098 185272578 506806518 603939860 926583404 301472770 925344194 848725092 695689084 4297218 439367684 745118192 922101614 586227960 94514154 126319844 455814514 509617838 156185678 359278784 586815814 439216798 217789108 975068748 860457644 294538036 636637764 327853344 891034768 487781804 174628562 998787500 397674572 131255790 742718720 332564198 149836972 994628014 486767736 271205372 509217678 316878666 388817544 485706224 411818728 114927478 999381708 62707090 751600664 704430978 13013254 583876812 855027034 56667958 582968580 779785484 955507902 814198664 66699018 342631616 576202464 503213822 410644244 535739462 31780632 908464342 497595314 995732842 197867720 393368486 380291882 977950748 201762712 474493046 657979530 14325162 171616430 694896918 661210094 70141780 621274108 284344358 433052762 19981250 392705140 353149508 74985608 111064242 299610868 757207772 624581834 565956058 332830886 179974810 209822338 847305926 809570430 200537706 645602510 382635540 670935912 975956910 19106726 829716032 826964518 653277796 653371788 160259826 601856774 426011398 805306822 291400948 252879702 42078290 841004018 360378046 327381034 736494210 670179758 663059090 612879386 929757296 225517050 840871072 209667320 829921852 868417694 44161800 911401184 931149284 623606540 786854100 449008178 708083518 799429370 954777134 890710720 846250122 726328318 797550758 489784498 348481768 987650852 918520544 718152428 165922164 686817028 415641692 373964722 763956190 83044194 554657514 632930352 976265404 941653648 937897338 289771948 184819982 298558454 56775068 861141306 237027770 17954324 480269164 734399208 311421918 836161574 768810324 187375140 252300096 289823728 965068880 139655108 647061332 384418858 983655486 136908660 424408774 623251190 514399974 229593552 550070322 682596464 131018672 366762332 999993620 690274954 391239374 214262100 781845968 211972418 377325314 386723504 905694070 824143402 588250372 70432358 736348534 926243512 979166194 820249218 777026728 518544628 526375658 166834914 15912524 950345092 318933038 596177412 585508094 551933662 539850206 461500500 115402730 60157518 639892708 274606976 889587018 787878538 47781974 536792466 739321840 632063472 943863602 246289410 633464440 798947784 41519354 925469752 167539248 110994820 457642774 31228322 906553116 860309866 665006136 252720764 753513118 515294444 391671136 231501582 300536688 588286262 47136160 403935146 518345686 722078920 846737196 545652410 700264658 379621096 497691032 356599828 365862240 509455144 158295458 843076576 575165806 856182754 971289716 512045840 217946456 3665452 95559374 50020508 673213520 714390118 590197394 533233346 684110512 418484564 577517980 639224618 607025454 704071052 111348498 78795022 93983692 957702840 99350040 694324742 873153250 421027618 590646912 280481748 8770636 778133330 182970830 852036044 402611816 574270238 886867550 265784926 252453774 230881032 404653150 97149442 985302194 203793396 194476918 809670596 724344762 585401082 631473260 734148194 459443212 700963826 694755726 371288958 939074204 306351762 962643744 215407726 879436848 714934764 927512750 382816690 770393200 258065614 495910040 95584622 911197746 26498706 752733366 528439836 380232078 229816570 413833342 647687204 483459992 171642700 825187934 711463500 471445612 955669324 235582190 962291826 60841802 794126150 655016010 632510390 146455052 511056374 61728732 215181288 584702698 901846614 6088868 816450834 735911308 654464398 229074138 319422560 648653320 959519200 637859406 81595082 4131714 963612320 647380146 416693330 903186254 585076528 249124572 426979308 333308948 382465010 145075342 101670980 321500918 910076332 928080240 427471416 127719836 145172736 708041030 582303098 914842714 630878954 596657222 739955124 273077398 852907748 499947264 226403256 517178952 884470540 454804958 531618494 793380700 992518014 609268860 219434834 988104992 13770660 502959298 964566532 134257710 220597336 753626552 917885132 490754172 395345068 913706170 747268554 621887824 520241856 365123276 908116800 867213536 414020142 339481614 189377368 84596910 719075460 782570098 762799478 176461046 944283104 826395338 452956862 892896354 224749702 636285162 807625138 589517530 284276626 7078184 668631946 863628114 657736872 397610184 56903240 150782936 244361596 855794590 596905436 616660532 795334950 62120116 664086186 284328452 842943708 600402316 132676854 439973314 821499176 26489932 641724514 908767488 267763272 978205236 674214390 185737128 518011094 106284780 69724708 818511438 655684626 845731580 64067556 818773522 76761130 715008612 97925152 789468866 145512066 120113002 96064118 556618686 209210488 96307980 14896908 720005254 489721452 333973414 392074148 517059752 650010420 817255760 341738718 592239720 8119856 45972206 505122314 982464406 180496418 672798990 875826530 689579474 83554450 501473102 560843382 664842892 22785356 414520490 423831320 131590450 829921372 838174970 202438708 279948722 415396962 7949956 693031776 844673180 833882396 443224130 286055614 623163526 652360844 692801496 729143802 123159760 753928110 768552926 274565336 531354424 359779466 181446720 308625890 533593810 518568036 28103786 649526322 238287998 953821702 755363922 35201506 617574230 922172374 458934314 514419670 801104428 620248648 425743790 599240200 460720856 13925798 188956434 918014268 47630238 522655064 286377158 854968372 270440534 308884850 558587936 550998618 743201024 615895190 617464284 716750192 650071546 444430914 135618986 958474796 509862698 960049960 965292868 302546666 960428868 716717016 375100580 23002610 72122900 304248000 563136590 852524034 274094286 840147998 542953750 283105296 363944356 270733982 533047648 686562696 433785594 708176976 984919552 287972714 837038506 393902738 401513764 86011544 240098744 965986444 666011408 737017288 986711320 586555484 713847710 540900980 655165494 778741514 685371546 947235634 361773380 280575364 430063872 805131070 823876884 359733624 691379858 488996066 468735178 219343958 690218260 14468664 916891406 620934278 540397718 665154280 488385750 487082610 418208828 327391414 343577730 97263220 684770628 74952334 384104290 708623382 89637142 523211006 437442538 586576578 57497502 236274144 203295066 537307058 641040444 254846222 159786168 336527386 230454132 904402036 70299236 277235108 820197914 370436386 896145396 360045352 438168090 358934626 538714440 706932800 255043520 652751852 487169344 880258430 794380770 82868194 112710482 376228238 358570516 552854958 97354980 700745398 806477836 437591248 177058724 252210764 736199944 323890124 379252274 388496006 189216298 390577302 975366308 260627946 626396784 15290222 86329740 664006676 543877160 440329978 621649430 688540510 469760844 678492296 331786600 308788182 401230608 78879766 943780236 875750148 858049728 264107622 508355940 954628080 979174924 346138700 70936772 150121540 138585824 37501390 953822788 241762508 433646070 29044562 869469436 41812018 210443994 392094374 932962972 160578268 902135286 60114090 135396206 411378184 24620692 770591662 44472462 787351438 239649560 764489610 461560698 975883252 382087144 543365562 35439200 923690628 313708986 582803694 51278498 412624656 264652546 183177350 233478204 681646294 378235646 298300068 697812214 471287678 682063790 515437740 398899482 898778730 372728772 726114780 171800108 384071498 448655846 345698258 119210116 98754692 195989332 788627180 355364406 166856288 115083902 20513746 930351842 645016486 32808288 559533872 11795926 298390868 97972386 536070492 354324776 19329748 280224928 897738852 246111756 223505854 449248272 700663978 48880630 191937200 560595654 933560930 866076124 774787844 225487696 643801148 241956160 446357898 301698846 712971502 41113342 959032774 550002902 404674816 989630780 123486504 824955838 421991232 185273544 838132974 503451606 84520260 599991748 433305836 547661248 913619138 466680370 453956630 723021006 999608588 406411030 820619066 276627240 738372078 856245262 355067624 907619968 399799042 633494640 173939084 537748014 271037602 179145018 104567696 853964282 468731120 522186136 439624084 464422974 509926500 257799336 799209620 447851430 658962256 645216894 71847632 421948170 373204962 690883518 219373684 142918490 87362466 5546602 434943416 257105560 562915976 755853978 127556060 644537234 642652848 326900334 336223472 601965166 651557228 339530874 648247610 584797396 905023792 842938460 378764786 961544728 457950448 175813658 496705692 573359482 164012660 746021092 682115602 643278962 29240362 130632068 369477706 275201148 860314310 587559456 957035810 644162728 111472742 955585100 763573844 351784264 952430510 775445988 877359678 901976616 123856328 989505230 613998340 308584254 316427408 5747296 709540186 245914872 443275998 293103332 269068606 774900562 213930050 206937428 256109494 187971006 780091068 761770894 600889786 350313182 9627992 738201912 781724710 288600422 601527724 624260452 478609012 640483332 498302316 636910188 269339670 149227478 27294220 691254770 821070266 206911032 885627216 255368008 258553840 782096226 887164664 712999528 896687206 484538386 331936746 128357298 988844940 144437594 601324850 742481136 884023832 418919014 969792866 292815762 597706226 633861996 137263310 993179858 886505586 946827172 197296520 592022920 519252318 7652720 126858468 258476192 767979098 571421858 962681036 260359118 462835640 579207126 950428714 360615212 904211456 457230742 824523370 702536880 481476902 165540560 319039032 114434872 751654778 264773698 36167472 149006836 557571420 576023504 471812870 620083012 820169852 694157142 28359114 251179150 928599050 944417818 822059698 658172632 479360292 623702604 381110662 933424150 615740450 223249736 136588412 987640312 948462214 923324248 612385198 555336504 589591836 39609258 483977306 863823632 335403458 626556240 695020064 99383548 923560496 239975360 578185668 677947130 663715220 854273352 813807144 234333620 350401418 610858718 487056548 925690678 732084382 119719106 335217384 583322890 649327884 536188584 501808434 880382090 982562082 444878266 190494630 651819548 979516960 291993288 829477120 591843978 597425248 213801086 925400192 23627742 665219380 550243648 689679234 984293994 103183712 206292056 487520180 509531612 751083638 482684132 249827252 935193768 358045070 480893176 599394218 213169464 150335498 548721428 775910986 572712710 768928808 598536790 735102006 375032596 983165060 775739318 704851976 174307178 230800066 174397528 969913750 753996306 629291638 487221978 208790908 103565786 478348662 593002932 856735776 80302238 895209442 519657892 257537924 959419424 689730206 920584610 769638514 909092374 714929308 909503762 605075290 563340110 63063968 557881852 491437378 707668792 737725714 60511528 666755798 627463938 899867572 961321090 658346332 412404214 168044168 590101954 523986660 573865212 566199274 563310670 725228762 587148440 4143828 141109980 146615884 89060790 360937160 235086608 55234912 851456856 690122520 840355796 293454406 609459682 771266570 179818186 233897122 727465998 457128124 5704542 46566152 186326046 862458750 298060224 900279870 323888380 170970278 612429896 951375704 42094420 489914862 604746508 223289512 308810434 716854340 624753586 466235346 915513502 41513486 254989172 167082118 300012130 776870054 214323686 385955326 556003512 103752662 450831748 57258492 293620790 589296220 11175032 730264394 536782142 679270028 523303900 249652678 138964470 601108044 895224296 413290480 624696040 96742672 384490978 527390462 373348152 397480992 908879558 860731052 375792562 830371610 311293128 703769138 699215034 637486346 394762676 457818048 789503438 905685510 889338492 38487264 214242 469101736 741648730 526291852 959716252 215491128 911648090 246082042 332566702 184568846 937348562 250732196 320950534 555195942 179318568 619887602 612298530 971637872 743413378 857281078 856085122 729364210 37865394 818352450 391500752 134542774 21550738 890640856 979478418 47043998 818626280 837342530 880189818 813605942 153808464 384070498 306446194 328427388 59963754 89308676 986324062 736317378 669755326 186932608 722715142 803500462 175593976 771938214 532915220 740243694 340815554 451833226 631060610 915403210 436134174 161603770 328010966 59181168 420448466 69660096 249409752 736088932 389807368 776896306 915950706 122480804 694469472 93022414 518050450 928101150 164328966 642532676 358068854 626056634 486564726 569522792 590026558 10697758 443283090 719820370 191983716 544892748 932745340 456053324 730674750 975492412 912199062 232823134 378351792 643981740 731487284 486750802 922587102 514635962 271378328 209483502 572115046 647061498 663018650 174115112 118078514 980838168 849225364 688146014 220700496 954807812 648537784 840939500 490271148 95076440 986095240 154403276 536446062 11408670 543950774 256568240 243384796 148177384 348078844 318628006 690230100 646556374 13376506 658964118 131724280 593273698 591176478 395600504 91387020 407183370 438165026 544023962 203594572 637759832 604681672 323570004 914422160 130679724 79499856 620382562 854421750 643886988 234860028 325096052 882620534 783106232 232968296 909382256 101957478 231602716 915178042 398843944 172528036 456809826 100014980 343506310 154469118 802862282 720041084 900524256 448118004 642378598 241797810 235454866 558491552 231816968 635127968 440631344 150455586 141643948 315974274 606038432 429786068 126820262 38696058 615086002 532890810 400731970 258514296 587927844 493890778 380039498 871564216 56718552 769755350 443492242 529487604 500050506 782082556 175417614 360875948 637610154 19386026 300429968 350266950 785242210 534650416 338391222 737273706 474585412 854833328 304620840 755351582 440217388 9268090 989038896 732852460 291809596 134613890 478262460 838040594 234653578 333935674 176341874 508851468 68848046 913870886 390529704 997064190 872006778 878592082 35892706 134877500 319696714 121938910 411716926 285870460 539852 683110040 300612050 15545036 324226810 709154340 108531464 563842786 172936528 200080584 259251278 989594824 382955644 353688844 550081862 243557240 307161924 911266686 112510406 92395990 78642426 871397598 848035394 279737312 133161750 413578126 34807684 497280782 241538184 961432152 715958182 574295236 837980516 56032430 954649344 702499286 133675730 305568454 366896370 18749886 979950820 207792140 695434590 587959704 882869980 279333040 406991598 248995758 401221996 855159056 614186384 603923108 140383738 4634280 636530968 730901552 181288988 727969894 667660424 266707980 555798668 84188102 198863108 3995242 986122852 636251592 209816062 674735234 131492432 749183390 80545374 513198320 207624152 394501322 903941284 183060548 801875240 639623232 783176500 651567266 773263792 637731038 84668602 263010868 78821108 975852356 338240534 354091472 932186744 358387390 588392876 646026966 651971944 574193876 451143232 752017304 893227000 222620738 420675008 150901888 30973370 174568436 210820048 507999944 856305532 815123650 912851412 834905500 940858340 997827414 685661880 778099240 785886426 631628404 624454832 502277944 785468954 949534102 779560210 881042844 286312976 28382792 861070602 429496324 70272458 55208738 637564774 213656088 95659710 135625626 296210792 75701778 338304588 240954922 77432504 606370286 103156376 266627220 755930092 900692990 51984704 987603758 256690242 131477254 401777206 761966854 992168592 475491264 966515602 274525642 193282786 95284632 198887546 142203134 424643164 707659790 216447820 556598720 568300462 580025662 37225540 405590634 508685404 78765034 92938448 604965578 6584282 446817984 895411130 357374720 993288182 675023958 646632754 575129346 695477650 743593706 85153558 403805146 742812572 421067510 818517786 210412900 56347062 326818230 883859984 424939822 476530618 631662820 898367482 918956786 262375318 36099470 211150138 109907102 173086936 350298074 938998230 165377038 465865882 799613842 725152536 330621538 69602246 414104408 491416870 344939262 25905224 819424870 221509392 643679948 844426890 803889678 486555616 805013758 282731610 102684816 388178380 245068668 59789624 944830432 689743366 721588886 525863070 960979590 369819002 594002456 523875994 443934226 551784726 14389368 543246968 247047992 47161684 436132700 82535268 19731988 374441508 86352790 667767564 840125614 656953898 131210674 303258532 444153774 235760386 870608004 993313296 891498604 407443528 2651424 749558794 319354494 190654070 485929130 251788754 898105228 712629048 562902466 495401528 400142460 301480144 524271154 290420270 913607886 586748314 865659364 110287510 624857980 414902312 70665938 92485880 647840934 981863026 937121556 308702770 496880016 492851558 870076076 787663140 554487130 803298272 894704282 295010422 124620346 215854934 853463832 108209548 150117438 396492274 955837902 479643314 273013552 383661650 702141820 565988882 679290504 404415066 727866330 615820140 847850660 989551618 968740910 595977424 208720094 524641958 257740346 376328482 319894256 956013132 641181028 702420610 662395232 458668080 53545412 904377010 152207684 513329888 451160038 846763940 623983996 843999096 175995622 294941374 119667892 590211804 667024250 233797980 146529134 966938974 672032352 945628732 97220960 252837898 978998548 520457474 757285624 336705626 650322686 93494700 687994016 454780652 85274172 3039324 363143344 178734554 151952054 200773136 316326354 73497230 483913602 813248048 728723018 762860548 407953690 480981416 277187628 393963790 794088772 539177148 912479100 91140032 551785416 716403012 542997986 289108774 532375482 834063590 859628434 830961412 116947106 111081852 129968822 796374396 165547562 249367852 124266796 346648974 175217018 243678798 308248486 264379456 146138002 238600906 268490074 881700888 838785890 322309858 139392194 495968296 5283960 976108820 654746288 699582534 257247424 791756576 568560852 216132464 619843644 151036568 358249740 30332864 973548340 845333988 996244024 770598568 911703732 620450456 150922280 212819392 533150384 195591574 994469358 787623220 657040864 771232566 930507140 785171924 150907420 559937284 891798092 157898810 573500016 801659452 208333718 244393830 499081212 563774084 38007238 971009734 530130506 982275368 200601354 278321118 876932750 721537994 302161788 594755682 244891576 589700360 542851208 802572134 84083938 146076878 693837220 576920396 457486538 950243324 969705364 424008114 197019112 395195614 906904196 349993632 867623252 729831344 309195518 881677622 535522680 780540872 337649084 150736122 298134264 422303302 169201372 748393924 763796446 571496918 416228632 155294528 383794892 690434966 947041008 519309054 891593106 234353802 196317876 567606178 462092828 720187932 562653094 213100124 819928514 580737844 369851044 241578586 461068350 680648644 794173156 568941296 550821076 665384808 595418916 34862656 885472546 296761892 552057028 841260872 652003178 179484118 384030540 586725468 90374202 145180850 879087770 545324430 152306152 605252330 636611724 911044252 15156858 347123274 189923696 434343404 597478908 213856890 326802190 147388018 905407996 996052946 800483100 805014136 4968800 869489508 138983528 217613706 122053018 844918382 506489354 354181804 358052886 495388724 894638942 583253226 655149362 231884108 584301906 4227730 13693572 193812550 701434140 710877894 6656932 720740294 22786678 812667990 247846322 62140152 194437208 862064046 948789568 669039484 790242476 854652212 656861902 262066872 517717200 659122878 316929248 235544640 583033812 704925446 918963278 45158838 69376814 139997500 344562410 531725104 174742938 879616360 697216450 598151840 479286752 755270982 929145500 239742568 182585848 298283344 686244748 376446194 663904792 817015896 151447352 320709978 52815606 225497358 896466014 826090734 798510064 273776508 870801998 10581896 44906670 20081760 97106116 674324136 321018138 48953616 366602330 312892728 240471130 131046182 925708306 934048880 945896252 352032248 114062784 541607500 814144236 855340442 372759642 198995436 308604976 342840382 722628984 1779550 222495084 971584156 866850000 661101680 736941420 207187068 561993694 322277278 561034334 426911408 194590292 927769966 302765382 890067176 783018884 532733020 670618186 544813436 822879888 944559620 116844550 1298826 521482570 600597182 5061666 621478952 81977394 900282356 286521208 435773704 324623474 22523430 134034128 360908686 912475710 549871384 669575320 619875812 461808562 501932174 626486826 159221988 601872446 942460052 567337966 496525598 12190370 33007644 786682658 613176462 334148406 541315098 984753338 7016946 743864966 617730974 481817348 716147154 654331608 184307320 864912542 732452244 670844886 745637300 730735216 361169408 507986452 441841542 728908226 551816104 43002586 36173468 759673804 926068114 824772354 702126978 935245632 924080944 743702118 188856698 372045006 773451218 915603982 587162042 513796844 910782736 481932068 318323410 649963152 174411594 989376140 17990278 14855264 140853430 785794054 385514890 976862000 123008034 222258640 477815862 689796302 337731040 923921000 661891130 313185588 556922098 897572588 259064220 965361124 784434512 859926224 869402344 83421440 589507928 829755306 634893780 493796370 100958226 897418608 333018246 770276384 198105474 174433684 360338128 519317064 463964660 572473164 410700758 121007714 654266214 449757168 901028270 269587048 247993216 755418654 456581798 206138180 543690638 339465170 828605252 265730056 708299030 561138386 847868896 397288944 153171930 395855520 462130808 719060908 31785882 867398034 171028896 994494394 854983478 102660450 8184464 725816082 881524068 291803096 553706226 406886080 689446038 496992768 446032002 661260398 860148018 160336640 757875800 403851000 797863882 780283520 618414086 396544708 604026572 87570558 216026164 843834624 564391276 406543556 70916966 977992628 759841928 766756378 851026498 829127052 498998856 990008350 998965490 472261180 874454356 719701878 233120014 343252334 565587738 215588164 65439924 631939340 820125148 640080488 837262724 812497256 479607856 794543416 903306512 862895854 54873888 609872966 213021492 350070138 44977912 869231504 242257846 148837462 983594874 367238564 736191514 304608326 183892504 192816730 925498698 227924558 997867208 975499942 723635534 629420368 161714978 634895698 108275292 11672722 310541088 893493096 275552142 971413960 735255684 853566348 249136120 629432972 698526006 584875718 172878178 671214136 592091864 650577406 222430790 503160730 671866160 935886372 241952398 241675640 961064358 911196386 777399324 306357766 553549164 775213830 404844928 210457518 882503030 116523338 858196292 263662694 215423414 126945696 770600090 145185388 493636950 113652190 822270362 54142530 411145338 624299018 164811702 799603586 85429816 312557866 347508076 768250720 364253968 936651634 953925028 684064666 937882694 833304698 573917078 671055606 536282630 613147264 91477736 209254308 29541256 142975730 91243082 949201754 57552182 186788936 558638102 393255434 468622112 109431224 374633830 679072666 744358786 668280844 626857998 293057612 320105566 607740736 979520934 722441908 644154348 619895674 151323506 309316918 612506496 626097354 440007438 433353912 838802848 405572402 135088786 977260594 791553898 634485558 813589376 793149576 463949142 79982190 559986314 530104106 293438504 840123820 934674556 914257476 131058644 435375222 475812564 521483468 951533270 569399652 34787494 55897512 340311894 680228144 98216180 563387518 37891276 382170380 427684156 447555112 639437360 463886546 773954710 800817796 618027246 579537182 273129220 874899526 620491042 450813150 462395862 929806672 119701974 403918946 669417636 591692902 532928040 832828678 54144908 846040280 521755304 689312622 593101412 638957354 826524242 762916448 126201950 705161760 662872068 873763078 223705558 188222304 49891434 984905370 509316282 638024884 821116852 751022850 436363310 132496032 656402780 358204504 884325884 106813886 14692130 285854852 132603080 949441976 880896672 735647830 580018264 374683566 336434638 514137192 792350888 133066406 372392866 435010784 123099400 190916888 888670774 453439792 567414266 990025030 818267678 984433194 167615248 535900922 111580024 295085958 605390282 961301812 708463154 326898210 377289836 467819466 733700578 228946374 530252194 742782258 707196318 901042544 85557476 658600882 201429074 204699270 211969772 627507644 614250222 443993492 542960388 876956060 17769612 941801790 302692000 420866668 815130084 164858552 910445618 349687174 229258198 504156824 955860524 696363438 323061890 348405726 53983504 21769398 674477716 309433322 335096504 557380410 320763364 640286990 890714442 520419048 253915330 58195590 32609768 305116212 374949456 114439426 186606792 132193594 819065026 999885850 76593186 258187016 613533984 736746066 946282584 89440908 858405704 362021614 454732378 167304214 500747568 103414940 752936648 640667956 682344028 544948556 751671178 810555194 934543698 173897300 171057066 215490788 436004024 948680788 781694688 890496492 909054038 141814302 165775798 354075118 608064176 481727142 711451754 189065058 792856176 615501354 57705708 141994166 317145678 731382166 672196458 263779768 938073264 537205082 892378540 532838214 408149660 824754174 848015870 57899448 959696974 989622490 992994136 77868036 982348 827518086 295659564 48047624 91012472 265199534 10048068 467382448 114897698 106938774 960394324 152812596 253771692 32424568 933731556 167895760 157418660 918582752 501998752 266727376 607293474 994191764 817123516 610934586 157160064 366615520 501402282 742595110 994540 230969140 642721532 659836788 620638006 927117566 680231126 60647482 688923084 423193724 148848890 762399714 917702018 644729942 870800426 352269256 616185200 571163918 168753734 827536718 974750252 433540628 120471092 392069756 886231376 662018886 301344646 871102048 332783488 963001474 308485384 935946332 951496624 561452936 154602536 165258118 563016512 539545272 619570868 297662994 971420698 398062334 656273200 47355762 240063388 88558202 110092456 68112938 455305676 191199318 509107572 296602052 363479524 751905892 149682712 130610960 258871452 966968944 801358002 8748744 763412850 869775656 48302912 678993826 674664096 377712800 585328398 202883380 104113994 928997856 796677148 777510298 551718202 91950932 71073382 302262410 862940352 399413106 967092758 931020096 894916952 198499010 218301210 452901748 886738018 901675446 993773044 761071042 646847758 833727070 822301448 396286358 384995976 67866634 700217044 755811028 629412784 978715270 325478480 619020104 490908260 746214572 907214 484370982 601991694 189182694 428560014 392716308 983175280 316271384 631945290 176710708 542687472 325882782 135064506 496935090 485517896 821840070 21761118 961858534 783061186 624857652 585442954 690256186 870736340 84068282 338731080 530951782 712436592 666890230 603606232 823217918 886106646 407896876 901565132 360475470 885937850 760957024 448974694 340152996 526835656 500799408 469349252 416035812 939012588 925228206 985888458 351353958 209808204 313195466 910430956 282424716 879060420 97709504 379389448 188465774 175474464 346811304 554943910 60149188 854686694 884572226 212323374 715035732 852636900 31070242 8317680 796135872 990722966 140279354 98257908 647335166 181042194 253707068 629644034 405200442 211487994 532655892 111910846 187425842 291770334 611715586 577286982 950375220 636556050 212569466 769367496 866838200 531679714 783320024 342720112 498040042 916386288 262444558 580568706 468339256 994026152 564743696 797968078 25542160 596289092 606145804 80790722 151988734 332101782 422117518 135621026 541880654 291191152 795098572 761797784 339675088 778585088 407254524 567213748 520328856 37791182 183668866 213485360 947087078 438754118 927623844 708660210 858355786 805553550 462039016 701313294 745143922 651524080 59580386 731751460 189165722 997056720 986012494 558280094 948778300 891526666 978316152 921237816 231933676 699061684 772527132 535741558 931219088 85678318 897553962 198063616 325749406 872233504 524085908 315788004 479726088 47337744 353314750 178874502 414510374 842055328 336158366 30512676 907541676 603455416 141731654 117055406 3526058 478437454 500191578 815817156 260507130 5794436 567111174 297826308 43340382 474523122 243915964 664923752 858394310 818083774 699154596 890436934 748408180 472160306 105982652 87823316 788754324 681667568 356023454 222531478 591698180 661403838 8124880 792114368 573718454 317420690 648798646 124444656 727399086 603881856 99267350 629670662 958673780 114928064 317143446 409424900 597053172 84852938 658377126 453732314 986369244 69626834 291811136 561029776 385234042 386456666 437484324 751461362 561510432 513052556 633936950 907831750 544986402 344155524 36661454 653366516 231299792 645190066 505085238 149360440 684477690 545523814 766519932 501528082 809880442 293870898 344472710 63183702 786735338 382379458 803228848 859405658 923232120 114474334 436248314 358020844 372561544 813341614 220843570 553444236 146251796 253455162 720420656 959265434 645806228 569561780 93721344 290690690 584923930 877471008 19572980 941123550 69368648 875395090 89996204 21830396 632192484 4062386 405770030 219553754 35899984 897436090 197958144 978024070 476469126 68421426 958072544 405511066 778718498 579119156 355349256 526524916 698888232 195257470 517429808 227164240 704765450 723216000 85594934 253506314 443557936 877442648 717399680 548015674 207293924 187917278 521159156 134682292 89801014 923780544 560021428 237216278 719270398 604948482 887372910 477631610 499714828 560783582 69332672 187818650 869300578 880002696 828705500 770962084 180380234 553750832 888342976 519221324 418553216 662390720 666340172 664104382 816122832 284723550 602977346 900122196 136444058 369072564 120275420 60452464 529230416 526401100 238338330 484167590 255519704 416915806 337637288 449934614 699738312 456750930 799245802 70275118 931576068 756699388 641038372 950605786 727116206 241848802 340573578 874704254 799103056 150660028 237993658 125246248 950103790 91734554 677600612 545969160 154755194 137899648 641748014 797432598 105164184 803533420 938424262 463846618 256754672 957644498 534376580 541148676 196117860 301448782 298194186 672779818 724088356 884196818 139103362 212289106 461888870 911811860 133581336 799487638 475485448 513352270 488430776 465905616 701145770 624022970 954804618 224625536 564567796 808819904 529357898 638830932 417125414 286108122 441491468 18519128 702251418 856702486 729512502 836460222 130793986 998517622 29608294 824507128 511599000 265802992 675238904 98531832 129325724 263015404 316763588 735605218 412824472 76631148 904660772 589893810 576122360 877782688 765341164 994841692 954350480 388210878 122492402 233696740 102247586 655534622 309294480 606699296 991743992 272204940 543826760 767229934 63344824 903081786 350028160 713817396 753532970 145922664 987442138 649166050 589391312 640845990 806797616 138165094 718357072 755057564 946489806 421128840 868076596 776242838 548893026 815798246 65764440 295052078 70098740 353767896 594944704 56636350 375017252 153348120 241565770 499148666 481235432 806938530 935818950 94722708 464237690 652354390 42726472 21571444 494125340 862294048 897740114 43704432 416885394 644720838 713535538 716408236 478819956 530711044 269566576 680504498 880307730 873677610 198376926 963759098 966635686 153922438 750351200 726372174 951137056 290343998 653902120 539150096 59927694 42497508 309893348 259909260 961551656 400366812 697092978 647743400 10084348 675018200 472243454 290084848 811106264 246288024 323468740 791733034 771995662 18446796 834289660 843362466 899792688 756806134 864093380 837289926 178457174 494103698 22704036 517309946 138077670 642686252 598205586 623011756 76786190 142655422 910900304 778549178 889167798 362622938 845477214 695739358 51995536 207578672 48842704 354647066 42600224 656242400 15023714 521663820 92220162 791510170 478449712 288526972 446355492 418028552 211528776 671308102 234097862 234628904 67030790 561204958 290844608 830122968 666578396 403157936 439854810 845634668 90722894 187707440 747065402 929202054 578586680 372314846 971002252 871260868 935354144 837570628 963854298 14391448 307162578 559919174 221267790 838468150 993021454 678969492 481446426 115195284 507123122 86554524 413907950 948521852 913073120 590852466 669852864 795034886 253114908 533664668 358586346 462686762 700891202 484977884 631342200 410543814 949077704 258148362 477667422 745950126 752595934 48679204 383395590 876476290 741807188 364333454 158878800 843251050 240164886 35933100 575584596 349691142 156000038 42139292 679633210 631345554 970487634 509564860 708035094 389539202 289132124 781115384 338615602 166202044 827354368 171395678 283898568 987832120 2175238 104493852 131933728 769619166 247458452 444031518 778936512 372082980 40990234 302274518 401534972 158996736 542791956 600725648 748618438 661910430 137213962 870057668 147925962 602050710 246543676 833335922 115509072 479729902 190897138 6049718 457191020 561155806 58172268 778452488 516610744 525054836 78033810 906303786 475574704 532500786 886925108 808334992 986538938 575634628 584564474 641853738 512947452 406551122 876522318 676719778 769930016 552221770 660411630 77551250 410332642 577005432 64248452 383307668 284874706 372570188 180333600 997754694 527076506 276076880 966339570 485473634 543902852 76559220 360213188 705434270 168969102 744733742 662496144 992301580 997433418 169053340 240378476 240725730 626475936 553424972 458777086 201392470 222339098 228480946 581421450 206213336 894826410 436842812 132938684 747592426 14391280 641974374 68349872 709755454 944353762 773336490 230371310 471222700 775305130 219061418 401682902 633098996 79777634 151431138 833409532 331810182 497983196 522998696 425367834 311560846 776773756 992928508 522022596 878078674 324351208 612179710 488638198 833877194 745060222 857662178 718151508 822445626 932932290 873174438 134810998 507036540 295152576 200982130 520639680 151882404 386868702 67556528 322206022 923612680 386954276 631941298 969907506 32076664 495280798 548045470 916073076 863084846 757486844 287235544 396019596 625021224 678097618 450155720 688889166 3998192 151230310 507599900 990958492 774109114 385468032 236853936 753749426 730601932 786835144 337027336 563080052 245583470 39551090 572471056 251253668 169477318 162578430 305525898 942123592 93660866 401178358 164235716 699192550 752627142 123829498 428752004 932653044 726782310 236595596 673927172 940633046 503606506 246893136 439187890 475994960 55846202 129896990 161435794 852531076 847917162 449119640 206630740 852211178 516646140 726695450 143071466 16450240 313373810 215000928 839065220 678367334 152570300 111723932 685311512 56070836 517568000 19614226 986692824 101265290 404189080 75534138 737140252 972881110 836755596 240301832 693625106 425181246 183363148 336600756 200573860 98425506 728299636 727569864 517447300 144564420 963098706 450735718 931240676 724676764 335065414 45884566 546183666 583734556 28964844 216275430 566425486 766437460 963035790 186380138 800267692 577885164 204587850 571072558 439754760 18869030 458700562 383301898 554947228 395023558 879021780 903785190 104765534 247887548 32203490 574834380 233033004 356031842 758352108 75134492 996858962 621738782 210626298 561443150 499615856 120887584 903153114 734762388 790738252 111899252 265230760 588801766 658312960 526982984 541120610 544740626 787535348 817122200 242502022 162225094 251077342 866001314 873742180 538031408 235003596 247943512 94108408 974151388 567461602 254822490 752004674 838782838 926889186 767570972 388806656 380573892 246747966 215289522 335430030 550443458 766329048 800936666 708322364 241583540 45169042 835419888 982012118 223875466 39880700 676088660 90506808 551766946 896219430 982173352 919308328 172698002 410745278 837420784 50939204 241126176 253776490 920169952 701270356 922956404 717869870 637133718 627271626 769740006 856186938 44428856 179113956 886302872 528465290 351792430 807430892 968869518 190791306 607127078 285679714 57452376 586878638 532083972 934006878 659720358 746986658 637510220 724271708 881978766 853941238 231716030 253237816 976959226 880781988 472781098 135980562 252790956 351226100 390011006 190807962 948738412 510312164 397185434 207882748 564491360 678193598 394770192 653023308 132264726 257361960 890210572 518797772 242610572 749375268 123808554 454020492 18388042 947361748 759566688 510323278 294846298 521826674 101327106 468339534 736514730 720760720 943338274 484315880 851606200 765675966 694950538 97357610 795656908 760289074 907977484 907915208 77115864 773125144 421414206 29436188 528433718 944478538 140961340 494920288 680766806 712909642 506226262 572596516 989889446 212454530 983383962 482762124 324781818 667366094 480264826 899043496 205192248 941181286 790315782 953277850 355305596 789915208 979803798 524668752 200604118 399457146 446796706 612071722 854327016 566791572 518625186 533534062 672199488 673401084 942313482 293964164 381151464 898059664 628594502 581296300 599545542 544887184 204944796 518774382 395202982 590756402 560257002 890955604 617141192 2692412 772940718 378356214 886066030 325561986 674778120 508075156 123852486 439601122 90396048 695548480 109371366 506636888 350400846 916875920 610468086 836960840 834145420 130555014 35431936 104915102 468946528 570846558 116596318 306865372 353948842 581022346 511368276 427703148 195647426 666177232 848458544 868465918 245365882 101635972 700738556 67209236 852784300 283444294 991248612 168666892 518877414 984028626 779703466 815255952 631086478 59361348 126425400 786374354 706856660 625750386 316136156 71939266 362267530 424110302 510283224 199522718 262647926 541434312 143630252 247827552 228560998 829027118 688881126 393544302 242262922 492395322 865011016 257740170 53976718 755031254 929860778 675286944 6537278 74420100 688002202 45849878 332853008 392977042 746706962 202047852 993772112 284978046 905115704 830980360 540583678 41483266 227999794 61021434 379647876 689478920 294881274 827472826 87904006 531547274 594902714 165798696 395692916 983330144 537611678 116533030 794193966 783057332 141637458 527099966 645137794 810897612 294767096 437435040 612787306 535362354 197542716 139364856 623984372 989214818 79045088 244381364 914977944 614658708 850901146 93656852 399901040 538391120 313821966 458357576 485008212 549501642 68672836 265755412 792868040 165616612 997657680 465547522 703369124 671805696 413025368 314934132 468753328 138695532 122293868 709141212 334240380 375569180 177271980 213068748 80757104 676639850 771231850 984783006 916444052 1223946 69487692 427303222 245655296 197351638 273599192 21147012 758589206 309693166 830409788 905932894 708694276 59790494 573578892 403195678 62545544 332116382 587501140 322480132 736015088 790688196 632354358 152461348 206549968 379142106 788642462 621298570 525589964 5036112 279521564 295877218 823478620 200046172 165898042 184212918 839364772 210476006 704078428 32949100 52534646 900165564 857218850 583169758 856034592 651544282 795549968 193387528 183223810 60745624 568344774 642845198 432259986 226366776 101917856 46153420 157188636 783178774 578472390 327606902 878373798 230876740 525541042 696145636 853373072 370589208 537746946 22804384 579888252 628813058 963929140 34755926 807968734 884888118 46566750 798957808 508659190 662627734 227635012 832195430 67367188 773429570 938277456 907199642 725091864 592974030 277187458 127886488 260948032 651556038 511921866 475403204 266336972 715703098 885592980 618717358 572895812 624263418 426084296 377871900 405153532 698039910 477063842 796473310 741513428 791913676 187209024 488418500 179137966 137242678 572257368 226069458 299832584 635043528 955682412 943303248 536515156 131426150 641822916 695272404 454261538 256412142 237892514 802532554 610461198 792376630 890633676 863159474 610187848 521698696 191473000 484423726 875854304 761331748 359349334 636471334 988354998 463212434 949639880 224874058 507135930 874956914 100925482 300474076 182186764 876047660 807951666 716784094 928511322 339068522 511711490 979222664 940250800 600317830 479916846 222212270 416602428 628830648 282905182 447967116 535067824 859635712 510986912 892446318 963560084 877072020 157118500 326432986 620383614 983564442 604487628 46054830 171960498 488815856 945124508 403841034 489042422 444398028 193182842 805337056 284764958 981002098 643271392 36535748 861367996 933853426 229479160 446054992 353260116 524045426 106320568 467960712 357711418 74097616 619431680 613148180 996808184 993598786 44158306 529122482 387841116 806749834 918863236 568757036 572412532 930263758 687253556 38903744 630449578 800240494 770959028 947501150 740014560 838315134 757945874 434446194 274719126 282238580 222088872 582569196 459316096 184230074 320267622 565285812 71553680 132393844 642437542 561645318 896230014 703009782 750831346 711880490 719604726 74848882 74282850 946373148 114541996 336717026 374868888 823821692 138449038 626795296 954583920 111251288 958265874 72595364 990295292 869241446 124887250 982567192 906957868 540726648 114305368 812447216 514785758 385391524 182637540 532779044 767111446 534076416 535167110 884947680 186599164 705288132 956480222 943959274 784565920 104445326 680960666 321830614 65752856 613922376 101340334 745946636 344297794 810214734 68987246 465223192 149531956 614062134 305023714 219083744 81191260 668049316 482903756 977094184 974021510 938729836 116421266 321540502 685014270 38601882 170136580 173329422 106184550 638414010 434575680 153350200 222404314 322987420 196756224 478802826 324885194 122745118 977210572 822574634 692829238 994758368 771714362 751214772 994295576 988318802 81417156 538666406 493173664 869195064 27171052 657753340 108517636 856623084 49985842 353522330 947140798 443741646 981045606 883019300 817278844 769354770 867794742 702271486 154824318 439275356 48748738 602750878 519073998 809128170 650900042 198564920 48857508 159760760 22391634 790624360 283649814 634269566 790387624 598735664 294526060 504909844 784003932 429053424 163388818 389350104 557685172 70370164 682961438 102731856 721112538 667168044 840151626 313275604 435669024 247885028 994839356 267863806 995673274 35898288 450021900 680486460 523595534 871695036 23329162 123721032 271977830 788315034 249290796 734488848 988885094 893275762 417754550 159521506 673664134 395125452 52029580 909773746 74968454 1992050 718653394 785334420 623372438 336679370 299977862 318819102 840969970 916074856 208788564 2903618 694642914 866104654 445242064 214755706 280626252 373418370 891240030 965892252 661142056 243811470 909502916 873921000 208263140 456968984 609495250 430591536 193849382 601295530 64019274 369454704 730452200 547167842 673444702 43130406 148887392 94065252 105813452 743905818 658990494 192533982 324215138 390398434 938306698 947171662 438140738 527867256 768424834 370448240 603325978 337861402 6921444 333375984 447266080 518214326 289205318 20940328 457071190 150248590 879515612 650482700 278024052 896964236 151917178 201039580 689531828 915300104 178817772 390447398 748529126 84383076 515468574 509930902 383073224 608478356 790905126 183140784 565777838 558651456 53586944 704847154 589757870 185956500 183838928 309513124 565891852 255170960 104829756 133509794 198093642 567341724 435588460 944253042 660109406 541073748 776336658 216919136 953959000 184615940 758173900 446488262 574471234 814022608 793242638 862931968 133934152 972711604 856097204 590279650 724811774 359302146 637818906 831211612 778384938 354674174 156429254 266629912 92868242 433292294 338443968 704250650 124321338 612548288 205432046 471950192 368851688 417321746 855400412 193787788 424077172 346181782 627383964 936075926 883576594 469103060 16525580 491563158 417302466 618945076 805517440 484600572 962909616 501829600 304365014 828186202 608968090 902896120 82198330 492578170 278616278 832952078 621173502 916297348 13959484 639792638 667757558 378724802 336378716 876738724 465361994 349790266 691597886 49847686 240600122 794914774 725077054 489826456 912839906 53403972 861988850 276506840 190669220 912815858 846176126 403382074 571797922 456252132 865001428 523572740 212242260 523484474 663294028 322505726 228720690 943720396 553082864 235420350 128735608 735007224 1110588 264100536 402678306 118380898 811070854 448345488 713884428 989394370 679650258 96456312 854171340 686345486 814492482 74036348 247546260 883046738 767473902 96895838 316802374 340463970 861262172 747961202 217850256 837467022 919619494 908859698 648716524 727739386 544291286 669863290 624511526 135206086 956691120 656930044 430605684 1011740 867944782 707594374 648175808 535718458 828440802 904996596 348627194 853808886 416864176 961595070 688868144 120660080 807007830 806270720 462620444 642018530 104409538 773009792 584863036 499670944 954329460 593107874 575566424 251269414 514554528 470065032 786634336 644685474 208866382 218143764 848448032 593001950 837714032 54655516 939287134 29931102 631990188 783672014 541147434 706174468 939746 867588572 258847768 781705404 202950562 250075206 944009808 870512672 675873782 604528488 841402582 881924876 761742906 618534028 589780484 321686722 559670686 996229554 979226884 41089798 675216040 776936078 194086584 960363648 787688416 717760864 938858834 254615588 468950822 387026934 873707812 172886 712363422 960665760 391425950 307040822 589329276 28206174 619332538 537948286 657800280 353612206 103524590 913180814 865300464 538880490 273714942 636930744 737384866 926384762 749890754 910521056 600149304 148662834 523474414 397940196 306416628 686608114 647940172 364652060 225846258 80880462 287943918 67812646 937584286 453455142 295999956 201566914 957712624 576596084 290298996 953426200 164846694 735091184 333617354 816734578 620779644 457704064 280726024 993805068 74152888 162200510 934113328 691430616 50177618 529303710 144419246 685920296 893971812 93707932 318677348 605894798 177959746 316213996 878801680 650587370 265866314 334086940 327998434 167095040 570800030 918069824 318063566 651413670 92914488 197460968 827080688 667712430 668574812 504345362 703443332 323410362 234324428 717064902 535895940 851792542 28145692 218858588 123909442 700870122 586714154 441623880 266404562 608136380 495420522 203034440 156134964 762706790 808494342 457005084 542138838 912250344 393147538 428536100 710859388 52437356 696522440 997891422 132738172 823244774 217254580 652478810 173592810 945313632 274958754 474796168 261884170 428828670 436033094 741839422 563285210 279745932 636746144 620122564 210466806 263996336 459985024 801171724 60459202 876395870 897824890 500226842 929001442 960458648 803136098 726033110 731447528 292769620 809254978 490274156 736949170 681573786 873144106 614793958 710320302 147047480 490418442 200708618 176258476 19760136 436945350 947384972 562082240 572154848 198326590 679573806 928193520 146968908 391929104 582163640 641166990 212755078 592913948 984076056 12061108 708193448 620184646 147166304 546111148 830335910 592358326 320543274 903025016 246228028 329489224 464112358 890583264 45777830 864326230 982266452 577039040 415633722 55812390 533849404 512860746 393334978 904264810 275730086 394100376 122580622 847171406 871347426 442760696 65248338 882734470 658166016 374014924 802655634 608274010 794271470 696009812 254743216 489551694 800490716 280584382 338969812 840758940 929487706 385698146 459066854 613977770 955167938 949063422 291892424 135772900 848152104 339019614 519536634 128893302 987193014 197114124 211944394 138558848 877927416 209549238 991690154 637310542 155935594 130824340 529089826 288433744 125924842 277134742 386342852 510772434 723690750 267013222 545460054 315322368 203744564 123085522 990768210 56822526 800878798 605636564 877058828 48757222 250154912 118694768 639583620 132644732 64561662 944827592 965584376 975818442 386920640 267422048 54643554 738272174 528738260 54530032 936516108 295159884 339414914 843480292 450456014 744158770 399234706 612361496 996388450 877613094 15934918 7145356 480400078 240060514 685348660 391654430 428579422 772183436 366435602 726086094 450727402 368798932 289871388 29722450 638766254 956173682 14961976 827127024 611988366 973109896 303891010 849860910 490099566 324996662 889173788 450904358 312531446 913765462 807736060 180127978 177043446 489089290 714941390 54520928 999127040 493836998 888451412 779093750 971492780 746646408 204227156 703115874 64048124 33666660 105138440 414914416 523641698 798689630 433210844 765369366 252366350 543031872 676588820 641246108 572090384 343754162 241821932 14723506 711344518 632775206 667828246 420249998 499998038 670609468 282960268 167665760 290486544 937849588 211740582 563583046 860041788 502962068 157431198 870086586 234309696 520442712 274365690 867320998 218679954 238402064 848893882 129710538 454426458 246388196 309182248 280093084 745879796 903475034 254316716 258888136 329755598 770604550 546301436 469968862 862731774 465567136 798500988 443424144 424196218 988674632 167155166 940234528 406457412 440911868 881714510 782815288 594138162 603098642 450727774 131720304 517983842 488494054 52801070 323179864 616371252 506477820 119579108 777013986 70518354 544991298 716364882 900261034 767043850 765088830 200664828 977911454 408832352 883524184 710734456 328088292 565949672 322307992 799299074 838111976 999742464 737123412 331191598 191997364 853207686 89762946 259382754 495082036 75316814 676397456 446988658 986475846 721754788 752405944 710043104 512324598 715863724 147654124 484998960 78426646 171025062 114671690 823284336 147492150 407821116 321957130 491008318 993869722 74052268 901441266 292858926 948100404 920877198 156577978 438182044 9279448 497269914 61142 560288360 4400660 269573186 400070788 958274400 588184480 248717270 492759260 383426996 4163356 706822208 520406430 90692638 70346764 712458162 513085484 186511794 234602986 898136872 897912126 451261588 820931768 865704140 21092590 722804710 870952092 377929112 835407516 321115720 875923642 531406256 865310158 796066864 85812006 364054566 251962594 252362302 991016458 186290862 496936264 105026256 682443700 970313728 137732304 650387578 242213588 594465374 990448948 943702198 419792926 766488444 299474440 53365374 153257238 542211134 279003272 168068260 973933606 532380814 998300912 251365900 273892652 382772254 811757108 721766284 657313874 47642636 22103512 369179412 702528858 55612730 2823426 946441506 751074416 840670594 127419006 405717964 128302504 448036632 543780922 537594120 974794766 892911208 613256768 929158520 286941564 86431086 610528080 597838774 725293664 42594430 131708520 716726198 679989934 876410718 275297718 220254150 802668244 83043064 314076968 829210126 103375702 531635384 163178702 670129874 464568628 854654520 8871096 752161142 119281950 626431506 396315786 288694684 27497858 728046934 219643060 529868932 577152344 812574216 168534562 362543608 505041862 351004748 40745058 688424676 913693624 324417924 218132094 718108564 122964628 12357574 963421426 468360038 355855078 330338796 887016658 138410390 860451144 370343788 136806134 108425452 214674772 173054342 547021142 272990844 212713118 275894976 87221802 407014498 972582750 723568820 196571916 957154160 610347210 298152372 272832130 123241306 52453952 679261278 315199954 584393982 364653974 976550524 403163144 448094972 921913358 122288342 751426928 934966322 439380236 531278956 369584002 925943020 153996556 493158520 869701870 927606284 373984322 883724398 995005184 649192118 962199684 982905412 26988122 804014244 844767258 58784998 580207838 77176518 20463856 840307190 945098886 695752368 304167068 311136546 639389936 800551206 184032640 524959486 340302650 315822944 593186084 8339672 866088426 819122884 379755316 955430536 833740446 617320464 865355204 589022284 412338368 147508718 756511380 274367132 528563498 941389336 876832456 413716010 678878046 773073594 276124936 830984506 700817052 376567372 921524762 501741988 366929932 778755108 275011118 358470282 789867890 104820366 806452394 446034518 143879910 313978504 547986096 342144660 188676956 257789392 53653686 556220006 174958360 36828924 537174414 758111976 648694128 751509330 90140568 990878588 195948036 208026552 420475906 831341862 865473474 986391254 30914450 363174560 435986800 13419756 720602352 15208362 619051476 181834266 474962394 772560640 883213808 48365670 535025004 466216940 202221328 362114854 765271158 996012272 356256708 761679008 539388162 165350022 148101174 759002198 512217790 809060860 639112094 255859566 250949592 35059110 414112206 941105116 722031386 795457726 312087006 492685600 530160922 386494126 974249504 610809600 11085194 821504162 42072838 77781554 878059018 15955334 174194646 363884232 851608168 788505244 927868466 717021646 654687636 313691146 906265504 514376284 864140232 501396124 758509228 509189692 402564462 89705352 33508936 565399020 7635110 32885134 906912128 433935318 142140546 589581466 198833896 954664714 938286250 889659858 923144380 439799728 608583416 959481416 781747896 490423126 778771928 227124996 995131968 730777850 638421546 694977656 998311560 916591680 728237782 212283816 730938992 890844826 599114726 653569408 312480936 195512236 142485056 768440008 746398532 168849238 981684704 486620262 108584012 311317726 16171584 764338306 617922324 123976522 955910822 214069954 777631158 105493002 263006794 58383652 948739264 904128776 74064324 545709608 285423784 267765166 716517314 697890090 526175860 997999152 287809248 916913924 395402628 897712434 47253418 148807672 93417268 568203804 616663096 637394622 131471972 516612254 262919466 825251872 115364758 11494406 290513058 418955620 333047658 407133264 985475386 171002236 18253928 611893544 460382436 215421778 474166576 845595606 491260412 179294452 457476102 441714554 872897758 768398274 959883230 347392384 916630466 137637666 352622530 885246626 30280474 208692932 411871632 160685964 113087718 718636048 88170348 55606676 62185018 8185344 291000532 114627412 464437854 870331630 838285550 285367512 195404262 868723980 687242894 131385486 981408824 37383592 758430490 620799288 968819542 246347880 326216022 398349032 740016586 326228396 43931476 469664652 445949808 907388242 952708598 376372242 472808480 417455040 479392272 782640298 971217998 231185084 785211354 181815032 798608154 356937100 275978074 522584516 117426126 654150982 286065432 619215104 98793320 264579196 140023786 872833606 54635568 172122068 121769786 701014916 424805574 494222372 126376586 549891712 827732616 527705192 114264672 833816942 217676082 935109540 29943270 310135266 448535928 194943062 460703834 720806742 844286130 634728200 674980754 851497320 188801208 171547988 910554118 987084536 26597876 817557246 3290350 410333774 65163796 377739838 855289080 469170352 865330884 194553324 822385390 918501552 223067968 643363702 339709844 396973110 302727440 370172392 893784726 878516534 102933156 456947272 831857054 276655652 888145066 752794506 748733386 320290034 133140830 68549820 907111840 719665990 299785636 167848974 720309168 912512182 306276610 705538766 195066056 554108526 548877022 719748172 704884046 617736190 331103648 777543552 632154954 239113406 845805874 36714354 557933236 569052430 107109396 95943852 33366314 716215264 967281992 695971654 473345406 806718820 86340296 924584420 686479996 132339630 920246504 555686988 493673636 660968424 41577474 316796844 905343838 382570340 843497490 103492160 593655814 947686382 805838752 524751332 328145948 144045052 15991900 667157186 630966282 497539944 725903584 313521178 68995878 432242192 452091862 694567896 899885034 792752202 420202008 406617536 592448722 564222692 651949338 290752248 861130134 434308294 363924006 417420862 578328102 412399736 678782834 490443596 158206532 921353082 416754156 227629588 193226282 452493572 900146848 180496298 229973760 999208088 504895720 472105162 751055616 98837106 304666430 840959620 255702766 105728966 400013930 966734364 316592008 356337014 61916826 567379630 871011920 391302932 426824862 586226090 941069402 471897352 210980908 708075754 55059790 774900618 590797838 221229492 550710964 675093920 40251796 694544064 725289326 877772756 292380070 909175632 477436940 125401444 808774574 443092270 405628646 721573598 615671188 232539082 889967582 899625964 271311372 50286676 106243574 535784594 658137364 314202844 934378706 658304322 174695592 53109620 521975844 749693536 193619084 27675842 741446068 510852972 924742808 625315760 901704400 701734512 355304318 223021688 52871650 238761760 595700314 250668298 317492842 234077658 840875548 869135784 332506858 181304768 42278286 630805648 555405996 238286614 471514572 914084180 273751660 54458248 699301134 486053468 111734006 777960332 168333008 170716490 552763724 644468520 824520838 179323072 325897190 829789890 526326390 236158188 674412224 58022134 630900488 751768514 928929670 508915100 236425560 537710818 631338828 288811138 612705620 676719586 81663282 509745466 35180492 94469508 558953206 969451532 676110790 165687640 102023678 793113474 15989830 505898284 803325242 925003150 354271756 431208224 553514986 235996312 144343026 57437548 30849122 389028828 608227790 249839952 16410938 541237232 257378268 621418848 390450780 682185084 467103262 473114222 276263830 661329574 788037994 606433034 993059304 775599136 583437726 485486698 641656840 863013456 605562060 298659688 160389716 248387224 727188208 581382670 834589840 852657492 221204448 497211998 999021360 485936502 329089954 962884096 246377834 892326364 630601852 784640316 227724142 726594692 576969510 939158982 556988254 867895018 394865870 501683280 79611446 256887356 450250888 434787612 723912502 169125544 395642446 418411834 614772692 253948598 834145518 667370160 520147914 130435170 518337820 934106238 4099100 248893678 881946530 670721522 283117026 187723058 23094602 661916536 23176368 793493298 689526022 345023374 19285792 367108788 663845560 902161182 166247794 18312296 249418722 536922684 297892146 556401824 783725592 179882358 13133014 20493778 761382764 7867266 427544550 953605226 178312916 467220454 687319074 220555756 696586684 627758292 614155042 909159558 900735804 579512484 265940588 942345366 447188702 919357518 91893748 380278232 532427322 905013772 736250990 160720088 933443788 488546174 169201494 893928190 376452132 980024914 151441244 834916394 312507162 714559390 214310562 268060256 566810734 440728416 64646154 384445610 666746384 12817494 627465244 92214118 150736432 752706484 185799710 269543718 299000316 945604808 418643028 458580456 765401318 924563016 949814586 773819328 154681852 718370944 197073878 13119988 807929250 376111806 521992758 572898206 429979880 949759464 291741536 555831184 539992094 821818014 817206454 766871152 579594568 820153828 96781608 802280310 523772020 139259978 438152700 967437736 725797892 502899418 906579084 688873562 956233706 818829086 951060770 268846742 500603550 737325390 23829346 267896050 229430494 959976216 602215318 756687268 697462578 626739740 457515442 48565794 852555096 398897940 803134720 857983600 887258476 537116638 636108034 328054686 67917570 193878738 432981792 464806218 199607602 249092768 432356886 178114876 988388950 213935326 764586588 459149518 525205734 168422958 890507812 132793760 498195272 582627046 417354276 109115536 113905116 478854692 855150230 447716434 396528548 102074694 624071916 426327326 131851154 63739642 358348730 468990292 4691576 26051514 78792302 887304402 595233978 398399816 681917484 265724804 442272638 637184126 646256006 37863186 32819326 279152982 743630480 629726098 671587316 57268506 772400586 999690628 499696824 126163876 89349534 903363726 102484864 539345912 678984948 71805088 285179592 489277094 952515186 980732288 141239114 119654242 245580740 230699890 204440410 510978142 400949304 639620052 497288290 475170842 804335572 175765848 370385944 594732208 510954586 96735420 404338554 632258944 498811922 395302864 597729586 971238216 49365386 151022280 479098386 80328600 329245444 101295370 455626 504948974 951949024 689254882 713612822 216818160 157682774 187610712 307749740 847876560 469219542 120948206 128241856 49980110 673478324 343224570 202327226 272378218 504811828 700518412 789070032 9510608 208484450 549889154 845256220 465309928 644947644 266820822 174277694 67571034 178186988 662905650 574701760 375816266 6868116 6865666 64009172 300493260 604793368 325199924 532893270 2496782 249324654 3764510 369501658 980812520 660246692 410706292 430290980 657681370 539745688 198627268 665673924 784685380 389179874 529604716 725391518 227722358 599037598 832883082 124316380 481569032 21457660 231182178 503320930 903874326 137119488 550509244 1905302 302905852 584668756 111440730 531723926 990488824 694368772 592006384 331262926 510034972 261072944 209274982 86238304 303598448 21979722 712859928 172664736 239857038 950052858 832502184 19020808 62225896 372233176 703248460 838960874 95198300 929144164 901574634 573825354 992227492 406144280 692628604 154319942 623271000 498676658 511523024 49495552 760316988 174670428 4021218 82217502 38123940 981098696 600433430 655702518 507166768 955660442 666871814 245077114 664905256 887354822 31921112 943668702 300071382 174938202 327370312 223585878 362374250 612742374 535565310 929344830 704377690 386362938 826866858 910332222 724271722 180717878 992366736 866829288 9184752 234349094 678871762 850146246 430057980 430383562 398723554 889880218 902962496 440026310 178075834 55932632 668033714 77721422 571577638 784803958 618872894 514525282 919549394 859803512 438483432 296743126 612305298 769854084 133351864 635707056 449305746 944659212 145604736 908448652 342671918 272505640 746292394 935887766 727024198 286078996 596129306 880641512 450214756 619951652 694861942 743541440 953573724 45098672 91557370 106181682 108773026 889696018 559017786 358779122 8169682 393727600 999058552 436694632 959219632 114916162 656329734 345238492 7549382 784872402 337208426 824703764 828726154 692144652 685320542 844550984 554871326 912647010 149428160 736657904 971722218 512292220 539253510 755196300 664492194 946231168 806658658 476063486 390479394 992257028 436630750 917714240 19655848 827323366 700944408 72932428 287679388 718125992 897872532 837433008 554333484 929368512 935767864 556217366 466200432 689281168 375870594 401522558 533478672 754533982 212391896 292552892 995586342 262189126 193417000 683433066 354998248 39277054 158041912 621330578 449442108 524372498 919541330 388306332 786028702 707144642 547133182 143035034 250582170 781307598 894637362 580090448 177897154 614113038 898707674 604376992 989534700 988640472 510180342 68534974 410014 793381104 247605952 608805192 956651078 239168448 301956360 678668950 698417530 52333386 971321830 958370630 155968050 460693124 624283888 937930992 337307042 227167778 187718986 535372942 331210048 70578676 521362988 728392700 714565634 513993042 271758496 621769832 454897044 560887502 513175994 915733360 9469552 758449452 919138564 93104942 720425360 417752558 117841688 911617846 645092410 477895178 993219244 249424120 95969940 671645844 509831196 288883702 634800610 42320488 688245948 883708430 843346542 534352538 394718912 733207152 916162846 722193002 860192820 375307460 45169940 970199962 699987676 974749274 685713248 868600796 894766570 910432480 972628338 3129348 523496814 879849554 323220540 143551258 567786320 57885166 324375636 162821114 617512642 846830752 343854102 876066382 221070302 46279858 337990396 860137216 691792654 19239534 193263252 506333204 13955344 555827152 269396644 5177824 949091490 822106008 356681246 362094692 661441820 32950156 806616316 407777936 630945608 826192024 616728138 764980860 754398788 760638538 967107988 213257720 692579290 473845008 369707018 623103528 20130296 38590308 509371278 522260626 569116812 678521338 600370484 13875078 110382996 78619312 201678622 609798402 329447876 730671350 731998638 25937006 204527342 64605134 564673750 24244054 116769696 836846204 701911458 448758664 481937398 137361428 684740494 790240620 722501074 903932580 417605388 553436190 502031520 725124182 811617942 937250846 683069310 883509482 169374560 396644602 525757132 976702754 64747586 393430186 637548768 250698206 679328110 194715928 9685576 374695166 804836456 490935450 984560104 685323610 592547002 276020498 326699548 849805402 371256338 961556260 170218264 843043956 559330736 406426808 21289762 791722278 435342668 463599038 179177226 830427732 445078684 825335924 512619042 530129486 993000666 220197300 441173996 545605220 94872424 207871744 441933574 417720796 341709692 802883910 441263400 309957446 770634284 594730038 866691736 577258452 713899304 472595764 286701136 571022506 764736642 130016768 320485658 768461640 47299064 806993736 718777692 351893434 79521758 570260418 802937108 817085434 302202318 251464428 162598694 27803018 773428356 235216234 880948220 296674334 26869510 750857266 385662796 306748302 422407766 441039186 465509868 92314164 604857088 303622426 747714224 341796570 99892706 402407632 969543436 238779442 553750286 774417668 370032512 777168896 975003672 961064690 285895268 556119480 485080334 940808018 806385592 38743338 270242622 948928694 286543256 21824590 142866668 297174612 997648572 540876212 685495414 390820258 762726578 67264444 718676080 139084440 218323970 261976388 8767092 686662066 397173626 327203834 732920324 322008304 515787318 51048782 413556814 125305100 95882218 306152334 761864110 914779808 345451324 283124242 909254622 724283710 584412444 32325470 854558668 762870348 564101878 451030548 176194308 167448204 203729618 68872634 237230872 650911888 722515798 929888932 149267360 230925254 303670592 805459216 375664520 701656186 492638218 945203350 228546512 557758204 278955398 927215328 939785774 537570854 108778094 554807566 482647062 522185496 608324996 742076444 958393442 620127404 37496022 555225572 140433938 344132678 398202210 11580392 846434948 252811248 207431036 9222012 304444042 105461920 321876274 196612898 180880116 274210650 661096300 159501960 572039412 429272044 786728910 929659396 198273264 337935328 378018330 127249780 471720974 510701586 839054552 234647756 147319548 725309570 585715810 992463066 974499184 728056712 582070592 143634258 145246106 276355850 555610248 131602274 536589524 671916672 206334180 720968986 874424966 708769802 779017116 592329844 667691962 533378924 664881264 941446484 97651578 530080210 284144902 521099804 187180830 502674766 662538686 791576988 725212834 655461034 209632380 159870906 676174618 249130618 41781262 61651980 892231148 14450090 951797056 531306804 938230254 405624788 287902696 617035258 681086726 320023978 335308390 174764450 725224928 246148780 959181414 910252376 166902742 738676090 548483996 56935236 253552770 838122046 227025706 39040062 715763188 487498994 898327054 622750680 258260930 760748642 365710182 970719586 986942030 634460652 287682986 566350902 211760940 989664176 700401546 421215764 252891818 964686844 574361582 368723690 162350804 38890802 309603252 331915364 149115854 182344168 859999490 835492434 474915240 538958768 210172684 971981108 811556006 895286488 51327032 872611980 870649906 318950452 210614586 63154816 425216904 239244594 647513000 103345650 994901426 475152812 409689792 130660278 787888790 920811214 49215244 213774566 475473980 279889404 376301440 242000740 554390018 521072762 651182846 90875686 696619552 51114776 94904222 183873502 770618642 435669614 973909846 589821898 183171764 965613886 813907458 144895234 405055920 455399162 633344314 496613334 47829404 947671414 23694286 684577930 506711520 165710384 218357308 814540902 106338382 690226270 260409308 862961430 106905410 787756342 84929926 765180564 601035726 831075716 809332924 910507566 630555074 360568562 571215602 266128352 80040840 689558384 343491340 829933788 415923204 575869890 212755066 142173714 791269568 652119916 275327398 487095832 569741546 711207630 621586118 999198362 268953288 957000528 986894260 584961968 714444212 832099256 652926378 280415046 60334504 980792704 524661924 957476674 161971914 444403244 214030406 320203470 351801206 117730414 635770328 197376046 732936240 604134104 820459558 619164774 831612964 718697618 788741132 155719858 768397524 436635142 867220280 377158966 401716924 647178446 48345316 827765356 713840662 271812602 131855338 707516150 313723420 349401556 84567028 660291010 576352434 160381430 588922056 331853312 41358400 879819662 473405124 3439616 3511182 199375914 151231330 315907744 979056334 645133380 965757630 612376082 650741926 660832300 148040274 17223934 73244402 351774692 508432234 28109666 31111740 892743620 140102426 149957456 44164364 486190516 680109592 947958516 830282480 672323662 83389360 519664380 782739206 738085022 150008428 283725790 3001462 725128370 813918070 163627164 347186138 583982780 348610514 954861216 629388506 510293602 745770218 498715594 791865028 424291466 615677852 273763416 622246354 297213702 585024910 7450968 419514762 566908936 196028654 283440844 534945510 399264988 313794294 608922304 63449438 206012704 423018574 749546842 111458682 187895852 609186746 361389036 529235332 322785578 497728802 310551328 52323388 585268236 299259432 223339184 440317394 135640288 198764818 674486372 253939758 977756340 956697466 723167802 612073588 379498064 328482248 400258918 71832704 270239108 126927138 113919196 631708484 746617004 6316186 460182452 38602110 871272174 190091128 52357414 149413150 582103400 235676540 969301472 135401962 461908936 212768944 23486290 181441924 813999954 718948462 844790872 531952640 61650410 231115024 209745386 550552874 603585542 179099612 554725058 677648584 848145608 610082784 366083712 986638564 243992272 106479794 587592024 715103610 72941950 791562674 976653774 25785926 609999056 658937626 79037022 258907496 533782106 83780490 456532764 914627748 556909858 724337060 305571714 480224526 954934868 874768818 833840850 268401054 607700418 458490418 939761120 167519612 165822152 37840256 427903410 789957952 900848766 961270786 860839628 616138336 389800800 605996296 103839276 519985846 414277336 706736846 219387794 108492410 621223202 398942700 279141240 480176244 416996246 216174850 453783500 152614866 427022640 420873886 41081374 302588652 149573558 549335894 325444190 397202122 292740174 654307534 910516474 592918988 127266570 150151524 196805408 839091482 599968902 440078538 585955092 474354262 683355752 720494990 630334408 469664150 920637326 814773956 732912490 725340328 324603870 379186754 836892958 667950118 594211974 59421070 292655300 355801780 984836856 942458942 799800084 854383964 357498888 678874620 703306192 384096198 5830308 395729520 50509220 249604454 132239070 983166814 116034168 6572856 957437864 324426068 829616778 682012654 21555296 656175474 525532518 614002764 422722354 480916436 732148734 341714656 267843502 781587304 201294994 366158486 85179522 617973290 867376712 252799406 110062344 415433716 181900234 963138484 112492226 767069040 126818112 506589972 421317142 468576254 501745272 631134830 86626966 390599162 823816566 833021108 884509388 690873508 405593610 233741946 33392178 233686034 390364598 188042806 788611494 616601820 162915136 960957882 334325218 948298582 832663824 145282552 126487344 354327534 712027612 712200802 911722118 717884070 533336858 289274314 954370182 231128628 837482910 600136350 469990244 553244578 550355114 506234952 454576640 195531312 382584180 26405882 755882258 101634890 237886916 439723350 216603500 578723318 268951996 289647718 954632720 456611850 637801086 125380762 607909280 18610260 686295320 103697262 94642320 984897078 819090802 673304278 957430146 81363460 663487344 324928690 531236366 551118044 44801562 889304708 20744826 72365890 188221426 700492744 270790610 447953038 278495284 613644974 453271288 426149940 293281540 326279428 902892096 485207778 807357294 227775780 558788870 46337990 212373162 289498890 327363444 277618034 364165186 535293940 704901330 431269764 129287926 440845206 916099248 160518806 737858590 259195762 665056462 588868538 904141856 661251920 819712150 848472564 172380342 662415760 398123472 83858724 466369850 853769778 956844754 212721496 5202116 958674484 382183006 518973856 195638678 227196510 5737392 465872858 451151054 187702950 618394114 49403444 378560634 261616558 356329232 68614906 958563220 482732684 168135064 665060300 545639666 478142142 590627404 43561932 548131030 31162068 707083300 588937394 418416888 1010746 976978716 511004632 679104332 650361750 77649330 921272752 380547814 288956334 139787964 899103474 56203402 316438328 343671558 189567670 499939120 416468416 722064658 299616708 867075454 966660010 287106490 955387056 422210102 104394194 24253702 830911426 145415324 216848712 826191628 100993742 602415064 786396646 113944358 111548224 38409504 513342978 448203498 204049320 398422812 534888986 946158530 874732596 6255016 494837074 46916238 393892544 508359468 140137368 19823972 467498450 400707536 309480640 895780036 897132232 820160986 546090078 811120288 449244682 532574224 612445564 988807462 849852100 178319460 121878996 364872 131195474 545250190 633523218 250261506 268200394 703126374 560747848 995501900 461630458 328756160 101610114 919306110 921696434 85332912 484433322 922833526 323067454 932742088 25779090 808730056 248245584 345008262 954548152 187179004 644420710 565266598 660640990 330890934 128398854 249684576 722784670 734024518 784724934 30412448 342407764 422348744 608761028 559876028 354680078 120892076 755847312 334715714 315459036 32546862 33199780 976908596 586503620 73972508 89775706 823865908 662910888 724043932 462731272 288707354 229605402 466028384 250578548 187153182 333811356 420674936 106277986 576611906 258976920 780509398 728329358 204203902 668121002 265711432 456752404 384431060 750329486 582777998 456320104 516695094 602712874 876210824 681345656 545430508 976590678 903176480 56657370 332936068 895804816 703135204 708526828 349351046 500316182 840784982 313118848 675909138 257065362 290858082 531472922 636976112 154789116 92490568 594694348 224066008 699054394 230197220 407767906 135419670 281222858 10158390 754313926 725950664 630948774 640898616 365790354 548990468 945169264 90593694 342353582 150849826 608795258 240669098 199116902 493650204 967077232 857333946 371761508 654446396 179566968 384894350 398989914 245271322 299451250 312545776 99728428 317420504 221307152 320604142 925924176 442987562 844411156 519667198 709601620 423613498 144942358 84647378 61472732 70487388 855162790 557305228 816535342 480439428 663449070 582070316 845121160 233803202 399890300 992556784 651418114 255930124 514197736 198778486 428796294 464637184 5141104 872784750 818578388 215280760 509963502 286073984 790213282 854018958 355328794 305656560 122341356 467424230 336222084 24536776 438895840 544840320 796156324 228662270 87571872 399119368 127504094 28103416 336054030 251133894 90371576 813711796 364907404 204985884 830631560 834834138 392329326 887718530 585503788 934711694 845342992 150306580 707762030 993678176 63304762 285666602 968606368 906388410 939925340 946294822 651128782 674230122 378172238 889668726 993392084 878484050 531743968 524257132 25132130 173478462 221635828 541054076 242223856 280597374 206686574 833515992 349128706 612830156 316463946 836351124 728226962 740798534 590840112 272851680 925471228 47534396 814546196 932586122 984877900 54982726 686028946 201698244 175839936 705857146 856048362 63466618 729129612 194670050 725834776 983318958 238902100 663177192 193079556 580767778 721624958 718510600 979864212 28489694 848134584 860517510 213534372 96261044 363313998 418252538 51912888 501912340 669105038 951854112 812116860 60546640 665986852 493863344 505356272 17510004 297323056 307302728 190167256 446136830 328741382 820831034 81747694 890724800 981884572 426600026 962781036 491797598 149612874 922977450 212921272 922878112 614007484 709073462 956232544 344581900 118749242 170962134 433786304 88281016 253584594 940597536 151926996 584595810 918149784 637190444 992014130 457069966 72890050 372777238 969867276 429928244 270588760 965967578 493823370 686379084 361628300 631325308 734121470 229440812 746575478 972500006 372199930 885124814 640464944 458103166 531767456 463748310 13360610 190471054 325272050 292178406 427386860 530928718 392599912 204844972 716754840 815029588 986497578 309701262 393807266 472827352 675653190 137956690 14000204 108114466 710498378 452314294 231661022 500638326 909934936 927529600 841253684 671273296 917265118 537056120 477344378 425869456 368509354 131318454 410412116 869675948 31371466 323709376 332366662 322201366 212946424 605237918 973853284 892009848 669117072 824753482 490360794 615183150 607630176 817709060 252065454 957205014 216277044 218458666 709597694 686002520 935425360 881536762 4984800 394695586 149196304 765103460 978303666 242215686 965357446 383721542 841789502 641721774 884575262 862377602 159074418 645609208 683041826 799874382 611866100 954321328 295916530 842157494 218456158 363385080 149695138 451773768 186630108 584250826 842232856 476712878 903557704 279927640 388124242 665504466 847781412 757822730 980967210 755777592 553094564 990059172 180891636 765345884 264451622 623422640 978885304 374843830 281988734 854817212 160543082 276993184 808377864 86490702 745940214 287625904 569142270 872185534 38051314 616779788 156298170 778801550 231362304 122520642 763530326 197087520 300857816 415330916 968246884 158603536 16204534 180207540 763969228 428329258 954747552 537006580 889074724 679894718 322996908 794651876 548543104 190338186 132042558 873578902 602898380 78036568 230669608 684698088 207159110 784626204 454176934 550060802 108859730 967586314 789166856 951381516 680614366 566584528 962535080 250651950 243393592 605961550 779689252 852312498 871895178 727853988 331715102 985244950 894531500 212989280 517441046 510917574 225842690 381356246 778221924 774916780 235757854 425982514 843654982 741948010 101357360 769512376 91718814 286752678 459218952 574338192 12911950 398800482 283598016 718471868 865906594 946441286 523932530 756769784 482829152 724824990 744154070 751177762 987774344 858627714 594521996 681859284 756472588 19479626 17814478 580672142 135357924 228988022 546424146 201723858 263399662 143771622 543296266 966744524 848042186 202903824 921830926 960187408 617619516 993026404 31645888 597769826 126862266 464192604 942186 86107042 782443330 685651586 983938638 347713506 273851888 89476502 605892376 360723314 79677198 648629290 849618720 988278538 702156634 434046306 431199686 854013624 888467546 16698976 297613100 492029528 524833258 7560480 774236388 353762608 47560882 564040532 449519398 911199462 65899104 336444044 148918196 285751848 15857560 428812474 947835902 256257998 323144800 355250636 179665152 249839712 775278376 725439208 557823740 637105230 171536002 748846404 326722704 119603652 417377730 93296038 449398366 169288012 640544726 114654418 555497650 618267436 459331076 713858850 669666126 174907790 151556730 575262618 917031642 327232254 876014834 592976724 162499854 161301302 895349940 267221622 382733902 287110242 254442040 259812694 580716062 36252256 276302870 612983774 237940916 578470500 297582160 575166224 416376428 748289818 806116918 970980916 617393012 778069028 595444856 699129144 744248338 97950260 187289676 126753502 14353288 689097114 179625792 279216030 324570762 12160092 518844918 563470902 428622750 561913096 230940022 209685714 36788806 51420362 729379866 351516424 379730174 582020440 105833186 904350708 355546212 847599680 285475350 500165224 739178716 739906310 773963632 433904456 746497838 112744034 541978628 376031668 171096646 192134418 548831844 770828020 927886204 329141100 289049100 168335288 28309798 250058144 549586334 125447298 101181696 6171762 810711112 718002194 498225758 816961942 891464722 461930664 721522100 40305732 610094602 373760952 187721912 481491828 720411106 712320738 438024282 841640484 641755542 338771938 380067874 248394370 414010442 35620072 410506526 81939948 824182746 119767578 380905988 128384852 898371774 735293532 16278600 630251430 542143934 525804026 449279598 18784410 226180462 876670520 100803920 966093858 733889150 845624086 540706972 150022388 393000914 11843262 1785012 642848396 51314804 597997802 533117234 536196344 217481988 257216822 597597978 335885180 83285874 389939238 495903388 724443776 731585430 749859344 318947440 617365498 460756410 274801200 695202112 941237408 465755018 690857146 419025960 539965880 604002886 299075864 419793096 652199698 92710686 939587816 178432302 844445598 549120320 754402798 504471542 547822914 742706500 330791374 545599322 55580440 686174464 770920646 135891808 706010876 734189216 526474596 985138652 285842868 223462314 109086022 315036630 499532634 729837342 56672756 766580390 162603096 591764436 22303250 875180080 520180130 152998750 197872458 712207432 487735266 792098680 462012492 205897594 196052034 386465334 17070500 55673702 262181008 597458420 929938590 441081990 728494078 917672048 231169620 906979114 728712908 360680812 987741388 964058272 79903736 334874524 578028586 757160348 523477730 184372366 544983482 454658604 929224652 876561592 471273208 682627092 155650814 63870890 525320026 823964126 241539306 959190694 611382424 140572922 624403692 942331082 60401690 788932218 284569190 742833776 904350118 46017164 408570194 707624816 24027710 189001204 893346600 922531362 500093224 162773606 715021234 472730068 62592690 673359978 618434190 553535952 181637476 215430654 557994786 830145034 581762268 81014178 364201172 575657140 117319896 454415368 723009888 181648644 18153962 2053506 964016570 224285922 436380884 261408404 568517482 664815254 928037002 190124400 969215100 706776284 31176476 910182520 351115882 211515974 545198954 486319204 636523002 223429640 149402246 386637288 890804836 942881714 321845034 294922516 573033300 797485644 317206778 393843164 714478156 318127214 492450050 712002872 643437618 763481964 462038042 109974896 575082486 547789416 251778554 818380848 609928480 301535996 396746748 479168918 56471438 335593596 131101826 72094870 819725590 802624128 151174374 102621946 287591680 458645950 165066604 802373340 77966710 530387696 518131832 240140410 279523192 413596792 367946316 898351832 984934194 284471152 610647212 450747402 609413228 209718366 478647176 243382038 3076862 588385122 825422236 324509358 107160516 2517862 283587638 195447774 631671360 212596426 626917104 639975370 966072802 321312784 203394532 908733300 925423668 401324218 232007790 214522048 242994066 31947118 501080596 243833092 465613738 204533670 753137662 444551652 947033380 104039544 505257646 636697000 746113428 448005620 182182406 874915156 978968778 271250478 776868322 102939226 456963664 704854752 803619198 137266486 635636070 638446830 561809020 392909182 824305530 881487164 746194550 613699482 927999926 387996620 682738432 241591840 957848694 125012020 618471500 959023504 416476746 465755728 277073254 396988344 147267700 750282114 820358236 920150630 400360400 633633776 679520130 606867270 344859208 997806994 196131044 86940156 277782378 190691286 699153460 507277156 812217744 966317310 198153722 553393268 238565280 121601574 392881036 676926078 291252726 602419156 339368778 392784666 953013102 58687490 877738710 583457286 831233778 605711122 723782256 618619680 293329740 612110008 42335434 296829100 936556030 617166316 542317982 26606638 766221556 70250604 527157158 342257672 65987760 559351144 328305742 170279546 114722808 501310638 782869348 31114914 982140248 426839760 373105582 834791746 48636122 773390156 186460512 430149384 647582108 309628096 196473454 759400428 617922452 723012372 962757508 564683756 63860746 427415066 527539988 307003802 50827796 828176358 641301082 297961506 583359958 5132490 524015302 42715282 261982816 974830468 63800964 947688946 530449448 395403068 27581284 162482500 700384676 986092678 149573760 757647766 607611020 356283920 651601484 855599736 688295532 89754244 678339076 565676572 602303788 669935454 37863056 943497972 91605686 16654698 538713748 376101980 578989526 159773220 464658004 973972748 20950110 778286990 611823840 923334308 247491024 7302166 770430222 78719166 788252004 582149904 830424030 625567696 233492984 43575302 207070296 875426754 264998460 965385698 366123882 548354716 128780186 461126474 770466518 314061348 945866452 673694876 774280306 594761432 389780940 967639214 490487190 649713544 476189716 502160916 799301676 509109862 710988612 811731486 533539364 523220898 913622592 488298056 509711552 428285710 922755418 96713710 327376176 940951966 820435568 801716434 115209546 35147268 719879206 979734664 302526586 911899678 105706780 387460484 163068498 43554644 645144302 615001094 833176562 160357786 345501604 261908502 540862132 409051908 189314770 168702994 835738142 512074026 336446836 886716748 329766332 898526046 60678184 739900738 48712416 401355300 874719318 302833370 502485586 533770994 48165660 673707376 993471248 387698212 697163404 553126516 890569444 778445506 349838380 166277646 78788296 893212960 248997776 294566164 208236168 95915456 118283192 901936504 310959680 235878264 653466544 376805502 158143556 174514634 367210486 83248250 570229668 577553470 50594348 551103132 289131794 928348764 996181676 920750376 722700530 714679450 245321236 331514084 732687500 806925644 543194420 800776578 111239924 460449860 449176884 326804332 721882592 916331534 490527656 897370536 247548630 596398110 663310864 338445874 275673052 691587124 836051764 586955242 891570696 56997690 176729864 826034842 515722128 644655060 489768774 81793088 414539078 46521236 954464012 989621452 968547922 436670824 298869164 490618346 195876174 161508192 475281112 757008032 562606602 686890612 915676256 595841252 623266986 708221844 897615612 562816870 209385580 12594116 125342956 40527312 230814124 804592056 816412002 581082488 319618788 370303704 361923642 850353948 348327138 84035504 585160784 938160862 236289642 26064736 765558902 119259096 135568130 750861130 304105286 29883342 867642974 204906662 300993992 560924200 933771624 777587470 288686108 979854186 850285520 651618330 606631782 857824824 620328806 606691376 881868744 589483068 639668556 610400920 576527756 364979186 470740860 676950492 714758752 916066112 770754338 337314062 876998854 626359452 553812144 264618036 144565128 257178526 128404474 438893828 453529346 142835900 808908150 838696534 860827884 872447606 483710276 382336070 786233136 253715478 737147666 109356858 195725324 953822042 79465164 273732150 291730230 383197616 96290816 227540492 543900998 289478592 496027996 510615824 281282782 556030702 862313202 14026518 638164214 500283148 782398364 469053732 920968262 695183716 3493772 422001756 671980026 840649034 850223384 645116406 233298680 519464634 726653544 335016622 364100468 909696930 129901500 796597918 899349546 567276012 469496318 169418380 431573778 102253960 927237304 169512388 149151566 949755602 873153154 995457136 483350860 678024954 171840092 647083034 268899322 385973612 853399762 79982498 11890478 985200778 835893332 247884114 97956420 782769878 820320742 595637794 835989096 899028136 141732444 735553264 810097994 664726524 857885454 402418444 951478274 58984076 726432190 862003770 200092036 107266862 79660286 81338588 730670304 829611146 911926246 131053990 491944470 304475572 667753176 123323240 185631948 672216520 526634054 996862438 455998306 750096314 306507026 594862966 855260662 910923040 631801050 272733840 999244028 726171206 634119216 523044916 615593674 865257306 305711286 492878016 964465262 694194180 389473234 449800234 314530314 182636626 59986574 91090316 52181456 985155628 360429850 65693000 113196046 120222384 894025076 930491066 63768610 591794718 871546746 926658242 311597470 129451514 145716960 199002888 145022534 197987562 447893630 417472204 101771566 26352608 619853218 411637678 636288788 889162374 3991744 784253862 287285890 268919128 876258428 185274226 336142858 687857894 39689230 340265938 786033816 30836972 31885956 594889116 130480782 713011996 643205548 602985020 815482670 770343322 520308238 664943452 169838534 508558064 138935208 36059742 264374762 409049410 620825934 44357248 651329016 704070710 412305866 435889068 767622878 755758686 613642532 377008704 519921922 873190384 468444732 877917772 709116404 476577354 427572354 939786462 171978984 864546860 742311822 495568460 654251156 627796536 535761456 148535416 973070714 500996314 402642438 36408442 921137196 73084774 174917656 589108138 44050126 319706804 213767152 710532932 222604934 349140470 54833858 684895042 943081562 737332922 235186592 896409076 642457368 551196950 283734470 486780212 46014198 883091168 242537442 551793090 29382876 509756106 629819306 982504158 785853310 857091218 963946516 367265784 576726998 186149110 892454550 989990670 775852440 419232 515430618 972171894 111688234 710178226 705590148 914911146 633679596 718092070 630870248 303171134 321331768 123490590 292269788 49855462 463831192 407490130 421848244 754327138 352634322 958038876 699120788 914296904 320497616 562796212 479701622 508069506 547009088 247844830 808182922 869307830 460406368 37229916 388334892 537309928 227741976 260027920 325310218 625015316 868599582 676523222 572079124 120292140 652222158 799408570 208029472 166601020 892027674 410539278 123703598 777752632 579527114 497190344 232110790 683487588 877513822 891438938 811418796 971856616 792492676 662507516 258949128 749357320 130531298 877232984 837314918 440503758 193956952 333079954 359145188 451717800 128299296 370222454 942764010 266699332 720113420 543954768 603113272 555770924 546285378 741928076 43363900 546770910 856571340 104755644 934969700 171958550 332727210 270629296 214731974 472144388 49146464 673994874 516119502 504555130 369136274 44955368 853769302 219420568 925761726 389573504 804469480 530618290 764932022 51566624 78765314 614760196 775994378 840733794 819972208 171197836 117818662 254430154 69432302 90265826 234150420 902964764 998523922 338679150 20656404 81141238 219630338 382065034 155001568 229771566 489943684 848280774 659480912 304518704 837218804 559477528 904087652 147036938 500073826 393254232 643224894 489259454 714956958 485388842 29426380 447850024 808793496 448816226 96174928 509152236 574620880 902076160 333402282 659672660 796254240 363334846 381548978 107202810 918797514 625182226 225325000 485974912 793791734 136092754 99498040 537225616 964037780 81264196 757596810 437622366 380949826 944809850 431297868 248513576 452204762 982805640 835571974 629533504 596365112 5296000 756548494 559549836 406200474 966281476 295853022 63426456 517497374 863993626 952550188 763007234 352010616 410690262 487577188 816511936 786504082 229876094 192789126 292035210 260014762 728504674 237859998 710025040 337759754 597713264 312110796 41665934 583614648 928284152 880265014 866170686 340280950 8055326 655897632 204930418 657400996 367828534 428546286 566580104 457753658 566966778 268780496 527533014 353744916 527743328 860098240 787163976 643181274 13398124 545383038 327256646 609616208 608171664 216108724 838855634 710463850 488188238 240935396 462199554 656176246 48388556 410813656 912613738 633406078 522802388 578578044 188993124 767161748 866071370 690919866 87990876 855603572 746024924 484025330 160314500 928926330 253971290 136063366 364210780 46442048 980391556 240113476 946298422 929514186 373989970 483002648 915729344 704961658 526761280 100214718 85504950 520654674 430180390 364190898 310778166 503296288 284967056 931492788 495012322 848703278 930933050 611811658 309973740 608550744 896717446 576765442 721737922 148498360 860347288 982975056 625575882 658631894 92284816 346955882 699573312 223718438 599605592 922886072 834994618 327453834 643388556 450190532 634719066 388483500 711820706 422427026 209109374 183608310 29678728 608729702 83714254 216906964 735157698 589914416 929252088 719530922 954038910 668007804 27654728 619859788 296059960 530131300 219304716 142150468 714699070 290852262 538013718 796690464 473281470 767395126 12743498 182573702 335306308 100380808 96956624 941213998 445769458 559512106 741179382 245426326 910012186 599343612 203930504 267235050 401010570 948970534 559316646 497577022 23628078 387527338 492173082 489638154 919118558 743326114 298353548 445238312 920684930 995757058 324366878 652744114 899190018 658319812 81840818 13153618 943410824 187182460 231323610 286441012 756332606 463079482 558077646 598597620 500574032 472597468 979180584 426551598 295388964 843631364 990022768 363753340 540460786 340897912 900329252 308722918 198789058 470345398 99963278 712419846 510309518 787610956 971240280 752934010 361237566 795514692 516833272 890858024 101235708 778111894 538042466 832597358 321371298 905897710 95029370 469671062 579361672 786217508 64687876 694055892 973663426 989770568 276371188 573864370 175459538 4017260 307758698 153840664 593305416 179864578 954621090 500305288 548547966 836473770 173946486 188718612 725685930 824350370 769713112 148451312 22072374 146840868 553833312 264537548 591208396 367081120 638935350 107239714 857379240 977241122 225315628 423558634 661210494 498264682 629720294 813850688 101392892 674960024 804720860 731431014 285068752 180261052 420511832 848245030 880703818 926081276 761180818 11219378 638031904 54192910 925496304 791980488 106064734 820265486 198341432 975503730 750679834 179938170 831739072 851886636 499631314 518324032 830277580 287272760 524229256 600847822 888057122 337021810 33485972 386066560 580169556 556101396 474976622 595260614 503017992 193366648 356430404 569002734 359975342 64803226 904822904 47184364 193266038 851754996 51919146 399702340 898295858 472432642 378775646 760680526 163501862 157491608 356811554 457496308 847691970 527712510 503875982 143811650 988497678 747967864 440534262 719701088 981770818 368373094 510123686 565186038 220988278 781309858 492257354 872392958 592988554 577498958 131473162 648206412 553104292 698334130 255554710 779180140 120358704 224539552 213258216 970997660 552620590 733255676 32456692 350825984 80520810 649607680 824413422 265897818 637084976 797617910 89680784 435358730 847704392 769069708 913077802 47192922 177329452 752486192 533306662 647181180 960279546 617277392 711577868 323806876 665847310 910778768 698169660 869856662 510753656 228836592 7736414 772301230 584276970 131096732 136386966 870065906 369568272 662572178 691250550 876528010 827157660 301152526 801596212 954260376 263822708 220445210 759434698 420031042 351012430 21852866 111360550 253581336 630990968 653892634 638045964 391690400 973856908 165009512 362455560 776630010 425750610 106476766 855549334 301223950 33775686 295374746 330108312 25071002 116495722 47572736 26923332 6721036 294421804 123671862 620047690 970989780 897817062 263954370 779172816 615443504 82188166 731463486 96039176 13139790 485334568 642589292 88901514 559172038 321606232 211942844 971463564 194070166 372059090 192409986 860418616 19113342 87429790 540694900 766674636 830418640 754551192 405204194 544342832 239360586 980533920 367890838 929182072 469049536 462477514 359075508 638012738 955488948 26499074 544765992 410985942 442559212 732957542 982633160 679150990 413533228 885228432 256910726 323822574 600010194 335107908 916708890 901066666 162738964 267317676 505145606 618234146 161534858 144406844 838776220 873183546 812352288 558157558 87930648 631741314 246730226 935786722 443255462 223099904 176150240 760798642 647407580 354084104 174100916 178571652 568255376 991799048 326766416 233836928 970559814 488539166 763456180 294195234 874567028 503490002 198738994 97090880 158770724 814562568 708974400 476705644 429271994 641778070 375282898 451717844 750984456 529304966 70855240 633772282 456862198 406508182 146438886 540029756 710369356 34245808 505372822 349258100 391903314 268356354 862841006 792129102 541879654 491307618 995641946 491794748 946759382 110328112 611730152 787888306 96888204 989321458 584108994 214059084 8842468 199992644 753080676 575090368 894229338 812281734 950701960 156630068 804840566 81068574 122470638 907402962 79287058 174356782 488860474 110604574 759584032 321345578 394788312 754600442 568206186 566189426 892009868 286108394 29559976 483513930 312885986 680500484 969368212 314786660 782345926 601092358 155714868 525711270 965633840 560800112 786019040 678994722 28203386 492245666 747663996 327385560 286429946 650801852 257535512 15010334 566899010 107880266 113570822 25282182 93255538 129436264 779180614 4228632 671127474 352481686 749595644 881635362 590352120 192149070 30629144 952857238 179223870 586784240 691038542 327107544 471501124 482240396 111371072 38305278 334597406 429262686 678662382 480334912 5104224 768241112 419846838 597502230 1284756 685031776 475578112 463835242 703802104 71437798 319838382 769328448 651615062 106233246 779239608 81095526 151533498 50206722 104064746 872220070 9101388 200511342 412928178 109340138 630942624 920566470 400598596 709986274 700286270 759477342 609659000 445280152 950136336 91014658 608319150 124082324 334930590 305616364 403468954 162036896 763285108 906256098 467431456 890348966 915359772 807290900 762003576 393262894 849866074 756832470 537646860 946172944 501243576 660809810 764532294 976059714 43731672 809904120 576608684 377199978 143100848 530695384 570704118 578148530 727037824 645843110 241576114 501814720 45121104 592693526 274218544 878163390 329193396 814409980 918975980 702359344 924725994 463655356 788142680 231791812 156827290 109767338 618004376 429708558 143784334 642119118 831035704 983764108 803741286 394358836 315643370 282704632 170661610 71622176 459908998 468592444 701499852 784866524 402782980 943766102 718092226 925168820 617924024 816286692 266017804 749823418 710279518 525811254 764963512 545628748 199151902 982666492 687086736 291761332 256243366 937025856 466919138 106895358 363007784 822409542 429055372 577975038 816127502 635172056 778235338 615198564 772248826 932043790 304108952 869995360 50719130 885980312 182336568 315380108 663727252 196605932 176206264 896012016 290272454 103130230 588101312 829720842 785212564 115587836 411745310 266869400 226615476 563334274 521593582 784987290 992860582 957133514 524255858 572063028 181161606 362273816 911307482 148080420 326407072 1319764 299486434 538998098 121372280 739960724 73590588 564706866 27010424 176151410 395270388 937806230 381061736 468498852 890212760 571489174 637651026 880700824 97717964 376139080 512257464 921338582 767808692 486383796 242727162 673063112 497901590 440497358 154606652 870184620 469991488 821342210 601076910 797781514 364974652 348171826 409941696 250379338 564627172 991956340 582294210 57596854 378674258 155434702 867934394 619102922 883230654 160929464 326727334 246664740 1606966 115396682 857729744 182047064 202801554 266719772 977668488 843923492 407049418 34703466 124180646 149854334 32466424 591512160 420125198 233770244 226359426 978872380 580425082 497413172 463297838 558303734 92969868 481839978 551928816 902597884 448872948 698784796 612001018 172326104 155512718 553606222 944887580 489998224 761570084 332805964 115349712 323405580 751538428 196301844 507698336 472575222 456124588 376299988 995481204 19589430 74167648 135713846 152882342 525489108 319498320 353326498 49531830 12296362 615158464 336049836 623307946 275016076 643360662 780683990 139676324 543780292 756390220 674833036 693911184 417407278 603296836 454856456 871777230 562551768 102073198 815296618 511740660 602328680 90598360 251626578 113464346 150922006 53695058 119879594 626018222 556962800 686182966 331419222 322578434 993042046 300759588 751492164 56640550 812146600 386527404 542535904 620994952 449556022 888998506 266274358 116670944 509575164 855418292 926583482 576157820 709824756 107294696 649718196 516802458 512088756 297152600 595672508 53552208 101591600 162001924 345001822 645971634 90890336 133819040 491719448 588152064 341706528 834073642 577081652 533226724 926889084 364930262 312271690 941514144 742567440 928942020 524681766 595568004 839715884 52318478 972949264 683004276 807386764 878033062 85628958 26445926 555102414 31281854 20193672 94910154 931738920 395418812 734397080 49362486 287241528 17849918 22784694 220852524 934876790 241403174 719381842 558046820 52225072 422183612 350815456 940089562 502427370 170485418 441528180 436125156 722321630 675875088 186800206 74089612 210679166 469609796 305021740 910678940 686008754 720565564 934032938 369890650 611344858 961555728 386417262 721621248 970134062 161861448 756986920 161396712 888851948 908963198 366303378 775155414 509563834 442993974 86199924 655606734 585141204 181262814 929593862 1594584 315538422 860802100 915995066 317950678 251855660 185844510 543395818 678105410 321652898 616762562 517485204 673238832 733344374 63339248 184878352 19787124 468656502 516076966 581091096 271338202 147340486 17274176 397088706 654886434 100888358 238840250 775759920 415459702 344472018 677342938 374952372 204761540 166526784 17308474 622406538 611198366 252035550 755791248 290317936 737199728 598453968 165334048 839445258 516828792 457655882 513743102 963847450 109986852 77575718 572686278 712697474 913388968 225045588 486993572 779326920 227959094 919637630 191396 729507496 806217992 328740618 880303070 619128312 804857460 807284766 312797186 216357754 778665948 741908458 758640948 463908262 352493030 494084270 375101964 821032306 804868204 605785380 407846934 992987924 997731394 638804642 287299924 167699734 429128610 510380596 919569482 803527910 60342694 548257176 741452160 211168166 165618040 74269412 799994904 824369478 239444216 330677750 351403512 187792398 550611966 664597356 471388426 25925478 671192820 655114022 617495224 196714382 213516040 225459558 439479870 675401458 102143528 252547660 325149476 161810864 738983924 783316834 896258016 850616172 135978728 340798156 42350456 273242434 11257802 550234480 775946346 420947586 629479626 402879450 829010672 433866626 955370076 506307434 624898116 844476544 863697108 527337122 518251848 855235164 707969766 536029808 79539914 258710724 689767280 336724574 752616360 42872300 249661366 384098136 666828940 578542692 696134750 126728528 613778782 814065498 469426746 201963458 380731100 726764314 133245486 168471056 796170090 346344838 618303730 10221628 63055270 967511180 976897426 402871516 592265890 636339136 902425208 15149120 397388158 320269154 380904714 973918910 24660844 505957980 803124512 748652540 932821178 14076230 242438230 289817202 238708660 601384570 343791292 547081680 329755484 615909666 381136312 126787364 742840282 402442812 347701224 70400708 568816496 171661494 853143364 703872980 773186448 248257020 967571322 938569346 848760614 342148728 627199688 80686322 963426580 190374752 428003086 856049218 898351578 866592768 104353854 625333204 419028124 15548426 715447430 245291248 42453452 991745806 27020478 631409172 867859730 708157164 214274722 754777090 633245374 474579198 819146292 904551890 219487244 773167270 240404052 319711952 156135968 922379226 489851194 401317040 340062872 666350996 282017792 858011448 421755432 148733928 995201010 52638780 454644994 744599350 849300838 62902188 302219400 924504332 790527440 880581754 887621302 721015444 191840918 903061872 134456852 188525882 767249234 308626362 440552844 551334524 894972312 32847274 638619744 332372140 347706504 464512016 570441386 565092084 585623250 364068200 121180844 649823840 513250284 64687872 645401944 469999186 379595462 808610606 800039308 782195566 595978800 956001706 798700530 698720358 989060008 796552810 703140076 888643902 70068114 67534264 879104684 425705792 547733212 772323110 960405108 206116154 216862908 598897170 27153362 96430090 945923082 544877900 508665358 245335324 9517102 822109450 876440416 44449360 363399758 649121700 452248992 453973744 386844048 335279196 449781256 121718902 670458512 975497002 778805122 830743752 422918864 721137572 287141312 132893490 711477812 925889982 787632402 51732748 643088734 714288946 796877756 496353346 974348746 930464000 679112348 591856366 95410838 429389406 945199306 425376980 538214050 411218968 722615638 551031112 733710532 720186474 516916194 569475852 773150014 62286900 172738916 158417704 585142090 415461454 878641168 872069104 66887632 371624360 541308594 578568562 146508708 28038896 665403068 266497744 106407934 61792986 475036738 239123196 699044274 406256184 379339740 102608886 377821464 390542630 725369812 417330824 411990434 961550212 426544430 392896916 835850656 173216242 762148824 121300104 882449578 857922660 313001334 421975718 868498158 116599118 716180182 932686518 210220214 293315588 122755566 832214604 467123452 282457314 914676100 908368752 215508948 200611456 362324942 887429498 64913492 787659772 569038798 503817634 784153212 911345784 376620304 739802328 752348678 796461678 647511862 672588572 841042418 633941764 36256092 358729800 786532116 343660770 188730224 297928696 36754826 168075458 436082970 623944566 326584552 434027760 437732464 277380398 957780072 425260952 327701452 727984510 244082064 716369820 619689982 668320506 796144542 531917458 84220332 183575664 728149162 162158332 184704908 246569798 516640936 973071818 295184784 521831634 974876342 28348122 520581310 881553436 569457664 386465158 514499898 498536678 496346874 410987594 304908246 546508070 57137896 772263934 865021154 325606080 950670780 442341572 875433298 30397426 607378814 908284062 944860920 480906332 193209090 536999414 23552166 796875234 812638702 715102672 228676376 49733206 711294026 340949290 117292498 381297308 498802924 956569750 196697798 991844914 817746848 246492452 769475342 115931526 161832648 640071576 11263632 74716186 331003910 60255404 466413404 124131860 313187558 861525880 194629356 915456602 776145960 598770452 466930762 979613634 278755326 622349904 324665760 696648516 603590432 153535932 716090152 490962022 996697488 106077546 302212214 617057640 759922670 906147258 575100282 528970820 126967584 505904092 73668154 644294794 448247958 616316456 358381450 987632406 594469794 842872496 909290118 998724538 416499910 687174558 781194764 566835106 128425560 80121990 926022364 796042720 273599482 383046734 270694364 398145502 805886494 692660576 307346316 64602462 752646710 751068434 734911808 296459690 502625602 107966688 109671832 40772868 730764122 480444022 269305260 250032376 494926056 207009110 109536316 727943096 924418284 250445418 743796560 484651452 655961842 185365674 619595628 202234072 798004294 83797598 561455502 348802336 709203732 384294280 817244086 283655474 466330894 926054072 332184890 298083686 230304900 967026800 830737680 132037010 433701358 25956272 798476412 82800586 989712684 505489238 420015406 629117610 505347842 842130618 39478796 939624496 122620404 583228020 774866676 54355998 94236766 220288366 611141718 996358668 627623788 207826794 564601304 563244408 442946136 640412226 959327722 596013028 929424570 318192102 782111792 778797260 236548926 383249868 777031580 47898210 14623820 759770298 141817554 30394814 560656046 782430892 566375120 689447292 859893654 983331064 575620056 748628168 442294174 941946918 58326716 562175946 352471694 170033148 620289500 131613716 981432240 727353738 729104068 268057924 589301602 47595714 533727146 419659238 546612040 404466488 467628346 421662506 831030710 936860222 494883350 692670244 127139260 944445116 172282722 833439758 197256668 619031536 505903758 55504392 456114710 813963548 66332646 667393892 968356468 784432762 708031034 436854768 689715234 172580590 93016520 921120452 287473668 542594206 430237540 27081350 881838176 899900512 866420326 746928138 640539670 242010874 929334910 690455758 517432678 444084704 305031564 139872 126819044 143091786 796224998 521666902 199787354 818064540 650749610 627395172 631249066 343345720 187191584 625375266 440102072 439023888 63067190 989200894 434659748 58176052 946320700 32527538 169834066 685755578 205591888 459769780 934461462 383826336 335120536 226814794 202346988 408754718 634684604 563334622 966018174 898423720 519102700 569610382 538323670 8881874 546698160 838142006 743655868 361620258 825482866 364501788 502585984 784893892 613522964 704877256 707809170 238674232 656167864 98096624 738190486 800894422 290190278 42298566 352041388 847298494 780975070 522876476 971228096 83886272 673237912 250457126 309346856 796195858 412565588 94975404 80551094 907228292 604239636 17949184 401533346 697394964 737980782 483254522 675651764 785851110 115308476 95036672 518705782 773344400 634655168 107471928 172764760 523926328 233221210 138372202 400407638 202689664 476304518 483570770 292250038 353857590 342035270 529840220 675576624 183064476 212453452 228145790 714212598 972139152 828955268 328767478 707650376 30683300 455821200 494184914 270381002 734052378 961414918 996129264 530398988 707539152 975087466 27506446 377990338 427651632 264197828 189119504 714220204 937833650 977091350 107092392 431094310 260956494 863344848 58902202 823682462 980145938 434234874 811270328 160546384 421776758 156752804 865716708 826001420 683954826 900659058 765111488 592349238 55209402 315163164 32335676 709189924 115850070 216850926 171049036 389291004 812767166 636968934 232686414 203248506 233963364 718055896 170293804 188545098 611485440 143445944 437691480 610604466 252160856 733883632 471052366 717829920 598265674 332140270 596135256 762113786 411911972 974823986 34404866 925460458 558434720 254978438 687700488 64706052 946337036 643701184 692238542 262167814 514550728 734844960 945367266 658382774 497830890 790932370 80977598 459903122 413727944 951865324 622215282 951892764 414297242 479158104 872127952 954148476 933025328 51417604 430401146 759635352 358166130 744223778 255748230 667481774 653773196 452668642 34445736 875203924 136498748 678652888 525032502 272926878 737985320 991260682 564340456 322653024 181309450 121350488 708301672 174201882 640077082 415858406 151211138 25831670 614932836 143240740 735069834 775236628 653779876 665539864 950443234 444838940 415291190 136290470 596150432 476183258 777458546 298541204 978420936 896682712 295196684 94405964 395773202 163046092 92275106 203345562 753389148 926963680 973432884 806376986 500124814 239841124 982476024 767828418 368865832 249554504 67581876 996913156 361642158 597880912 52749664 97571340 498126186 266984362 687760294 607121934 387912968 760152396 241059806 662771398 441256336 312122500 954720494 921361606 103890926 986717096 415229120 663124790 18792352 282864356 718870760 131185862 844372960 73466968 939427944 807044494 555391650 704717360 898468408 164208978 775794104 16342516 912824752 365408796 79172212 111861718 757898056 600585194 310970972 327006660 422083040 501153346 408379834 508780606 862304438 428123140 973110552 181895406 623449348 839474638 877904502 978787808 482790284 270796992 219147856 727839288 400213904 695023106 416892484 870041796 267934754 716007738 937138414 889992008 363326326 319637110 302345946 595631240 370366932 632076032 456838566 229487736 66957546 341913876 887526666 204350468 892112156 910710248 704525546 768934218 122190388 140938498 51402986 707183592 469060668 712353092 367671478 104747732 96099862 395494350 218304766 303665950 211462180 899004338 627903096 336707402 299627576 291336134 213391390 978547556 728788544 331004300 4105268 330584072 424757986 422424590 731018822 216195338 841503750 39350902 810240650 211096226 800559718 413354350 329008842 366362746 793851400 616777760 814685738 990871780 408198114 53165378 832529078 309890358 307239646 264159978 624729558 585854050 563796514 298975236 690150474 476363412 153748850 928066294 672788892 872976694 760728926 952372194 434063342 668503218 645295480 20809990 304140550 468175238 973848470 669907738 908840432 100555692 524148352 142763214 892196820 891300482 864542598 429228020 366526512 702525136 420405288 40683784 116001480 219442764 76557198 312635970 857788036 875966928 958613560 883206036 557949380 588228066 136821144 936600412 553518966 835693282 898056320 418408064 308849178 616071280 859365806 544984900 269686774 853502708 383461202 663416144 558733728 940308902 31624304 733961956 857848382 386451822 912587502 91167154 944211654 428622486 730856782 756942132 453241276 736900908 563466990 848749908 991742384 491965422 473470386 133911424 306667366 431150816 443576038 422140468 612497450 523109900 130456118 107315762 481786038 173857006 204863604 903823622 341418666 822739740 530832442 246570214 433203688 157921538 576756188 151564468 865173460 237274532 361521418 880395002 132654268 768157332 147283912 207454550 431818712 333150220 321487124 546109066 165390356 546828886 431726786 302405004 140171634 17871490 508457230 498154944 901594370 428694592 465477962 931961442 122462524 741659352 101212512 285971166 191410664 544888150 478378822 62975836 38147762 379108972 68546536 440537310 507342034 25238030 906880600 51111428 49407406 650126756 774635186 429491930 255414068 641802314 375460098 160171250 30046958 861503650 751212690 303690252 745523638 370074604 476556342 484775812 601185064 752169448 534911394 308590262 866714864 269903758 50483076 68507374 623040994 451274088 695691286 9585548 161471416 111538600 796364638 172434468 227307622 612393134 44088424 34334508 222362716 356785740 442323308 247291264 473220990 53739354 354330464 250103256 486623224 333079256 332489316 772068 176705658 702581924 641062266 399101842 590845032 427854534 366630078 908959078 90392138 80622454 861921234 137550174 826213978 949873762 354268752 964762504 650044452 225849982 86027556 497578552 731969880 936598742 739288002 979628126 393157816 132184660 502744216 698967426 22711050 265131212 762900220 121506950 160109456 982754610 319418544 644285338 152818390 481911244 830370300 641728882 217895646 491844418 576097664 405919958 592766038 396291388 217263104 122099328 455540794 433342730 458984646 253244918 162815666 330249632 391634178 917286066 436815496 659986858 179672716 616279220 206472344 408855570 844905218 474323292 904898186 443514292 361933448 424240028 190719746 39846296 851729602 510763000 393835800 746396912 467947336 189363360 965605860 827269946 354989836 392293914 801135434 519437420 960086550 212784582 775374702 82439478 819132104 245267896 302998368 974816476 931759284 627121730 472202262 247723282 232509880 895099922 350319614 192954724 723827052 499165486 123021416 878559390 927072656 52535724 865557622 994672820 216329972 189463054 367361298 928943114 829441442 796446346 240992446 375362258 377286808 837503860 722811368 453303746 799456556 466045438 990161870 113081994 138242576 375103308 598465520 384252274 272382020 311953466 783433310 869045468 281391514 984612256 258782310 86685630 530315240 731344944 959811204 723576352 797771878 74011608 461849582 273556702 551839098 785600830 827268260 72912106 252744188 658996028 33605948 864993920 799154298 667584706 741223128 808765858 409804962 837886494 202932044 573512746 676076742 356301838 836279856 644374286 944940700 600567628 555651246 724924076 530774300 602463500 578982674 846387094 90144012 479784928 847460736 143550270 704024386 953890964 937172886 238690522 979323108 612431798 267070070 646210766 967073504 531880410 100172068 735697270 261256106 620829778 461262276 912520536 578929704 967823676 129728828 97337152 818034242 484400970 182395760 525817398 998612324 835456292 840150480 240089010 934773756 901691948 364727472 294435902 725804538 894467850 525431054 544924234 919251954 409884818 263412012 869193494 934370170 273911802 133530418 958133970 891871582 722168324 143915170 226928246 49976834 852176272 776908624 30458806 483743758 576044402 813564430 610959996 517574842 452088302 718422518 854892342 104320086 163076974 379913926 770233244 993063998 649686106 392077914 92351748 564326422 483798532 788511596 471555356 148018130 93005662 111754476 1812370 450375740 964844574 10152090 253865982 172599382 381948060 16313936 192382688 773469356 283831962 747093274 313767296 431169286 790084234 100516462 779845798 833924256 15115726 357638760 289045960 155617582 33976958 250592330 725627244 472333918 739124008 906683176 382442506 905470284 594520214 963254966 848595646 245003580 794452054 838292192 677540618 276285222 433772814 827213944 348723376 70769760 668059266 769244832 183759628 6202396 348827006 65993746 813063982 923085894 372462870 651308496 797631476 960334230 834180222 180020446 383446142 743220992 858889948 6940768 739054828 900800922 706059130 683923260 971274 800039228 186928234 427214826 470193966 295432332 80837780 250983620 330447956 654643476 834946122 151318872 958531608 560741292 274869184 522127938 965980144 889511370 303055600 724648742 141959236 586625476 307827966 827109882 435700776 613343206 374398562 24466966 444621992 781410708 954143246 885252516 522567402 250205696 907203884 749604546 690953232 556187668 660464780 802796940 135397578 235919794 650573336 199211326 329193290 938843114 622155514 261495168 259311126 307738658 101455836 406988526 374020378 857882786 848327490 316460980 64275076 142170880 281987810 769736960 198502442 196241728 821742998 710708494 260767822 184571064 291812334 216412768 311027316 143897220 979744804 328107178 406975986 668924972 255741008 925243582 431705406 774610970 997745746 820486052 207652252 493946804 607723128 161243762 825898760 557308176 669666820 97381194 734201172 955739060 813046316 643142858 58618116 91617206 403762502 289165460 959307080 73701304 733276334 272931246 396682916 310548604 297351186 87364772 298338364 468215380 95869436 231430374 711193672 203672358 677024972 109266854 56176800 903554310 350741656 641476518 640224220 340680612 32957146 373986148 377020970 979221588 532919766 957565078 300330788 408364672 102558608 333802884 989823996 337210032 186652856 564964510 74723636 822563284 277226222 169669132 677109342 998199924 799470566 99164914 222674294 901497606 23688928 118997334 967143864 386305378 194068494 2558866 763247504 543832022 150593946 818053128 368203390 364708928 473028932 352815718 86667244 702537096 599389076 656608834 93977818 689915262 544035522 786851318 325058546 569860184 941819202 377959464 404095888 347246930 971300118 998224312 326239560 996499320 403333310 729296434 723542800 167250270 202612202 352619568 786485782 538242154 445562516 736162882 408231018 998044706 418291870 444601364 182183444 476245004 825996118 811051006 584040638 60189054 60103342 45070200 830014978 106893078 667453400 265364262 581779656 456239078 143491722 122323018 378190912 946045466 166892504 393708346 356335582 761750970 771209180 297362768 496969120 338987534 979736812 776000492 276373800 101722156 479976466 386072612 664870068 39314308 376789056 727475820 749704828 582928428 588434312 752129200 282127524 81574262 902909284 206813940 317851930 281849982 893006496 546170236 621563688 379574042 849210676 543655386 995207378 526738314 892721072 234397268 280245438 556823540 213163744 790638314 601891256 454644904 918271602 676998250 596242350 9247116 217468630 158346334 573853406 590567736 544297104 663779996 658986128 574690918 15591398 645928672 284898198 521586354 3305550 634339992 94080380 454656338 514583638 705721278 57168406 904786964 987940168 862698166 907375776 374518372 941300558 283971574 576125794 613533172 973911048 398339412 472380334 541264568 860460874 370520920 132814852 930347024 590616476 674034506 149534858 906131108 773362776 146973182 631039254 911065510 669661412 333839494 84764240 426141102 880615740 342150614 959115634 900615896 665332212 483488776 951315220 577837234 295235854 834266782 519989956 588618266 70140908 784674980 25341726 76027708 171830626 404069348 628097576 681353890 32582158 670145070 365217074 778961004 173147962 34246086 791563748 174795036 958917554 447468240 486814956 32886906 766780346 262073678 712041384 53286820 620926598 494232322 356546482 885062124 486223238 401408518 823891200 817288710 666095290 42157726 786180536 332931528 691727600 247279532 843524302 504554936 166211568 49462638 382398036 921251564 580592850 476797752 123504798 174250190 199127708 511862344 798288560 329865550 16655718 531990714 407857528 713177588 369484020 321128840 603512844 936295644 803537652 730789990 662325288 844243398 820866920 554648662 890818576 105788094 445758552 818825218 606689768 594492426 225358366 837376194 655423064 381449850 898748302 950315126 144901834 621904786 796689100 805216500 301656516 748503020 845560824 698480966 25896 211613742 326620590 496488896 396469552 857635606 955496258 441104166 131234188 518781286 632358742 697214536 892918134 833220716 662122770 480759366 790161418 909004008 280623380 737225986 39382294 584729738 343532914 422806698 35376286 365403486 667662172 745278124 711299788 228963846 661824130 641807368 799029066 350474200 765712996 354481682 518818466 693307310 405301386 879980132 867914208 247325260 882350600 790314206 681731834 124564482 778323390 426288558 395634790 245419040 945426436 318227744 617400916 889228530 222009060 103563068 961161344 414878860 636191846 443229584 899228204 622666614 574630774 460638944 101706712 424716650 316640648 384573202 961693948 963285530 847572362 549760844 706229766 760988602 23605078 393346316 990022490 860637558 406062938 21543750 971752200 830287468 90589418 468898682 245447714 116208440 635766912 633300570 452688010 578215548 466502382 401863304 921970812 879353942 401713190 266681980 811809982 626799262 313098350 111602254 231043310 793151872 434887980 986985240 419511166 245109220 983051580 423234964 689215290 211287124 272157768 362483358 242324452 967946896 596276394 490880436 180098234 235522248 149316080 752125776 348124608 637567434 484962208 652845998 991961328 21978714 43197372 703111366 907032526 461707582 863709190 368222544 140903936 942849636 56885236 806675770 585722756 460001912 205771760 14066234 413483946 795134208 597957652 625310586 379137330 434912322 838745200 837346834 616790700 211738902 475905718 585874364 92060726 311013230 974181902 961738362 899023962 684865906 803163620 195135478 476182878 19469292 153468928 424832680 856940560 607471838 211521990 575267880 326486002 517306786 273855712 284582002 558867358 896646676 480994720 206758514 259694330 413424972 400607194 599328346 554337988 106227180 692076448 625851806 902690296 280457482 610751158 881585336 975206252 993913610 397201770 541090182 925350184 594437542 648275830 533894844 231694756 540701322 330044026 440373502 843178302 522785304 136809236 397343518 876686656 183055602 653799326 348477924 430924892 969516014 820538066 612504866 532710594 789280356 555095474 677185604 932306702 817393474 688114116 477885604 713698000 188428818 115854514 24814902 302152354 291062976 159626300 147726670 459808596 851140118 286728516 8169198 636006268 188269394 55291446 87382476 663271612 324941038 643999388 185315058 629886358 968991512 678745970 573051192 874850918 329859554 136220434 461263648 201924974 286666514 482227576 246086982 906980696 185364326 567119424 885850932 456033464 686951386 915727724 916659642 996656152 414919256 276250746 751610036 908781502 483104074 517651884 333051000 930477802 963002404 535500960 369970192 607189414 956331010 138237958 729905758 790747304 764597982 732527800 55731862 726919872 254964916 557526348 575690640 541810934 413786832 256510290 684349408 717791698 826949328 568730588 911289632 807960422 613054592 99784040 530444012 458924560 651703296 181303438 722367384 836349724 938236704 161350632 837803620 338601766 682942836 240826428 972040968 869102324 945571926 265521904 3193192 638069928 439505708 99818404 108480992 457319650 89944144 184546940 672396480 743912666 883837090 437063974 2125534 141318672 351555118 937253912 214152160 882713672 71342988 930083722 257867002 235034234 559473828 860457450 513074230 484276494 376470242 632723450 597540078 225181158 415001502 813567052 490339976 19535832 612810640 770504450 220193788 51479742 880510612 558723548 345343104 124018574 961804544 892063952 687244330 707928524 603439658 968746730 120966910 267855602 24050796 262644388 808132012 107714400 109619228 8441956 464153050 679257836 760108154 305469636 732030792 872168128 248562982 232046154 500427278 497433370 395368426 760730700 45531236 217363742 65675970 783499966 769355880 672217924 164844832 617872974 864441242 302819254 793042244 451716692 897489572 354960018 600267420 573456042 853668758 548528058 323727568 243397014 721156254 486448894 959806190 262554918 694249398 169196060 846415588 479442416 165721852 147796622 485292166 86926914 189713070 159495852 494238356 461439718 996651966 280220788 560441560 919166136 513872610 958002706 815985060 627376272 174528902 681856138 433785388 45948200 124859310 700252290 647485340 413354868 984142332 493872230 399085736 894056380 892430578 955954018 884304282 586495888 707343182 321899688 507861156 795669268 749616948 306263862 777362276 515108296 156301136 638995676 686603054 123384876 575902534 771148962 574777880 293736514 604835984 703386714 679583086 235789128 777562072 51414206 949939326 306798592 348737768 550525406 752111260 35760556 878679298 559982156 869931724 41258678 26555208 23842722 819642988 983153942 906527790 72995596 298457240 979766792 441831402 856646046 934261518 794361940 679614054 104605572 952922702 795087504 512390198 159368228 229397656 920251446 241601682 523269496 558335678 672207890 739779736 832972464 283429818 747314014 532436376 433352204 392148080 571829656 778608274 665304938 937229442 158177402 589904434 485201118 328033592 129728850 846751304 351289816 179390878 527056590 270509826 692815566 444614500 985446210 565937018 442144948 770555114 648728918 198936506 552186966 389560328 558163016 996950972 603243232 340920748 364793052 555584856 94165416 32602760 832174600 84342612 204287904 617423062 998066792 565962292 433294594 77355508 110842902 364787824 398951068 231202836 599820108 255933256 766580058 304256406 930961212 252863392 846331316 242479940 83163492 579254678 172168434 180317212 670877198 446611310 957366750 563628226 862236284 845015320 114324930 992236536 296255330 292838042 73185134 218082202 749195168 403714936 687754056 394584862 869416032 78594486 495478494 240621154 382911368 371611924 743858244 117186934 17788788 460728226 4256858 358866172 443449536 774890400 950127110 807084484 580299642 495787134 192863038 664464596 985210392 4712210 142029786 636642254 292847742 467279940 120092292 589791810 495995866 467361494 289938128 647211572 725722700 557422380 49449284 543073170 133680588 842548656 851957268 378918404 933240018 823960192 604747466 817936968 891635224 257023684 22539212 943922002 430833776 717670872 285399956 155314836 496218876 97715402 707313366 912018600 678121368 498116878 773625574 829209990 133848468 577375412 251865660 795499786 912521032 594736400 406100928 93445276 29876526 694779330 526484638 497681358 253707070 520114448 899139072 99170152 828126662 979112444 445246368 544732880 781149202 879521590 501951070 303056496 374064694 395539264 363339144 294043582 543482040 854563714 977679288 997422180 19583408 564251312 913685426 654314506 1455404 406359200 520577268 499484186 405564736 102393804 217865952 759882604 366836748 138614232 873898654 524357662 808944302 164314906 843887612 928700246 477205288 34717100 706229876 578599694 872837178 517863886 524702194 146948756 199927606 947613252 900310550 673760648 946732632 692844960 382590480 600276730 625900606 681957576 898770276 603858564 317489810 24175132 737605668 521165436 848918470 104434648 995480634 718438430 234428588 884332234 305674154 65115702 123678092 116743398 311928254 891065486 642372564 872855848 220411358 202769828 944864146 309168618 337535786 860580498 212652224 40709562 807197826 261219348 839473598 276341834 9116884 173291778 427807810 160212956 490340152 360383464 99398140 610005702 350184844 339978476 347492438 362008910 292780590 215987610 373601964 671237610 195649184 822099604 109444420 391252722 934555448 800109136 849028584 257913768 786412508 929580690 808499290 352158962 116643740 144440170 343044356 846428128 943188358 313588790 357816220 827385458 659887066 876065354 3831820 6133030 549224276 228133658 45316530 276204852 540672300 481734836 910828984 441330858 902093170 432421560 493111598 84901620 931656136 176964420 271356916 994771910 230326074 311853786 414275840 219170848 518607008 777903598 593393592 867419238 4991670 468451152 952176612 100300624 989552642 64032250 206296494 71887554 144647532 334750784 667063464 588533506 925628364 211234178 254848510 884964936 87952052 322821774 240694292 651614646 516046122 9672270 294814966 979606332 508064502 299194776 285946808 262425310 734237556 717889944 986449284 392172612 454648886 290437568 867299432 50975284 573585608 712443664 149646060 284630522 308669058 439513166 873463882 192460036 551584748 742853242 287312920 759964464 220250830 61314410 409413032 858296888 409913672 381439430 208503546 699703420 557716808 304427606 169487860 752942538 743939748 733971428 818838248 958080656 999409324 444439752 225974218 950843872 54102468 568876578 185616742 840049158 181700750 88594354 20006582 84307902 71496946 448206824 438347402 836692690 897835774 560098592 314997026 176470958 677372058 775125980 577198158 605739002 870931832 847041872 231777764 262160314 427907744 362821764 295712092 789267260 609407708 44731844 944889080 668554884 243412730 880383534 9678558 737853826 272939818 919396132 606801396 328321158 754525320 381182448 230639588 923858158 636994196 392826816 943992274 571011736 812750448 853260852 129060894 860603526 377348858 15140362 801329580 367245666 355683142 483599714 244538732 929205588 410095130 684183774 112612540 622125614 66902270 270818082 953374650 817283594 291128478 412780428 836097196 780070722 824961642 643900258 689392894 552595350 605372630 728737714 955555726 346209244 695332458 435355074 742090106 716102910 181786724 672625346 382857008 358051932 137520644 981059158 283139732 188872670 46251444 70837750 194707278 143391606 154689442 612056154 837884718 261515368 628231848 391123906 507067190 345458214 487734044 198043898 868852270 353363214 311401368 849451514 523486632 673638092 956389418 861299286 436944874 435100316 119605130 543843814 546621736 782219036 31711774 751239814 460819124 327329454 811164998 26452506 279805010 465602350 483743526 469504326 452786170 769264346 773579630 316710152 961640498 116552316 837610318 162929546 446585418 437166956 245621360 922891438 112283184 58824086 795730080 23462608 310703024 100034188 112403510 927618344 241670744 262014974 2008990 905965722 525273894 596362626 988893254 778811276 287084948 322525584 153868724 863436776 363749258 269731464 751675702 537252350 551658198 242279028 401974792 115804312 78785892 921656652 715120930 461105634 365042160 103768490 164406020 480236124 137184088 706282678 284741784 288152972 103895610 903341212 963430204 353000650 965141618 465130976 209180020 931690890 350537502 788936826 128695744 440533016 281413826 752029304 992273498 104235278 244624290 274796358 184032542 295813976 742606344 101810724 875270236 115940372 221690126 598406276 780788394 459556600 906111860 554063688 723352014 706104826 45334292 95010294 372154004 288206254 131898766 221686760 180123604 520420968 107438812 860065830 502727264 99119988 261585930 142434882 97254928 950547148 621822826 467813848 946814944 219681522 571511822 774413526 199960892 165437124 449509338 342687868 883550118 886682050 780811098 795639014 21488440 296173398 821585694 128289558 820322072 332285084 620394968 294109320 821544476 25627344 422695036 864456858 621725796 309909894 760828402 938476396 236894958 390763552 325951476 223934372 951431070 30687092 541881508 237516178 879631468 677890784 732793788 610567834 868346340 868349578 104315028 991613678 391324934 254659396 747705078 566455514 981214184 746874282 473841350 205212256 52439018 446355146 289003300 433822674 957257640 285308600 185071436 650180926 594537054 717491258 831407154 305111782 401284596 623285046 900661328 7415658 706031172 991694128 438029934 893184528 624178614 970404962 565506418 250439392 50187644 630239828 807590990 307166040 83154948 373855478 470243498 579806908 648282708 642881560 206927476 803926434 788440204 253701240 432119140 519345148 578529878 440786868 722790918 19127430 395051456 175827854 895740048 807375100 720099358 907971172 71937758 303875264 985747504 734723556 701058412 407411558 964567428 862588328 940157416 548501958 23817484 254961258 972110016 400174436 883471694 288943206 416222408 486348678 335257278 510542814 672821006 87960606 742764986 873760094 72692086 434506456 347050992 525621114 175026708 679198370 991616642 374136632 257189826 237681982 690420466 476789704 352839256 543569020 692870126 691339070 643970106 959129702 828660230 731296442 54768076 480274262 969914002 793742970 48078220 795106734 817608684 144389568 759577540 917755170 134708418 867241788 238048966 577734848 503677020 747515732 304194432 978502950 742946692 845657956 412001938 706381632 157559838 256457356 170123860 605425560 675005326 58904184 11470742 369788448 168743418 749074426 439745928 306692110 105077856 368249738 94995312 354022416 500806128 68331754 323475834 601446766 224584966 290274646 950273328 47500596 685972490 585842528 209532218 501764460 317203118 952050904 646950098 824675234 131620566 682082102 795121974 470029924 886620834 740695294 675787820 706703984 53820690 119349822 754411488 287110920 941251988 681568078 815560580 195712150 943096172 309478420 20489842 453709678 53882704 21458610 451691714 604412242 709865298 129783594 265965504 685304516 78347710 930720342 369804496 318534868 634794804 477769028 257399304 992326584 767172278 938842668 298800558 34167716 679224896 994977438 180373066 828007684 537398714 61238894 373159154 648350950 282676740 911118646 957685290 950057546 592166524 644167824 171145844 190846790 716312860 905226296 711332802 467282036 10972328 666070208 500404528 401800278 950190244 653795770 471181840 78862348 634730854 734912232 971789490 314633922 816100870 138991514 769997496 142389860 707518554 118939992 466488094 875397064 506971882 616801800 866757270 178966948 879030064 367911230 323190990 755323066 453349074 760672996 210268540 374702744 591821978 673692504 426584660 547485100 655470772 692370152 109827174 908463716 375210204 718481736 416424644 883115952 180334966 50472822 22732138 781331920 415331750 983549804 464101466 154857434 408485002 884477154 486460782 879341550 302007126 984414818 888649210 395339286 586571074 941531144 790523458 525693250 34296922 170146378 363477682 140729930 564354410 318728378 48343224 10402158 175232222 203108992 431284438 404716600 404075884 388951360 453570970 25093778 408208636 981633584 565301188 11311658 990168498 671498782 653058316 142489724 60727108 977498008 913042800 201404266 952611026 353325318 259741320 731980484 78979682 278696708 807367846 180123732 970792312 318507658 639278358 938911186 906401088 89562864 661026658 673905688 538081194 685749418 610111092 331567310 479944180 162354700 79694274 58630870 673224964 810326844 559760754 427836884 170855924 470509326 428174004 97016102 295158200 872736120 133132718 957099474 292922770 96728484 92427236 215638696 401950924 855004672 624279042 476435248 623514268 831937496 268644878 609001436 505966230 621278110 687471062 465945550 484084626 841865964 329312368 6918080 257554408 743476262 662847062 826262560 344869438 329650174 947991572 562381646 720051776 593248320 8571412 695521180 715163504 83719320 695368780 637521560 230775972 907151914 300679484 340909878 365454536 938780172 97140942 167571884 573787560 486526434 525105606 467025072 996026914 542744986 191128230 639227988 123002842 32634974 882131670 130598366 592481596 517017238 436038768 904118418 628736036 526597304 535948522 139012678 59816474 304064390 121251962 965320334 51672304 16499396 285953130 584349716 232595050 980885910 741106238 749200888 312646476 684001360 945659496 345057984 797478190 472588604 461932306 20128340 237771762 951278332 322756302 259176412 287839700 7504438 349574156 239839362 756735158 506242664 993889866 119218410 763007176 64902948 701291236 360419180 104552096 464325688 550301382 729851908 547159084 176099296 732239952 408976566 814230524 618940122 938204090 354517166 19189346 145390184 232304470 384557844 131835252 252558688 723417388 516937052 451894486 736238586 43566192 686858686 113661012 384647966 44383934 673345228 440006426 740231316 829753606 985049916 424777174 496575874 466670840 512358668 456814330 72227674 154996646 525310478 868143258 514120444 773447644 194604928 55137772 816359724 167816634 984868352 927101274 564486668 518238514 889705768 269289676 293931736 3329794 607641912 848371356 21938318 318145770 800321816 561685016 213390256 731097942 190529460 867882360 215990806 301369648 33224568 360669756 379603034 90875832 853798642 977918700 987202696 270061878 544977484 632598196 289722984 529818660 75878032 648815402 574438778 935999916 482805416 677736370 915997238 230957066 947711820 158308532 678519276 175797574 370752232 192484448 859295362 933621320 354227536 470056120 666762250 873677186 586163078 172789328 546788680 374352352 120284076 492482790 38856732 850918768 198362780 939541678 757054344 718090200 316991102 698550580 994615450 794863766 708126612 919759638 726156304 315648526 318793166 966141856 920644400 4062896 565017280 567998450 850829574 608969084 460305632 295359388 533416968 204577848 84274356 368792588 250966560 322147736 638171204 490260890 174170328 585773556 471201360 393941528 637839034 376810588 175962990 31609924 522905074 647471972 647983316 627906226 936092392 173329644 755430578 17622108 751584934 546640034 149519110 824297138 522563796 137788518 713041162 357565680 962512614 437236008 958070542 194582752 162159730 792019446 504798988 259637148 912235882 126605838 294583802 404881234 192068466 147749012 1950748 687479996 95417792 404448816 814553938 19117388 567014008 327520412 522068814 779773522 973714974 80084510 884113474 112751490 631281104 124941436 979377570 258935536 711173638 856208768 551834432 958613406 247197852 365871970 216390636 397788236 590084734 114499666 410165352 635599770 187485842 526380392 297955164 473494266 970339182 637616176 290093372 207768094 748182232 117990798 707365326 523278356 810742624 148195226 225983604 371037872 980562668 217105828 80044988 392850506 172502156 121791066 835222942 198936216 768594480 465425624 664899666 742888490 124221822 58105086 123116714 270860154 880566520 226761962 477907108 898799134 783030952 403023210 696912426 753225676 881301992 308605674 899363544 622087702 276347776 178631434 756730296 264645928 650642840 530418546 159447644 80514864 313575512 852639366 854411392 865583186 60229390 149691962 310131168 187961876 628138172 810503022 838119276 824061050 72077208 691286672 310332278 978913096 888655946 513492486 727997406 207543862 713312072 662271326 694621472 859449594 110283396 995749320 252536858 747344776 618536408 439501792 737941782 808446614 60866342 386348462 722439346 354197412 466668374 447420326 643532808 630650996 323045678 864284820 22854240 786095590 721765258 622053032 480098394 397524254 529257218 249671274 921650404 463494352 570761170 859972630 355821072 260574892 425171734 81939178 527877186 919600856 196338068 662931236 629977288 814831030 902347450 72905466 756484750 756306170 72977290 459526076 572948388 50028314 6189476 745327108 186826302 498259838 615604290 251775766 255723514 609136466 478657958 180831900 604538972 479765390 761667242 814854258 211012446 674729828 236998888 356099122 882983032 889225114 657902294 828618972 244135674 79251606 446228480 769629464 485773650 169016132 780136734 610541070 599333116 603471296 542870746 557725356 761762758 349365838 730629474 265563192 42476656 455290550 341447546 674302028 892073918 247503100 391181596 124312912 239144474 397363580 79147932 835807160 761130264 586016498 108959998 438969874 301744636 711610478 604348816 90851184 705764324 982821390 541116728 715600932 243187538 914011972 538474092 180135638 176632446 655202706 340823684 385114088 185780988 124292200 974237908 95661296 331278020 495852198 885853942 938572160 324296792 487147616 925394974 256167466 474264542 76248874 221588862 799877690 518406280 703016648 773611946 76169226 556041786 522419500 943135974 725634890 859169672 754782000 589553622 622192390 665966076 474159434 403704586 630575666 6458588 63426232 483884658 557014324 214450018 873223600 289930618 897596714 181291030 855048218 463861726 163799634 82421132 283213228 944118616 198513712 351186834 27046718 449101602 255801876 763017704 88853392 344863390 583814696 207541140 542712614 245030024 383155518 570612712 61150664 355018554 29824042 799472794 127784236 745522652 926577616 755088362 65265208 399212088 374875644 241537784 372921462 781168786 822760702 485057684 755544322 932742520 427300054 445490044 934699406 745596688 297091542 682967880 365672590 327354360 16612788 531738538 660876578 573240750 428931874 191928396 121880030 828542544 972329536 827492576 498447504 253680982 307169980 612093550 331409292 116324690 549847568 804385366 328876782 978562764 569983626 230489258 212352330 320980090 596917296 592785218 332304736 977924386 319710554 373509528 963147862 734473048 624906020 638758112 496254442 947726534 533158476 161007384 21099846 205111898 874662820 313082264 952210360 52748616 946926254 133582694 91882212 766812058 132318012 458115784 358367442 976381336 459750084 997628648 425621816 403236560 923820956 605109892 492512572 111906332 333721258 654202628 910200350 308156550 760801756 634552578 586665914 247990524 708063718 441486972 462409764 672502820 990293904 473946306 325923364 331412020 426524088 341797410 403184308 436842990 248462766 694050518 908200670 86406002 908882582 670474604 293626570 430746812 343722060 410986720 105810400 261621682 892768438 134252870 650361994 274997454 905817338 254269804 92447292 989553292 499682290 652910416 319214132 278626868 426190130 716740024 470252550 21957534 196783258 694190314 156786020 271738972 623272886 875800738 764115346 321077782 586883364 719468990 13082230 75679184 972128250 217001868 395024652 556971312 189964858 86691170 353564702 268583748 374389576 874298052 268264228 386523154 390141238 593481564 40550144 524468464 884724342 999289728 260182886 120738454 206626952 467657754 789262624 24220380 635686742 500187268 278043352 294335362 701117340 734012654 979244498 231538062 481075572 108472538 607572968 404192102 695613760 98774300 454073146 232045476 968702628 528634524 952353042 808626538 158671762 58677162 782226166 603701218 236860472 734649832 401671376 947396832 789678990 6542316 426204730 50075148 483471130 170949436 939461600 88002312 5752722 632599946 591770726 444504614 143051576 886143956 268154378 206314970 693828906 926506562 824085070 757012638 214668592 940588432 930543040 312817218 88556128 559340622 523480196 39399792 395968662 890363732 589256666 879854608 726136266 841228410 252272424 69621188 847945780 780762942 596100780 926887728 746863368 158383586 547319626 581932424 405160206 44159220 559023166 808007032 631087384 342473514 875117514 850066980 341636788 850925732 138422070 657478222 821878824 59298268 13790306 303052486 606029072 668877354 716224918 716596460 313693834 289330608 824234464 708951390 462377238 960810990 20838714 452874148 807464298 854654366 395558848 792555350 184992878 587098424 682563482 556110252 674601442 422180840 339105616 201715098 307836026 698480338 799621318 46663354 274625886 377489000 176608834 457825716 808602430 422472170 75993758 319611148 409759502 695184910 234672000 675920086 346938 41252542 917682856 42644436 786031000 235524616 272499200 196734958 385819834 413555266 300536734 879994512 782128932 139940096 398363974 176483776 262228038 994167140 314110748 174968220 875020230 100991110 549912202 382981156 165688654 2515454 927557930 294732420 945207394 960468346 993200574 718589996 804356454 314371612 87244856 206853320 995012754 917431338 695344954 697468270 815158908 560805444 105100568 641849914 100717700 98036052 181703688 90539670 894831134 326474636 747575752 285641882 235590326 160468550 941883078 800724388 525570550 992451350 534567920 489568168 126803914 112759584 490354818 616306882 385881984 565322300 875551490 181824790 352930108 197520398 197538870 394570732 307465376 774805070 793205262 322444392 711634628 295929036 400654354 962941900 905126276 551150066 101202818 120772652 812311450 988863834 643628706 132237044 772355842 473669146 494026806 893296972 380684542 224472094 207879780 837965516 963369858 341830700 111687760 284949288 928464510 356372290 208796478 443646218 638242046 518110318 475307374 610258746 816477734 469014732 196672966 479391602 387237740 46546072 254895920 523466048 787212692 864283454 286484092 851500822 346606484 491055202 988001178 16379468 379369226 246467980 943772864 125383654 369991710 734793940 310941728 922999116 670834416 883200496 453402316 51558028 434096844 802835054 285569034 352589434 885617990 684509910 360747910 647289256 263482164 870542754 419296102 958307370 552107648 856058482 931740688 400303160 169345356 959144018 923802212 513706464 73101076 418636534 748020718 366294240 596098638 154826680 680338450 158063960 589687818 594249406 821597642 326752332 514482172 959727746 336731870 993389534 489031648 5093640 189254444 599272862 713323564 149895250 822320502 992643958 89128684 595259262 614663386 366650680 897632382 208666232 964146958 941612646 438119374 8822828 615170068 401362932 833071262 386830660 135362992 69052110 568568366 195979280 199693860 721745538 376217158 646539660 729641156 493702436 944763272 990107782 925108278 74958676 142071378 142470554 419953258 565099786 572675434 433388302 67928142 972145584 957871716 256896780 531244566 133264646 475235200 703748434 452827666 671442814 302849630 351071280 404367486 170519838 51652498 605085200 922748268 835485478 129620310 97151954 365201514 148899074 998464018 881241982 646384142 770639642 89885652 429161996 615547596 462399070 309214568 195331080 745689148 603584944 538428610 80232382 536776592 984249864 517369946 109097266 688463214 996016746 231798458 736941224 729330080 138369722 490924504 566467656 420349620 836180940 193570076 481035738 715058306 756871664 719614714 720149954 973106498 274865874 898200168 452572284 93606396 390447768 319570436 292180644 42849796 741071576 989227646 210931124 646848504 619520206 466973678 304835596 490441226 95368474 533130904 426050402 193905540 864482922 52571498 556633478 213360172 554926502 481491514 891513884 997750432 380485358 358568660 121704384 85097160 359169544 124988290 410257010 543542938 516954062 682237608 349104806 746759108 329401960 101445348 926599922 981300892 992559054 682757730 873581076 587456234 323156682 568141528 786492916 520963384 548708556 621330018 153906360 412595094 27333804 592250180 632558400 10459214 340361386 131380274 62543904 632481004 180792528 770451560 815159502 732304200 244422842 495067812 725871430 699311160 239232160 847189014 57472442 244660038 672928718 58995652 179858284 221833548 366090620 593975216 871709510 75757096 578085410 962814694 998707374 568458388 799788670 90240074 908965206 680369542 34208288 32489602 775223678 52204532 523355092 30272194 902522278 271905962 581553544 312683760 627443718 231077638 862109302 270875734 851015132 789646218 375452626 241325128 332670866 236695566 441355170 770526246 822544998 77986294 779042696 247814662 348093372 431071510 479728960 62568592 757871746 683786488 837597738 189827744 523386412 537515100 407284220 630602166 238284146 584849564 995136750 40275248 931509824 569365318 168124716 435261638 834574716 651929036 804642328 964820242 414116928 866957202 926301662 978686196 599165754 905730856 344584022 911763348 838604370 461922648 57371600 149290450 142444542 661603762 951870906 774280544 416968360 975083212 771216800 114370730 314507438 496246450 637023776 298934226 708872780 526390570 550799424 310456204 199350102 582382664 795566116 48243818 297532928 447095922 998701400 816502454 364969316 456129252 474801730 95944876 790947966 291136484 258557340 387668380 598415010 343170948 335583408 65040386 31930826 510968978 203323650 182826126 377230768 898470032 329440236 55907718 761810424 310849598 404687102 123464300 237504526 959435452 86197258 543603866 551227658 980597550 270895152 682479338 41581290 122921250 874337636 539726910 42831514 698746332 822703456 187621454 73141152 985405524 512825228 278073810 130780934 854035434 503910970 166170982 607372220 211957200 555206854 729067606 223367428 409338138 794849002 828488520 713303008 84284440 539278682 921015686 283107338 455224822 568235492 907831490 562951962 200900580 440859634 449396346 863238968 679462392 105502502 844822472 300266816 566644912 763437018 942665552 78588144 385981334 572767828 834142924 352094874 549838948 566042690 1491428 865248308 566508912 479379330 899299688 260638062 459535996 283056230 784347172 568547316 405910570 477468376 636070010 458928346 306286110 905440650 361816996 265897226 533244362 324111954 974757896 336508460 168878898 655265540 622679640 87642764 240526968 969402910 590585518 492131824 305919470 260807550 535524600 686368932 78921398 932065998 334688198 631177484 871788038 93354712 319040144 145817064 466775044 412835172 582141454 475641854 888964966 954946414 991513470 646904528 809757942 166405576 352216664 760319900 373222712 885382044 69459868 495283622 264830772 638086680 520777658 861667500 145990166 892386404 600939392 431287860 816879682 174306252 902580278 684189386 727150268 795176442 172154954 798083582 864034334 19442034 339643230 577792302 135007864 914094790 510946888 284618642 837588004 246701390 722652422 206898336 618303708 404637042 703664208 607137752 916441252 422219820 171480468 89431008 457619906 93037952 591564056 599563762 274710088 821613172 766093066 121605992 296131698 230253260 529712838 134020370 26991198 436795036 914225094 135124426 25072486 977727956 59612104 703314760 962052700 723659618 788778510 827714368 654707946 627263674 417657362 378460862 726786312 607141478 819816290 132649772 223251252 804922580 800547932 352500360 621174168 472702852 815512748 429302458 439568438 829867690 531889546 706851588 72296904 259341092 346768640 718361486 688664586 131714504 296773920 47990064 500535888 710142352 901034498 509553932 102893946 213257940 715170628 632585366 641537572 846927808 5555528 370090854 754972488 145239566 454262500 682715214 293812660 797681274 631752330 156226982 64049572 25233440 227368024 939973226 371167730 89172790 599390664 353572618 841937660 29941812 228038430 996275852 499667114 165082006 974196366 419816240 427589076 824142336 908289906 906660150 391508426 292676162 73966142 303049334 745118376 49679296 957189338 173778526 494280886 707675856 362396092 173737694 277568156 366476830 534692308 190627714 489580504 16519110 286413130 680209560 87168430 834222098 135391546 381002162 96260780 825384758 605472318 462304500 975753496 734123438 18272826 534003728 809172600 935921624 471351714 56090314 196381326 604505416 778715038 152218036 824373098 9111164 422198106 866870866 981041980 566726228 598039046 965278714 733737286 10144938 566919146 181086782 416353388 979306416 908520974 262321272 972221192 141573354 396719702 46167424 929224750 369035330 667583922 739698018 412194514 910237824 603865046 533970988 82004600 514596502 934767942 822366174 303401654 645419212 480521138 402324384 683883984 48722768 616664418 202741394 278776702 150081726 895380772 763859556 135475930 536928410 700300286 341827952 862003936 10163468 256868698 741216988 700055442 544382778 300863780 598441838 485292982 622021182 327801406 207948374 52249930 536495306 598548582 670312964 10773950 743816704 692796250 376243584 674717080 320073062 308466116 103337574 554027258 471866732 100636832 997556714 477987316 790208586 214336550 100479850 887209174 99714068 155956416 808027222 758074222 765441932 81422864 360070108 269176126 341261408 36827562 164910914 151470290 244537448 858230894 182135142 171262466 782842598 666209898 213527746 439713668 791736466 796309838 19524498 683494846 218931528 336047770 487708304 377779742 886867764 494455324 157932122 287686580 977799248 392693576 92094696 379409286 702052276 743825650 89349290 103472568 442210176 169838900 709358336 443581438 611006808 897969428 188875532 740702120 855955560 815663196 234327894 208518836 83293010 657067230 302613864 160285764 217802312 787994504 523214450 694353710 885348156 152690828 840181062 19087884 439423272 550119614 330293746 480601972 905335326 474914544 485235956 120416950 599556160 201409272 724309442 564735404 767805558 915811936 656850940 896867040 713987926 362806032 110816796 184074074 93378624 183150734 689233912 115871568 356225940 369355920 973516818 955121978 76863546 205223168 659794426 413986992 859729938 791744510 49495640 950512262 546029776 167812812 605856208 468777212 272124372 259532536 895979632 613845236 630383898 170705654 999868450 835706260 993886116 990083342 839001536 739542558 912451560 683499492 691530826 38870382 760937144 471782054 263952846 635362560 450232316 782512648 966645068 413141512 864592170 595654308 892681630 311115776 124073640 92410174 269052274 351808616 875205430 749781348 350753172 418182734 615635746 867646822 259940860 229457408 234683410 846321844 44199442 385173648 823242844 124510494 299594900 765569372 111385258 71601676 431044608 624458182 582110450 199891838 857864516 809994842 352158100 660245378 293918558 479132488 547019986 169023590 106431262 448614118 77833072 558524658 630006706 211270922 910548696 185029140 285502056 928197178 700633622 953016246 205382574 559621414 90533024 396167444 336804936 3366918 942585042 813258764 795578144 349825836 856158462 174544460 552512136 898555712 928785828 794353414 591839626 139747996 910187820 632330226 840922098 660250800 165723164 282491034 88238780 762386898 736259974 1675854 22006886 486429804 17787604 216468596 262928580 256728542 137013182 575669578 310870566 507716914 438893614 198310110 758537044 642481098 254401236 341019872 297070030 123507004 117011344 910265624 379738592 946882786 530719544 695435796 948322784 579636450 97614520 826581626 106736090 63100872 254603260 685345460 937906582 500440414 823810304 285820272 847423842 762059264 94218956 35443134 225694274 928358394 897072634 620899526 606088740 689745032 734512378 303812674 770781342 873097476 398981770 457916040 123801160 547915582 501994312 218266176 880071720 307640770 554337774 664102610 524466078 614896444 988188106 273603546 323895204 424053226 770848328 740601880 600338588 347574088 445336508 235637272 39912220 86643012 693381844 361416316 94979764 216772602 955377176 111196802 841945038 598289522 251106688 1279716 146908136 775306048 837569906 768325170 742358842 556700920 734290902 15866174 393715548 905171308 3011240 797477474 480042314 386619028 144677896 277834590 740232728 501902088 315271246 891109080 357860566 775896338 187375758 626428138 481165582 684925670 748478250 672002224 868141638 215243332 566887662 503367908 281723844 770191284 314765818 98476386 922409724 806993322 21017868 261717026 816589978 523634884 297866848 490903386 240776944 76664198 562619546 991587346 868253028 876963610 736151486 926224836 46233718 837124352 107709154 741866534 534929114 521263682 218666870 325644298 724404564 306044648 108187558 231691620 589446074 831833980 609958526 841409942 789348518 247743854 570239766 597589628 553545994 616557218 340143714 535186800 975598440 531303046 524795290 746500048 946769016 9304026 196168500 824078912 716606276 790246040 166764086 392486856 282434810 67062640 186973448 202020884 85881980 849674328 268140668 343437744 905104038 815189418 881299300 101496686 719806918 700838798 150750084 403260354 213076506 625864294 268813682 426567042 504467970 37450710 671308796 211674662 753778298 686012318 389902204 679584268 782825792 657851910 952715998 843628942 307922900 171502870 300025436 769789906 54589320 185987314 193352710 297777182 74164180 914556756 180073956 177830046 553120998 386724472 42638070 289812258 237545502 581081610 88054224 352292828 245625518 914682880 15444484 683850210 460123652 233653732 644171582 209194684 281521342 256356004 524502912 921905722 462500424 429357710 486233788 617072404 635316324 97774046 362483074 74749948 697355178 399132664 397617742 636130446 851595002 69567768 924636234 936426168 967789580 926291362 635582070 568927224 819205212 39146388 799428896 476573678 35936074 393126892 56673958 334372402 530171426 142744050 170474552 677698396 122561124 498616806 843661248 438370612 963054704 61815176 395158624 223376192 849417908 527985610 847897750 154776810 325029076 167424300 458473600 258741150 192406152 97057798 936487178 951739842 149184034 567445390 861630714 355061396 437444336 985898754 305419594 110314302 642659726 808946296 213315908 359292426 610916798 175869458 142077120 784601914 206534442 445015328 314591846 626701574 315575856 783536798 251378784 182186914 174073080 925974102 222091480 866249292 743316048 943871636 664721760 735114930 262336266 109460100 922045374 796098424 289482502 89042732 429997250 916918018 718304068 545495630 212108798 261794540 729771652 123722564 651852014 607188468 982073294 1123910 595337396 385508990 803440466 420243392 153206476 41620234 622544782 743416016 746326442 22211834 200491260 651249972 810804390 351113258 196937028 59731464 789283676 872594226 515711878 440608328 777103652 611151692 304720548 859543966 826228932 949028792 624682098 279982694 908971874 67064664 827389870 457276406 943766104 925538502 341786916 752865048 644113910 943838074 460310736 142582368 776611486 375024444 562274182 880344358 559927040 525159994 600095716 906374762 190122736 285066626 421963410 991961592 417611950 290390804 102030438 331967762 249968348 830577010 205552744 887348964 870908096 662148764 608900500 611390348 968519206 966383052 832540050 393954924 122873262 532640912 671799718 52059022 535396516 435989200 123421968 738680872 966211800 285829248 654023402 849540050 228442562 946016504 567980288 933758492 315744750 334903496 522503502 454096364 973413874 811304118 278327284 220653162 727499830 834729342 657545692 934176528 377600346 580746120 797964118 805085442 198852384 879964648 691807874 427208188 616048446 703181386 278842750 209843944 490737328 744567838 850870810 463511554 526553180 980742660 673255806 500233314 277103662 35676484 479948904 92316012 912116732 116158650 406718988 862218706 894518780 326768386 948255526 839851564 436197512 772929904 584234742 551903180 345165970 948327926 255561756 303457012 970717222 608260382 932601068 355777278 375614584 371116978 127440082 284499008 576340760 802777962 613275650 309042186 10051858 875743118 311461634 85955446 545273334 463835798 701727052 372221220 114305152 522234542 641382836 923952028 992552412 726608768 961522510 41776472 900105292 947447568 457090352 414955672 644024554 991428328 654839928 220278470 841932698 895641752 30430296 347653454 284107506 263904308 549583248 196220598 773562656 458190260 922093210 145801060 43030172 547309424 435607014 815995462 944581812 411998668 411368720 343931438 273769036 565551328 176270880 735075954 533283590 307718410 581724262 122782362 50683576 488975514 728683084 574782298 251202422 369426564 269861202 924058674 238627756 170323272 840254132 11960608 107438804 487305380 572597190 825096914 766767746 189931218 17808950 68104844 438284322 34456296 249040996 958101226 163630994 276512502 867243858 360778408 497503766 387920590 219253322 516329480 557893510 506166316 179979536 337617226 309854590 407085200 287831526 246262788 121986960 555660738 937400426 179503882 696981240 867806074 2348058 452916910 442273780 795293590 830497484 831293754 13865338 122949062 770621878 315820186 809894302 916668 382857130 48845180 702402266 325709736 245625882 181297232 760594634 953198556 692882786 317424002 636290318 271102030 779179620 670804986 931769482 25914888 914061004 332801498 4919200 821498106 43770136 74495700 666579738 764194124 623201946 821755358 538637410 206306570 399422716 101388264 38199604 350251232 265408520 984466570 75617256 918640860 762789848 138774498 81426836 341079094 722685366 279226342 700326274 500261714 86925168 616379430 38711758 304337384 513000058 840549952 37205810 469233002 857234858 579939992 829186066 310789516 907601888 9633512 10561600 49917428 321665836 190032888 608273072 973814256 778947460 380228900 119160588 136671914 867759650 415799308 449497334 269823108 788700418 49952662 308664854 500451044 922456892 925889052 801391586 326527346 513385856 270534346 549412866 552970634 255736046 703533002 655849716 243757120 777712548 699177986 628214314 296149488 624404946 278224600 426217622 992909746 378035536 832271864 288149866 71662454 114501064 953770618 216303352 399246102 209793892 415378070 24973580 811569454 934290868 168806530 797197906 309450268 422215588 141495886 176723548 89815574 73788084 865370020 759330402 47502086 699265834 451188354 496963156 258022766 871950700 514128052 809360390 794332814 481282042 167371996 400074252 98785330 273767656 543205878 926507170 112573740 171528610 385857476 749456576 779326934 279058140 191743884 647558428 155630274 327910130 929447412 43839950 629228654 689534308 817477016 909207616 474803122 731314612 579787202 876438276 391084946 224133260 169598030 36530574 523538482 859108464 614772150 403934096 729246176 45423580 775927128 40613612 504797730 637107030 119748780 288134084 275994256 749528492 885664458 459447712 517710370 95905558 442238584 348815530 356715166 248632998 527126610 411404242 509801838 322166296 599001740 882249576 549841326 828399976 71103390 81945836 961800808 286388344 184226054 732627164 482525380 17807072 242777832 668794100 605551170 905576776 408060146 311810200 34798212 711889152 346044972 222985552 503409626 163274402 49514964 328242432 513341738 706315562 309872670 33735060 65761058 105451826 772228676 145888140 891447530 365707244 830988576 954951808 280246992 921565188 76670524 335047512 491337522 656117708 367591172 264988998 1173376 992396248 139845540 210334174 914154200 558066022 905724628 298813340 463435006 150935160 640665188 51622262 84900482 733214492 21964572 731792820 954606794 722540452 168408286 112930664 678299718 14988898 914200468 988986082 383961436 262151202 862742962 585643250 441764188 22937172 837467746 777349684 844952924 693900794 815427162 560506700 341945890 522690612 630375910 381781300 14496600 910221518 196954624 991957930 265200226 318780992 969738232 934505938 135034748 11110214 553663814 327732532 672788738 159259432 617601920 420160456 995089186 477392956 667716066 939213104 18002034 569183398 701797076 984967124 77773684 139090972 74952430 809118566 176245020 128868682 719738700 588999994 816478928 602620774 650599374 589657542 329558528 41310028 457310150 546089034 489348556 619118360 324485916 698869160 216538776 584737250 26814190 875751972 518983778 269668830 205003116 844922836 774604744 797751778 359706838 45003396 238830788 862745294 510287342 587468922 857743472 140658098 586473072 261222226 270574776 276720198 40281934 81897550 924776302 535263084 314478206 639301310 670147490 197830482 123307580 145932226 298186126 644975510 326693762 777374622 896801278 161286384 312184554 780498068 765558994 172687096 819295736 770446710 499854830 120459710 7151658 534686714 718073400 860221308 68877616 774830072 673758804 520316166 659978828 621604208 850622498 309547428 466167492 177144720 705942060 430314974 405397518 542183546 615053952 567775850 144394408 735369084 570521300 669165982 184040348 802043630 666380412 113988004 540070566 1832402 263195554 747034084 462327012 410627944 634312008 354273722 264076128 211309816 257001978 375347184 540867706 696480636 441816068 883675598 644659002 151044752 45274798 426093194 716448458 992966300 272546068 856068016 945027988 418919380 317977154 381099860 169441844 109197456 999676746 681041460 898529488 123840678 601652782 545684404 617437484 388236024 705686696 941845924 999507274 351472912 975548092 255056204 990562524 302773856 562142926 514037326 568627906 732271834 923493124 306805456 126053548 247981784 19138278 627586650 857454608 803336464 901912764 393978908 307242984 86011386 645557454 828292486 964802200 610334206 632916544 918597790 784804304 506519624 489367888 206005816 672663890 134392578 397928096 43251520 967814100 483103582 480177278 397949856 455845178 145068932 18556558 824504752 393316264 832594454 893080522 559817246 405252152 354045032 218882968 727454440 798290778 173151858 233690096 634838858 36124078 701167258 1078392 47700320 124054870 544201062 350198798 922355322 656785756 263311168 619226262 991811250 101795514 407638004 152568278 803442652 978572308 70020900 451518504 980085822 430995942 734079218 777497774 635279660 396251812 677379876 597218558 937575560 326590262 987682814 502415856 798943624 395912436 427273474 812430978 82383576 971288026 533761638 639608688 195836148 193290552 52890362 180763620 199340512 494431910 21806988 490168908 975220712 194974904 716709152 613556128 402736112 778164464 39771064 121848814 527208570 333355626 136389876 720189070 497687830 678421106 982634098 693170656 437906556 7452058 421475926 351634210 798228702 668125238 34414890 181437522 49145894 586928308 258762094 799036258 14936550 502937124 553013166 5519724 599757998 686751310 179118772 598269340 373971596 952373400 452089684 591128440 555375324 338929032 120144140 969836120 852805152 148686576 283896540 668122474 815137536 737822460 759247008 997856978 319881966 509385632 747119030 955015902 550897230 913884480 76072802 675806308 600519856 320593892 963006008 920860320 849449588 536414514 170306522 572776950 419720020 427061332 174449186 166722526 3877552 445306650 819747354 484137118 309446984 359557192 645783404 971335220 330637766 612942872 405321412 105342592 220513294 420843088 701782282 407673126 399575368 785117218 214700458 797317010 556148928 559763394 472156798 962719226 45138226 831211810 116942682 216568302 926656024 862825298 343192674 328665254 300604574 10246294 98321072 147652770 800256578 722189236 476441276 198937982 601258968 394685322 813519310 48779594 483534584 819081878 863628742 607439970 852170160 205754494 496380002 97277542 363549640 284411256 595214676 910659868 257437990 19802990 716474536 381769108 742930970 323670870 345319154 621345188 545565352 193856584 512685156 644232148 344114964 827155206 554568750 259232006 709955918 568188512 162821006 306072138 247362414 352956680 627450502 35606938 275370518 699950560 693171586 916289466 904223468 154476544 31872694 231659088 668495940 60900224 502801086 843769262 790049390 348656148 715269128 267579692 144193626 777563744 703288880 401791900 753879612 40163238 653408508 861661676 704757618 6832806 621297428 650233020 518792346 949870036 489770394 759084894 326144466 639905958 986397162 952199280 775799320 79001484 362443250 317660868 103331012 363328234 283124792 943924804 398545630 887305522 369561460 458256532 243668512 612464060 128232698 535136870 576548616 655738768 108265896 44652618 163983922 964012732 532128574 19521760 512154904 581078138 562751946 137779326 893341122 133975168 316141236 177552504 345290744 724697546 918766298 597911094 575923496 906089050 166383314 219290030 66382502 985034032 911279666 549790296 600874490 67811696 920728232 527780094 935000266 372048272 984567306 872443072 506700916 398031404 45919020 654552024 472574296 643860954 818732860 95240180 449493402 513220100 730303032 165154576 764682840 10957760 50161564 783063872 98712392 810037152 804762128 216542096 301472494 481812336 290244108 474075732 843311436 834650938 708304042 927003354 489909034 166422494 64090746 879831998 77303418 115167072 5951438 200990586 460046810 553511410 968332062 999352728 218157496 281169182 686134986 165736340 528940114 776540202 233179476 536781796 770657236 861457002 994496988 898069582 915225452 469759600 717090724 650962402 297468166 444288826 525051206 735923526 529245208 201997374 633627902 135301510 925593212 338139676 83158784 640314320 585129634 377453504 597192712 847803444 277955528 464275948 971665646 71411806 307265510 899371946 905736212 750511382 812472960 463134472 189263080 462449720 816523576 204440760 536075508 170376540 111543654 425113200 855056596 858699132 667231630 323841008 80807184 308462618 332096062 397431648 698328800 11018940 799571860 138061766 548839874 898332888 205777314 360057132 719578472 111853380 597303500 414978348 212667538 375294704 970655834 576646342 787691302 770194768 991982894 237577994 849983556 173834612 961414858 814512714 695358594 663819322 723305000 371201298 816756704 930610804 197732388 898335624 198756590 256285956 669246258 350000196 81081378 902747784 152247854 604663422 13254584 350804686 585558238 515975216 616220276 948492808 491066876 469716748 525861732 528426358 911614688 26073060 105273854 209881794 131093620 166494796 167563150 874232852 684031862 972303868 711715946 82775476 755556102 94217216 517489868 900833134 460773334 22860754 345060744 35260928 248180302 473417228 282141794 454334544 362372148 933457352 608843086 634041720 661146650 450062302 927125226 775595392 601094290 889308210 234844166 212092752 339590176 765518634 537025180 303953674 332215884 582045272 833370872 63976224 787108712 176552342 345522882 175229882 447508150 448356292 601215500 722990476 914698292 34151376 844051986 959518310 699254048 789384584 226898744 437983614 518445470 378093722 747288550 417248236 530150602 76196178 275938918 437892104 569422082 548345224 265199126 353594440 456573902 66252558 77804724 402059736 505380772 257782470 450961072 493220622 978600496 630588348 176286352 107354908 72255814 853353588 425613752 397971644 845145790 535141824 26998100 176060124 105178512 67503702 755599252 116353378 307532574 689718006 931626038 643988312 377715842 478081724 22267726 334542010 272398846 64257898 493309092 17205428 575826848 257839180 445608256 426840084 495228068 389204162 84882220 738477420 227115964 202196858 432693190 276872164 399945626 924820802 502933160 261614252 900691544 604723356 620665304 245685608 869579674 311144586 754793682 314363848 689858790 806112092 517942984 622316400 315855602 774779174 496810676 599053404 630941982 764009730 624081104 385357700 43069038 475794318 120490334 211991458 493948994 736202714 597981680 885019100 617619442 885305356 454512566 780974124 494728014 471351672 709003860 370451988 52782688 957337560 551509670 535528100 733298406 724299888 761854996 897656266 408126322 206516222 636322894 531367344 837436898 795055936 572278896 761615536 805807150 464417494 790327470 894114228 712980186 690531058 391699466 295606756 917620976 430579628 115324966 631862840 241444372 510426122 918269228 981220394 214171356 555770746 87061966 818900816 594445412 989022030 427407958 755811542 955313018 690060896 583729072 137255504 803315988 529172764 304585022 220565148 396054702 361737452 492117974 473268242 801657206 568290030 224260998 678544790 971182860 88984884 435806564 688738056 92888528 636422022 322413634 636464890 474805850 704192 954169132 458209160 387127906 797015156 142838104 542022190 996256844 968281952 96761136 323581212 660230468 508841706 315749126 32027330 340895362 56229336 93665208 772432766 735703124 522247652 736082838 360695204 631448798 106697428 529062562 709182444 276860948 431044188 540064170 31386940 50994734 902176106 899624530 882832222 745791546 959757568 707963568 919130454 353240578 469392368 430494742 323527210 672469358 233278448 996247044 159701918 637860358 856237912 374682770 702184184 870114630 496981432 583630998 809123294 631451006 614120132 407774430 676163860 950794618 245727798 681958490 918911182 712512652 249675432 431641470 47961162 504943722 49098196 291141028 937714438 148846810 22125844 45286054 257916112 698708916 345138420 686527654 253846954 784537622 75278760 674840736 783877760 707582782 154656328 479374818 675864706 874251584 408554416 998204158 531693140 440975606 510354304 864333960 504898090 578669322 889257196 348118448 397536154 714397510 924824354 483710234 250514546 450399804 120157568 910476404 496284518 829578766 486507636 74808916 273343518 558191522 280342846 394570402 597937362 96501574 986505220 214583096 208805672 551725872 615841168 271696998 946713542 313041026 212470682 702523610 42748290 725727318 448080374 433897674 989353338 290140690 866914744 566935440 101570972 240663404 667949824 541398398 459140178 305345026 490066916 900232852 881887664 67123804 423357996 726200540 467248602 701301654 374117836 703736630 96922990 454361652 777985542 890300696 332916962 617752206 432326788 894330080 465364020 156287652 392811282 50681726 133120372 531652420 383901078 652217866 931057712 84034692 12611902 487408442 727088114 918821606 717226862 239267172 883633440 495436300 82940868 58566896 295856110 25048358 936159976 621104712 787062992 42080258 951344464 717664518 538460678 338794996 82959904 540304974 613462412 244402250 541731348 724407662 892865666 255500356 240008508 798837028 458521350 435228538 255834522 55022710 103953096 64960306 409503448 910189282 242082484 750879104 997277218 484504882 283025792 322603868 288897522 807260796 664490238 992878526 226068630 267225384 933956270 862196474 528322112 633021514 619776866 533736872 381911840 370966580 707430082 832023180 285269064 993951806 219824200 579441774 973973588 326910766 57069028 239957350 224086118 160906736 482963972 641430462 726679818 299560378 117221880 399581688 2508138 89986872 75767394 100333294 923163146 191355084 189766376 636757540 562791534 458349950 972971062 136815292 103365390 158132182 114425766 606587420 596691948 790291602 270986844 656055948 856959990 84558584 964729296 36057882 337453306 580285824 129742248 527603594 598898792 851656972 747048752 529967470 482500948 957936296 162941460 726048098 12962436 981494396 868254246 816786246 956637006 27850654 285424526 322643888 523719232 42472574 943098550 6254760 374216318 946076804 885342646 655681080 483168936 849013962 893878874 645121166 37820104 511417570 319129026 863223688 509868372 634200020 926319856 7313426 998107004 949720968 241703428 806458156 116851728 27577066 797567736 455585416 224990980 896667530 348500054 935613658 218561972 797772084 851864984 366645590 713496574 850077666 123379360 895604178 83413384 229084876 343397956 318276072 63408614 443580462 190722738 459421138 309751756 168506964 377501038 516198884 337961450 318927600 258272196 415161490 72848108 695466232 170733438 728890070 90224186 665905914 928904450 11699984 95608900 93915418 564949054 172607268 350561080 157076112 304156132 861393480 988838004 699125640 951809272 753362436 319979222 59215382 546295074 608790520 250502016 296438448 213789804 933278716 805730898 10774786 593089532 17483952 928675438 623127214 15635916 608989184 524889034 693319452 387409366 591960088 53331948 450552806 164253116 569113536 370894520 796306596 531370764 416709840 362149542 804317018 810254568 442608182 225653564 761399276 234971678 7209280 455580940 220946066 841693370 361341204 974084824 550772842 274131852 885704208 939162604 793605270 875399894 380010708 209635636 830342822 337023180 75773560 923510012 995874620 262833190 906885624 405842396 828467536 633815644 805122318 853955142 890490158 841716520 836427110 687217122 892626680 165704506 448273478 79860256 627480808 350344862 202233012 571022466 843876358 190941312 593045462 372896600 375264688 633649270 188469724 723261342 154530430 755451208 654943552 443729046 78101984 625255260 551378688 705890488 245717780 439497028 252421100 357838482 750141180 186073964 875423896 596236268 193808610 170408746 896410546 119421048 128053612 109128528 455970262 262419354 190321602 522663838 395553408 669832130 287921982 815493006 307189444 660546176 327192842 331491416 557052866 140374908 412574944 299390194 588614266 369832404 846251918 555879594 589036792 774488558 926719800 138589316 996074470 581717284 463788576 768675128 646166034 575913664 376091176 477147952 467272080 588410438 165775128 138502054 64074596 291719074 613361722 842507386 578058908 6630242 266861954 209109594 192489412 590887110 881758896 765637164 785460796 593459614 604573542 600231390 602499336 873982332 569088294 90041386 796731926 598230754 895935778 395103940 785723898 312225422 310969460 225440712 344983416 493988642 194342728 620146560 621414168 28912170 91484956 507038524 362083832 430259714 118613836 983327156 777198574 148634238 125161224 355794312 361262958 876977198 554717110 626682558 128896222 619179026 178638584 407749284 304172186 417705300 425884940 876357644 930657946 133750478 485501782 658876670 395322402 704028532 398048932 515122726 617142686 894572812 383718882 641708642 412451482 280861944 802450298 193858384 944559672 424623340 293469402 169721298 930558292 356783904 805241426 132926728 153383412 828475702 562624348 62419038 34195374 149661126 649417532 742168860 663606372 113096468 470683694 834116186 624393186 817338292 866987080 302342404 917445520 821886312 626044834 975208838 738813606 294221526 287574552 492220828 953614284 777720520 862111204 869418318 270247892 124866268 135375772 454516666 511236030 288663226 647074990 105654716 403183678 684457562 152637732 334007988 570298116 675813020 226955428 440571704 177985918 659931584 4632152 445923650 477856946 733674230 969056382 806264014 39616804 727744230 735166042 30260014 270273590 394941520 328513254 422372068 457652170 165983220 259867392 431485086 433281690 602009726 451879556 329568122 628491346 336516260 651403238 576212772 574114836 662139166 491382878 496322180 144854482 473180818 32645650 150204114 358847048 51095854 45219382 469018084 213199628 123012662 482902478 361622706 418172944 3221896 531921854 737517330 442342404 762244184 674981644 578996732 749607852 768155472 669045858 772865072 172765610 204478720 895965918 600417840 217783372 241509198 936287760 792528096 118922192 802238018 395161968 496650780 987523316 181972502 673329360 193420744 952428290 881784670 310724304 977387740 711173310 557206096 486756414 924344830 765484532 757269044 610063298 363561632 160440708 577356602 640149104 761945328 164286494 770071180 224926678 393694614 197464776 621114250 600202938 938343798 715483788 870609922 590568640 126794612 258985490 47052880 34507924 779057048 631002136 730462012 804753016 356739422 957109672 319402658 294729612 926498138 585510446 351173794 774663518 121739226 332646006 567588358 121012854 550989790 126269534 572132308 101491084 357183962 793646882 708460200 4822200 81396972 969011842 291074328 788424988 348471174 433830032 895312752 523182350 683365672 713761466 684402362 653724742 32975468 348409878 170670958 578875938 322269930 741730286 794453738 871460618 395325126 214382276 669736798 690974830 9874602 138434254 976700726 681482 995916492 922505250 214524706 974269162 498861240 257059444 244916038 856581526 107924972 474159824 865077322 35060360 651694118 892847020 672015380 826486728 883607112 968409960 872610320 207156072 403705246 589393982 395601438 501504478 36477098 559230934 388345586 111961148 937282990 175899326 539266516 807403784 47721980 459589210 961035324 988795860 372721274 75368916 418580734 436126252 460247172 333590146 237961454 846684880 601802016 81389814 163766012 81063208 687428510 712642086 423915074 386404838 198647362 892080916 590198260 183397922 727229682 159853442 953652278 321134114 858503786 297232260 511899514 67856686 166497038 295641464 527692868 411752326 532139436 172312844 82527760 308584638 495611646 440364504 175402604 311109506 481747814 56515188 349254164 456022012 857445284 983665676 651832976 868663656 852115964 843183282 573323966 934243676 913397522 674396332 548203426 579428132 535976364 750783678 402933910 576114230 932312814 962559060 223556840 383163564 246284776 126569694 935292696 449114130 280845564 417083858 529772600 255309102 174049902 777330116 158135582 285801108 480672026 668940 9254782 485863020 514936048 541677750 515754418 161648194 688287102 992055336 296585516 124116912 786747004 592460246 323885168 886400312 857470118 338705072 879280970 927897414 958053110 486023488 173693590 709084298 930677618 620702010 238736014 998058792 715676450 795366396 869602650 622090398 338136584 450525640 582790668 55390022 49413564 814081764 444131214 474594026 937138382 693189356 75422082 835205208 834896424 358147798 711439956 35766134 8293514 379982126 246127946 972231178 907767328 533955204 49817782 338894188 169912354 588284326 147102456 119917490 789776444 895355390 365866138 446591354 718940048 919802364 832980232 382299722 619877286 323934160 68845804 670128884 242588346 746047870 242239344 933864356 708190206 334580314 498962518 869942858 184503058 447841772 566655336 684580342 588739036 9230512 37423384 738443302 5353526 967410666 316000984 575792096 963233398 180789820 214862842 791633922 821751276 50565908 889444662 596699896 222943926 159096630 822326542 842325040 803375122 253960652 92277508 887666736 305524558 940499398 434971806 219858814 622004466 126125938 596427996 336041740 493374570 714373732 560148766 756305404 123579126 233810668 695532282 774019336 220076776 324290952 823354148 832624390 20612650 570971702 221111936 414733710 951084614 368863610 515700170 533367666 153379694 540378768 425051072 394587032 913888478 514795154 223978756 159601294 501330166 812035524 793213764 569043530 509763128 648185680 90023182 255871630 286800292 981234360 275825654 289605096 556409448 15273534 398738002 39331422 222660250 685726060 900699878 35229958 415683486 494384190 344315786 820762424 472831528 249250118 946374504 386525926 422915676 425789124 695763312 777327034 257927960 175598138 268711076 687611596 959630372 727889948 982882778 212903252 780692532 231386768 316862740 64201930 864910968 194843046 457427238 902042856 515419864 692150538 395253112 782175990 260458200 419058186 972035596 284095960 145044954 247826508 225330116 427835380 247453476 30597802 518582414 490103584 572746224 722061526 858942904 112441350 575630654 195721264 712976114 496401060 823630604 715151950 300007450 202438438 867167740 790536378 212196870 475353262 601335316 798273460 337470706 810758196 972832094 778646306 148445314 956148594 780549050 321432468 754119168 47911672 110297524 650414652 155814754 413400954 136946236 760299854 387760574 508858788 57156472 946476318 723850080 907184592 549668740 219478588 320135020 281781202 879958486 852929886 62998536 60546392 572242018 271949328 309690496 411848294 252342528 46321054 350316434 989473848 242862942 528018090 464295252 120062822 806643296 304136110 585721360 244115806 148748032 927672210 653563734 224328426 32160774 484450298 456605004 206521566 90800162 666983004 528223390 242965438 956028790 877949956 376809292 34364510 157473488 317923850 275136154 34007910 366079342 400804526 275826988 203998374 87149728 838142236 589182292 97322448 414450072 729511898 314969930 369197816 84695338 617040468 802688580 12901576 207359684 279562876 231449696 985578420 731159950 430071680 863562866 899384006 902324542 473858220 22220410 860460190 513804818 49448860 921167000 193379406 473318854 919209800 595908240 487964310 912967146 485066728 980580864 128357944 565737028 610510382 991188892 895196062 306385850 584717826 899509844 235975486 400039592 103691014 405769546 198800382 164695124 419190858 864732502 104166480 208134196 186218786 294298348 490536360 701390668 659288886 312074678 159797784 474117754 949345408 672108996 984010042 708236276 633314700 591789928 889771550 538145476 464467966 293502090 671701414 732863012 574919766 792984408 424436290 219220966 816518190 717897132 947594088 500167396 390396424 96856940 355763382 442718486 368598414 690110250 480910658 813789332 895502752 600717960 228784638 325300512 223654610 340705380 200358920 862495540 531331688 173709408 324706224 669153188 53782320 781831620 472186982 596546412 844622566 13728680 523192484 492060910 745641544 267675808 318660460 872009084 498454532 701717498 802719950 957715162 615032268 197782026 696514344 98620944 210698362 494897602 17252514 808057198 16793628 803881736 585213588 15036094 173491372 931178536 466500130 903570330 728995472 13753984 328642742 676983004 500354580 840089256 760364664 12907816 735964288 353969658 801386288 247892768 295313196 382180558 972250016 970898592 431197014 488641838 102575262 249896884 582082784 227762482 886792932 902904444 741715064 867680142 135871988 280788110 202902648 313179744 929532456 396269570 698414 217808426 15274864 556756272 543004564 456085582 547550492 693639440 9853036 169661354 950766544 697412626 362105018 252489626 206826946 200693636 302679472 877208854 420654484 739216314 125568068 114140280 316188892 982818562 868403398 533000342 874248542 824485670 478730136 165010300 226033322 386657376 29720324 86055602 850085272 401397736 465478240 179785962 546447528 987836156 481583412 988160038 583246362 322643766 737342020 370947928 561886220 529129324 934332538 752763446 709790942 577134508 89137920 202885568 489102182 530371054 79223886 522718956 885713384 321207868 71592534 371380052 31192074 893411470 65032270 197531924 952833490 355578892 804351204 371396186 156688114 162014730 903063112 33809732 599854724 789782790 790439016 772444406 468153894 541667518 83889010 880926528 441250042 932019050 642364064 4433138 225851390 530388806 437512072 414661772 301458118 923045204 891950594 179805728 6811776 573482202 300227478 968341688 454316874 809896268 52905648 345671456 600026092 366615730 250356272 905145990 890198850 9853128 844663646 213768600 881297142 889975608 871302284 375108158 544519288 575454084 551714900 526730286 60066712 281190878 753461040 986489030 164018456 366454880 689964152 900588236 357681170 767921848 956145248 928589222 105424314 805709942 743744348 247241942 386419888 143986104 222592332 245777276 857510868 86963582 954464492 611743366 639883834 5071772 360412228 405787568 155665478 268535644 878064500 901823032 102577118 243766342 81780234 813518722 815246712 445771756 640105752 958330408 80764482 213779858 516747516 757654990 348227646 630997914 548249226 127423996 382749296 995199900 863145244 354063428 125209100 222657232 293766292 240285546 483126126 799594326 686051962 408710558 724397810 762353466 656459926 841084304 714552386 346166480 758513374 506405354 380344200 793588300 180806302 19543586 644563026 419001472 550877470 335390220 742801440 843704382 839245516 490476382 925712740 558971524 657123526 873654882 704570994 247551988 27399336 50320884 169997276 703734450 460303152 708985542 854432412 495478584 507862316 601296808 428269842 249300618 302210080 148751864 394676472 961764036 553200404 471794622 617701292 464236332 16026954 913487906 738133436 722581936 91225236 912383848 302974164 391108742 735931454 550277302 505955276 315151138 603199436 371011380 169999886 470566598 57720226 31555860 610666454 324662526 176579892 457445106 574388084 388369100 779813096 155392108 757428568 736954476 326901864 930708760 110955824 570440832 715897994 938261998 576900554 231566306 504078846 7919284 583172448 726807926 979217766 979150334 692896700 43076374 298555926 992921428 918377588 406736410 429286350 621129148 328289622 378348368 606860064 971657350 404334752 668382344 738499020 742765848 836376498 892551260 445593618 124723370 627974844 366121652 301895282 630303048 316233352 246974990 188592472 53885926 151853916 394107996 842134554 971364726 145365946 402217474 683734258 851681286 50949592 246265924 214321050 434591592 477129764 666474252 89914888 639313964 735144134 499041200 14394010 76954888 697606954 638212000 785566296 753182678 735138618 421591096 175610112 287307586 778944280 655298984 590652498 912405192 933983260 299537240 606486058 14225328 105128038 662626184 558831556 536688522 22935530 560839962 942749770 256478644 617870526 326485938 717815468 944773142 653132964 99848466 451782204 428093948 899096552 623748394 39002830 427971092 19485588 845279964 121927848 328584762 876567064 229893492 878363808 351300030 947439938 466650866 249667940 141794878 939767134 300229788 15680400 766327108 609427142 146695330 923367936 641535256 926316396 198283296 357200842 53931782 206700300 515331388 233865204 732930854 312730852 393114730 998546492 937214642 877374472 809346308 974763088 479667942 806251050 566464314 973752884 487332536 108911082 486820796 511488208 121266522 461069604 898950644 802433648 135511634 940831132 737766080 467862318 459909842 928060726 464828320 254466432 850293132 410768210 963927538 117148464 685534500 413132978 307299930 319689826 768202364 62074286 384831048 464893380 884712180 231466300 248928262 319282314 319219610 166784174 230797848 476030756 354176690 693507450 704233942 392020840 874378140 455086622 247560522 590559300 243227272 422075662 51681068 448113464 350879314 649828034 616458520 308361024 556532386 658948126 682351958 564405966 930353230 704987280 984176706 681979396 69556212 419340474 664587788 117998260 765263836 166959374 474912096 771893258 492500856 521690716 889364320 662697114 336473080 507572686 460554676 21907914 93979932 403895938 491251216 801566720 648197684 638606722 916440670 633045026 599782702 503513764 512742804 114831636 370347058 472831442 303589554 316994116 891814588 950231050 865038586 494640438 229132206 72455988 244250046 645696104 655830514 517824442 720680034 661546780 60303020 928730344 50425732 465399650 489628374 611906488 265454444 349727054 933651830 779244778 424355680 309414388 404082942 898549850 964672670 747275622 297748126 531983858 107732882 707625004 868136780 45671954 495416550 753353478 233974228 579732714 140767976 774006708 538530378 808616710 238413632 256457088 308121284 195329558 918259678 887115962 181251840 468090138 474624848 542327484 496387520 808092490 311277882 318565320 203646746 658014842 476737278 13430662 58163722 571662280 560402742 955619582 505789532 538811050 707997020 749335222 738346622 245138712 381516288 9873082 776115488 196677164 608327942 469898560 129300892 608694936 180115656 535899282 738877582 951290560 476164362 31220216 498943638 71891794 393754614 121455442 6168958 122007304 360438580 79435120 42249752 735505434 631918914 470114882 83755700 312241216 536364186 104867700 7080240 873604560 71967250 712603992 839776110 735577430 206069532 979604702 441093536 327783894 511786190 430333638 493905728 390853840 599907430 508125982 546374888 613213036 833783940 9456462 201389476 156424812 613776320 725594632 550222716 59278632 451552428 152873840 142434032 143354218 85658718 416566138 367939240 548314134 494093348 731051314 665714080 50776734 361306198 219791472 376984314 84655328 371016378 951286390 102002490 359549262 308230248 669425610 746884528 685479608 349105558 327593928 33426818 409164884 888049798 284316954 748827584 759827810 653849052 742087708 466359008 766963406 397808636 622704010 400546062 908001126 743892124 138996946 672657364 217541168 652618760 92375302 661392258 772625340 248162828 576648906 263975418 217356850 889663622 431211672 842306518 768419894 766072380 739915924 571445106 947680742 35812296 400406894 474782278 725476798 186990506 339787004 14635148 190280472 854409234 61261934 311550390 467884584 819937472 814922358 858141350 763811248 425901038 636375390 280228582 874076242 587647928 59354250 73940382 35057294 961176792 946771690 621924086 293630236 414269318 450368134 471157340 842157602 139324246 234638322 803431950 813627938 244593900 608537746 39751708 667676248 189060102 867921818 206644126 261162522 922917836 359629442 783260352 161901574 751264994 208170642 993786040 976533520 619906838 589747128 555868936 530520974 203470656 1238294 901657804 91844082 841690190 906803072 298678198 833737560 946529300 651678374 88942266 43072324 449281310 288111904 99013058 204173262 65655596 336974650 167643348 706107718 987599912 276685196 48345174 733079148 858350698 493076500 141298096 196016180 611911072 699631074 827427424 382705442 268868314 634476930 139505176 940990422 200709940 208276976 208937278 386734788 879849658 684524736 691071094 441896154 817242296 799884314 296343042 113588524 195834432 775248322 950038608 328557408 960031098 920711678 514463382 630324506 753150878 880941044 875085914 160058678 806322008 58347338 421798114 378482782 115189502 698041378 638372266 151651788 74655978 203654518 852329962 655531378 597245714 246567594 230088040 906576198 527279422 322768624 302361916 502368246 246339488 663488358 467777584 444681198 246413176 860064620 991729192 560676120 273924598 766891520 526476978 347971238 191964294 830661800 626928842 761494104 913911862 712716286 65318048 288439268 932255182 912281652 544776062 547533074 939359988 444732832 728070174 284540978 876724194 834160796 879078530 821178014 116678768 297653454 122430354 160119174 564769444 208707564 785685134 31534710 214866392 782502176 588004116 913650412 835480860 790901920 44102952 87713272 550538624 662221446 340515886 296838932 217164492 607120408 698508400 771061174 385464206 273980116 447203564 110276564 866154726 413706534 796948668 611696746 749706008 586099102 51223268 567927766 472720512 416519754 674781622 434526842 44033312 995573692 318166858 596116154 923682876 542654818 510570930 43340294 357349314 170906380 367036208 479212732 797959234 410832296 930480028 813124282 632218204 307748410 460802246 223036772 749704928 830405050 17392680 628483634 751456194 441019136 631614800 938327608 355246304 195563548 220009858 221824442 428432884 562106946 728089122 831492080 463589784 176970524 868658674 127048450 668553050 924881666 222666868 303586848 49017154 672812188 857349912 241352140 659209480 65478688 807573832 647961156 819309232 813613416 371011056 541997764 960789472 389207510 194180404 421400038 358068586 856552564 95567208 538262620 754517040 430833048 179727958 181398410 704175516 169272606 471781124 770736560 629889862 691596114 202982008 952023324 103073640 52187742 561263886 260961456 880082812 839154326 156739802 502954894 564604244 168433524 788064344 681068774 948330960 149921672 99559090 140055750 211013690 741379742 891645524 671629702 19561142 76183192 574152242 208183424 608577066 976493954 769222646 293652658 240657530 686182486 134058118 302725028 925553140 747747122 196324536 398179978 826589572 218941242 966759744 103450332 231435944 314447528 172027858 395835882 184695852 916575024 8509828 283138838 314783054 478589428 962952388 882218148 599917952 970257812 761235640 398565790 988181020 916423516 215663460 250977736 584118820 42780428 77556254 342312394 7858896 197354236 689026996 307066342 310457884 851253500 854458606 544989416 183382350 85140720 961234858 756444206 634114458 276774858 221817366 924424962 590797140 8204734 674327878 616365806 534898176 320255092 81121126 646364514 650534666 411656246 27182658 317964620 209608914 920016924 764333792 490102942 373813500 485380972 522233352 992812528 506766786 72183920 808536544 720123350 705926832 450964832 671268004 473155332 812772896 66385526 726705072 595775560 216874116 920289648 64937942 138573724 415920124 724767990 23767950 463800938 794297806 296569126 509496586 614675966 955241966 413063732 562485900 655108242 316722992 215439034 402845356 30452324 508317908 248951668 383285608 835198144 749471010 443844534 235052920 461042706 235331976 162388808 528094180 446216608 948790586 183783352 844037148 801926964 742469002 957081048 763863552 319216508 584783128 368317904 217474666 909691192 211216792 498906438 737640674 325658598 796224960 959492570 727720778 57946378 163343526 279331954 716760454 71974504 457443578 627708810 985984156 920313580 532825350 462030706 486572256 448801780 766004440 730728418 467592158 994082568 251981088 371613418 802806644 326330998 263926262 154476192 491822120 50540990 648422120 803973666 515685844 834844392 591970636 382537984 966364352 938011086 680475932 707366112 231339600 84755514 823545300 260330188 697837784 725593856 749978312 131615494 294372674 2519680 192944834 408748690 350864676 850518828 808858046 888836662 521183008 654622982 192771090 115034296 15285228 994097648 534433948 117005002 213250924 844736228 643593428 122023724 159607188 413509000 694286972 385096608 553023004 453562174 577231570 476196438 61052770 887740252 366326746 191057042 883619836 812765568 76641998 896440762 962598792 847337422 701588046 465420726 364814878 108703630 748807516 649465010 891306416 245656142 84818474 97706652 519889538 859586334 697546432 469117694 139992372 133182814 622497358 452182268 1454980 606796396 200966572 237811470 920076672 960689032 832962596 106941378 759682402 806534798 745711900 144819356 2746928 598186648 24915496 399303736 508631190 712013780 771969566 647136404 101356344 433390760 303267162 517742838 7957866 254115018 756955398 228469220 574520704 480362384 347932004 157844650 42276812 642801546 850562878 624263532 234469068 99755404 110924748 201667454 499331880 596276528 171570244 417792416 314423244 172509124 319136698 253677704 534362364 459514344 214213090 283839286 131843228 841537490 975525954 859507022 357917394 758136914 579256118 123411970 989697160 412276888 330063240 15893832 627949572 64009652 968922832 536276072 688777706 51864236 958090476 880218656 619244838 941247424 987134320 738065128 438931914 447542586 583884586 524161472 333253290 111921710 78669270 94243764 567539800 750195828 965464028 739347222 144277834 25394 325574460 76531840 651971282 104433968 166070468 692471672 838622530 596137240 430021702 437105656 535424142 821347954 463107674 828765244 683753980 255139734 952989848 420770452 955349814 742531688 270610202 369541222 634558006 224462616 802075176 976871080 66906618 911631580 895716790 696946982 644281864 116422424 194458638 294717878 981097226 897722350 652327144 735542276 277741566 167998654 119885992 129671576 801067116 874903506 773020794 761385662 587874384 71893618 853103180 377038828 441161516 102254030 511093674 741700458 18137108 627823356 950355140 772810824 808996790 519599710 899688340 392813162 409121804 646794838 202582262 111089618 994027578 256077184 970252088 635951858 2671224 853691536 473078108 324137164 826629314 785638448 158164170 534995018 276740982 320764370 761461068 351593202 972053358 661990824 995853364 625299066 499831992 489667732 899138308 152474958 363082792 364953650 960019912 196035912 877285216 840285324 290193428 153721954 349888396 299058624 320167188 598599594 966171432 900372402 277318226 549040324 390570736 47620370 838077168 631013202 980672556 217670068 830576354 390718028 319297238 136861870 841137640 996480654 309407440 670502640 509682170 632955576 920834950 884454202 143320410 72094224 709022790 495483096 926407198 972262310 221502286 47176842 315593058 728581094 797819454 466727144 817467444 751637920 255468048 726475592 937097014 267928662 969466238 752891066 294584552 882421190 622861270 805305978 203790854 705177860 133751314 677989502 175681172 304567578 479818384 2508706 637869954 866247018 300820790 80853038 887679332 320727848 875512450 701938696 842844294 883355314 21843032 622171452 48534672 406469404 297840586 881437086 174179094 937752124 612050950 744722992 608841402 39872934 222502534 169638598 113388072 789099486 259014222 300968288 876492568 550119388 187065938 958430336 927282930 7010840 819687966 796055974 203179364 712043862 177614720 825375872 231681564 685571428 178622934 335175334 180394274 137453000 677427382 970277072 851252820 845555746 650731706 112449996 615324790 706912944 287103400 733181822 251500358 967722210 555037892 719792394 103049336 518923730 706902992 663939180 262122680 859535712 546405374 446711736 722725986 626084358 383219922 969089446 709300106 423781940 305485362 630580952 394859276 201657700 984577036 324046590 255966214 274704192 975277336 809102042 918981082 861147136 498658116 123579054 788288150 572693518 748817866 738933872 827996002 96506306 314666392 282077518 452074310 960043942 708192252 111123940 491883380 434689404 829107750 129842500 167469072 196592574 641586480 790559436 79307146 80730344 109343800 547549442 90776264 440917820 770571166 653693668 840494756 641004328 852831792 32230352 808580724 410208438 288620110 173382750 271390188 461706570 450951072 488515660 447443816 594943488 867824136 881042146 105170348 333641232 333681586 361040804 278533370 420873874 317149188 507470064 151251484 409590024 292098232 553347260 702376904 660070666 785948104 231218200 18372262 423297718 915317700 883767364 540971082 480874134 71283442 162832276 528663876 280030002 512470126 864045400 626580256 234793796 712524408 50430422 526079050 322467214 868964514 245889318 164263800 704034552 235852176 499341110 414957460 594336358 986070674 990808604 673094720 375570234 274400960 358595458 532934286 32515462 846039824 485735036 108776810 140173650 122008276 410972106 218107164 348610742 312200146 368518128 548597520 464511070 230450118 281764782 756248252 592349644 173486452 55033136 583937662 948720306 180684710 860162138 765117818 673053070 633991410 854578714 258761280 356824588 764574192 554942750 286850022 647159512 879153714 215922394 254384356 83967650 251674250 161686896 959629428 892582464 683819446 110640612 797968052 730620290 699110590 996422802 708173700 1762026 619619296 404041864 570425810 893923870 95660536 863880646 751912678 367627396 791499402 211715618 411926036 272782416 942506724 2771940 813165332 438759438 932724998 847454814 33330316 385968510 841741532 353165512 283108366 615647768 998732972 45556660 449584924 370333628 315692980 365570496 665936996 880996864 438150460 943521672 855022052 971923800 766137356 321246964 523820250 532665060 897229844 49586560 752783710 960384912 932564228 665658556 763627486 393027262 490149050 38399744 940064520 105939738 806521274 626862694 221223488 505387578 943827140 330118872 562847646 977312236 385007936 479002300 396758730 9874688 594264600 65145854 832599522 485197420 771461410 568138764 772072928 654326074 174673306 327301588 261223906 171422452 183640596 740500334 751570352 240134950 973080704 516868130 57965020 241986078 641036160 641819640 630235252 734630428 378575332 858164958 931706020 285732470 610318508 904210788 344580182 497028470 769086488 655469812 668382032 391280846 457134540 622878920 190739910 12163950 610707650 781929602 219183326 1197846 372787910 643279354 473948072 600750656 644605746 684692494 308090818 627922638 925263218 153610464 852803358 727627156 785817354 738779130 830693914 466062884 480228932 528251282 930132250 224557638 463494218 248977998 618380226 742641190 196557054 619482428 735053426 423627604 877115018 357234256 679051846 512393364 719047180 299599180 699232462 346039440 664112550 142025016 849050870 407608766 393746166 324204130 163849482 763333176 532377742 504593072 425476478 833719890 654198758 638855326 483067936 924745586 821544646 518939644 502453976 697274092 898343800 572472740 666967324 70007898 894589712 871701158 254730660 82737932 819187490 22656546 27343540 6658756 832930106 793672246 700965186 408179434 522928242 316672800 53979294 48135776 455940076 364309804 446221210 754437200 882486696 821080922 134914506 979993456 813772660 11743750 555125680 489537004 250503146 700828234 267323024 346636048 938583040 997621982 971528582 72648480 415376454 630461890 831678626 999342192 771605370 384433764 362154020 752567960 92409960 269161100 885883526 424248964 373425338 816611386 736334010 385684564 796687524 608702768 926032602 374454062 990047882 69571998 315844610 638179830 113680698 674942678 655670570 107542124 220875088 727500634 340642 203566264 391130728 685914178 89027682 143101494 424604566 263262312 242489236 33210344 960797724 918169612 184312608 337328206 661313624 446749106 301038620 691921626 821613302 209639842 858779788 616955294 237338616 836610294 10177346 182231414 276370792 534964962 101015798 511194802 786975190 973741080 610562978 131496922 352564662 574435002 891879164 59126884 222120636 39498140 646374548 814683538 900932094 311658854 261808606 356349464 145512740 430566748 772438696 459987178 829735420 946807306 895169168 150661714 432185376 642427246 218522516 869372324 95920274 356471528 462245080 548047690 720391384 32688834 673804522 112422522 286354160 4908692 438546740 656319982 641654098 394991416 420823128 290137900 996340132 234899680 526243760 599251598 929439960 942777188 506643454 101720734 537303892 512411230 748583714 636007128 733029900 690127630 31563732 909677208 863332442 133949080 659083878 351426 40301634 570538400 71225576 378408524 235670560 898800630 784317892 381994040 93756026 360940282 146882216 825615832 590535988 568297470 729250096 397827592 31942656 679133502 346916752 50842002 62594164 954376814 13341842 384201938 366689606 73439820 712431704 325708972 771246182 621877570 325153796 537882798 19895588 712166404 646317352 910806298 425089470 426246366 618948342 869712168 924343412 685090840 998249062 74511868 696849226 66428360 37009178 743024784 982819186 869526146 124315514 776110810 927430936 233501976 785189094 451649928 284883680 962796540 281880402 557644956 374935170 507382606 129730990 594082888 2465824 803395482 882065628 105529782 114029154 938944254 651519610 784380844 129219498 887025612 673924220 822656248 199673394 581862504 502325272 546323336 809153484 760567636 326737514 362534450 277448352 356991728 784311112 16576038 228865968 304364232 583961964 642148478 694287926 960054788 963858286 586869796 873679106 502192102 959426778 526600142 311864726 795706246 741119248 116902322 299509574 517573070 157954318 966680114 683006286 184280908 102652036 911719840 664182968 135534322 118925672 377421430 236799624 108344428 892735272 122351296 544068486 962349460 20402954 91465528 91425024 837365176 895812540 591061806 465237530 551670986 607224098 551764606 115604640 889743804 494330700 590627590 340639962 523778306 362915656 777811048 507198864 941470220 65059532 943266072 898817100 439577322 720252192 201734834 700787946 788968592 13800494 889721292 225076472 66936434 478090430 206297218 227666954 870287540 352758094 760811134 33702402 658660648 309823936 134687700 675442824 300902076 619557090 522097634 450536882 339183878 295263734 205119674 132744896 788001614 465620370 444681870 501989522 180862570 112946660 58451400 602714256 660409454 359704852 951032844 598364926 520790482 611702442 360503210 623677218 607848544 43451060 868026164 245443414 707442304 251717256 42869370 639641718 191330818 888708176 928825446 281433906 112705604 588932400 595248890 843844034 365783056 964712862 362696782 885100854 536415874 323684936 54161226 369105440 705623632 471186760 743458522 295194910 917272354 635099212 743697420 905599894 52401812 823928684 255766294 100384952 388461416 57666884 40642150 729676844 666162944 537392434 920998364 782559880 266442308 550371644 171071032 936680540 344483936 634238618 17624044 635657040 196091420 752420980 942373666 655601012 795141210 524730438 973892422 348874136 500781432 917823766 830279302 360744070 575602946 526112352 330795854 702229014 574371922 923710874 721482548 884938868 254661416 759659046 791696198 868207020 616088 773142808 600123036 938235728 476813610 368628254 2635908 220716082 639347510 552264950 533502034 626770760 851853176 178930468 381797574 434800426 492670710 41546332 909397262 150958342 356250506 457205876 281740196 344506866 82164762 234904072 489387202 958189940 441828440 151964348 643248396 462039864 897250348 152287264 210304368 801119298 669092006 121811168 587654228 793218024 475048388 37801078 732140014 830190258 267027536 465079276 736572786 650248190 196602208 808995040 564720486 898984360 311730948 888217914 205932506 313565012 529846234 35818116 351597832 404332056 235320304 47702412 459888296 691936512 366136554 275278066 775132386 857328580 922455812 971901238 228218242 252805446 147963200 498876906 263010464 721924616 483808698 383677672 350546062 69792032 752091216 412378720 386636256 255017154 904244606 242168036 88435168 389140910 155446098 604508668 377933622 921077780 984132308 902197982 600109364 431640936 805683800 734475646 551935746 251922624 506490178 926349422 587884912 251680486 114168526 446615852 789237880 920000268 108864706 108308512 657629466 455108432 647562416 937566960 907955472 746017906 129130208 648406000 180834550 436810614 656132040 864041900 217451714 834859752 949972254 212713018 154885170 798463076 967305546 592836122 227321146 109413714 762246048 543217040 365154764 88932094 738157102 815520020 234784446 931509736 4241234 885006124 963061328 404792630 235051366 688536366 439099630 311605184 468197000 165674854 63936338 261750300 770468986 861776468 206687720 708738340 226912490 539242522 501093108 940597236 224059672 560272098 220419930 739609990 679384642 605005346 999908134 920108032 615346494 375976014 578425014 230672862 533009720 650654018 572409316 329213502 760532534 481012304 84802394 131615900 884601874 36249252 159977302 834892864 222646140 82600796 480709480 491562344 444086414 426885790 510534276 977650668 724496858 654700128 773367020 825758784 835289676 755398754 327014410 618779062 947144044 912511996 743782018 543113106 67739392 4433050 797989972 745342622 118047490 617917230 908365896 580708510 192799508 14111110 916216318 819714084 789558332 963072080 460753852 544588626 613261778 422183582 994056710 106020004 755401950 812312672 250088876 9785486 246182348 411937152 585627128 376518486 12655652 359655088 130341234 533511238 474988126 512932944 70307928 80386510 542046280 301814186 941809714 266462314 470037490 360316592 69386082 447881296 97926924 669504582 574872920 832323196 188910920 412107370 572588622 581100216 827751500 452430300 693727372 712051880 58473498 422416960 717513450 827425568 741183822 274129988 218504878 532710086 755681430 749491298 479624436 716761668 247443292 307496254 290569692 400598640 766387048 329289202 168780772 767297174 513876618 107941932 929898664 339548388 803805680 789596628 779087086 59409860 633848384 758704316 428286622 275860532 404337254 714604204 974930444 372040634 615753650 343830768 231930416 205710394 382497182 414977234 222705314 43486894 196715280 699382878 126666968 177160750 189262824 696657854 742418566 524301038 668179816 555139278 488022858 749079944 923480918 783901502 772037796 462582220 729766590 491729030 260777098 190725876 766087838 766213748 442598096 347736760 32978566 585465050 69559022 28921548 731800212 717210986 627117568 895753770 976706012 547883658 157019954 200614598 773664956 726184092 392500036 460258816 838988854 249823636 65737094 808154038 502927312 542446128 967780912 64864686 948419498 141015320 372032132 692812292 917521114 658135144 446048556 960133376 377808966 156384658 373561100 811051288 359959568 574837576 990478844 31854302 837600862 727790740 765813476 232413736 123870418 127323408 877896670 967442896 391896364 863464650 363306538 769435576 695840472 777135400 758469444 673074002 843161940 421638800 951253174 749362470 740037182 243646942 389563236 218833142 21294840 365807964 492033888 150698606 147623422 297511330 352222142 888715506 670698558 426782182 654033396 198294152 213106348 54915510 896323100 914489230 210629766 856880124 737972450 266343762 349008424 967113992 475558398 516662534 506465214 443777264 371808086 231506194 198838952 221884338 451597794 307476072 809858420 504214436 299186906 384872712 495040252 666779884 763152420 733945628 718316448 357754434 463979880 430088550 71693622 211757846 618571382 299912464 139476332 341414330 228967274 681397692 404556396 600976400 318301492 664422310 967650832 549439464 281710074 109227030 497041358 800208894 850348512 451585580 786992368 426937696 6745488 428076174 442488008 973642446 706119472 616707894 904748074 978156026 899436172 372840218 680821498 536519694 288449302 904246448 975337138 91275014 361386258 940545872 688233392 783622672 718659110 471722816 877564636 117805446 902405634 887130372 301723978 655697806 640144392 770766758 791832890 249559154 159546810 60904490 196174628 946045788 843530752 39716522 960692492 469759174 47322992 653300716 66297906 800055034 700135110 38244614 967031694 110812626 548504880 692996016 103212610 190808782 942819666 424844322 322928538 395402720 292570104 753541832 49334292 595732864 992483448 339797602 652574730 100629754 826339686 501398114 89039764 525577204 742977058 238595864 545767460 420750492 70238014 611633160 916259622 554181922 427636838 994909460 926153620 109614370 687206100 932227936 541367656 680461012 4361778 186796860 438935872 691854142 727891658 165475366 18352272 907219368 281594512 130783128 670971970 97899932 446180506 178464086 981571698 612726602 89596390 154641330 429818330 570847790 918517834 532215258 165984030 133602098 953149134 602937742 813653220 102546496 384887212 750288060 375159990 780281368 373566082 231115210 232249724 49842714 561354092 273796158 53405624 306928744 308593958 422660558 822305616 911941634 179444394 939030950 884622430 523427450 135635140 564978426 554363760 76772776 29330062 631276284 150748284 161851904 199371450 759746026 35021046 637088290 331243536 590417294 917169358 947970094 35005676 686056864 57503402 153783718 151275042 306567728 725796248 926520346 738139362 454183758 417388936 799841786 747668522 233900484 623767772 374893616 576919276 603577900 404514352 301142184 198946644 48857362 210298904 417127012 313596366 848820990 353845822 588713520 529633932 519201388 300294824 423028178 155177548 374003756 780379352 297876526 699836960 746454746 967659640 894499080 420875450 460313996 484768952 780510718 253602222 307338732 775408638 697599852 441056092 573356724 524258082 483547226 595122172 213750766 846169612 270342506 824819412 731356568 833812190 166674824 499735810 386607538 189233180 350884996 107329940 686329322 672821600 457082082 262121424 117582932 217021428 470437304 937878218 915409734 619153602 363422804 130934690 827850148 682223004 764239060 433528226 976131782 829405428 71417068 85884842 460251842 319598308 377640994 730686268 474796500 412178054 779369944 474053606 883408494 588601216 757690464 952671948 772000348 398610140 623559706 968224278 642992038 813114026 223419668 800111220 168198590 435692012 195641712 185894700 786504982 180822822 339891604 139181620 754444098 205964824 439060530 538990476 436872646 45593686 147027856 810042090 506776802 363816068 7363054 594021176 376921698 613387684 733416210 37571616 995826020 866892998 904125774 561157090 718209566 150079748 199028102 565240424 706718892 153348436 448386480 220002964 427894378 454900646 309069594 721505364 812573968 522906794 762595880 183476574 47975270 892765196 389198968 565450476 938061578 866044426 449093146 935287632 935086374 110653698 950714030 566772864 425146782 20327520 288507718 699958352 24637444 692891182 113256574 980210928 949315128 505116216 494725888 799795264 889686442 526137764 779072022 733712104 486780604 903564074 423028440 968673800 921459012 107766822 200793962 568505858 736143346 96377310 509567488 502198722 462967592 743854850 904896638 325677198 3101610 127252976 86883298 47943106 454871496 929433282 43633800 190069154 787737924 830330282 436427328 37692254 328920492 934034218 674265974 809371314 427836464 694621394 863616490 68094324 102633654 157099376 838867502 472337258 223589400 23093174 59648170 814442110 323320566 480540706 836308896 619851686 451934862 589489692 744002900 437625336 890779396 373047780 537370082 814742682 485929950 76888440 435288694 482034326 17496798 3173372 551782078 905306886 168046092 562105020 499793462 571700536 730350982 149481556 751248690 65657030 267112058 496432584 395968214 572459436 762264416 900320464 93298208 65201500 667813168 912308150 243965744 669797880 850077774 707860450 781020200 815687888 268994204 248843638 224517344 661202622 194500324 349735328 255353194 163453064 38637474 287055956 56584030 29379830 596877158 54370622 290800978 975582390 168416544 945065220 332035316 185118072 23585844 612577652 497414212 944095908 196503000 858548118 735826376 702300580 860897378 802066066 578817228 103630876 228532524 29228994 587168128 85632308 396345312 923023982 592821016 905991960 151304918 409773698 99130024 689373584 933908670 449214858 342268776 660616684 271983198 572400272 715319484 406548024 395016590 185039516 160218918 337715360 660950620 326580414 986333148 321922630 14258884 688856374 730779808 249191632 916072540 811032058 167703320 52798838 161992862 930692414 228817514 810495706 692902738 400697804 942477252 848506738 632364094 490214200 402828434 82801788 834163542 649540660 755105570 957914990 201641434 6414134 982487308 896701532 191091372 714964380 909339458 686356548 803489074 101748808 364231792 503055062 410711512 122586726 60315068 921107794 65008498 270677472 318497194 23865694 529685818 3886742 316102328 562291162 368480644 308480814 85945198 785883366 817384344 849782270 379369540 925414510 396241956 796247836 672638492 969045752 101283628 61274916 869342106 546448710 904528118 321513550 368789074 846675740 136186836 869085832 241089044 967615282 857420310 460883818 7717030 565306182 857283066 543994328 793065362 712267380 303656118 393229834 309714646 324432620 432268304 776223008 210029114 724219574 482719738 998523416 877551302 388302934 300460240 544948792 269866076 660975754 570423324 86710608 826752388 470476584 551217568 521224288 998209488 995132520 354670366 658688446 650150724 819659852 460669470 440971226 588537718 555896576 767717000 150245268 835576674 547820466 837736818 85723702 695592538 965513696 856002182 968730088 784377444 825123546 335853554 231516228 157767800 589171886 764822244 219067274 2587792 432052104 124692358 27642346 151490562 108950188 524687234 606094634 737191866 749771642 320365214 626341870 932075122 375190352 531131116 330939026 127587622 595428144 314745674 251171980 836555216 38948290 824338846 189957174 42912726 904536894 272185756 777068210 434317618 897060902 882857854 191840654 446928022 459248484 635603402 538717726 833673250 946640690 555071322 232618464 687438922 424681330 510304600 924488980 615707480 252340252 328064368 507726808 963796936 239594926 409216260 233697404 414827674 872469202 515296128 582953716 602065018 408282972 60275304 613222584 130433718 789772130 200605756 110474898 200779224 476459874 183091420 145692292 152785184 882411774 373984592 661510258 35369722 354977030 986269084 128849886 50831824 312740786 117852856 7253824 376515366 54145312 281181832 288709688 620259032 417994912 829578814 140934138 779331650 799796424 473106846 414842584 523663294 833634342 576311510 285422394 388489828 811221236 451522580 389737918 164047290 789963852 723888506 302192532 742870210 498943998 466192306 426975392 787726962 61978402 645010598 532876816 654099190 928559396 402796302 616362030 917961838 764428884 880079798 40110786 746175504 990533308 882138344 482436016 663270514 699886130 184829630 26379166 507725182 71596512 700875628 49045432 723384840 136959176 289932230 327614322 600541234 966303140 212040510 623832248 126940096 284586010 194441014 865328914 254737200 900607394 556388638 524963074 372560626 42049724 463557504 572586592 371764884 105891760 299067492 808454982 504781558 599694084 89621840 390516620 671344568 758378200 103897570 781891392 97230970 666883098 550047036 808369506 4078294 206593730 556931760 165443192 902344622 929286170 859597042 781194722 665858178 776216500 128958876 199658024 123015218 728768718 801960512 281317334 883760174 580608066 261439322 900429566 187312518 683594658 941755106 803400348 145135898 416446034 293662336 124265366 967331784 947352992 666585710 674873182 287687478 337703550 116739598 752596968 675908760 448480130 87154300 802121348 239015782 481471282 921716724 756540128 805158506 539050068 185327636 614261916 997035498 426750060 433678126 200453376 775612938 410715470 45639264 399521180 530719196 343745762 874043076 794950078 40820630 786926296 33558088 136461774 351265128 327699010 170690034 829339374 259304134 869912836 465120994 501023156 301243982 408510038 992831820 33083608 134310232 583062286 351009416 460763452 96509150 658182536 690128152 721895388 993327414 799017042 617290510 833823730 864640752 198581504 986928654 428095470 320076378 484738486 497339778 612900284 730854516 314708706 596316802 141897670 3359618 539674756 326484632 926995328 196292364 721656892 87576038 109200084 154498142 942312220 462460872 138956784 359312624 538902782 479336756 666318608 892960360 645314024 957275590 459932122 728613912 572499650 840259840 680865760 54972274 587391718 487289712 609416106 67708096 424556442 666676366 426698678 916157158 571169202 758871524 687875058 161326748 426669738 728833802 385331188 840729612 984235978 690084016 370790106 402472060 92689990 580119718 301128618 827980362 837168342 75266334 275679454 9116574 606811750 64707466 228972744 784902738 296710208 521440640 150862942 222518524 663015526 55871900 780777414 599299790 212905798 960433426 480267670 593901996 994930376 618669258 186595026 508424196 409549764 246900170 876930990 172516402 880307898 639160998 298333786 732377398 870997428 433260582 943216094 526997848 953208046 274471684 418389158 953045568 888642254 642069498 502825100 826060910 648257804 567793508 755401912 962494676 698886622 870110782 527387594 689819890 408846722 873848760 233380286 255473858 612709102 320484350 950369184 148236418 555022518 688235322 655968180 224674148 578491432 155612712 929878308 110945698 537386508 172012160 423187326 954941370 921488548 401438104 645367854 901778452 469760936 720836300 360190810 91930298 6807210 120006578 872335710 959955952 292303566 89421406 995638690 341006412 770940060 733429212 5454332 927433996 802110104 536795728 288799742 819008432 773992962 671287432 743022794 643711598 670960440 260141396 605404912 500807776 431160634 841429832 143341836 975690174 955906440 768488208 34332458 466932208 293918668 672202194 219453094 887775170 250006344 194845254 40489456 245955520 726742238 866632874 30603080 324568600 462557678 436302316 443492546 676542654 404355660 202632682 448197618 821708044 896083578 705234270 15058130 468779732 733802490 472737698 25740126 918432204 254728544 803413922 198372794 580580172 865766996 981669602 924739478 735912454 230492780 61634168 930578044 663510544 324680046 530301188 284442960 231477068 364780554 503478902 140114878 103621970 253203508 659581404 77293374 811409596 564886598 543060720 90088086 118023614 232735396 120500104 272418466 386328802 993721738 576421694 370446658 86379134 39684484 975261770 100750210 900829494 872029254 971170430 361142312 116858076 83347370 652580728 125821812 116438898 248795790 224430380 839249468 338040748 27086488 977130376 420684620 846061116 626638696 296329190 70606054 907120490 622498336 857620626 489195882 143483812 417761202 96380588 455106398 565398544 894073372 488595360 89158834 120814036 898385530 213705038 503293670 800431682 948776850 593389534 986016120 817005210 271548290 373732710 618448370 319661254 57916660 722466242 788566862 95295046 380500716 515828038 657159460 500829814 728555936 52024798 600925312 110350192 774647854 955447928 968853676 960603018 518116908 199172838 366126992 176999204 216971046 819129538 707172074 745907672 512564820 412244170 345846604 98037550 220253954 816637280 181517730 9151206 439180046 465207414 798639338 934864264 552440356 279751204 953844266 386851676 834328506 72148400 109976230 962469884 21211582 679132542 837906628 749598408 153564502 313119190 789129516 127843976 99883414 265860750 84069948 91084112 833171412 372700216 883297108 999614428 35289670 807557172 27836128 680646220 875478854 621278894 538860810 849022452 808558614 596650776 801689544 106234050 744543552 803233160 172889460 761841388 844659216 42875622 62372198 872117862 464100608 625481604 484760408 196574346 365134732 884637244 768852656 493636642 46547016 648819882 338651816 888225554 209958290 314315302 863642104 475142204 847318510 573300150 183909722 408993284 891562470 271053710 138387874 648585438 206367106 732211350 922562730 409137424 555099580 73116060 123605750 177322348 119958376 27367702 345411964 29509546 875758134 751731930 699515542 704950320 297316802 568747202 771998558 506591360 282709510 831808624 639445534 686605184 894561032 341143352 535242288 889785064 201982160 944311254 285811606 711057292 444472044 185843024 490119876 704795742 460077292 495778292 42978884 616339930 995209746 842309680 500462746 403904728 929478474 858093708 500208110 847780576 673704640 187174738 77274162 27221914 421232722 252416566 658456288 284694582 682922860 502794172 604789598 319228670 572540724 129344366 86099720 461941652 226889658 105918402 129663284 665141914 838093876 796311150 175458670 935232382 734815234 24304280 753983190 214400648 211658612 7018710 89568424 547256576 83932026 687036186 218015966 176409184 793782204 456021658 235183268 450727076 574503968 860451366 457290632 816049806 547096358 233929250 259158872 190061108 829801184 686719982 64732534 537611838 473352952 238452456 853851408 558436182 675265612 355988086 575289440 610589562 156394936 426120420 530984214 870555542 325142906 947514420 377210070 421786854 710441512 200075800 542413840 54531554 485841306 122544844 287728706 584121338 839047864 268467404 712066852 930177620 482785670 93345352 595492972 294379044 613811408 314675444 48380958 568804866 699291368 63295490 212351482 834264812 853595354 261488130 391073268 12983706 501191026 193494174 535217406 931923300 948580362 920159248 212933306 17096384 386359184 242859860 90347902 410746928 772582338 990166860 865904532 855705110 147189666 517881246 181943132 86217752 341525300 411767524 914737234 940047928 768190802 353714604 570368612 493081608 81005500 913592600 455943616 220086740 372401080 72508604 865288080 737400214 352146678 650715978 190962994 39372342 853563828 867900270 356693226 524818486 168709888 246615126 789748750 316548358 518546612 134475160 671998986 549708348 116176984 796425708 933704732 373854950 421259708 870733832 487482898 428475712 796762662 807508976 927368582 736689954 815036434 220518014 524119746 118034850 751516740 540630884 763602956 816303708 132853222 38115868 356313446 908677980 937805390 126513042 123991490 405132198 41695354 313626828 46714754 169093098 88541438 721569866 246578738 666335412 84475908 214533908 797682520 381825730 945684486 132335228 865076462 863009648 203823362 470763394 545299200 755312068 977311270 828750762 559376214 681957242 271905744 334500706 813049450 678318650 428400260 680550042 453175502 272398864 294689738 995971790 75996408 291634030 736020742 850578702 354059328 163652592 795666436 810958500 446303862 842713966 704062842 951495656 326046002 563612714 814539186 801035358 169155226 884951770 341605052 585199022 421554030 60302056 958940408 25326804 576144642 835981320 375003972 718952206 940143794 452900460 236478000 323190884 160601688 83861914 546589364 440453628 677405122 226752586 428008124 668955056 125305574 771968268 829434894 999038914 977434782 646517630 993904228 176236652 692425842 903180668 991823590 26977268 194067874 990026830 946275204 381287226 307273814 681024736 832371788 451361434 768860042 922024992 176288330 336675206 456892528 634796014 645682054 678192852 465771646 93188876 704364456 335313326 827411200 583923804 986956978 579403178 321642628 672335042 55325372 910175124 910089524 91670438 957457654 493934834 395307624 645304506 827519842 754338940 140913024 84565636 9253952 738223226 605241470 899045070 567468506 92673722 775714616 19399614 664467022 256456758 543786914 280199934 440444000 952287150 404575108 97296396 914847798 304740630 710658804 243253182 198933986 93602196 46028524 408137362 26003706 542820762 817611712 33926094 456675450 785639368 224262322 634711950 891471162 785451490 136758470 897791304 481038170 556297370 801835086 382141908 965315004 242997036 240641596 672271306 449836790 806726290 992853580 559124656 195684724 862775682 809968158 328796444 341532622 322296878 637688544 882211166 684565870 352976586 569450330 574944924 758090376 652934006 708778892 137524338 340716980 49496296 399266548 692006368 112452700 672892322 591403242 570730294 746821228 507121958 282676782 597821786 63237226 756083198 735270040 909513478 577870442 385744446 569124006 58977492 137557578 372864294 780612210 480791322 151235900 15727436 486399774 737836946 459430040 427693072 303475774 268510016 540128778 241106962 514039054 179596552 645563036 77716220 284543662 456421070 416380632 389598452 178407852 219040426 614768492 178963664 829383820 660563976 356521710 698887078 137400022 302587750 780450434 694070926 993440892 817202062 437590820 911499670 383863990 604675044 662206038 857648120 724482630 321344356 806014396 456137342 650402038 942379080 265640222 978795640 953908800 716951804 392350954 510607600 130770070 573715686 982957252 203700498 649480246 755510238 922767478 956534420 599708300 83047194 777954536 718446028 571748654 801822446 390813426 606710492 478789454 350794 853488362 789725586 564308568 907910922 324686766 96218882 497713770 169307214 929233900 221882126 900654076 803666234 575501112 227014434 119867530 370679184 467465632 871536458 971643936 454201886 736936956 340252152 475633248 864847238 586993270 717813974 205284030 463219758 414015388 877699734 837725856 151527974 430566216 320968392 193148692 44425758 96097518 775922332 622595068 326101972 789626962 857345534 524742286 127959408 758672778 98148886 514453846 628122054 477172038 547431852 113512762 788728042 603887220 600826136 525334442 708535242 24769446 160763962 847565862 515105602 552716020 949794036 752672672 270704052 473233542 228022108 20648418 178452770 111406104 786913192 405759814 699080954 207630752 762301616 805246548 379494426 964227840 455053948 121918024 52420706 682967628 708039092 922602358 815190954 755491750 637604844 573461924 500277830 824741472 509208838 288766802 502350714 569861216 126643178 6905952 223810270 354217768 339606170 197682970 704751278 910393786 498852778 945405552 364971046 131171396 959745318 175113388 567635426 384671068 357328100 591320776 514147844 684085334 935892304 972939656 496959224 297190698 363272146 542890534 994867016 484269336 224762948 893986116 799758240 240746612 64141264 344926168 888535612 724097606 154515826 79742716 998844006 287899882 985858990 13701858 384229308 919663192 694518078 23217486 89810296 586096638 914613398 862705254 986163712 325295614 724945768 149874622 989204502 5497636 726018192 899238926 183472372 291723640 532537872 601668518 701198984 873542866 983145066 436010084 609294608 766452042 374304718 904866906 669905372 125206242 762716126 400915416 636854756 936227232 155953906 729336116 597533080 801996634 620740226 591885172 681640504 803969972 430989172 596859754 658249610 879662386 442405256 35695776 163330524 667870932 35018784 157126344 933562644 930610250 331708800 96398554 616618772 509753488 962021348 677834924 76473640 863912652 65015646 777797116 467455040 773483594 764385016 826123324 904555344 757311298 745200180 170032292 135071814 965524930 289818350 729985084 407785604 524653730 61802932 982591982 507862040 607506808 523822438 387606782 664896992 731257852 429619642 423487080 627136602 334464736 900629176 262624080 570692632 725634902 111555192 300572418 479377830 34285762 621911352 154980050 567906780 111437626 187240638 988253182 94630952 432237340 626421868 588270438 489775518 606626974 424699506 937239074 927916548 261777936 521494762 93639516 360533658 840497286 483818346 860480144 50332742 905535848 988783820 810667164 340999252 819589114 893417912 699065930 351000132 357985754 46666272 867816914 863937412 569355354 527257046 977126520 313426772 854913992 627485660 431582420 400948216 779389036 477283174 392213376 674652686 803256512 123937982 306540062 946666828 32667188 237393412 604552280 636490220 442752322 257078632 747613736 511353000 164856728 458123294 822718290 9255978 988536260 668306290 845883606 926529750 265662050 67309318 399563018 216124454 289467024 530921764 110584530 761592960 225633942 337251884 671747018 718639090 931454142 307553362 418600156 728130470 557781208 54986490 908251186 661697820 429588408 491945326 320389424 411552776 331023866 558423656 930331744 952186364 642638360 293440058 787299588 165969440 680359942 66841998 70233184 453452546 852096280 16882726 682218030 361253360 11037166 963382356 268456492 31838634 779576676 699005642 186549160 249118148 23572514 503895722 367347054 801529834 348406284 925870066 373418866 196416210 528337152 11211662 314989126 580584368 442040728 185445972 270603692 376488318 463625500 778742004 185919712 961325262 27973886 22081980 314801064 223943794 118646564 495894404 927987870 347997466 463812430 518752638 330783364 728816096 89471048 419823302 496206184 860119746 924458382 921505488 798905822 980001574 629833320 505944240 308817670 428537750 362975404 205965608 668968230 378778620 73437864 88571578 825197632 315822462 188237772 521215788 138164338 96671806 246389106 456397078 838639222 824025524 255724166 830859842 433714830 970085308 381995034 582080108 254483064 880588766 483784226 308700940 589704538 450328474 649808622 45130112 528511698 600186628 639589880 689114628 413275648 92679000 84586506 594400344 426184824 68376412 100297270 475284558 782459202 286823052 310500724 174020910 551606546 822137382 482045230 94028540 220942654 196513426 502014448 709348462 383651248 268714988 866049484 985524488 782755258 380902074 182566436 761400276 693674616 572636814 553463456 923056790 862558294 563272938 166380260 406249654 584309166 822593336 221183082 696104792 392692624 775475344 310923898 721820880 245362828 150426830 833166416 573715734 286285176 520362312 369865750 924348440 262764742 519777720 74290406 84070528 648050470 635841326 672442302 414875102 84973880 446295648 429338636 418810318 610849420 548752712 843400764 618426156 553904808 374101048 403192004 406316816 772939794 24114476 354687294 220502958 753110500 57640008 651245698 349095942 254733470 450550626 598906404 975338150 788471268 530742436 218421980 882674008 250580186 510180574 675047022 561326692 342825134 100971166 88744800 253633074 927899706 630191778 622411586 922544294 585857730 831144828 976698586 426684182 971155878 77207732 119884548 974354110 24593608 291516080 43355942 240943040 625701346 882645166 998747028 499159014 312353654 680290930 223955900 570883168 518402494 535470702 445349740 327704386 699809692 452760536 170611014 923210934 252450100 808055308 362704118 60202044 630823022 118632148 707747814 961838916 304586890 647078154 510668886 125476786 471608316 646543994 790198354 506815858 289164660 84799676 753466774 889550224 351814400 787820444 293364588 113127578 456174870 388263550 896062170 841746362 647451700 485065626 847848950 474504632 126103760 859732620 25704386 492882968 722738732 478124830 91405102 412372562 859397442 736427866 730824370 798949426 701691634 68171446 246617922 532191246 544321870 400670440 606787420 865146864 595307912 842381960 890863618 215311876 906177952 947661040 793220178 704646274 72440352 619553788 514256740 954425338 963247300 725509404 60788872 400792240 634080912 54973800 173838040 945855164 149790590 343816044 101065848 456296038 50053754 799142810 629713130 902951992 30257402 693382738 382463304 778528858 93859210 91492326 953921722 272157780 603729432 931923036 980205146 661601550 642570740 571762838 275364374 895867340 232682798 269612916 690040312 142220362 691194642 725286610 981177328 725544334 36347538 912865642 944094394 863142192 705768278 422640646 180216686 320163446 801481776 265808134 329666790 831033268 351480124 357642458 678516170 607768350 370608948 6614168 910728256 539914966 480209022 572861752 119575666 474536030 698681904 826395574 967088168 537360956 422996460 73469734 117954960 847695276 569475352 993967038 627634798 170808032 44177504 479756482 768663290 462023098 396783800 431708484 520388552 502698938 521146666 545821442 945369006 479849556 378332428 442963476 842182732 835868988 671222926 940273864 499510972 953300186 478118194 404208636 616941998 402431156 354553598 484249300 571173516 975876598 274037726 917128304 839898546 120713068 349569868 723170654 137766430 727414564 520175240 315117544 960168220 455302608 425230436 613662262 914592686 406042460 245381724 557174540 938904900 788922226 477741364 547197610 410557878 973020892 173730802 994836982 849165812 131576404 666526928 96367626 510365368 537051650 446642418 484347964 395872518 540493224 551098012 816203114 627387886 907247426 92179122 961363364 191845066 660028640 617475058 219248684 230376720 431104040 26508432 805331696 855933980 845594120 998379002 193702674 108308788 439732276 284442606 205002088 162270508 827478058 440495982 648937842 278083810 70912556 242838920 973628546 135479650 736921436 169099792 518018474 466970738 616818958 987653972 351176148 585887132 767450082 589849444 502745204 839276854 275734842 22303856 270672420 258891134 10309802 721076474 481857452 369345530 666270320 753147908 405585424 164024760 199222296 825246478 274929070 834682480 649605118 470239196 487080840 567562302 779392392 187111202 374030240 748268926 885573966 260398728 173724010 742520904 63975750 812772402 534676870 971258166 730937370 542765308 866284016 69752642 199400368 455201500 963181662 690821104 176363586 385677184 654979012 472042704 993088678 751134260 939820340 731242602 705019072 252231552 360544172 314203188 246028962 465132358 552691898 595374546 567714724 889623546 740337662 40831764 153607472 720416314 518365164 951431630 260683480 491128554 458178910 888439730 624710812 241762842 621272290 251063304 508275372 416148654 339370316 770843634 794223814 896845756 872982632 688353332 742454552 64715964 31640482 978352294 664700418 977931476 127616520 426617120 899197732 570643566 996388924 593335792 962349430 230981936 214362038 45002334 1677294 750131790 701700276 668314982 218169026 930231642 229794520 179141260 806262166 665067738 267315414 221378208 590846900 719726024 730268338 294484540 207498764 853657672 569706350 390714720 307675056 438849180 410201152 131143496 737121012 869050410 686963374 348063868 51580396 710250256 318296376 558759674 723396326 507076772 528794426 376614910 315574710 235861532 227609198 712902174 784427170 918256812 871383350 752742976 624469568 334677328 876193174 102623022 208339022 523568298 243666098 277850528 650202306 364785866 648364428 28542192 97063020 849100608 296660108 152433940 578688722 783704918 775423612 808431302 472574642 936085830 815287760 457314074 280695432 965418088 276290824 810712414 157967374 780001826 806896008 695350160 429963714 684769958 581382690 488856650 402297268 745961148 275607384 79339346 621099038 15970118 556604066 387013908 795982712 4243554 848973340 401495384 182815318 62751340 268356604 738029166 910546284 310530726 434247988 638663808 182502922 234710334 152818900 197515864 370278300 729778538 443326088 901419524 143808988 25545376 539992946 693641032 865249262 180101232 263642100 442563624 65790330 144981980 23381050 707877286 599150932 905167752 442579388 452893158 217365180 819234228 974443714 880650828 122127718 148089162 315762602 645910350 926113712 698778852 70347128 292539106 721342210 32278728 109851154 858782282 590612858 319270568 726492482 119608158 804842490 356217216 438138648 72636306 733936522 699772576 849621496 20095858 856497836 251224484 662404674 167321682 594069998 989815148 825668216 255983954 44968616 476519194 752248062 221465862 462496546 802190342 783527052 84127140 167495542 811700296 27486124 510608060 529706678 50404476 512248126 854977184 280715244 157116738 603948706 580369902 959294210 989305390 401315230 596600984 243937560 627774522 478015854 420268200 59274028 677173430 83792452 449909350 208449492 755072198 13305856 791758246 667465030 570585204 157037314 686969598 96631286 661592514 50470636 373667458 493905692 314899538 743856550 966904444 992471184 552198242 291526940 900386970 121111604 779077390 58264012 661248908 421467444 511743504 84411052 762778394 132681914 646029124 633020300 941728706 761613670 907706398 466703798 893008922 917676092 900558508 792951056 611531918 184846004 82759282 451295376 505165162 439617882 205944868 354979462 834284482 311090678 537677886 729826870 430352852 218876930 448113740 963459300 330881212 754834842 987288270 232227166 271186396 470922524 705542182 684954362 808559250 435708484 411534572 390665208 905973472 15490954 717498638 257090642 867441832 88552180 987991790 142139640 41808434 361960416 232337132 591781312 15564736 457312882 414083752 462271604 594098336 609778302 860845364 92434206 793998672 361949968 36334008 573281744 335057962 462028250 389663288 505169564 427769856 190626994 943817938 897417104 808694766 745315714 289314016 72686094 261495698 743953686 706060658 155528776 579070300 565472208 557117578 988961566 561888728 886232920 64469382 405417618 759302802 932450014 19353034 252495270 395156018 255358598 364125014 483935706 215072882 431465370 346085654 558904836 777862930 315638030 588631666 559057530 88748160 405960840 937255358 992598116 752992954 52605534 764607010 889617500 126876050 465652206 290859308 616944224 748815890 294461326 817383940 767200400 662428042 868278156 439995550 687223412 796071896 827295466 544749658 790031488 835426822 729768764 777753096 178663204 726386466 338787162 339430502 81249762 9078596 542392308 202536270 124883510 282703542 584402110 683596278 376215064 205978608 532696586 612086502 945931704 935625004 151827346 334678210 237505228 872561670 93722078 579916326 937516880 542751724 694069974 862161070 750467144 466797336 969241378 686799658 707538766 179521874 105874930 913212772 589009020 608107684 534970654 565802064 638929316 956979704 462663992 760573990 183893996 494504272 779750840 692176692 922455664 724663300 620676514 299064188 108033804 47222268 203925330 184512474 786172782 743869564 31919464 398822522 402738214 935363704 56803352 105519344 232613668 727369762 428992532 950227160 690804234 226436106 283239864 951736984 956815130 267130962 841388664 772112222 54400288 294807076 134276246 644557344 773873410 9165710 804686140 911513528 967041718 986408130 439299614 322023804 743721682 438363910 489285760 117664826 156104276 347453336 215965214 266133024 274445338 412047540 708982424 582470586 516584700 77227434 768685230 687375790 505899488 661849508 233165792 879377144 130643558 160356670 625537038 855214854 451209774 919971644 622294572 495727120 275722740 473878370 269055132 800986724 47794742 372692720 202558910 939991188 169893886 66000742 78650544 147138338 708979256 583513524 476767490 596444010 413496828 191622518 806413076 844405626 650826898 840757884 582915168 680667342 548748934 610352730 214578482 677849212 172788240 531169724 430141102 106927968 722865652 159979024 692249216 647651704 245737500 475635726 554965698 603791056 670606654 860729242 279539904 779171466 281625642 435103676 366903496 626441952 198637050 197567678 406287594 897296636 216188806 818479786 141962254 921642206 159786586 482642356 84732642 400185894 369145532 907781648 278569418 459118210 445958780 984212172 424627252 668449352 867001664 986641332 674457520 609737990 373992530 20704830 140192786 144542874 945790208 78811344 768208752 503730120 256187386 17469022 458813698 341668326 157665340 277161260 789536176 513003234 321350666 501228310 46061130 781013112 748706538 699428552 475510034 336438910 102959008 77719914 605278052 567398704 168064216 108133440 72287160 31541264 207760612 216858180 258932906 805302562 780463634 65354080 816974408 118671650 553419570 717005440 523903122 793154658 145753752 481341400 297252822 707667378 625841454 45804418 972967034 918204500 852291334 949172134 451576210 761363780 365272846 128973908 941794390 458517092 436434184 815800286 338329758 802024338 917986304 696118534 819761782 710768496 260861482 924304382 912083166 320252916 950462902 132798132 547426398 255262500 802999022 663820564 238182750 692913030 937710404 671301566 855451848 677965900 149459214 684816304 420725550 816395084 546696996 946178738 664688434 632136568 935098826 210720318 312130694 417779952 171216412 805949078 145293036 821133204 423773722 973910152 793403574 500051352 54003036 175063326 222349670 774824320 103394432 729408792 510105604 899460326 288235528 875058394 280501730 889833406 380383436 372468546 723312164 143420662 694980596 250590760 266945542 652789726 175861292 809701206 105201922 457809458 436940756 822189756 654574116 991800334 592044390 549449254 278458328 22138396 678343890 218533018 518864846 626766600 822244434 362635592 135277550 689812392 711145424 879326538 812413748 843810992 430645648 630831198 61212960 182027822 865486008 721649520 236890094 897694644 701481446 625529160 958783642 950775220 644774862 761252342 988391322 928154560 24743148 802309434 709203574 355301534 508496708 437870772 859104580 756930258 503748060 882792430 653872684 649771762 527802226 721228772 467629548 649767858 306819586 344682236 485600000 352896286 554925614 298651228 19288900 112668360 74031772 330130386 653870304 555653332 575870120 319357700 138314174 449294404 503456100 257412234 269985262 288221004 390019304 795079666 458242 269113978 342678972 636624294 783467672 228819354 215588686 723488074 546807360 712824240 412684314 166534260 138911402 392891270 610825510 368798402 732747092 891638284 979241698 510230956 917226498 803902376 679723890 59939200 451104738 150954540 41430900 311527964 837831208 96548868 590686308 506825066 396708732 157648264 542376406 579401670 65015078 439331604 660328050 93324304 300265412 329497556 239826144 9511554 737873058 584324716 75598432 524807018 148375428 622963232 353042338 159587602 94956134 979935196 395604880 92014710 58526912 779123044 143476120 733820064 348369714 82967124 836286490 913040836 778489584 29093620 547517110 750702132 813591650 551745040 226292180 408653202 712091682 761669394 777268852 761641358 844336656 890521322 442369920 290199128 756184074 670273872 683343912 52865362 920037538 613141668 524440832 316563534 554780392 671414108 802182110 769564624 225315702 430396634 197084632 360870112 457542218 240421328 294315808 989483242 777747632 967090016 664352898 313178322 441651784 824085086 937022396 397240708 576132882 792578272 349851138 877180740 37107536 231515826 744078982 169977542 567382870 110600402 418336936 504223258 612731774 838837676 150321882 35290186 101669116 724491364 193603648 782007862 297580580 408079332 386417576 778249146 458640054 280540308 910113564 268227156 563924382 938662856 101901972 482763312 535734882 372239606 226478634 817249208 266439200 298240512 61379182 894552808 516058438 920032196 911729008 706065984 834665134 106991190 218229200 50126552 678924294 157939170 404928032 21564080 14089748 592041328 709295398 87352530 188093982 963337078 9624304 137958664 633998722 526654240 285439584 448397774 207825276 815398702 969817222 357551910 327828610 610843498 522534820 780449696 84394320 936774236 934343268 785134912 592156696 640657690 621056508 317366422 489948754 699770204 955976222 652155114 752689058 375149408 522468580 511008816 976602970 257209808 538117294 702356646 402980348 128750124 752365800 532555036 767063916 106659080 235419972 591472404 73303612 122605982 193263488 820208490 916996312 22013316 632959270 961221490 677298332 295535902 934662794 645275866 679290450 885133672 822945168 640753524 228719342 615345954 953588542 107139480 906770452 463798744 536462546 865134948 187441456 898208266 55531678 77312328 70048176 195434162 22129794 98019786 201013004 206881102 937410196 9944722 61827900 453534364 966805786 568139510 932033912 112169208 698835598 13929714 257118012 592104726 200270950 390610874 42646806 728731266 724366194 599183104 525376494 370036898 866741730 969297742 890279446 352574344 46798056 424938370 406201136 692288842 452000876 934809934 270980188 702423458 815504008 935859106 873840214 643480750 675935720 52341990 484858766 262069006 479308736 739998570 987318480 425854482 104160348 436682726 236268270 136842636 124707918 584323712 206150076 199585890 619836834 343031354 547629328 153885198 50052368 618944056 355730954 866494514 967286696 590741066 780278904 576509120 735127294 652417240 267464558 979510354 220890508 634000020 241967176 780486432 465377580 924872238 483320116 45805104 518001872 57828228 474114132 824266408 2186108 125709380 778584644 248756252 837295048 698354574 669874288 731160812 582344288 511145992 737952152 423366690 384915906 130269058 933120798 849953390 807791990 413871718 714343670 520804064 794849354 171618732 233836272 916048486 847880884 623905402 308822426 652818426 349083158 329608830 733654528 629893614 51555332 184324112 294223166 370998318 728307668 635330112 512493622 523364630 239826812 482375010 618445090 315398194 443988258 981683686 400067056 354332108 681250784 894616380 375512490 492317896 627490744 35748416 972372610 997530676 127062420 265965880 679023508 491761598 626693636 598299036 635902402 486473974 745249336 156420858 635815826 66662270 981238854 850105150 741370770 994397010 39495618 735961540 891086212 846572156 961217602 870845644 643193532 496788040 199232252 424875136 552969156 340800674 635038538 105507460 189997570 263543338 806516886 430178806 146826038 14398240 831414854 742129498 856877280 181494380 217290460 807466104 700223096 153910842 393034616 250809208 262906746 498753236 927827812 983587110 276560934 748548414 200923312 708335922 56792656 436548074 371648902 362350256 891840564 827627336 303317560 894241442 341806116 58373600 551851454 502223676 631039968 704157594 299573568 824896246 800382920 52666600 447828588 702366374 990009554 454966600 944002786 494664016 652579388 456728350 293743974 979706404 915134430 662278814 473301710 680726296 722261770 237459284 869933030 920210502 457328952 707514288 717195970 949558858 260978232 885315248 851868606 34460516 839045334 683948112 534968176 322346748 193798946 562383916 906113854 571230014 596819884 63511876 306326326 426084898 4714632 430613488 485893440 431042326 573608894 845808600 846592064 694900254 706922456 731764 927259964 545292048 925552978 389535514 875458048 139201564 336640224 93572182 6005030 781623216 238115394 778259318 876281048 587273348 179570452 624823830 717471712 601404844 53837978 458565306 41832930 929754736 606711850 755834402 345274196 649809794 1345532 153819008 776017142 798392806 94973356 756609410 316028054 346761738 349302074 674811456 147875846 890869134 610010652 980134442 778961830 78509574 432211118 254392378 736726220 356151734 505392914 281371812 352143936 119204054 801891022 728107438 921992550 737110366 315046820 97781932 917857324 114212902 965999170 672765942 206356720 667485756 229429912 35753310 176003166 910864594 355430134 924369724 96926542 35260868 599075808 327481574 368485610 882227242 155056150 840787632 499293182 909865462 839345356 481563722 976591564 554968482 947223380 101669228 195671812 601620048 641927156 396236716 739446818 755377648 190828314 834423486 810480608 444165512 916393804 732337360 822669994 238525626 364449592 83909708 798769222 308859358 133870364 601653914 630275430 685032782 109688330 51637152 131602938 996962444 495224252 824306454 122678064 631637098 89703800 805572628 203073058 818194112 225396564 801595934 210317402 46716242 204007898 686825510 265238768 603614632 544003042 539336784 768621740 452306860 334085392 244164780 313870378 140092946 18847518 163564518 359050088 84860784 88712212 428855826 344111040 92668690 225632914 647961102 841539160 26950416 626759550 115468922 310231556 946716678 979735656 343233576 446163194 737876190 707756526 514653742 726743118 192588462 639887218 982846392 770754152 725362590 432708792 773457390 861458468 171777136 247555920 907804954 636444730 191902276 228374654 450075930 161189314 186633832 710566624 118467540 622620032 505141392 114054762 730945158 531601110 269804854 835348808 152802896 663476062 705261866 151584792 627451296 305784712 705553250 599710046 778466988 579778668 304360506 892775748 987361744 833631794 62746960 658457208 135970596 645133170 27911212 172591658 417432372 469736436 725980802 756108750 121410550 271480658 598796700 243033114 720855972 806725804 856421060 527061842 693956142 637992778 549888736 746142700 949341634 98193122 123535728 31992344 803972214 630042706 905381882 984441702 853629628 540089826 777737532 410468210 292245610 150141490 132309926 53053454 488546914 636127944 205618238 377409140 999636478 67675758 964191186 425239736 915493914 61466180 131610608 853958684 411182348 862241888 801090714 71325028 123206196 491124934 167563534 313337950 348488426 220860002 370551676 838330846 600785584 946176600 226711086 932720036 468343236 624746516 183045224 493039966 394090786 368696980 440359482 554551778 989385680 298291638 969047834 850859974 125891768 736618928 58331810 303279768 915752694 43035824 73639918 827159508 639697800 197881788 782437226 492522210 142041106 507095812 996047872 169296882 688105950 888744938 100897786 490013674 647445382 409001996 982090126 41365628 124500378 812640508 620085996 29967462 744692942 260386596 166090026 174008394 647971266 342882450 86589850 704854146 463335668 426052500 174674810 832319736 5163666 978722910 919037828 505637302 804261798 173652666 783124846 553032040 34817762 779342802 169948210 332106124 652555298 147413242 429485770 683039428 783634744 204055692 577407702 580063342 63273556 761180774 16896380 229092986 115554358 237236594 280481270 707891756 144401084 698934156 392726928 882219874 181851060 19951680 90177590 624247024 777739282 831662296 463263838 323144436 689896812 670877412 714461396 156147392 228131850 339964806 655365364 702932960 490217544 754307784 437219658 795071724 753098310 458483192 170113870 284286988 844300548 572503662 499888714 554217264 125086448 940660598 832480500 846400704 863620764 299448368 942369204 881070462 333314092 210827254 220913128 277490312 133345312 125200884 961326158 576076186 713887720 707132442 27343104 639268934 426833678 499405648 57679006 216678694 860352292 523186926 621859254 781738854 22704800 141619024 356302778 153643500 100560224 884657212 440839920 302980790 593365292 380280748 149663216 770084744 216353944 406412732 992609036 158633400 562405752 3709894 185085848 337296844 760716594 4453966 736377852 64199192 761029074 550660694 881382668 868018888 338576758 433535886 105910564 183343376 641510830 27011126 350742398 760426116 119270198 109104912 819645604 765271578 14876586 890309192 671547090 768987902 196114580 466183642 617345370 956664376 563317538 913541442 702545156 961485592 471436310 869685348 707382866 835380240 99914076 196010372 828090070 395762788 579486818 760609642 365502972 90347924 794009490 861490110 40115040 939336550 953216716 293495526 657348194 213209960 499202776 857185678 769772258 530363080 821315674 847934770 258684062 152911454 364767774 638747288 583727344 630104190 958598616 27779136 424516160 233925006 159315228 758175610 89021266 632874560 755137942 492967336 480358852 944111384 917228242 328427742 784729540 915141308 415356458 143888566 638503612 504301242 389379330 861567452 706987722 219813526 552883670 831017288 383901974 489704780 781524454 38235478 896335058 557329638 16193422 655896392 885564578 564976260 71272538 253155844 848357000 337186570 186438302 945122160 930039262 904773712 254534876 624267014 919114952 878755514 543453854 747755814 971642514 819283790 660132816 994813736 579239198 7891712 50488762 469702232 806705272 398414906 5130212 713693570 897341672 481066308 914207330 313830670 740520346 187867926 48732604 50953344 492060906 300317484 385134312 205174930 569882142 315266064 807073334 693648896 251773322 152394332 220343720 56409618 520314952 748774536 193281170 106300678 788865212 644983110 954195868 497862420 273874714 753747268 166045258 865849794 577633092 79650006 859789568 624984050 765914960 46713698 888384998 373856870 873445868 937046692 648060484 957520618 429300600 423956886 559618662 917659456 512063008 357537674 414662242 797019036 789571400 806824444 314447806 232834860 846327134 231393742 754383628 685848708 67245510 473003292 170209438 760775240 680282480 445296204 26465334 823206906 113280166 680910504 760439038 512243598 376984018 170588850 590186438 333994726 334535282 504393552 541897246 995770764 648330450 306111114 844883958 821037206 216634864 515199332 963349312 911765152 720115626 294890618 783933686 688292350 621021732 121174778 588160544 579592404 113869044 301277046 346465016 49648284 916898812 299209512 651902678 550694224 563269394 258717070 835645938 78754362 715599238 97898264 187858724 768088964 950496002 574057324 125951444 226755818 96314424 485118150 309411692 18096906 375621428 812737268 504767688 841715748 902206586 494735068 932330864 969961372 474919442 418490020 377632216 478789734 329633562 29646258 73269254 974202454 235192628 646274406 765510144 188886262 990187538 332836738 916946066 349243132 891668090 640277044 720388026 600525958 792775226 133148780 533744438 851866274 350779320 861604902 853222410 417941538 32375464 588836580 350826352 966357100 81830304 952946696 317302554 466095596 639616274 833400282 72073158 409760036 436089416 172787294 851442930 131979560 403385214 789911790 690800576 325841708 410940412 839596806 232033636 630374044 208434412 710254674 951601374 595858152 95411854 834947086 789545980 606031234 95735480 893442278 856760914 225591494 787063268 948109346 443676380 185079324 376061508 219576268 601589938 39321050 436429176 760577720 988950074 445053398 777867924 635010194 653505488 91982390 481035574 635710818 749659018 958909084 90416322 690715286 42114806 771365496 117150084 368975374 970248378 298749346 142388778 10015290 504179742 723447128 890171808 534190832 930170522 625753658 46559638 297252500 705614620 447083454 837660014 207852626 826575920 601037834 165094106 861798582 234451250 437116094 294323118 310605500 787515756 148030462 942276898 7523118 219664454 941573350 570631308 452827448 738332164 196907728 193825172 15541218 571525290 586686568 557494770 195836384 677198542 288576540 786956662 904786052 713845198 731688470 116068916 306539316 871321100 149673818 257519002 58279258 407088876 679935846 385540720 310164066 416318204 525282584 736065632 733151744 190587004 125637802 359645458 990345682 21380494 356986952 406396816 932111600 476695316 835554374 75263788 991081358 567256984 60495552 480137556 451322934 985926462 796330586 68217332 166335930 453642102 219796994 726500618 594600474 171191512 113322508 609367850 797496190 763059000 14561766 598312438 400136864 794529828 124767676 346936568 155911372 470987942 45626654 955915156 803870496 80820622 310471654 341375582 272872738 651985418 7183056 333243386 295957270 727437202 145576782 631449778 814691008 431450166 653685066 498418876 420281378 243424982 873180444 666659756 991989970 762594728 936602552 296352086 300354074 892121618 144747868 489112224 144739070 593409404 936155028 769308414 429557176 941309724 304653652 274522822 748399438 413805304 600172498 860943720 543373150 536500940 991148660 960944416 858840600 120253830 298803276 535410022 282691386 337988328 567711162 86479770 882852962 523460508 771793780 998483786 518524162 421052354 668181310 576746 228529870 66495438 110185328 185574980 404595678 396170962 499450876 279485248 191383316 981555176 925711546 74340162 212465500 428217504 528791864 296089946 695380278 657077236 159715648 835421310 853344450 236580644 450617840 377124930 614032446 139013116 488948088 365700172 314580942 531503982 532945984 407444564 253233826 477839646 131155712 902167136 222022520 626447402 937047282 364412918 1430692 990710700 137635914 979416702 244614194 135607652 167047852 993761848 821210370 79802774 273212454 15512318 823388802 665528826 528919130 357156196 627479700 798619712 663397738 588495274 920427734 789336546 28080452 112308284 817692870 286434248 182020612 254454224 230902276 198566602 971271318 663580850 853161922 345180130 787118186 623608974 906959764 818080566 448843534 195172220 587174308 504667554 881973276 379800460 165996082 203449084 615258020 148306656 783017062 544015352 990092020 576882724 928857818 164412720 696176390 520814750 547759688 264824406 193576206 322317732 228900692 438551704 58060198 639856244 634375270 505153618 178762462 302407008 153863348 674154652 659659338 288869244 513462496 418238348 287942666 51016532 850360846 706628916 595926988 295973400 650802306 310506916 371023960 38884122 94769580 959813410 448921982 393800826 934860040 539665906 916354894 422246758 826307004 623279324 892692774 831096684 551694078 318883496 27328532 739925390 885170184 274716660 950739848 121653340 102224190 806945802 609375180 825817936 549012116 644317890 489729494 510177770 163666806 972500312 294326792 153275308 105577186 675078690 825428124 416697926 345058428 632460670 77525936 93037412 325682784 183468002 445919924 340277052 88388510 420417994 616393418 293141344 643562258 451806962 359691966 713524608 264949760 317152414 283119208 348024612 487907776 157818574 965859142 305423098 80802552 977003722 257593348 115019698 590870112 483677636 651838126 328024228 148884084 441140900 99604086 656363038 171652188 421709250 226281014 728409918 743731662 440777794 498849912 838523308 883562318 314404568 710051994 666032080 584734362 992185234 416055258 141436776 772255868 518766960 100486248 851539366 379235050 577670596 990949082 610581452 695390718 89696628 100126876 133509426 827175822 747749552 191553362 55367488 681350694 789628730 759062744 195574194 175149178 756197680 624898982 601644610 120632294 595240036 52689712 445403968 767505976 941342394 26514492 390569344 293488570 451182648 210017150 183817736 914943416 437633770 704960892 547686688 134562070 694276700 573448032 359670550 975824428 557398230 80871660 680288536 741975404 320935516 250034456 487211480 575472230 526570432 47006970 192428212 347283462 300289444 758620652 647978682 472471876 528671586 42531204 350772000 335919808 160026032 934656146 764101544 90397760 431731286 629674222 756374160 272216138 773399736 771485822 951972630 791013782 799192836 306315522 915787498 911712758 393362838 406581506 160338698 550033922 502661996 861476168 757547822 820071734 599653616 776082300 774980494 320518214 74739640 573930458 788883014 588831810 889997258 641941588 405939062 239614802 408967944 933452584 442692006 18004206 551474 747024878 48354328 56399362 327204826 432128902 615480782 633050724 918145218 618712490 985677758 489463634 941565724 90906548 844450006 633825244 62528036 874640432 195091668 989709688 183599856 443635612 95262314 156645496 281068800 413528598 838039192 534538008 837207636 435331262 779863998 791052728 116515024 376908762 114137370 18756924 551412066 779992422 232651492 443006990 698446446 120273222 845483188 141830584 126841818 615025794 345310920 131337296 425092434 365022354 954085158 677528858 701238952 82453628 623478174 79945558 383218086 595831324 265227126 990696926 789278466 699267376 754487804 277133414 257640628 642253358 375471600 622921058 855288098 971737524 685188542 962797604 671528350 306048826 951343920 724572880 698495596 892939646 567408836 929339742 766507172 492423356 176621236 407498088 16063196 321247888 350594528 413541700 42629198 359176384 927441390 915559668 91831760 417424286 95687872 651090402 345588990 875761854 627852996 999120284 478690970 244677720 543177828 845105926 394356342 333712226 351603364 827804392 142447846 698622822 185727448 19097650 489435110 998222530 410445228 857125958 791607828 768451588 416384720 729929842 822324204 279114226 241977538 964248468 974044490 460647298 936985812 171705010 472480592 829305840 958738404 165444496 642094870 501167314 402779872 66026182 84147176 730095930 537474794 256418728 49944342 782101842 629292498 426091616 118735682 888497578 444802156 633860114 512689302 492356132 196048894 10931518 265375200 478954576 165052094 721893082 80383422 213785824 995307310 737380154 849904522 364068732 946471106 468727816 720742628 553363940 527660728 195119866 584024680 703970822 112766760 455439864 664489704 60879662 204413784 619710726 223013230 362031694 530134814 81281870 410818412 596057634 440102896 760747520 986758296 26749918 555595848 888575404 127954098 522566530 803129260 147747864 55878968 101508892 554118210 243241718 724157134 714759620 253538752 97153966 964926964 901518058 254986278 987929056 174019998 879699662 141525128 852825320 489375550 484143124 500867286 947560558 166375992 434894296 978710644 608427618 971422676 80195636 98177258 309283190 550879974 570887852 854723614 821659020 725088704 466688862 159267524 604763694 663539016 209342592 971790046 614587434 443299906 646445158 385334976 530612222 121741700 513746476 507888056 790935584 998168056 606337452 142209174 364964750 276854502 272388990 741261290 131170560 980014740 897393870 903544516 35865024 653484728 422086424 908289312 247306676 210369632 613208998 630098850 742979318 42018590 203862888 525348662 495046934 642923750 228512940 781106358 702878710 628319512 612153910 953666862 860390890 892125586 252769456 124423324 601406616 778691576 631687554 800198238 671520022 313892108 716700460 639993344 207783932 324656188 507917974 64305294 921765388 522800298 448972818 144642558 926089254 649682810 221452796 251285568 619973586 712133662 740138834 857368360 800959470 644597914 712530226 986735420 294156396 286909468 33050796 851774196 763888684 135461424 383318560 588029404 216034178 60636380 824368358 258992658 765658386 41828526 406572560 918462318 601587474 500031002 105186950 698668044 994832338 187828154 351396976 396366696 383844480 927820882 562356934 215907190 157886902 945957486 329186308 87137252 293610556 705604498 625491066 649327514 416047286 836718702 717235336 783622764 731847516 172937300 840001308 797483024 498466706 440917946 875721776 403267200 47003206 625479630 19006048 517241618 895959702 329040760 88288228 997910524 688164598 867438888 210067870 139542180 191543156 597668760 807157576 387499074 221417860 412697384 937665548 486815022 632691158 676597502 364576654 96815484 14671290 310592730 751434198 316134644 640964230 466827092 240126432 151512946 994358630 753832296 373957580 700803802 300757534 538882410 932205162 704368906 327240936 416517326 475824300 127985632 479054262 560934954 20608556 827077294 13180366 822092502 677226172 211302422 202820866 887804202 641787500 893844172 42919224 811602338 833895686 848751936 157636496 75287688 891628716 934370212 86153672 151788788 812107792 934814226 233206432 50786700 405372492 533778944 795752594 666697652 551729212 133343876 987072350 750545126 130075592 187451342 545720998 78850414 694703178 584924288 920916180 898172674 23471632 962296180 999024568 488299294 807878196 553163804 778756968 137698838 966513528 289910666 646630766 633357846 859016554 491108714 925252940 608258960 450717672 303936278 654867066 839573108 872456500 236259908 718540506 406262082 658173744 88452736 654139620 228360872 817275324 550315068 178269084 241013602 603130358 180314188 798976378 346495964 277666420 75152290 639619996 684358098 711499716 643724302 462612872 947506562 100422 121872038 67666612 161614008 698385210 870897144 769533548 101634342 400478 811429660 333382528 604315254 832315460 399066786 278546722 372546016 329760388 314212280 495207868 868841198 698778156 814602534 795578490 442683108 420168396 719000660 476809912 649672338 983596880 779325400 91563204 178508872 982597832 477613018 402352272 230779776 653754990 436745952 14679834 479462796 690246046 563169872 187769296 609130780 331348130 393573036 101723224 509964066 14735788 358845604 643391210 122696078 436671110 478801530 650160366 390543278 789735062 743531234 543498458 996587056 962459088 478135712 443480126 116031042 606950394 573508012 82507570 9735770 698903366 92466226 825791816 928718268 962634010 947654180 22699376 356249214 314986568 54656496 728617226 69314826 464400386 896019038 579451094 846344898 207722416 142324066 18272196 235713896 691027242 190478920 834289052 707463370 472737158 788853334 994271640 811503642 493619066 468241288 129424318 887434106 521558188 244509920 155548332 841631610 701786292 430030600 575636102 49721712 242529332 571722644 98266304 666453360 305023004 983612550 845445308 285618428 884939772 952635046 860036270 291369992 918038304 584041800 665205470 174144460 510010532 984910016 591293848 382118190 661833166 697585436 491881118 429248326 377425194 227653162 519650052 662152550 667519804 219943814 609168784 434489410 327826516 824148612 606414690 966380880 875095260 705693728 22450194 259490780 622015444 456720308 108278210 286957774 140337128 932571292 404796748 912184136 920513312 68494866 658078862 187802824 857766016 308521544 86326704 237975026 626933484 510015954 405200086 248430206 601810214 382130442 770409836 146019554 241872228 543705518 600525580 177299182 929830274 668415704 968707794 476035464 268196742 932304574 22652670 596278884 676947790 822718198 67501838 290993906 773678108 438841944 508811806 420492704 177058268 579895328 183247926 739943522 390063430 284166124 762039236 477220372 223241936 258071186 27356682 460641104 504027004 933904516 664703664 289903834 234131530 28834744 73691550 672835516 583494094 471131548 612108474 353460904 454963252 857669440 750855420 651584288 243483078 23139574 419057820 445504990 551110986 214654738 580770084 278578362 396378344 270720210 325358682 961645818 2408612 339837328 337679140 770264470 552995300 665925888 682890236 832303918 124173334 591483306 274703850 873966026 482328896 726799866 515787498 97659602 759579290 299548340 270532942 722841752 323170344 765219464 187999106 24518186 31622334 380658102 256662046 485984928 968921710 327011292 859275174 161864226 704617328 696201520 440361102 784462910 813750434 293708636 627952408 427373280 679563774 622461398 944650662 639704746 854146094 802704048 587211174 459306210 229659170 937374594 75512646 566537382 976375620 958087022 152282364 288562104 643171696 453217450 212867258 948882686 223246764 871293596 137269166 390488154 991972494 315523200 520029268 11744848 320911756 265349492 124899452 821640752 640204954 518380346 862770808 920001834 109920922 914686480 514314100 670808762 20197664 387290004 600232788 113915550 196115154 728151832 331637836 855884646 632899352 784030104 568243366 595660716 509341360 462835176 745025502 341964946 328183192 411547634 294587874 279693340 167159828 895364064 62467496 230009144 505793250 267268328 955304428 398875708 883969738 949909020 702301504 630101680 346139952 22169856 324765874 145559608 188678406 716755868 655359036 528293370 741802550 606027336 54679264 998113858 244366516 434566888 210071668 946702636 617598038 630196454 791525806 321350970 17313120 397837640 956808804 320871114 716222726 288736802 209342696 215975828 223083030 151256794 428247904 534336764 675514754 403171692 91534888 523611690 49030794 432497018 548656292 567139664 923454096 34866834 677433574 293647240 488582196 32440570 87506290 512136256 741627534 579010258 983805562 622334664 87120330 720497490 611038730 16761844 989928146 699546886 663350290 315437194 387209402 29395620 75046432 256718974 97842666 920176992 446323856 807441308 71883966 527150552 742518464 128795042 131060340 405598542 334241354 758888994 400783524 707997418 666196024 493763732 331779840 810295584 732621146 465248242 743104994 639515100 200766568 227526948 982244618 581405068 902303154 353864974 468311806 461699852 227033970 526357690 837421304 477381862 139321964 520722164 111134424 128334810 829397382 393529182 57931548 447473738 249915062 482040760 831790460 442054046 249843222 679986508 891559080 922938246 87978292 114783868 178498950 327941338 788630304 490763762 312558362 586610168 236726764 246622100 28746214 753509918 848570932 680310866 711647022 559274040 137064788 164331672 62156446 689897354 693673292 31655310 354263124 769810976 38279714 741151256 751308862 444971554 49604628 419079154 49551306 561020230 659081642 686724030 583363708 766472776 401180916 316675674 674412120 865768460 614451874 904591244 485462996 664397452 220038962 288358696 639841396 809017058 119019756 226750390 975574620 544036298 240655880 685594074 295527246 152929002 735355042 691936706 62969760 649470270 690896570 91689662 852545440 563595276 587939600 766954154 342567682 149581534 126799116 743329416 667316794 653782804 804111452 723582858 189120116 965256152 401402480 78364372 994366426 986636792 252778592 843775718 388262698 183503652 500074366 392244586 711594378 724914410 30419334 741595766 408492724 200360496 840960462 216913362 759847926 110411934 378363096 221491054 938176472 522019100 624396818 981690376 924420740 359873080 480213038 182908300 788626652 444909084 946656804 398742426 422737210 922613982 861865422 798180814 59813802 148472 68002788 812516384 751904114 682277794 744114004 37102882 837712974 418490114 210917360 339317266 438476396 260002736 191773948 881292414 272513696 114961390 366346100 337170934 488387700 28481728 608256682 100133046 203049478 344209870 591033248 472888812 972999626 458506896 683073374 163958346 53685270 712132410 868175530 713257938 255321206 725492732 39849606 205314262 939720106 407183122 343544842 464083308 86543628 746409342 68705140 904727396 732856600 820207238 975958012 990760644 357778076 964443178 148317066 6006276 979020230 369202614 355854780 109409292 282134074 843372312 310629114 568938654 853065146 996776354 383374288 216446454 548069446 97709990 445976706 720365550 914303998 101371218 979528656 785915274 581637054 98559752 911322974 221449414 14475668 934024134 705066364 464056962 329871814 20572780 690015472 660079348 767392606 428081968 205072022 208497500 311025588 834599560 572331176 137704474 332132602 25566444 962903864 555086894 129551820 857991172 766426978 773590810 634618788 589050540 917318368 330532448 744645252 996258936 660569086 39294986 735678418 234657310 126786320 60898760 231669524 828240774 461054722 598952006 9718672 931428784 193893248 169888406 166576542 278659378 304293854 442432902 209911050 151786308 968211206 675587604 961345830 720495864 19794070 37609608 942856264 406079366 704260402 652907436 804101542 867522298 783433210 941836502 177758986 287534912 233701902 349960928 450939180 262465742 567595676 31287126 574533574 728697252 862361130 418894204 23098588 694082096 422716640 16086882 172822640 853223782 179234358 745899276 710195200 132376148 22999316 413256342 949658630 864187462 312125806 732801744 997997108 573635620 623411788 230881802 452441598 761619844 341162926 743992804 364650352 703157684 498041546 789569680 514400604 312255288 287203552 257186260 104636740 756011244 950576086 51309214 883035014 566909310 150559818 246858076 995324808 321408094 297609536 513414954 476314104 907133236 887216844 598830886 596806162 206015572 409240594 107116942 382112948 557110424 297450872 180429816 376865486 851303338 868165032 474975540 298683126 258038360 960232402 636591042 60201048 512890684 275817080 998798004 531322980 493633794 429255710 78905786 738638906 906941338 199663032 422782746 194542248 710589640 377932496 87905080 768842246 69356686 287879208 508439092 389107256 823705200 338529630 434994750 480591100 253168508 972854884 926986266 471716480 631210908 123082200 262403982 108395998 929991740 733122276 439517296 724519564 149799188 805332648 715084354 519826538 223595054 869761710 223385462 487401532 238120352 471296868 249838722 223887120 963313908 354995442 104177490 483145152 182404918 177899622 196904874 418658742 484868368 919556624 260467446 36873994 753795522 231084852 847235602 842375442 803825414 997614324 457334998 492217414 698125578 369949444 871166998 922101080 142745824 829842034 324617876 490201510 323209832 255381738 289024998 545492014 784159330 564960176 806450944 521097706 136278834 690125884 503368908 598761990 461843566 583531896 254287434 465830734 421818574 233222660 898361268 339614964 785719688 702066268 287589942 834723216 394389208 50855768 423997922 584446808 313133614 648285384 572140872 35084348 12607214 724017764 988703192 395965978 95634444 858110962 549662572 517212764 5190946 248452274 318960806 617950560 643088370 532854804 223996378 345588770 334952762 114905202 623153366 782538918 267656598 126596810 965794302 45139234 321642328 486269988 386576240 850217298 41323170 911897354 33855726 340845136 589382826 279005664 828043866 427871218 636505570 743771508 56483148 36295952 684980268 568540908 862910220 980818156 746233488 179010414 239222334 969028954 269888402 506991646 372162532 614161116 767952668 607436348 186738974 237659894 687751116 709521930 508337644 43025556 332782924 180187818 51921606 784196818 771259900 831314638 845056714 870501672 112965728 791712368 623314518 14969526 244784370 15417258 850489650 731203096 122996882 300472274 516300092 170451982 308354956 55251036 989472242 882647380 514237106 156637456 36869960 250941362 362182440 283796008 859830780 735946128 546608880 130666830 827108838 554733468 367380046 617163688 339151692 162635984 111796786 210711760 785889802 736141392 335127786 887944102 861985276 420230170 289938700 430049700 319703188 525722624 429204278 498423516 249227456 631611066 340164758 605203762 79131264 145729006 717608072 697604274 389224578 215921040 61395154 70296230 955054520 230856080 584425412 204534810 113443150 791547982 719454732 203921398 282241304 360510336 815914664 554543966 270797922 183517630 757751816 163739046 133123148 370044694 909748752 529326026 927830750 62441702 272852942 501542800 242874756 963214794 585403416 597818768 537653732 577551336 509151932 896457668 283076276 428183222 705135968 506687402 795820724 188718914 16519872 644206492 786191558 381669162 899463980 858568768 300637704 250607468 875886926 495379344 319964784 263158498 755539212 879466136 674382118 275692354 499579204 79184334 738064364 211924230 345011790 152381496 982147862 527583596 258942112 663189822 941677236 417157220 692518676 486396552 859703882 213568134 861181366 499496378 776219956 589427106 865780118 527992774 328833354 965292830 464409962 783329016 702126132 130105438 853943006 98567726 547726118 887248030 295298756 637377346 771869328 584393348 39654520 417337696 617268062 704439024 221076018 257174642 183795920 89512864 568183804 484847584 771796196 544998644 28407672 503665864 172174588 774767010 133509342 936062026 143053934 687549802 318546592 282554620 84398882 500687940 460801494 323804668 457168416 368294212 980695642 579377112 120693842 307960794 255156884 205806470 587205742 166735846 591613316 814774444 8610522 439788706 591018782 458929390 43508998 465308768 600929558 354054376 156176608 261350530 786694568 914500064 444145218 638454256 654117820 466587346 978260480 399796124 501114264 65879130 798396104 973261422 309821796 683157752 842311650 405511120 255316072 167938296 360010450 375415702 996638348 825647460 176199342 586581382 558673890 724653022 102651188 17082854 669770018 404099120 999941840 193857300 272617456 351852036 83193560 170498656 311903504 820477034 533975282 837305670 652183846 241214496 255713436 408279168 367080718 530106858 176965024 287203564 34043718 293594612 665003502 533065954 243314642 277908358 837897704 315708336 482069452 189986372 776670086 136100854 126646090 264366998 506288864 681176558 713826920 769941618 213270418 51149438 91099580 925999900 845674676 961363730 727389960 721284870 126769896 483056016 781549926 117912608 505165446 807500380 95454072 253170624 885063842 429951188 909082662 996398610 787707168 954355990 307687428 332927592 964814180 290373174 601247550 488635142 608629126 488259096 790309082 713770754 695624908 908574386 528146260 248059926 350403190 144774032 689349422 382371906 131348556 566701258 246662318 986399512 320871338 571913828 321678678 578071370 7417642 307473248 211516074 479328 86099830 186119034 848755982 622855556 535898010 966236076 442154548 142159786 220175732 194778796 485426964 356551746 209747940 907701524 401407908 625503326 848216844 528690322 794847654 394029000 624115762 491552964 471569372 554351066 428715444 320425930 235682618 273411084 897122418 923658390 294660612 219603928 484744130 48138226 29584846 209433600 998100222 120964702 235404314 546730308 686327418 858409424 933233384 89134034 358799870 417496076 169920638 882109380 956014860 911568378 322432874 544902604 888231536 579276390 182966664 624741766 638440174 995392706 976285712 415107264 871138276 232289444 469369304 280834212 223625776 563905782 849512948 874337106 796053330 61369970 381896026 623200586 392940624 590104188 195079774 927603188 104556042 897557692 228218172 337062734 134190640 885158760 235203444 906404788 415990108 549150718 195258786 47951194 957666346 888215164 988608050 310834272 600749106 840894456 811417536 603809314 946835000 165938494 620691180 75437026 759092156 258514736 839601080 182703324 560888030 798660558 91459148 824549278 842165322 523717040 364737294 679487418 263453104 556424088 476584878 551036052 605943076 333629118 241162236 488445260 611209930 678668364 867768162 149809042 315197306 271166904 906004954 962524254 637876318 679674966 179790076 236514114 404896200 350810368 93469458 595572806 950525874 787751624 353823280 407245182 185603576 684225474 382934748 61717204 394829278 249620638 360656702 801533834 602805452 635533616 907869408 122847310 128154276 83645142 542483958 111053036 140651594 449717410 248437428 637178458 491681442 965062922 248772212 271492626 585171192 823221960 917297832 574204650 239634490 825080356 131544270 23861760 858688258 43992168 434609086 686753878 423264816 824702856 951603412 773784770 821262218 42286130 742205932 860459100 493073834 479867170 737280672 668909440 349710008 950930060 510672714 947379152 555977482 168145060 514692946 882801128 822054534 440088146 872503078 442653690 631690360 849295380 238416946 36723758 756596362 10104678 395351464 842564080 471335532 811222146 302747284 29485984 406478086 271327132 513186098 815594394 829593600 614280102 270164144 839493954 55647508 876027726 9893272 176158422 765605208 641388728 723325654 770226046 151229954 610456164 131057856 178265038 777289040 431354784 126565402 764922424 534020148 585527736 752945074 622954554 751363726 115044954 423569228 101493448 880893698 97924872 236174116 510536052 20651754 781258284 810821806 326000612 310624910 898495260 916078396 942965218 875734838 677415938 986793938 832493266 993481930 915586914 197907662 279853178 95341470 869755474 797052716 872256646 697938140 661307222 449760908 457702286 400875478 724622298 113134872 960061448 290865266 528515282 233818534 341317000 102889400 923407428 316484802 407778832 501849478 789959008 358473900 318292168 666823002 253922480 752113254 807938888 52595978 99081670 481958462 941239974 701049482 507176766 199906746 811918300 883994674 670741888 165752636 57073330 314047862 51416808 751704862 299348208 447854026 941143470 219187024 414386284 162977686 484471878 950340356 149384630 583200834 601704880 470858904 414029264 805749778 622979670 604656436 735446096 13596462 456198280 410995248 774421574 310484152 806051896 677200942 521480170 365888908 644838544 549165974 575661892 497116060 412528676 504639898 871748376 774884896 510751628 82730282 762536026 519375248 426463306 58782304 817940832 362091068 427306652 428030726 662489970 610041162 647668844 449327618 732720786 359650802 780203550 831447012 592698874 429426566 156273076 742476434 549523232 66701160 899246852 466770498 129279884 46342782 787740716 949611746 125490528 863116118 325774742 466478272 446620666 548670538 470881560 973699608 664559040 980944668 382523016 918700958 786161188 954874394 503361482 548682584 565018928 934212436 466707666 548840626 289867872 253487510 332253236 491059764 309890094 357451608 890187454 872465852 143123868 407230120 102617260 633694102 146468138 899585926 157697016 288044884 556757680 939418022 854978100 786011942 539132930 813651084 315234224 782655484 938540528 581366738 317212570 710655298 493406974 931241610 435586866 273726084 250235738 953727450 792276474 52509608 587708542 781350916 98819874 868997800 118518638 141950642 799127358 325365238 319682838 563862786 697959344 900300130 40076310 112873762 221884966 809971556 228931750 670980174 83426162 665884468 489558404 110787332 24880246 899048984 5794552 259915238 154321806 582936306 822204432 721204462 450939966 264477698 245390752 486067864 255555634 133735962 104073818 258544042 857878416 407199570 810953800 488555146 792950670 18887582 988994014 444068560 572217348 337041004 878054492 422480326 206153452 894491170 469274154 91980684 391509388 68076838 834323570 563422846 259739256 275848508 116600366 524311022 969857832 655532672 469885520 570677644 75226076 785050706 942477606 546531046 15553574 660925350 710505126 149409048 948062612 155867078 837350216 114360726 739678530 82631152 790874386 732854980 702882990 524417394 11123612 561738796 748139528 97734506 786784082 541996066 98622382 910108690 721194714 631278166 449106982 678286516 340488626 893137872 435527168 452811134 735100794 879628860 830919652 490987544 266915172 358580960 14426600 490352592 36996346 696706308 952254898 523360878 241900612 624887226 621467404 781441148 431418118 763155328 514761152 663197828 231532282 388322574 178229800 598627512 863230174 963999518 211086404 262495162 431374852 427977412 723873728 149220612 198674910 757715498 192018212 915955940 215031814 749128650 778736426 885536938 683652806 641920820 119305092 819657366 801266562 123225060 265802172 915562968 396527618 107416542 548410022 777693818 841044482 115034230 235772978 731726606 718334548 999931718 9818856 80947998 383867002 256006288 96840308 43321694 33117040 65478916 465263504 197694758 450656286 211404440 730981448 395132548 162829922 462530644 927904016 653037034 995391468 936107686 54962358 671672668 265338928 262634432 159962846 670544970 217117930 779582696 33203800 923334560 774668514 312340278 285943034 311012854 951796380 520585700 270427812 2762346 629299850 162635550 224183116 622232424 340894556 410309162 226639866 644593254 780143548 414373900 634098682 806531268 242061102 158124332 419696464 560553676 212664482 929215842 378557626 356521436 842869128 421320036 558014986 401969962 786559428 476658666 786351392 665870678 299801294 461112288 502855978 627072192 48562820 15693888 269286892 892182404 407487726 72485304 451845018 585315144 32027666 625666252 716423754 429596630 721627718 559439020 466224018 452539436 589264484 481679218 742651808 807826886 547723288 113057716 555068426 928362210 903994268 487744528 268876596 741536468 706512984 540510770 327950414 853174114 530955188 171465212 911301194 975503814 793186876 12509502 605236514 643297468 201192958 271757186 408386054 971726412 255211210 387422548 993625098 289252252 667953338 408131034 880406734 16606110 198547372 30054162 108885828 576842116 771265630 933969854 919724368 920916384 255355638 235146084 763672608 69656576 428878892 417694288 98828296 890423752 990951770 694056206 435497252 464696902 287258804 682444004 213791288 431890928 824807180 967069500 444713690 310968632 367818896 201936574 217071824 156190340 770044064 334539044 383921414 262555164 984950048 699458994 972975968 692253534 504969234 430004660 677121954 930729582 41722954 583253524 313267048 677187562 332077492 236432330 258805248 492117758 714190248 411615558 636661640 500593430 466958020 241764930 495797918 739782976 405935606 25423858 73224878 810098104 906071830 681247418 866771990 538322038 72242248 541691596 665263996 906370902 853034208 410227568 488899068 277251822 788933080 207420212 354297724 660937396 463445168 124941014 494005964 117866926 495584818 78929094 681092588 300371852 687748414 983293836 178776050 781235410 258332568 349022496 200933614 966787304 146062332 288365840 255649750 696316574 628781440 339900886 561333310 316666734 880302868 394480650 235248954 889619152 947866876 717373018 923610446 177796388 829096012 94426634 991840326 392151040 834319026 228915636 995694532 218756464 296918952 988339326 312779316 349155856 842667754 983352634 502599696 836225968 635540590 160178674 235647370 187623954 53413448 768871866 54877108 88305438 439869592 555062804 48780762 222369898 651452878 141243570 311516876 710569632 410441278 396810104 872391966 643276396 922128078 50251158 355885724 447150584 557808442 391553168 387425168 424665598 345195144 865469960 740436874 824986496 218541502 465018538 666297830 97033064 256293768 14868500 691733134 281333408 979450458 375865556 806086898 821180656 251421338 612588290 153995250 522821034 164061956 101251888 270933246 606652026 659564130 730111316 619818116 282827144 598026148 938862092 834248722 438846804 692900614 595121324 248762398 971326176 948602918 729337466 185616872 163269830 125918582 929482086 109360320 364328574 727432632 69170774 380631320 994310164 346048430 938427820 897752456 5112620 536181230 730072302 463032186 560751512 209909896 24242518 590066558 648151576 381889600 875003044 879286898 9046414 731560938 512837340 446042044 547167020 148419108 171883004 891402164 720734550 465643248 791426740 877890830 344330408 330534150 885647976 579538338 663506244 814901656 492032438 572739022 210208222 959437682 997555082 489502800 512995638 348657938 295936506 592252340 193051310 728595310 159949904 422008370 470745764 550773538 290973636 384876216 649199738 120360890 952554972 771959166 621445994 567919832 544061754 923844828 598547526 46405920 561821164 135615628 436868490 48205076 199673426 419516504 877109296 334594690 851474426 698130026 719298394 999860388 340143348 753350382 950333528 282291892 88717634 100529976 466758334 41411748 595185430 27296170 206470320 265102608 668886916 290621092 621701166 734197592 640277078 184760670 673124402 872936908 50872044 765038722 582744868 615293646 1591320 540876774 34149438 954942892 948939298 899581136 460154972 747913578 209813744 931404636 124284546 510592930 825847070 137783610 290583570 212008002 480129646 226567302 385062170 910944030 622466738 259887172 527662968 820585356 451238340 921515228 340586508 582738718 972471560 959263022 814934716 487425844 821183386 494352414 207358064 139303672 561825610 954998974 5110198 57943660 55481934 846729148 711130516 933421432 378394890 463612204 651015202 971946610 899645426 531352522 398249582 660268776 913999340 713018374 562362110 14429374 940049680 445032868 278295260 959657300 876638164 883080864 38753874 276514784 315141568 93036086 571809174 981021044 638096476 721375038 972228516 88356144 576399646 147718324 476152610 439580758 185203996 313176558 765641050 647374014 379104658 829528878 711652820 440415812 920265576 593847784 491626942 684928516 603553812 64408650 206889226 83695490 548557154 548023746 57335564 271518994 718140290 43959220 690362166 974412526 290616386 40561526 413458114 996405506 599253716 188862162 376714628 342282440 725696400 149524252 822592472 911497702 444012472 351878004 254810414 446625114 354327870 172442628 190612420 641856290 803820296 574774570 13661502 626498228 711079480 479910040 615782546 953238000 64107294 586606066 349630436 629760112 259890282 717407490 79415678 128047052 338690296 537291042 578964588 557528308 65369284 292665602 427229996 548256528 886751038 704216326 983707972 791490344 356269536 201859616 622623782 604685784 358853742 159554478 22907872 397140410 18348858 736807694 37483202 487220758 291776714 228071574 500343220 786474936 411524296 440880060 882052824 84663766 434060104 450609976 841275922 966685084 455941286 605393786 467405542 185186520 98984824 83717814 377332264 810007640 198120620 265916138 372882456 174235942 712360694 926292550 895660624 723380016 238350752 800225500 327237202 768938354 343554208 286890194 597480878 282873872 832673786 367605116 486416238 537709820 166168306 212220748 125342328 647558150 902600376 771268918 748663842 258712214 820548512 653218728 686913832 947871038 315623686 567560590 581481434 321454362 289219060 659708116 165089922 655271398 71128930 647861408 750692028 820497190 933083406 773205956 777969466 740477054 836348652 922092820 483560456 133132096 496384470 907243182 10288076 462703668 128347236 524504508 258829530 506075776 42129050 838536436 541781560 485233234 227885906 92315692 742204378 18982972 582154966 645183816 524551200 186207056 22236172 412232920 183134748 497825056 227493026 325102792 375642632 868077378 358042346 965754252 491246540 45148392 50831558 214354918 863028360 196401052 608188078 754634916 607869410 950286158 565637750 66971262 575907608 554813996 406839520 749834636 25888546 96231870 702551334 903964562 933263308 414850518 747140036 852750272 660353372 494882800 645632434 338628602 397607144 390466276 532407906 472627266 780694604 499178722 60622740 60816976 515338850 634026542 272612758 370110764 926188502 437916534 941749392 816865232 939660672 733753972 140014344 184158596 853506370 66284156 131232070 203067538 108070888 115176042 639691802 819007682 516890300 965666424 713635366 641166346 201510130 733993438 427873606 603707894 767690034 167506108 839789736 817826306 158151566 488487350 162391314 732035722 861663846 964134040 331039232 248313480 660713792 250238900 20601964 919731518 445265922 568539682 197191860 665689510 256549574 777505798 992204344 330355024 221885470 231841756 49577328 77391820 81205074 845992118 105463144 55700836 378470726 995066728 745177490 753920356 882529552 203530764 958735462 754510696 883547276 217049822 320626388 408746432 241565530 718271630 279267154 719911858 950864014 406158200 269114888 392803254 770389412 994221696 46678128 813451548 589992488 959824126 878958710 340762126 75926020 627806940 897477580 743433294 865130772 533459300 737462516 574598108 749373316 399544158 581215582 969985612 487943610 536457740 403820634 642091624 923668580 210295432 717624474 943525708 55466230 427343678 602489632 259986690 699728722 402513354 626595902 396563820 86260696 243621404 552417240 772105762 987770766 83288526 100024504 490196084 268286898 674727890 53971832 739629778 707697830 569657580 351631148 780897668 727450932 642512278 715769722 403948338 199766974 373456240 581438100 381334760 489356310 113135620 202058250 606910136 716320112 142168680 720619786 381774262 668666302 217918780 451618638 212862900 954126280 105007126 453320970 98471052 447208390 744434588 364094586 594977166 298047908 953173034 407599848 529481774 964893006 782983042 368093976 905404236 702816314 723775564 491733724 917542260 193181686 243967134 561724856 133038614 967260624 791769234 246292940 85439358 23009648 720115880 614175592 985909360 469610546 523874090 16456576 176367060 378084240 129745818 294994830 23360582 349225608 95572196 653795732 576092190 416335542 84630350 377778796 886529632 966081048 872297172 770328098 999969916 292453856 750415506 211040820 38864866 599517194 587638056 232317812 509925256 646383032 920975444 545437128 139204472 605312148 7333894 209055880 447190156 346458418 376963656 3641156 694396998 517306328 640949618 129670020 160568614 375951460 255537308 216535506 891809108 228964682 915455228 966844216 716087914 819965462 129906244 641534868 572613754 78507814 855284410 395835988 249862856 251196680 190375396 209698628 426344290 592091590 779916260 971023238 194389320 482245790 723416906 595312942 2826656 734606140 924783522 828782296 866777430 241765260 776274024 92879686 436137286 449055002 665679650 655957674 28536974 315082312 330226722 193278974 856095126 256693290 888854952 329165098 714231600 111605806 897086222 383379606 780676364 237253980 464548636 979615794 566667978 559665886 637820874 596756846 787690134 564370014 976907338 68886014 479519154 203275332 238032600 339186676 223370884 752674530 142731354 786907332 921143174 719477040 352652064 487479108 705378722 713910208 695864672 508895846 782760534 412750960 127416896 297819772 458158306 703189476 2635374 149268912 349905110 466461948 231272738 960168998 842925684 871288756 105633920 219252350 290952270 701109462 14425464 869180472 623516728 519588444 497260810 309519032 549256038 774800126 100601748 12860154 274413128 433461194 433819606 603524620 144135950 985498698 789945072 893583656 956394964 151877464 166300872 300414924 561436472 223290324 892296566 694468908 24859880 145518122 486203028 960871290 115618068 849593956 542156848 992618508 413327582 120630758 883633554 890007300 433725598 797517868 453898376 395951340 5513686 341974926 931304210 502208358 693631102 725666724 810025300 404283136 916560292 350210392 614563644 477074666 994144224 332043840 101351478 711164248 988542474 12984368 150512302 222219868 807402836 135251870 870415434 302503786 426806750 35175316 352819616 977733576 602593904 340126574 251425198 636379266 360259384 579889662 580537772 898461628 20513970 236757208 486467174 224662438 410819534 626274126 208146356 352716982 229450110 508165442 960180138 411850414 698749838 513535072 400154168 744416048 476183708 203569244 638686946 176483454 389905208 312697508 124543878 514455306 175479656 665225624 817130642 267852874 70745684 613683986 222658874 270949240 77553520 110993098 962691958 330021368 578613946 895477716 107330274 12701246 512568376 855654966 546195310 367582066 350647672 413811596 557304060 497037174 189118730 794242116 766429584 541071290 718132362 337059444 144282848 330153482 899865164 220309838 107085150 893637434 758503028 975399250 673990748 798346602 291125152 372524398 26239212 920656748 563575066 528971854 608809074 715416656 419136482 605935408 759886426 945417626 878429754 158424522 28759434 824561890 231067044 163745664 622037860 48164878 309572792 823220660 706506868 523212418 200331992 603487934 421907518 919910242 567239898 70501428 710198898 447338870 340601392 946980242 441734568 3591002 785612340 16165496 120553644 65132308 956205530 887252932 658964334 262345276 58214576 84536902 10959682 61715640 994394748 705201050 402835802 868427176 833558456 83596022 171888276 478944972 39729312 355749010 606513402 661511380 95631472 256900216 122933598 58703934 467984372 688057182 259334906 848497776 776860274 931433534 16229766 663252056 380165050 652058950 784308056 338016680 459512536 203911024 751458254 278493766 371302054 622892556 773663650 172172590 670791602 162955264 263568234 563642458 558073420 661627788 350111572 886783610 547334582 330607380 30962872 393631190 607804476 671660698 809709488 281770856 554733178 638313802 684819582 776997916 83007166 898155904 261548650 818206064 146703772 86328372 876640252 296925840 715707876 262380782 746849832 157403356 761282462 865938156 163761172 9098948 615658056 354103406 546163764 344129066 837092988 17185944 173563776 250473650 331045698 371693584 194719058 778836642 245240032 109692532 696231522 225319748 276250474 311097552 52259320 658505036 799634036 957600470 56707324 416440920 255234848 226338210 463174410 820449256 434587724 819291352 584284108 407134116 346769916 452959314 4811062 925358902 275901330 193865342 587946450 491408854 9901308 640327336 71858634 43204830 716904502 960486742 651394690 464196652 831335916 158359388 562383866 759919770 206648156 591635448 173183872 849343820 557844542 930399936 328518416 900330056 637144534 754009408 292884316 535144024 969946128 678620612 42759160 878963800 512711104 149013696 909197996 229175786 48774964 221777158 383779356 96416208 6646724 592711120 87003516 840931682 382262600 510933010 121258274 536441998 7883584 833984178 850484998 476849514 425966622 444444784 329976308 746174392 267259580 648567708 767150646 707705736 703792916 279683646 994083722 352275950 881607988 613059270 848179468 566660040 169932068 945205648 72746498 245406918 319994352 697199310 972426324 324173452 953351402 481765056 759167834 822522742 637955674 706539130 743734438 21600140 933410828 500775736 615333768 728527168 921808960 401471040 510302860 398413118 162719022 932972970 563366884 278348118 839351128 950071896 908087766 970052584 613831758 655115810 452787556 179008864 424201276 571987398 761556136 547672510 825131998 181714412 758447500 870366550 953127408 119596310 63779894 439502310 926994632 214505356 824650080 317306784 584413098 763948180 325706676 356826624 726594090 108313920 329949966 692378128 788412728 489449366 868905230 718681266 915839726 360480392 961101252 110724546 909323964 551956458 742613078 494434654 65327266 774247228 361054216 345267108 243979462 531631686 398066016 879611840 251971012 280252028 410964598 607184868 148493054 839183866 869411878 56992496 96693490 446545778 991185564 534913968 678916640 81111986 666266874 219196056 911221070 618974628 664206550 927919112 809171642 835570634 712692864 343044206 105570620 191967448 736285264 822880222 134456478 308177316 75438358 518799518 271219968 451588656 579377616 882417046 355299444 956039856 830566084 614865492 877988954 887545578 362523598 707412964 235190728 155312416 904485134 617705894 543106160 50302682 820835860 474877990 957067882 61625832 23200336 837947186 884076822 737472066 142190336 563009868 244029214 609429232 17685474 258676580 263992938 412857506 690846874 510607678 65020788 10169488 141778298 39394984 89225138 427637554 48392650 649709390 176215212 602711648 127918612 966857778 871358200 755287406 50097426 539693604 867666060 537406614 161806650 896931842 464039712 756107348 797094618 373172202 325583574 674950870 637397906 373838648 361722300 188634108 541349008 489976748 650746118 548277060 348048450 90974148 251470882 508482204 898219710 18271318 3534496 531329968 136563706 164948988 645884276 757118036 594187548 538741824 717502588 223135600 738909294 78191018 351713562 304714916 716129468 209064998 650934320 360189082 748483816 651619684 183514566 250196924 502716820 796964326 611747872 718824848 871916586 244866386 8080190 526725702 210366568 511428270 98715864 372360442 428646018 844263784 539730418 130686312 977614444 244797360 194049292 131352998 100258404 516288062 851851558 743391884 563097644 235564784 857450466 223744460 852341556 803587122 305014942 933637820 705021536 885535210 585954270 271108506 891330944 453459278 809730726 997151448 806659300 249541078 605946540 132953200 575185512 49320364 715256076 351826818 816070740 372637050 864580238 366151612 488827312 970507244 940280828 101378108 875317576 23683484 831496258 29030332 184470186 804822888 900453122 719648346 363831896 8302190 599035114 591148054 609255776 756505156 25446250 529274432 451050928 477239870 24741750 736683758 629824826 237185932 241557080 646108768 72144528 454261418 446030046 702154858 828661528 524070868 873966768 405857050 310084070 837303074 765010940 623098706 686771900 923928300 871427264 246023468 701731144 410877854 469375676 694210680 677115780 229796910 496312084 972928892 327663672 741972926 625596834 754293520 893802008 894072234 735396754 166853700 563426976 573698054 985344900 970655716 805169296 408846128 478112116 479660230 707207226 771158710 901344866 326320884 21399478 454806594 57132590 826290588 317256494 966868000 985083732 8753746 857489362 358659762 560729626 774258968 834659966 723422216 674310296 834113948 911254770 682756778 460570818 892181462 30291534 505182418 905697322 940869680 537576100 967521472 876533044 594949508 302710086 274322160 192514394 754333842 345625604 718092660 731530362 453566716 523034116 600054920 762803192 226029350 155705464 889847880 961317648 893474888 649854644 120204662 650202818 871447602 495058502 657759542 27812048 316111936 612748474 465525110 180284568 11026526 231585970 675746552 647435200 187247554 786908896 103857046 729073888 935844290 689887418 845627230 833234338 854336476 442842060 548911832 472683388 71192864 311314184 889656006 262668310 642987758 375385828 997143534 42811020 85806492 678356196 969935740 180868960 407262434 80529440 28649110 782056158 719144294 961136460 817232856 992430352 851294690 344794146 802434002 711240776 456778552 6626344 367362572 927530742 189450420 647832250 299818676 215048554 497175996 703946082 53843710 749601884 550380140 620891004 272644852 214826704 736453378 141815274 127520822 117014202 729672640 825703888 807972252 736616608 468978104 108427680 12154296 530209294 390972040 514583768 721970708 308490768 328232622 686521470 156048040 522032642 676085838 606779222 792019072 172996392 744965020 583917532 783310896 493830906 979720636 733945838 541831050 168121510 37334808 149687584 139363792 562292938 905668728 397132518 81190828 232456292 369863446 253467718 254350968 33741286 362828654 375210326 264498238 431155848 716097994 600776778 829807896 98684720 209842962 72448112 842481518 819938862 257221462 241049252 51193610 642622450 441550858 157210762 278935594 3173368 396760132 623880410 502001692 212926930 629481754 651201126 224901996 754850236 872709152 495299942 389132062 206383094 185562122 450742522 644935832 45953202 225629724 683151392 558638044 435970262 503977692 421958970 925321034 728224218 788616536 816559694 447870420 992306862 782382794 601698250 77054656 702655044 38392972 82381172 160659006 178947924 353755332 62630488 521621310 421826512 109861932 282574910 47418542 655827214 556368146 325501650 995862366 44362388 984258072 522594990 975922366 581942404 62589666 181343582 537102886 581338642 334921768 478436204 988500762 180160850 501238416 322923340 328497950 753165934 980064980 788085066 318817618 337739854 116742208 87842492 221290724 460239574 932518146 598682778 452615380 58524494 737925664 289711776 171971496 204968446 621203756 923526266 824718092 862560982 482160320 778339878 454804400 13197388 763293230 869131302 590432464 854403418 151779328 346862560 574424846 382660328 637203408 487108790 188677892 516806954 31378828 929609752 517424796 570313800 127598714 954630554 556375266 504111328 389270466 380151510 596071802 888522462 115634756 785544076 323111884 966702154 891685908 509777212 725910326 624805088 609455208 583792722 178827076 436355746 457225342 550765306 349594488 585691980 75615374 641292140 614306792 163280048 285798510 47527908 691708734 178073284 3415094 567621888 64926466 918603602 52307386 802160634 416727760 147390832 272114868 378724112 690193420 432451490 4361568 829519764 946032502 167815398 890218360 696861796 569674144 259768008 889988664 602037032 288387298 882886160 915680344 697472800 984404298 300363198 290231466 481930708 548756182 832648440 198843500 191628986 572471848 981194628 566065904 619200006 38295790 106745674 134265450 34814260 208552642 276179894 974332322 934361588 227253410 589766452 742545956 441924512 876181462 183779134 611181906 734097796 671468092 232111878 284369508 468604138 875109378 484499686 839823310 471568844 88990446 235062236 867572082 855237906 835276798 874424440 340580062 949120662 886063712 376872974 355101384 648268790 732689436 871338200 57969606 303917990 725599844 57429150 523731720 477444612 937365660 725691024 221474908 283846630 656891202 505066096 831416612 973306736 401406928 937229230 575405212 694435016 708747448 666205912 748140410 891747538 194821878 948445808 12080762 853250790 59276464 54966724 411165770 974942226 742864320 469742650 54004272 600390706 350615158 368333640 342675604 29371694 398051026 823128414 132419942 612532276 414291020 490453306 348080108 898566202 9133868 982404136 549241242 920299786 597092494 778876428 293401048 514709550 921875538 160001322 524171968 513006994 784499348 218433110 823665788 948795632 208787904 751884078 379327148 276350128 102223182 110212498 574585686 141404390 626427598 36797890 119875440 667063326 371499522 736860794 576963580 129602486 205782358 156294730 885909530 253901350 249209422 416159724 898676448 843568712 464236220 550267550 693109644 535599262 740158392 808466882 151057788 665210338 917442072 225223754 120808468 241939608 622183040 806890064 695112808 990915060 320281684 510080844 660474168 710269196 440744148 284061654 554713402 701535168 435595906 822310016 264375648 129655926 227414444 655416148 550586414 433334564 521022466 716595198 613275406 163405306 51291998 809485392 804576404 833205172 740282244 399294208 642059494 297247112 667047958 200715278 327523568 180893366 850089260 485662640 504704798 864646382 513025376 402828982 719926198 926323964 944373524 53271648 776306860 240977408 632864938 797886364 562049572 920825444 176342686 292717978 729300046 713676446 960453754 108859210 828187378 342132170 827641570 98811086 115302154 187823128 328456790 944611276 555375128 591019958 152322230 146323832 622972514 81462192 541980314 479626918 624231494 58868286 685234936 535304276 491819478 897090886 243875604 599098604 817598046 602302412 684415570 174826650 68220596 844791528 375447750 866955904 505672296 808579050 471836468 298693376 123671996 984360662 260426730 221910924 991440018 125543730 724127860 136027980 158076890 33498892 156478072 4184904 187305328 92784444 396057016 176139004 69449114 539922194 735095318 701303042 795454686 211620254 230125452 828461294 535247388 171373366 623321368 344107590 618537614 447433808 755994492 226636942 941139848 859470782 904103498 318094664 403667138 397862268 775406364 725594286 388836366 68687524 97669172 985149792 861792630 681131102 373915988 410422576 852859114 504424226 441198902 611931076 295575824 324544780 589059104 569370970 321331696 945066690 316158672 555636502 972103368 390955710 667013896 421778308 551432796 730905786 721606664 451164378 648595608 774434616 104688624 10997956 689118736 17084124 454278588 920096232 331149310 204063030 194566184 483139392 871218366 754922116 681176524 337650714 941778684 557709768 778760626 725977734 817442558 816760762 773909918 866261658 670976066 349301558 149998224 947152596 756733180 147635230 234357996 851735844 330078858 320227008 141913254 250265472 254716854 434257176 503167960 153715264 578369370 722319616 483007518 656631508 712266174 632063592 313581090 432810652 734373582 512812654 571662104 884795322 353297696 385460354 848504560 943795392 265741110 322098202 405543746 351578148 983967290 284160972 636323066 688097818 572487102 266066992 659905060 450088560 875957270 642918664 282615250 699208536 193419434 770908118 88897942 528877676 42055932 567412348 400898256 765402634 37113384 290951624 948905372 577030908 639923516 554901616 375255916 923242844 986755312 892677742 577883014 68536270 963781130 578833128 222747158 330632382 659773578 892480192 419921202 713459992 506458530 166921278 493944436 436265532 948226530 970417628 335077150 501378618 522378272 284238138 626604964 368072414 223926988 112523836 593614848 76987404 15230626 240540488 955293774 869437028 370889520 919992202 164150670 99897430 183643294 644491166 73381652 967191786 21309314 472906724 525755898 843851422 821013560 968228598 682303680 195417030 788732450 985101604 267735678 398200990 786438454 893600380 930964320 431913596 69381564 450072280 592479348 763783806 279075338 160079708 439732160 908375258 986966510 186034554 642969520 488973724 536151604 832607138 360908186 433607666 798870604 868368238 782210850 853060576 907337620 334752042 283307204 899132750 238658882 173778262 369789624 378785070 489696476 624005374 958753232 376934242 746507912 143433380 284304700 312259016 201794414 468378474 918452330 733628560 978829650 567803578 158270816 984587228 164637510 104340344 551436968 195358926 147853952 941817206 108173484 775927420 896029446 665575276 671906484 409426042 231350396 83062110 854824078 405694652 253365322 809699448 829058196 775865902 10912278 859559208 711741540 210715628 313398298 692407704 574749516 180506552 275602856 51015940 783683230 492370664 574229766 894861548 862131030 585781646 105028440 541117582 500491902 441140590 297039410 146158862 139047346 556973138 888747948 194459588 878395110 295613576 32725208 409787834 848056158 678672174 674463972 777941858 794135404 808905522 8593064 824771276 717890264 46336996 22780844 728754448 868366500 205780698 975386098 331311590 5770850 814218170 562775300 62594170 817532088 794892096 908373038 757208244 188301212 740957794 758838594 909246006 116955000 154332554 946549482 950659524 39967546 334736702 129487802 313394904 698258454 160655082 546511978 521620536 359600740 697393746 156686202 729996146 10136746 557419856 260955966 35516624 974770036 418953252 707117070 900958246 168588192 112418266 643620640 366496394 508063536 350692054 732817824 766694060 152470812 521846990 487885396 845579090 530767794 74543268 806981746 178780090 811632490 538795714 817750826 224750696 127822344 946055876 421035596 279328054 37103018 812806858 185312926 85226906 305689764 12403904 728997910 570028486 37520308 556309272 37148040 167455018 29342312 600115700 808728512 47460526 803589574 763569466 438663980 999124898 743831660 884757658 933370268 511301574 567100440 69344712 234798982 291624500 246712780 357554658 204356076 463169918 24566968 39262416 210094390 323676628 626505668 174790046 783772588 584473758 360388588 706108132 374485062 457711022 570981130 289497628 697431004 474542862 218409268 800903516 262714740 863821676 300916656 669304032 420539186 329828076 721102178 992393846 746834786 356311366 749072636 197117470 857316184 642675794 605728702 46042034 649986972 897381330 401172468 414050600 834393758 148716858 833418900 173499804 548024206 711386668 445701932 326065158 208939754 156162566 484386356 300835098 399771806 279233578 415240450 830999388 541592890 420250416 860187958 984514042 971093336 218574350 747610104 524082502 23297698 584153880 585073696 789768400 628350660 809269884 253247308 638708218 797322780 852255480 291401850 340354548 106413062 287067288 838180890 992549988 926284242 227748244 611222358 53320532 730567388 127177910 275192404 677642130 90671850 312169542 674835592 338647910 749634210 507084216 267971284 108373558 306818588 134927334 391412926 283895074 960044924 476139750 508833356 306301170 392269616 343096032 317933358 945341886 242159936 199920482 572812566 539896266 124900660 367189688 491863250 915211888 195719336 113938638 597038410 115040984 30134656 839956598 23135402 709955762 70170912 270419392 603678864 761363530 191674664 568480358 908673924 422850834 23378930 843148400 684602432 299760844 154102724 281845914 654482796 32512292 182616884 937454286 217815276 638040448 45074000 673569746 317203226 972918682 896627478 916541582 526488270 353868450 18760530 340990550 634330644 935698990 705928636 859735672 668528300 79032604 571173724 762975696 163595754 356354374 404094892 561872320 37291240 492461636 995513210 754282054 859179770 544463742 81390086 584238272 741600800 527884880 815788402 596942436 695201508 556318034 681598148 318153726 750666036 620253628 148844764 97916518 935753680 145283174 693645256 721387200 895592814 279676322 596292382 232530574 99056546 976155944 379004700 69941390 334611800 271412642 41420216 578629028 38085762 262276856 69242286 207938464 21902558 724025630 795060096 532083028 508414586 344536818 652347238 336794534 432440464 320663310 779354036 39540076 633376732 352309960 699458554 928504308 762936162 786852408 47792804 314380746 512206430 169456376 527210206 406994744 145976364 569836436 419466530 888766276 319653030 960040902 266398850 736278370 522387090 144974250 568544368 675603476 234734034 772363324 614029838 801469762 6431252 257245410 728955558 51178626 674842946 614676406 220258818 693362108 584827178 727008234 802889292 500921382 845358958 948274964 577936938 708839216 135451618 874598858 293951044 308089258 287909248 631864670 469253126 180768604 279738470 15412692 397075054 137558346 331691912 986829296 943846446 858185112 30249470 913021838 484380744 835767058 821370574 28045682 276551430 742934870 338217454 69599192 113263748 131037784 582151686 803835608 503898538 955514350 468607430 144715480 31532728 861785984 893462992 201480058 848802356 224498186 461468038 182836888 414798560 579104602 67647156 823898368 990474902 914465032 116598678 369144912 196021242 421642250 875837232 250143486 811242560 489090062 508741492 504112428 770967326 90531268 233776728 315984894 362577850 763537860 101012404 994775870 24624744 384769066 180045996 913652232 885697032 184414940 575132372 76691246 991529364 183824754 26986660 940458656 958146520 9271494 545088668 991509030 894939202 69517002 364568514 706861052 404253574 437489746 890713182 367552934 993934390 481698100 693460964 279746734 983984638 833789668 514151936 55694596 299926900 223997862 263993412 508634238 590136640 965407864 931457780 955027416 373712514 483902422 138744776 242756972 606258994 351916068 293209742 433191090 696907670 541421796 844324342 329183850 688870584 953687892 895883010 400571594 85623546 536387664 830195098 672114210 114795536 175574562 45604164 395468206 491019862 306329914 284429624 955751690 581931208 514232908 257071040 857086188 478596304 916921440 49897432 566645638 447322676 637193084 999238300 222772942 205842676 402274224 158552280 136596904 46701032 152665908 42242290 988821396 789570478 871057338 450712348 76691224 434597138 800172320 377197966 116675026 141944776 127918860 866986620 862512212 895873004 472830442 561136676 549191346 116482814 205025048 913044926 379987224 777736752 395775922 946758900 645886104 930475926 317395862 724716034 401642782 379303020 68442720 128779434 168939514 595843192 452522324 300918188 376513814 445984042 519365064 564423996 268293602 752460176 293782672 190697580 420822434 105572422 831778092 318364468 201267078 342072130 806018476 101880602 364612146 660425342 741167354 716377600 72668952 617802098 514293092 845334376 820896818 895149224 190424492 176029992 696586900 986294362 620449654 247324694 349914456 462226766 3184476 886695818 890802796 728435798 355907496 716768440 748206568 712211668 754830852 302883652 310980054 542711964 849699690 108174114 372765324 986866726 930634176 341466644 661806900 200128672 731176072 96276764 681889800 19445074 821530498 903691772 340090058 837211818 608185600 852944970 665618320 797550762 6068414 372594254 33112824 690068720 181593268 970489702 553187098 44737098 844060338 461568204 840378430 952047200 159238746 814411652 245812580 919851048 489459864 442021982 917915022 839353520 874078702 523729902 400374244 545289732 592791030 116097294 72980304 427822110 804092422 346095204 614702430 3148340 446359940 581653742 970981920 354386330 168859856 526685374 742140492 909478194 508461204 888735328 888085952 343674060 450467758 318700454 273343964 19212470 138170252 590946270 948561870 845439588 472222176 837154242 158379954 253740660 7895106 978207898 89477094 375996040 136280900 586696628 83940130 784997176 803686580 285630146 232593974 253798608 211279900 236547186 746691252 409343816 323191686 300145872 290791960 360461766 281181514 715763620 930300132 375488578 552589106 978867468 247389598 31884734 880711268 523160520 981358696 214174694 53983632 381428356 222764820 817390926 20660888 464800828 936668384 411094894 1026254 642788614 795223388 41500976 332096928 697905584 968262292 433229816 597707090 218241136 446739558 563486488 285284476 454899676 627923290 601651636 922678794 968937644 139653562 730975582 628691374 926487852 373875060 718222746 599674910 664523398 4250476 758358084 791542142 923771260 159448840 173343874 591548184 670727018 720405160 585234928 177925314 751846542 456560854 736080570 807663024 656681628 268307490 403979278 152760490 379748710 286484264 942922234 464835792 458792688 760681614 605191068 637514722 936251018 271667516 496456926 499013208 957680522 588685024 123178138 294405100 264707266 453473458 263824746 706475734 243159300 153166646 882283348 5470270 985745620 362775460 75694716 476335084 698085392 331889724 87932126 611871826 595190476 158312196 687212484 373232866 352261102 521071536 243744332 640976162 817064542 559121494 42732772 213137822 872757420 666314926 405055486 645571018 943888084 784738350 809051944 535868866 365305796 373815632 569849138 800603386 161993946 971247648 57547908 994835676 772960002 569612044 83194914 843040040 182229130 905272254 643324696 358595780 131862048 734058450 945411084 489247304 967368720 141642190 734681134 254312250 494158942 227792134 553726204 471786946 12707786 547820152 902270648 357483020 525956370 582445874 987156672 550064420 740690108 503176852 585468698 678944270 836022090 154158446 255958006 643278924 273335700 623416340 413205734 395289008 172396702 138175784 600053316 264159478 919682392 606045872 486535786 570844460 602139582 790195748 58269692 459357522 803724856 966849732 928975986 407959156 218526838 102019224 950883642 623496056 926875904 181639138 480723776 19047452 829457212 69592024 527049320 39602428 671137570 183420050 184015818 490559372 87708808 4672862 581332068 335377822 684404930 834363568 580455610 701362434 169941086 231926814 569079430 161912762 572218146 792343614 952395814 240751942 97782954 656026570 600442306 67481446 405860526 79066434 618823702 846853586 530170044 412799372 398824470 76155286 239141114 858543934 855370708 775890254 50828634 333200496 842957374 506353352 398977140 958131452 93614690 348250218 115962042 564890248 257323050 801487826 892482822 568176774 594087490 125602972 251042822 523607726 353009802 774362744 322565462 471434968 684703036 113616076 293880580 868116226 681448618 8908986 656516038 961106002 658093898 486783564 480814114 80124282 274158108 859958714 406630038 774761446 854024152 177227622 761309088 620189528 610229680 466698356 959889652 293557018 94539246 878185782 10632370 992622930 917938088 881975150 661568902 962392900 917024562 795982726 213566572 708006954 951895796 270296908 824287956 382581092 606340194 865598160 253010402 505504248 138106452 437495300 118178066 427861086 179398466 960479102 46817500 392679336 309915902 267006062 57165760 865408352 174109124 546654812 608671952 983811646 141899842 953205976 489409896 111419280 510173588 619433390 661938706 414796340 335016364 306536560 628769310 390284732 752150828 358152032 752182040 686389930 39074156 792481400 364738362 867378456 223384812 167789100 431336880 321053526 303227540 960617294 466046350 29515066 36746782 581371000 557714644 392469624 367566902 792346682 828372100 974569676 264460878 902477916 307548750 687901686 482486130 151857166 907017418 959028164 670340110 709805898 679259756 677378192 374232990 435004494 987647420 139514528 749286406 588211074 16744436 678266060 419116392 534283960 876675914 917590322 708888648 372250646 132216234 27987860 664975804 986755090 137630684 228468464 84312210 723506192 20877880 686168328 809807512 390905500 58971358 146996280 858062718 157606730 301905728 942912242 81355342 124644110 180439850 776883270 673724998 581122252 257714864 744412450 919116158 201681032 597346960 235169034 218590298 607006808 538635174 525806418 211958026 155024616 961298558 638391742 593614278 451115956 831471298 991327396 519033006 403904170 201425788 488470108 50571672 688676696 447682202 394849788 84062068 200751786 497476968 2656088 410640932 166931588 529562088 725433886 709112430 399825496 255748798 458595866 94632984 556550174 824531874 241085100 545163352 892159238 529885044 316260544 386144190 353791298 610383020 293159780 151730418 719464982 773615218 747007088 829229994 877076892 173328738 331606644 285189186 230653706 268004340 63842356 254744280 811189542 445507650 652028152 424383668 737397642 258560308 327870930 795510022 902269390 454275368 798554134 675436936 37400598 636757508 364134330 557241402 610864600 650008150 973557620 39335628 816918770 81595394 32099096 917610838 367933812 157255676 558814918 393525954 118381060 94331808 586727904 319908176 493544254 755685716 921051442 106806148 861346996 547484324 905448946 381849936 181643304 328027028 155313518 410921414 150364038 344712588 996109304 614740572 812310618 557066006 311638090 656590758 720065468 910380154 492795226 157894170 631213044 609758090 565215396 860302012 215629726 506827710 975952468 690059072 344745158 127168514 174771440 107661012 385555780 734542938 652466950 769992266 453215950 848508700 389526464 685066242 811628756 665004738 331012024 286707956 746064868 799669326 100567946 709793798 404908466 664810074 303036812 284923106 103671202 159248614 86728138 993001192 579690736 915938676 956369980 359934766 891009720 654657754 489083298 73937498 529613362 338162074 880044948 566716062 676411924 753564586 346600732 742124930 335622672 193932658 542872858 871014810 661068908 622059192 343738766 431263248 566721292 25463634 644449904 885036716 350330300 637387778 415761834 832875128 682991136 554843510 557601972 648933906 491500012 147354646 182777934 719816982 58220250 938124626 242131626 138487816 839268410 680856638 857605318 216820382 847568984 477997694 85436802 157146132 558755418 609238124 290887424 299202728 600152690 828660578 51689470 470891294 388663606 756872466 754746074 663352542 918784508 323682512 482581276 87088412 984108246 939832286 819336168 435673868 731446748 762746904 371132892 487870322 500555886 118644240 495336200 302278234 566647816 168346122 722325180 203403322 517744912 362862256 497884460 136826500 50329210 906700986 982801770 560604882 615415196 350405988 646336398 966454950 663877660 725658766 647182996 563859760 131579928 135131352 728537340 357646650 827518954 453424220 366298916 292101516 553313056 54153574 897845586 922283478 503546506 455912348 882869476 686342206 680377984 293705902 819080216 5540654 742160380 884194636 390306096 724003394 573614256 325134944 206050872 43184346 7964702 99581046 173559860 796909484 850681384 240221900 859637290 472472112 448065222 673559132 666101468 889387750 964400664 636697614 868776178 973386518 379424138 570129704 238433312 866491502 173899250 468776380 590082864 141763308 825834582 487922946 484802320 216842740 918981068 342353800 339842842 592636570 796695884 696247888 370507682 757543862 857849984 738168396 734794150 307660126 979834660 42235730 91698538 667990556 658932116 960046414 872113072 345865724 663542448 73790856 220551604 942249480 621127310 653632600 508126158 10317178 311730948 400047908 957054710 673869096 879936984 701373016 522897790 564949862 972698100 156656612 246750522 865513890 337002212 602695840 190267958 878210418 959209112 571925212 127012362 611785410 717854934 104943378 829659142 867746472 921953578 113998528 305404954 561762700 752497960 332816486 1269296 263001560 504228810 791617580 391091598 315411782 278796028 208323358 74085658 917922772 213036986 452292504 754265412 352808568 350529040 295890082 29665476 521799560 259367196 994661698 5968382 3218646 946417292 221656514 740870550 165552334 679720418 699462040 231777830 823636852 877147734 899277704 284175228 616574354 584581884 298764680 860913578 427811230 649600306 228568762 915099846 437199622 737182366 696595080 459684920 853050316 79474748 344415386 837218560 312442702 49481510 189007276 330559914 78166690 563394870 53128844 497896024 470135270 918804466 19338878 474048744 64879974 271313540 759989080 924743626 548364800 805884954 266458432 657463326 245130448 961224616 90659654 647476454 946728148 797948164 239176776 809373670 693209520 96343456 253540790 365975778 419818278 64972704 299877368 587810340 233643604 113825886 883528728 62583894 552183480 139813236 882836544 361275292 316036952 906093578 913684918 700362140 29243302 455344338 847692802 650678978 728253952 202156810 695917348 702140812 712326974 201798162 178618246 640619546 66381944 177648664 265591576 796003194 768595852 509827118 3200486 995669248 164804482 506651922 464913054 798793286 32218286 747909734 5291072 491210798 135001038 171198188 986491606 416487324 594442530 323215090 613529418 316644906 926649410 57734086 632633728 833044728 671801078 626469298 579676720 348420988 432803740 557061942 655465862 945071472 7353274 256866062 987846712 752827468 425838784 909889086 125988940 316186394 656182556 215526980 311673994 987578186 529093316 256348284 460668050 317973476 675108442 785967152 564423904 233646020 741996656 106609788 485474682 67185978 371564316 799686830 426815796 481862184 993393792 180790934 508743924 217758372 907039228 525835936 13937040 956691958 584537640 437760896 141605378 662256862 469342732 470642180 999027290 277699786 308824022 280632932 749822686 56853682 482699532 671911990 444275740 488714822 794699948 155815132 969337608 371562126 227424004 568443624 51952124 468071912 726571622 927964976 958231258 346513000 820951856 406464980 245571744 822531738 969609008 201308966 821857102 429081300 423040530 565751882 618420788 753867914 490022216 388926024 756723246 212969122 138916842 471503834 602554518 833605122 921879852 775212638 872463824 214876452 531188218 187599736 57316092 649333214 879363612 655474776 646103806 86716378 798219530 600298772 480362376 336399572 820786328 173030416 671037900 980788644 757039332 934823142 935766044 491417220 564507052 574197054 713858944 983591704 570843742 854552356 95717496 672627122 221390014 209116512 3874228 456041362 14309276 226856378 302464008 158336328 960446578 269157916 111745084 150449390 506536496 780867694 41425640 405803120 897954838 319068554 505319634 345001484 277206572 757315850 443497008 881520106 730994822 938327078 295743870 958095282 184942252 119366662 709547222 176940744 464625056 976542942 452445784 90212182 297319474 865908110 112120570 163732718 891173404 507773244 462335768 263656496 99977566 980826600 462849048 427442644 717028150 33543130 366039452 142218408 851932454 763388112 638001906 687245710 617515998 698747388 760244106 939485256 431029536 558673896 722582472 932310122 991337258 583303428 14397412 520874772 47867838 323460574 887982672 609293126 915526580 454920900 782442642 590975128 365377324 539692194 193169038 650514438 858309660 766574316 284192988 431387026 731492736 782246464 474424332 950325846 8155580 892083914 378939156 762844138 436687798 479040006 318863414 786249790 977432252 850378522 443719874 755531132 640694202 270600480 757880336 150363342 437273698 125583590 322464028 150273146 787577904 622305712 623011160 327830542 167512100 449966394 182981042 746492852 230889274 628347320 73818364 18638828 58625562 130941886 350033652 151718172 178739290 757398090 702454396 405281828 14405552 270731378 427915888 789765404 530392190 599893928 524983202 781043844 897157928 548323372 15425254 382490424 62099262 840178876 795120814 905805552 48649014 991230818 628926816 898357980 889001414 390975840 158291808 661419774 3347440 748284746 121512266 837327814 736165936 465873704 159097268 177451612 872387616 383549792 62073594 912229944 32279002 169919692 481360754 761999024 360199492 766346992 443874488 70342992 870633294 405759492 76723666 2259744 103694854 642390332 326721902 609811146 888467318 300789562 378765052 55064062 160486340 549760146 503578468 329186436 639088888 445877082 754116156 876791488 853842864 420813382 853181792 617578462 789259676 946897990 155567800 565694874 886041562 930443198 477573898 22236962 646246048 183500620 878202938 730406796 767651016 923725262 903106576 896680476 54623972 662023518 603008144 361094674 786139674 105185020 649634896 543249332 332226476 99421708 797583554 177522928 497641226 966517430 411023646 499021994 715002214 14860922 351942198 720534232 855386440 866136920 119499798 442718432 609737114 412309004 38384102 505434272 18190734 586970900 974086522 314649976 244719386 128828516 125181866 69339384 173472576 954711296 331027444 592190270 899082108 180578208 919527434 772943868 261242518 855188016 571293636 229152886 221959110 879586566 801995102 708132232 511564110 431679786 327861666 583624356 821917562 572286348 32179656 798214570 771882358 148656258 523206396 756870272 197652512 359317832 609606292 198595786 55160768 112943268 694382062 95492458 983429896 417664236 337664224 882494314 707496090 647361932 527225754 996567082 275936894 211038310 720980588 752665928 806334290 28324734 866560962 726218854 654464454 113730368 737364058 97908872 975324492 399461698 795449930 692168520 903527596 809177396 769340784 626973988 693879426 38354522 771003688 430430622 456622972 41739142 835826714 634186884 202295138 273475956 193647192 98374510 282527062 695553196 211525850 171989482 204998162 346630124 447362162 823697500 164402264 690167118 175273560 86484006 428998562 224633454 886051838 791436524 398608490 293705168 779575410 882225524 137639914 527812848 470961834 761325654 547523476 669659108 462004238 819432430 173455090 520087276 869567592 997425090 404634868 168688782 377372362 6772404 782054438 334761998 95529516 518180670 738274000 725046706 141486230 197803620 279822740 43356450 171640876 878764884 213775106 952643948 63417460 899715310 240293836 126731682 770285998 838780918 555679188 597917014 793846300 503302086 534397406 371487854 42967250 279016222 135040098 833702542 643332102 301629950 493256062 499875762 283351510 349306680 438047486 22077950 194281870 987484208 842639838 661931886 938638164 35787352 923811624 982859460 865494238 815115252 743553172 391980016 53465224 215358728 720388232 446854828 669465822 503288414 561537740 190972014 277029922 536896138 274429224 808922774 926492244 727708746 561019902 512221360 602824428 972846150 276901460 932599214 757038846 123803448 676153232 320648568 64254278 355381868 600321622 829494640 200044920 287923580 137282960 319597722 217553482 84403076 747453858 190960270 203088774 477523668 979983096 816784710 319883846 553614948 343744800 839383424 41355348 536841818 419508086 861804734 337817348 788007106 738448452 174357458 790729906 507702220 829950056 873935842 745854658 180015854 7830446 736413780 904573522 884363804 298692954 11218254 560829508 445118416 553165556 42505904 125449856 142675674 527633790 710626052 291015538 101344022 812071616 521991472 296579360 715095302 681325744 309104992 373504472 119098360 98389210 836573722 530027974 487336508 108952920 768760158 837688210 361707884 962599042 270571604 143018350 73928688 155197224 71114846 239504058 33399736 56690972 768921540 393835400 829111038 483709066 533649744 396415328 786334342 296353830 442697078 384939872 201976670 453081302 886004348 764071496 684717186 283816140 709754688 230558596 175512530 877614644 293252780 792884996 779115338 993577344 714923938 224750136 546482308 917999064 290187094 47079266 568491340 432411618 762855162 745111342 847991140 734921800 479295498 803798924 71285500 745506762 278671318 100381858 958797458 172812694 789333774 199319470 788059276 622497020 358649006 418089752 275925028 806514132 254341432 162490160 253227578 133035284 884060444 986845784 838325070 777713674 88875474 862409328 132927264 108665216 980149036 325423970 436842888 378760754 961265846 32871546 883055250 45740766 240429162 182113628 630709964 65830460 204298420 26210882 931118618 914810748 228415276 620314370 804105184 437708354 156393220 362051070 509376010 97465988 96309364 565124274 837811570 120389178 925083432 106272416 482892970 671667428 556060924 787294188 337193040 976087112 40459854 473175736 398279724 849393250 228792814 14094698 674043490 949380888 939251922 658593970 215535766 165467138 107985944 379291356 262656830 718695916 319580778 381189570 803757568 929016696 175792078 925620492 788717912 394351940 962829426 694181974 538050188 460157502 545807078 362146750 207083926 66554870 106397312 899439118 131133174 980725476 285661260 896759006 534102938 819812122 266685726 837591546 427930592 260847218 113245632 757490582 629351496 168444206 632989876 701483190 968534796 950654436 255399182 964106528 867938330 793172562 497732908 163889316 921824052 178056322 259947128 770982680 516765814 956356344 416130834 995974818 855043060 389838206 654778358 511847964 577165912 528008256 180701060 19573502 355566592 722474828 19072000 420218716 126757904 810677812 302506600 266902664 404650388 635428408 114737710 156367240 320759472 451580522 619113728 252986574 874669290 831286612 428410912 33949252 746486390 639249322 110978788 516749434 528144468 242504384 580916358 838853878 724214998 213167406 628405812 849177920 902352734 134502914 529589830 161322060 318127480 782734134 996426454 355824866 877073242 145017662 860117556 434077980 444163754 365178944 245070600 928120052 750583020 230546586 448021456 850051348 198509166 189707090 867415760 371142912 826681598 624230772 87756160 782158342 949023728 385936502 541648998 387072220 235379080 914748986 24735934 468340450 1523508 21091740 731530392 954983092 974557974 188252954 236017520 676962762 357906554 989872018 343845978 778265332 375293360 934682732 143009044 759907252 37369462 37131406 867937208 5566124 189263922 252788334 525122852 324224458 100404638 945571364 500234808 280699322 453902258 391089562 762622386 539271568 27548212 887789860 136911712 89507650 729480410 184456056 895277058 797116352 170053478 744961776 216664584 177357592 713994878 876453138 931538128 130864540 862466148 637160968 791446568 879628294 665647812 160522046 261098070 144088632 22992910 100766150 373249536 680262620 720411156 923587494 862850230 624081278 419209432 31367318 640816976 111692144 757487536 91292502 874961634 792521878 912456842 195957498 506466012 941109884 633049968 336569384 693427922 584809070 24966044 711027350 483938928 665520654 456826038 428633082 341233892 895636418 756796762 715882748 754444160 977654968 819727982 566362352 116371210 857140060 426396498 669013498 166290130 280888096 390416996 622896508 320394198 283118706 364118404 421577608 248182360 676065316 997447542 10194352 903916236 479114206 38090292 515444652 545375378 472235896 226566426 683066812 864701106 922289574 907835106 106696638 162826756 755206696 832046292 53622884 567382638 384007102 319355458 982656286 914500624 262809562 195343318 7738928 388649800 134596816 800243994 154878698 713071554 979897676 364613564 939303754 10318620 786195562 737995330 867239184 888388296 472581104 832111090 592046178 562507054 524541360 981688846 961090952 589439522 274760606 446365964 595538310 518528288 946106672 383607510 653061014 499028072 654642124 462777196 61739968 711721808 915562568 708399728 898309462 851496494 834821894 160771844 572631338 686103944 607223300 29951944 448096162 601804100 212581196 409977604 776483752 934801136 646068442 786901606 882854368 610673254 805816254 521552848 872917370 97323334 309787152 491874620 462268800 674404784 348252644 971377816 91149342 486438336 86837992 223696508 788191298 540771144 496118498 151111018 752815996 595867132 584731926 274963726 386360914 559404764 502035032 176643008 700016620 615876430 340793258 365018260 792425356 149770614 438902418 575184294 324141060 252708656 996009586 13813966 735688156 683032696 226520900 423460478 818552846 777417090 583710146 66495826 192500334 214361508 482031292 756428146 912441868 149425984 76251976 29393542 772323912 180389494 587823978 571808488 395090550 956981558 220153172 797498436 839075074 837900652 653148068 656384988 596359306 801525996 472657930 47862970 821543702 398249956 112025290 481585482 305410348 392255556 716060726 729834216 222162192 513244508 195144660 586998606 466792190 536576488 700920746 284475836 312100736 891614034 616838742 797634172 548334040 165584794 823383650 142307658 764700640 65415740 263071802 560118026 531658810 537050618 943201128 122529362 576742094 471720792 483032310 954211730 371801710 232448084 458767826 796525334 192739156 318621734 192533620 151721192 680820052 336177460 379113058 942983842 731522656 938108564 697309560 953357232 235289052 804511956 7907846 438263946 903285964 682422724 530219136 873337352 776377130 60740222 135490588 454717414 559244994 895214064 595498864 33906642 435290820 122707800 338459558 155159560 375151620 25975998 978363778 209754094 555641622 57750452 885604592 833004388 92029978 104088334 254526502 480425374 782141490 694461730 58754482 227104922 38434378 966949838 851180614 310174522 392062164 386016984 222329218 214471418 123527460 858823430 854793234 717654578 847581500 708043950 278993412 338957878 592876176 941982168 868434662 418592526 997781822 755023030 189967572 271883040 214220448 438287564 304801954 573179424 118961718 946198606 811216346 525071336 47549674 715925416 807577674 420104510 289375664 340293234 708558102 581680896 643620026 601915594 911216190 808317964 779249824 390290330 170151824 325153484 371991942 540999858 383454790 909348254 646694032 229542058 695863954 43047918 717678140 435091698 712317772 576024562 215899698 545010144 41104510 632049910 651578290 860158968 308504416 144682074 742857472 688703312 294745994 631427800 216065588 905059428 176734150 905222494 558764722 962223392 610102912 878304308 880553190 929875088 102844488 982789476 256638048 997402794 215150070 905169232 705387152 738119508 768040580 865245768 697290808 356418718 438206688 469447916 899562906 537756022 957987594 470921938 692922076 400034364 139484332 182247354 71477264 612488832 196564756 707893164 940804494 539632020 480648678 691849188 484242414 459712750 66657534 612541602 903596064 740622228 266727278 869164074 402141646 492577976 218737466 764034932 12797788 252611126 25116640 948601512 194449094 279375956 138454866 608638900 96223550 430377600 808260710 95999296 643786332 814349638 339226652 153745642 26565466 866366304 36005740 31601348 666085112 811281998 853027524 18137476 792685956 997803712 197168810 457501934 808290460 699846502 341140638 277200140 255231498 238462094 656924210 710069156 205268192 728461018 332326458 867471562 775906330 61721790 825507566 505525002 613415100 768487328 146373256 651837492 560653638 742240634 706468942 612251370 687215424 356934700 960431682 280196554 706013956 472592064 613571346 733449420 774693730 561185218 758330836 613691268 976413122 689942264 696722080 178169784 42144066 23927276 340994380 187408254 919076312 152549486 730682148 94860892 599222504 231894044 289989682 724726236 864227836 999013160 656231022 431470442 631674524 905930228 277638732 968260716 917878404 496506726 857367682 12121578 847077238 185505016 406695480 636327508 779257402 61429738 100771792 412254604 19275878 465608008 73942986 61679074 468440044 469877898 777421350 357564648 374993580 224378884 437988422 18577018 467784046 511670864 617715326 111264314 793205732 866826854 663405802 415892864 83356934 982117076 969649412 512424268 874044086 785969702 281743316 502540742 949306944 619367424 306642762 176715228 992250168 721534096 236767086 661675066 93586576 599774522 765978132 141981836 543821196 965419452 399922062 96314724 728334454 542794036 173331000 276142848 261441330 527955536 640069858 769902586 381341680 655408696 42573872 460606996 750461934 379119470 343995102 647158100 207026856 834194440 476495734 235083892 88260572 756336666 881449788 330117042 622213094 376177208 172099588 363995792 156014328 401083378 919916258 847056518 203420470 38823134 45739396 672924392 841752710 671557080 354734860 830949664 188400232 741811506 625421334 670126542 613044576 542832502 275538784 828752082 962036712 210198718 624064546 955190600 137521184 790767416 717078276 100570212 879499814 181817344 409186590 839369986 236373646 585802264 340238312 991604274 312066094 661137056 410278376 232941232 31844746 862902518 468202318 699256976 998167286 358193462 266611706 908159020 485449974 339091998 544037578 320867492 289048770 67855936 851386948 68114362 348700662 927826336 923080890 833239266 393890060 319576402 898198332 825275266 358325456 766464758 150658002 575551080 46777582 974529542 885047758 352055330 566397564 235652900 942841852 253694794 307837874 234329684 369413528 74044716 583162320 907548492 639335362 506625766 557308286 472555284 866193938 652736582 490481592 910077070 517406426 526038650 512529618 820253722 542444278 973527898 561604834 549464254 715719086 60249612 476379400 651604046 915412366 882878984 948738504 980506728 916051832 979143662 941071800 786838080 76135226 337968634 927920946 155726004 119900860 190263680 610246694 534210324 442284132 41798478 95277764 653767302 252851236 20664392 729744510 961029200 483618540 314945292 382323248 289160840 409576094 563386734 885643158 806262320 985637070 320105340 65468702 152311570 850233060 364582640 158130430 491650574 529440848 378378888 810719812 703676220 946212216 733710022 169184440 507207378 99218418 466373854 906430678 499883478 441172208 331228266 320336206 375505992 427975678 436227582 275402324 555693920 145832706 968099706 388007988 270178062 317259984 141726946 84426064 338851432 875288326 929979232 535952660 603252892 581130758 643656900 452104714 477405454 658524226 855040290 861690064 48336016 170192846 764493426 539954472 739040676 123968334 782146830 137098298 704080164 511665564 214459348 549956236 310811874 119877056 470013618 777549786 125812538 744834826 233209014 821551826 504909364 532989364 446873114 483898444 662666718 456970144 837295826 61659990 596649266 872558228 933598136 828998026 336395290 334627122 5959762 789355676 768436032 800014488 45511914 452556096 122695376 993200222 820674594 309581328 88024986 90960048 916824496 82728084 513849326 609643264 943726192 923835308 988030204 194233060 118654082 373678782 4057204 844865988 931810720 274662176 128510788 209509274 532385574 296340146 961739210 13012858 385299446 364228750 364790638 760542290 557138080 883660866 462251434 689065462 463005038 49751856 431978292 166211040 33133250 168501264 839234576 628884654 177078586 769235494 11419896 998163606 483087718 393085876 782664928 925986630 326941584 843181698 635154748 24296900 314870834 189009978 796028972 726185470 59210352 701336472 505410290 343347052 187642082 672169972 202793916 146237904 368493282 975411934 762640426 115479236 279394642 592348352 161993728 964798946 291905066 118664714 267278138 546077128 906463498 888555412 963557562 747920518 854916952 17950924 368180314 767389488 764811682 770585116 326700826 919895658 868291138 39098176 476728098 225804304 946149996 462234958 868987200 634968154 723674214 925346660 246493640 267327746 976368064 750450558 526261440 534590942 250062804 353896866 370724190 643110726 727057146 468750734 314704790 433300296 842461702 92359700 70940974 259215308 239158154 381981214 327191272 74227292 933551814 686697770 22340594 172716116 326495266 100731514 46055894 483603172 884219660 42375926 319132046 685686138 34253512 328106326 74449894 662935180 637152330 280845162 563441270 636867332 161708824 290245544 764114982 864737724 36574592 209858718 892081050 82655978 229264270 945673344 106220940 381062734 592869500 629533058 655265314 116695326 592213882 612280656 970597000 884947596 322072376 189370932 113039240 471451240 925848274 265772914 521290902 565216800 23529352 136960968 637225202 527489754 34761446 794817032 447695742 783563362 772232550 418987570 209607402 54890620 729754874 42736690 83334540 397567050 591892232 217035736 88864750 131749382 949425816 303947574 862485436 875806346 940787226 603978094 708309972 932587074 655109622 3672512 48548584 826719830 886540614 662242648 80457298 543034322 460995318 142234740 292128072 290433604 533971156 728538154 397903710 398339722 637926200 247939196 827646414 177493060 246232266 39997242 31832002 557438908 597175370 435893934 394790532 511730948 158176112 178540678 538675994 429791974 58796872 252494678 963389332 98500332 995381460 701027686 902779828 177466180 26312222 813552748 749440742 244835264 590533870 952044402 219401050 243178402 442722234 630223616 355222072 499130216 213657908 754483650 101258872 132672920 481600654 152760110 247231122 673245528 563823686 889085172 674990784 182401418 931057512 810373184 454905670 774007802 822299204 549065990 213970064 246083110 32029496 653491000 666960196 464927716 50191864 227796692 883439784 379568300 968403808 214977754 612746144 371818034 651828148 943691598 225120024 486158448 199167784 369043742 302121544 194724864 146744490 108006004 261924502 170934716 153846660 785334226 647081672 62260624 473610946 882287364 938731308 881830448 272051352 965372890 221411966 684219012 131196170 361258838 479620516 757806150 236841574 565512542 9558750 897603918 163801126 725042964 73196926 520049760 564418522 678730168 846734870 100343580 818897736 756987442 720452662 500169394 790844048 355393690 272226792 828866766 826936448 787910750 823196204 595183574 483513380 88071646 128951186 718644954 657832014 401962086 442272712 65145122 649825612 609529404 267614506 762286658 637710684 723435234 700498710 301816810 419103194 874379932 337431712 123361764 662502290 27389008 649402084 630757196 211320864 626808274 421082428 965192292 339226296 408229896 287906632 84040982 160904840 392658694 469379578 892284124 276085360 975181566 747056862 206285526 478244034 205128402 552100076 958885422 525532080 582140930 456142346 228438814 666873272 854394508 248837618 744641058 190592218 276447532 422535026 426334368 648907762 196739666 593558060 764531060 227769104 373141410 655866588 852872254 359898984 892113128 414031826 967688176 541996522 255519712 599076684 259592450 161100356 802876282 93561708 338240726 851887240 966727090 723552692 894426942 496938346 81036332 783186276 128548286 600884368 976078000 44226836 634991676 784073272 371514828 573921436 707891218 414314560 540125700 819100264 502661358 910800218 66747430 290929262 179095354 55746736 930197694 46099264 988255580 638668624 187225224 377496292 82045466 792991420 264470486 245960680 97900484 991129436 761665036 750166036 935734014 874028596 53998032 211401098 186822658 692715426 996437330 972596152 833612308 866292018 343684996 451235006 867910444 487427634 629940372 714085056 939117220 993424156 512719448 826878640 818258628 886165644 939053798 773031528 181367126 847763812 785710204 116457378 305096744 343097304 473250738 89841264 471668474 204979864 893126392 307396106 387733948 703194612 413182364 491759400 937675810 7878494 350996406 86489460 712189878 316395460 594499468 821974508 904715262 898935874 735886342 41255540 481446118 817182860 979652616 639426964 650907502 372999858 480826752 239587046 44760814 647609680 536855456 309670398 95907356 346914558 43186464 97608972 197335686 726415452 713049422 822419314 105627566 876889370 192637984 930837732 564377146 544083624 172394788 3327468 675241038 83866964 115315202 967811810 449426494 159533130 230698408 191502936 958978702 335769880 713965356 569161266 370290768 25064338 251738840 439244510 568060810 332356236 419631814 126874866 363778320 832023320 474901678 107445832 754770912 53702268 958030412 511274306 85721490 82013084 935222694 409569128 636863170 514077718 246257746 870065058 545969808 862849294 202013980 638904674 722396986 957891898 859119384 769379056 52506416 637107782 74500458 87909082 476717108 518420994 197483576 421663740 389866836 870333814 73204272 689447936 782504916 684146824 748860748 710621732 155936828 390434378 812812824 408735890 77225514 676507670 412986900 919235642 808540102 750787408 173586096 492265768 594486434 411450686 346314136 652168058 24230614 326326284 881760668 724383962 951702682 514293616 632953700 251656668 826014978 467241242 975229180 172385686 926575554 42137510 184408520 436453416 299239920 764437470 334687884 280150092 262435018 858274330 519325174 149641414 120350926 832430038 417034374 351964328 694919576 198217370 331862972 165280014 833923292 475841098 259187346 782347408 316649348 110349118 735732730 57680076 615755752 288774356 18424412 893383000 790424294 432251658 395703976 456374240 494378822 242623916 214146574 547440160 692002678 186793812 882358866 4162394 771716758 653724584 22349370 514467422 723458574 368722292 786231498 103602470 443448614 331525386 53346436 10040838 807806950 347963178 748438512 785652814 625444434 621480790 966390180 258310198 569730338 629372628 190773604 999052500 567907974 344962464 120684482 2284670 590355460 902326952 301155270 243767206 559053490 986188918 270655562 418912698 290922710 211356824 467152560 143122558 63199212 510507580 231005444 438247974 796887360 766691748 156890598 470251880 766125520 196248290 154633118 581981776 492283242 403965528 991918796 258337270 729662198 387067964 178309082 682152720 615616972 851939672 701276760 935806232 596083842 184902296 645277298 727263584 298566692 466987576 66463948 442938214 592489616 549125814 424431400 407112148 939600360 274554420 963208534 334204654 937759782 413409374 886331072 862379516 553171730 928957290 944081802 388885772 510098102 571242794 31902180 453313486 283228542 525300310 258283630 946920024 548932744 256607282 428145338 29662238 481680450 103242196 391667760 111039146 654207568 363469028 411298046 538574106 378839788 13723784 761883168 148311060 339607000 355078346 802022850 566064648 691697074 491434236 575475984 567452304 392547276 548515824 591201006 249441880 896279512 761272268 913019104 948896346 232606502 428239000 333560484 738162912 688000328 452856890 701283910 451038272 212711954 242253826 195132806 524346558 912877262 241549346 738904402 580589826 817965794 411674782 330158630 805913714 197492588 289929696 656097752 646341058 140381290 95159796 732963576 599842492 797905660 353988114 383133794 86989156 100130096 182263980 712098606 761415804 919236134 987691508 634461518 612280572 211794686 94733292 169259882 135302974 974904776 610770924 576609856 111378228 181015028 70616984 850439270 194421598 306148962 242316830 799383302 556869574 462611916 845952924 371925154 872513916 845685796 790111342 81883490 159092246 407209174 474117544 502432346 58319822 460282254 500851396 991254820 193948262 753938112 217836316 789546528 253024270 421832148 980557768 121649354 7269978 515884516 768582980 545785564 749560810 303058832 252719110 419009752 572414040 617120592 235749492 425922836 232095910 119973884 247411982 932220514 196196342 501840276 964975760 897993172 615565284 721217622 62936380 306954794 719759068 448523254 388052974 880722898 120708260 867015420 920365520 581681170 856818686 996651838 493782148 967096358 982739364 191120872 497359358 30370910 612999580 900848076 557622852 829972468 429093996 981677628 709330672 200407538 321453198 177488628 234734170 923584712 672217386 748007074 982613036 395616278 682805922 698877656 374531910 298387788 714212988 576260852 400079638 609954526 294621752 684141148 193293794 459682490 964871434 592963342 673906352 709451146 541692562 402224020 540238932 556178834 658953476 758838798 636578910 601372574 550088334 210458416 159791924 32060038 113876900 246735248 615757534 60484476 182560568 48118958 870754332 945574842 613569890 695440740 427873268 352805730 953641816 772560520 206210088 552614340 89453810 633374432 76785538 723370480 771465824 690883686 822617232 202277244 463262398 442308678 590641666 713610846 731555158 272336070 595069442 132680746 590057104 743216048 36858186 707506866 936950174 722880094 402226880 750722402 21425268 341836560 503601902 963963904 2868820 64419358 688538534 970631724 476623200 359381656 491245844 561629182 976115018 177596016 702726992 579726540 170113622 83158692 933952794 834685766 463520034 74859054 515043756 378404000 258852420 997634114 725168642 62312332 182320198 555711508 657480460 63635986 820391320 954160494 699489694 531735384 325378982 699893816 384331532 231935832 716574848 126848882 981594658 904055546 629233004 667885460 430014262 999391820 507648096 825758546 703251648 672195266 457457772 275806516 329475112 966410148 784003584 916394228 461847984 351905872 435656970 287869662 983333034 111414352 240979708 840416212 964324012 470319780 997023326 300580946 688485720 692862168 154818106 581915190 63423076 492423066 565926086 26912882 546297378 114263318 307960108 443375704 844907496 385694610 474388496 235554490 596813046 971258042 715369198 624588218 678711194 633334128 234339194 344613080 334398228 120441488 550567572 211956296 147262206 262666508 278064826 887379888 869617302 680821500 214789110 758422202 878060496 810738518 655789326 789976946 353704596 759632748 21767416 476950022 901854312 975387798 236633390 337490602 291960732 715689438 911526216 717924970 714794492 584972578 902819178 339611896 544704540 408115570 49816480 893648342 681422404 816933832 729763796 43903868 437814226 760522402 422241088 12900692 553315678 704911174 732423852 983418502 531634036 890497444 9886396 125389052 700660952 73612438 433536380 505726520 644180718 983180588 301731724 997210690 649927862 607359562 20497790 173031344 478824986 520310882 998971170 375496294 588032468 25017516 555012950 365322474 832362504 129871442 723398372 679169450 744222374 212240988 245244304 388218004 723493058 816332158 586769310 698212844 176654790 445509500 8428236 356383972 512649738 265756986 122101600 722643618 30339292 419144336 679467134 660440966 959227788 691491782 44001738 375700384 484318246 498406132 208078200 704863674 745724058 956764462 807433714 282064286 831475050 136729514 298296624 942187928 175409996 451779388 805134872 330438672 271530220 769767682 135773092 489569678 37942620 277309882 618598770 462366628 474395830 201695450 86386432 124637462 849515182 591767066 416872888 949741972 738946588 348259326 809990368 591986986 830920882 90366926 560717186 902283236 111082672 344003052 141854138 378778582 945671216 440026754 21549280 829821292 982115850 584215586 924750558 899432704 616168276 260384546 752250790 210667056 996789006 353166204 431911110 669274118 168195948 188422768 523991454 984968716 138323000 302753368 786861152 240042736 262261656 608443520 215976878 251926728 280464088 935204738 321119754 63181644 111615670 425249120 735842378 319658930 431299616 252987884 14912018 176226008 772003212 506049396 511730536 85235244 427854060 257894674 957419678 369264842 842854872 475412622 740868922 287927610 611727464 337959296 407680530 227404494 986792244 189141858 966759178 473837884 891061066 432033284 864963178 392293238 856082284 976458904 128113566 655726358 372729656 749812194 841122170 971149396 319249356 230961036 149534884 123160860 704992284 7706098 140406926 526849692 36557590 18926780 776925380 815990896 469982842 723109718 70030846 654328416 536970274 611869842 892945934 517323656 277262144 904766738 134442156 277631660 738049908 723853328 503552478 549715006 792700502 697837934 476975396 25094486 216303670 728848360 691998492 278372408 157989336 561720444 177828780 671389182 974682730 759544964 708994800 389480762 468577316 903424938 716988536 470899874 389906090 241057736 888500896 955059016 296675336 716566746 44302740 911591484 496154426 203762622 55182396 328340600 24446430 80260490 895278654 177553956 770490326 784820566 903011994 785816350 691137100 743719270 434454762 260352226 400555826 633650 144507962 594225920 285175536 80528744 296154808 395050040 683258138 340613704 93831478 95848838 778417862 721487110 402562000 267925186 73662588 8373226 251801390 997225800 189816248 865626028 943374788 404013084 280898038 714872874 849405332 514176412 793997550 138994056 417858252 622230858 132498856 508586218 224328618 241738328 357003556 606264568 167910798 440029586 543804826 816457208 637113374 643414670 989418344 348858624 191565760 863538590 248672526 871612718 451525604 954139542 896948650 466507704 265638804 625331944 584886772 107169888 513574076 40299056 254485692 109276936 518032586 611659904 741013756 983948230 408634104 385842108 608213988 269212210 636527000 264242460 577602374 631941664 880230478 993484506 291150900 831966764 760465148 816144034 380929158 582124228 875206354 381949004 72354566 384468298 478328226 32212674 551724988 111405356 799597270 85586738 149975576 84184494 589879816 288788500 136501092 938014036 484210166 554434850 462681498 899042294 58237464 84939208 617268636 4227554 578811478 899132160 37754534 941344654 996389928 702251066 552473266 84621266 404301296 248934680 845014326 74343162 493498204 954139148 878950360 546376570 689930050 250342818 42527392 387632726 377446658 274218794 987672206 733644854 126687994 643710832 909354602 499644986 210043878 988464330 587349330 260439590 82301450 544223478 406083838 680979652 357297604 735715294 277505908 364287006 587054578 43916898 821288492 16832146 49131642 637683976 465695266 991911022 71381552 252731696 691835052 292532032 837057982 858100710 157973866 890078598 339656254 557623006 429283242 22071656 827513004 142036628 696524260 773174556 704536806 252530058 489167526 540972184 330222486 415190772 140964766 401022968 993539558 829262562 947263204 935968344 280814356 777461532 906188634 142106912 685998574 424280970 223972098 483005082 77314662 129333132 643950202 375695946 596092200 362971500 982068452 293948616 570067998 584630668 513511886 590920948 789815970 133546182 933013942 750913882 99927720 15965024 282067104 826016810 458587752 743450790 537994926 275222824 605051042 836407318 832412328 625383226 605951634 582550540 394644988 740696814 74728558 913436002 366363192 188894626 465989492 279957480 759573360 568775236 504000212 896784782 653014904 469762054 796398562 603086748 648579368 346124582 553314612 680823846 500415024 834310642 458583332 21316578 821797734 254761976 349913952 342076154 168760256 594469060 298490964 934335442 602499496 135115736 492824682 136406354 549873064 719330252 790552374 269088840 968657862 961598310 107346952 864304976 561871174 856981428 584125696 818565878 246952508 826637184 746453642 802001912 798511942 334524230 639957804 564507280 541858782 316883124 629712284 493997280 776969656 577122802 550484380 746713948 185137080 547638584 735762830 848358330 171984202 821946058 878006314 769786076 545303192 660907482 377694912 365477064 187435412 58860860 352906968 978045242 314776202 717174020 711560682 335691122 262130326 197315978 305285002 126125580 673842204 597795954 304710188 19238060 590468488 189111082 156070968 551015304 535439866 35168246 966966790 310730798 993727664 969769336 517580800 333156302 634487746 22135064 587203920 411488960 92799442 112307450 847250720 411244152 470035644 23926756 752805362 129205598 815460458 354508450 963527548 304627310 608792610 726243922 938886180 707680308 930237376 695174346 183373490 168563656 667412092 424123202 759233200 756968132 116397542 858902252 313508806 586336618 423113370 40416740 203988546 972575326 818127112 369269588 336431430 847918776 473080802 470235278 652612162 636908856 338226976 369752864 511762962 484892286 918701244 380469666 108649056 620185894 42669774 204733882 909912132 881882742 567159912 990059548 953149382 76215042 696269376 462445150 957780926 766978920 606505224 931007388 269839514 360614424 954194164 840080854 470022052 70231700 420603466 898581998 94646330 60956988 747812980 901851696 434338272 16450018 774064310 845899720 783497182 527677800 948488954 57446820 468713204 721889036 19598122 492394944 465319626 413785988 253576480 427042976 956646346 180748692 493214626 77904072 310864786 947482288 76093864 705213296 569837588 670098626 683343062 19354736 951111040 920119646 905838258 387401558 824384732 873714186 626359110 723403984 444124664 858440448 692948494 950438390 571090578 403857658 722681186 474634346 387719718 15071380 970610328 158061648 629396472 935336864 412545388 197643826 690823738 885636224 832246794 226804138 494114010 618467912 106616322 207436478 517217538 879331014 627620698 394231376 526092874 950374678 660459392 146899852 33357400 680683136 675383396 342004750 211727920 735511220 445273242 411072344 761066192 36545332 81692956 16023478 580240004 869675436 84409854 272456740 958314834 859232046 349239384 602583604 600382502 673669370 182677922 384969194 333631282 2546698 915729862 683441556 954606204 55524734 659345406 70805748 495065170 987826976 390472016 264975096 89185208 570549622 643451850 344421596 680723484 999264300 873190340 783273772 747726744 480610566 956870444 369795244 193557178 2140674 18558758 552520232 179925146 339007390 157148860 837601432 633574368 777633810 658256178 335010682 106389290 497222654 92322160 331621802 703345896 409191806 292936200 723861880 201096538 227479422 611825388 311257524 681759586 5481584 898074228 119771528 135393998 128766612 146272472 264294936 327003038 401305322 546151472 738837544 942692934 611190338 273455844 899819028 373716072 316536250 842122726 857796936 706096822 699222712 756085918 56279082 236092554 190330284 966432472 527880762 852246556 9232486 5735510 429298562 231072834 773433990 276116498 332030950 536308952 348803414 522253754 557484838 900643452 481703056 749898926 951240536 173019098 60329384 100809278 797673908 124103716 244069886 370156162 78396020 234505596 343802338 689625850 574520150 108838288 502295976 251211428 258377600 776541424 53812550 292755500 756762014 123188088 654429278 586247464 258635392 691928316 568364336 746750590 909340680 816343974 283964460 780398718 520379738 376842438 659947906 478461670 360054498 261358534 56205248 462914290 73638032 108146638 957823902 168476360 605698710 274352816 363003948 665540828 479150714 436348918 424190638 207001900 296554264 169816626 652162904 952024008 162168524 805518420 490996246 107059404 855720234 860401502 24745750 552149010 533746810 738185570 338113204 553931986 736914874 812738270 197378516 521625288 429924380 84539494 250901074 854273548 175618812 626270136 966156666 35437716 815272318 124811538 592660568 446298960 127503196 216256052 134852630 874430404 658502596 964558030 900281532 39080812 98890116 239247732 32173902 343726180 823603296 886690010 15890270 69438614 397620912 116277988 911929622 225646404 566132204 16289064 413800904 567457956 53188510 292334518 815236900 347908714 615740508 232423548 743366660 135136842 342751524 146914278 732149564 416219606 575966560 287867408 200875506 962745972 971775290 739808886 815157302 606271482 966056014 555715428 667412032 970400472 294101846 478430822 992927860 340033616 687998444 885840908 362508888 237303960 970117938 13236574 273983216 516777010 271143418 754950822 594645886 835706196 683061930 46137678 494289152 977834504 494226772 854271764 856347362 991682496 66472528 501957970 888946450 622642244 509922502 661650924 632303662 592996834 4208612 792528430 872452720 319844918 196792206 785315594 593802598 744607302 945594596 277741830 454716770 830315922 202702650 731230528 313241976 120156864 381109118 458360946 407511970 268532978 482559408 36736100 105628158 150131018 889109646 82679240 438837882 283135448 173239514 404842734 309461748 781606970 261156466 777709768 670600472 339259582 496592672 499518246 753614210 788624492 863355158 629448042 385232626 504443594 224295712 53365892 226763150 114687484 20522452 26891488 314371974 330653162 913285650 423892090 984233756 21543614 334970948 248178290 641568172 505796186 423220338 995719692 171391606 503999252 515595284 410959712 946268358 891422788 409514082 705228518 411608062 517128014 965489434 654807628 304827230 48776552 373382012 448592194 626501792 293353782 191662218 385674258 516435238 482163334 256923656 301279080 275367632 897025618 944031598 351332734 65474690 86313958 130790940 58579806 729862992 747221198 326863342 415891850 792029460 30197182 360285966 562856724 829070248 838268158 948878074 285426312 644767898 300458532 520785376 438671656 911709368 4594328 550189342 67901212 545972040 270358448 943585988 682755402 732764846 812247620 510083982 361135020 895694342 686513924 321769914 659990622 534777502 803719242 317559122 883302882 654901698 384531524 194990902 488104540 981246236 684337192 108488596 992435974 291557224 770556196 951766014 159454092 245309954 707867256 58317588 540110436 92953064 967393644 853762724 912051100 613082872 540447754 608148646 132352632 161007730 445410468 826945978 638403122 131177706 108255262 637457788 468691782 949078546 727187648 565171810 401446568 639100594 648512580 310823420 281497026 984020566 813398896 637816400 749995016 832176060 467412962 865878752 874046816 965257264 868249290 468888568 446419212 661996796 361612604 574079612 272665586 439088066 28765936 35622634 62275310 858587482 98491026 626235412 288878644 679264932 471253244 406489112 646897196 299063328 307594694 977004554 440154846 570017844 631383768 743560534 371643374 798485738 939036814 742184628 686659874 932578070 242198190 331456844 52581744 562916180 691282404 433394140 908159942 515746470 810420954 146370782 173466454 586471562 733846672 529333392 755326752 329472420 412185410 599476438 633993672 626892746 404910298 756040648 898841254 796032530 143550594 872068614 527174846 680536726 587223424 102104382 522210782 613968532 41106736 559783718 366737396 778651998 922394630 885336702 414370422 414478366 720232162 372319162 181253384 401597474 891234152 38276986 617867598 377054634 11691154 735273534 236613146 291226554 613784758 588907726 563706906 644879518 139587008 510104890 329733592 494713302 590923308 788434422 785717596 368199766 980173656 788172370 557452504 682075458 931099560 602187708 162116074 689417708 831009264 700845518 915971078 813117952 875269132 473484692 572285406 648447404 747269438 603065354 518629700 172205934 330037984 735002084 182081412 594916968 538810894 997377850 633449764 215559906 231889796 495249174 28867026 880541204 314122022 23851764 854999650 443653230 105025694 689189746 450163910 297349910 623070754 949666926 710890840 139167970 680003524 475880838 722754130 262927406 417843492 284884300 421901110 879646490 556352330 487223116 15386330 617673578 188895828 300857398 311027824 889522320 857345250 499630774 595799972 506958766 304157588 782479960 335144294 618623902 851459994 696780584 906796074 230162720 527406640 726058022 544828386 896275020 95624610 461581526 656366940 920461486 436423268 224337350 239977894 764229230 433319304 341344430 660528970 866783672 916409088 874140630 533564166 34119206 855887910 681507052 466194832 918358604 752682638 582979770 994059704 578015580 471683840 898285474 137491684 365107356 207798052 259297764 242080082 129076588 873992310 510940314 256665064 474986332 190523378 417603538 365063582 733758512 181270990 526768806 970575458 629746166 268657528 451426848 436449022 218628214 453664846 740203306 471329826 733954992 136997102 447239150 832878514 1721042 928508512 378958316 926966934 16253316 763899368 427778502 272856472 665729498 484246458 720215558 109330580 195776590 907196274 477702450 318895336 556200634 98271706 412648110 757926730 845637010 437048036 797582850 302404888 875687630 624481912 512367272 336693340 941870508 716383092 2445336 349225648 364300946 663147632 631732008 983052200 701075532 522296366 293365740 970782400 208784650 537115388 770464082 34878920 228746164 248105010 867756010 879100478 912690558 727686944 187838340 988962110 855247134 345295864 622429704 966523142 393014994 59293332 771902890 595187398 346082074 852227874 605576896 64598346 434611614 522964044 435721292 643482768 3685378 691334120 183292806 434297660 406268498 908908214 890894932 619435264 542436184 338955710 140083598 756891288 487938224 591121834 310793884 465463520 901231010 421491026 659877354 543368798 21203962 988449742 350462192 535636702 774388874 865254392 614866550 713624150 272640732 751658836 339994718 64698350 339053118 353796176 42286692 671494402 359175780 698878468 820264550 574110456 437278550 522687756 752845834 881538960 876129114 621043280 950679840 670261138 886891172 666648786 551542288 687004916 95255964 892416474 108601694 263098256 148056064 65890586 139084842 496886490 25128174 552821146 461081414 305936142 320405600 62758922 440290020 800188748 260733812 844277824 516188594 487326978 522253014 726308956 147418310 152241100 842553214 630759182 665097726 146382682 468626076 358885222 427954874 960723616 389393436 944625310 681065926 611929436 453033894 591842072 328660818 404183584 711863392 212024140 997412174 522488992 221173780 110335224 829901650 240720454 311595904 623880018 767539206 888201826 191387662 481816816 752967210 817280922 983839486 790814904 446602340 835854484 413295810 62410234 928271886 656336008 742104242 665313178 606061258 923209794 610074372 539428590 219650936 640670616 159495068 374809090 636418682 494720878 144957304 141092692 278034172 729602680 337353866 893638288 524360564 321076000 416088116 321608870 618900628 293785596 18159976 925655910 935576476 862363558 541469848 211391364 983104890 277975516 555967112 778897988 973760216 267491344 708909622 684990378 735106090 443274076 647545702 864412470 36211520 558365834 917195278 686434456 539026626 876518768 593846994 778725080 618056604 762083174 585835106 472428590 531422578 737495178 94372426 292883090 367874630 146707084 424873342 533470862 235651570 104667990 468564344 760026844 38303406 576916198 1358194 216899740 114516490 989562006 225805472 380555958 61456742 958132858 915050254 308394574 983735112 160408110 86587564 130739094 562439444 37947732 934222626 336543640 330020200 70965336 446421474 346860344 730818146 719831596 737335586 742929968 432022596 439480208 38729094 763614574 717103712 988862562 973198092 630284054 255259262 306165682 735555180 371959136 76538106 170506362 16542500 691190334 690209400 953407884 584514188 393061590 942753830 946517902 594381756 676753232 401320098 726652880 55667098 357758552 669158534 706667510 145481488 409712352 840008280 268869176 27050514 276004518 838651142 151378974 139839992 437285528 429119078 175285158 556683338 483181522 740699140 880048742 936694624 190624416 563393270 497281100 831626856 862724298 636021470 789636132 580096384 680948384 390171010 464580164 967299154 258837118 770301694 27481888 731758776 527504782 641770124 55313000 73474474 964010974 532516542 432829356 484491298 543928346 347671296 330770636 635461736 54020874 103772272 872477596 29559726 96859834 222086152 870478738 210232366 391366426 719431334 309344364 474935994 682268278 708970078 569260344 544965152 795865068 518817418 155975424 380962808 29574734 938083430 85467932 576389896 755803242 239823704 194564206 128745768 480328248 874343916 85885646 21124196 364734184 673197436 655688534 811371768 396454368 934315594 444618006 507072986 590222992 337498182 683511424 807966848 931812912 641247012 842772340 771714860 89420828 458673966 63665912 874194432 481934686 596962546 931635988 990833172 937708114 136600104 583947646 292791346 385058160 569850916 143168764 463918906 449306138 814704052 298046760 369488282 105120338 846473462 551363502 697467598 168978716 873996042 984082096 311067578 224698168 408161912 983920020 85916114 569587066 974430966 761165004 884977260 598538 172719476 554255884 238535598 347072284 249361564 43777382 755461430 871160690 152306232 674526518 366211218 693271984 246958896 466027896 622581506 499381866 819815246 638140550 274893774 526975976 297072966 192362348 338414708 293372178 550247854 385968002 149144382 430460012 602674100 621957956 746824106 170483414 991337930 188905958 297391442 536955704 55967524 100853112 125634982 414026530 397936876 687682714 5327630 193146264 128377930 293178686 494926256 350461506 192651296 130355530 318016728 306794942 955976142 290977338 928459108 490549974 356011840 316273790 783065682 84794110 431717762 726247286 249243234 826571214 718440072 71492792 589753578 131299314 772428330 814328994 399066958 388629592 311443284 461551100 92157064 244945198 8291824 194114252 823405248 958504404 967938000 916178508 789602288 581948760 856181864 55513102 572409430 524704396 6928616 141652844 20213990 456205994 191490142 881873654 78913402 839393444 734414190 862497104 515021994 803196560 613679936 844534448 238435000 31870112 943622392 417435334 961231776 220887326 608804950 930911894 880794864 893309518 520099478 640580788 985036090 362501432 344142262 740867814 477829550 340433848 91225588 696526510 843441020 6189890 96064354 244807938 764890200 773203098 616613536 23705938 76782162 261676132 396355268 287546246 981915650 354726156 772266332 882887030 521830166 53457252 966570648 795493370 729786860 278407790 250147648 615652842 601311114 856935710 108444742 61409268 648314274 886716274 472812172 473430066 541646484 416729112 115777424 320414252 60223630 77066234 481720920 998886396 623837916 576335930 468395644 496249262 278510808 60822396 335457628 121023142 671701218 285422868 949597024 974105700 327562168 24948766 323173024 866881798 899981148 570070280 833889622 524140316 989553296 411800964 822628604 26017672 951300606 906481182 201251662 925532656 444335980 530401572 413161944 287658982 510112906 971422110 92366522 333620534 743438124 465134232 581798760 74726160 50734216 944306660 519333966 635602142 77245706 160137076 406554826 883258014 92112428 486025550 333972598 181024870 279122472 137361230 893182016 332887020 191570632 431245182 752946756 102464226 820603496 427519448 450283774 271475492 947661840 172214856 969462148 816285480 98208094 173713814 196660614 393596808 46982496 572745096 153377648 929631962 340180866 146303020 480114466 898207378 442263568 258148172 97755842 922566922 483086114 879777640 93669584 663341334 452003632 750292838 673958488 449438758 485679236 606543416 621172894 591861230 695147098 40989982 11134922 159357594 553553950 846370708 246353576 399703844 958033852 352813932 511070318 55263562 963538582 47033714 54375844 521480100 808876728 914020602 264233040 502013102 861883146 628095454 488450132 261366032 964401798 378491896 662066316 104584656 640652884 486843046 712378260 827192808 162797956 825115514 297011184 836612666 658245092 532129414 497823366 311969842 760285512 963070994 478902490 498016984 851565330 315866540 947955756 127289528 621122442 308344862 518198432 401302418 560899910 801110742 203038610 35980152 411108964 760427658 580590142 453698950 329704504 271272124 716253086 134483534 285215054 426722246 197612440 373380510 701674832 298493046 385025662 14487900 529085846 968518652 864687882 705985544 41446424 275706490 959663936 249452156 243880204 433356630 726625186 412440352 225294854 456942822 473175370 905132432 83307730 343422066 193266346 686587898 571868076 527667778 388045706 572975392 955398962 746995558 207187554 645561920 198476726 638979602 32628858 33147370 962343262 618089106 991219834 423647530 636657152 911978262 181042460 153854314 636525254 406858010 58178006 380458956 721894370 699320492 140776496 582831936 655597038 939587062 396915734 125440740 883067240 693363598 881757162 418949072 377604838 186355354 987531852 858942230 425113238 159265222 200636896 768801564 803032612 596709998 204024412 488299576 375981500 453010724 468938712 279460472 382600440 212354858 306305298 537030884 212629076 279655968 14195318 786949232 977998250 867318468 221956708 978603390 197340514 994675390 951952276 9265752 503735674 113789030 14397498 865772170 987582102 259274902 981116666 890511480 206780620 770098070 905751330 942318768 562404614 448170790 812830416 359034164 648783948 923838320 681776424 223771658 751346026 264196396 728369824 227968058 870190558 732061314 595450346 100769396 22585968 716759480 135777518 75834974 309388810 787837320 483123734 137528796 81940514 711535290 929242668 654481448 732555098 993704316 585970830 360557106 329856598 148720822 175783608 283587640 411994284 180868978 179548216 870573902 186022360 976178386 820102408 25230862 457583378 175302190 490813692 290819930 331117344 230304984 204626078 220771418 67943860 67447928 900261672 666972296 287748998 119621856 497065156 777353028 291538424 822650626 730480990 800298256 28038688 518061668 48199490 244854600 350467162 461320632 880240742 317490804 648370994 515873392 526555848 857995800 781223876 648781980 208720686 672618466 347023720 768236690 109406950 812222232 488420374 499412146 188731598 945365590 655279006 294890648 837579438 426071338 161662498 546412448 640566274 790665392 353072138 489600414 330452794 147994072 112540860 394159116 959630114 762401232 585283318 669979154 11827116 348919226 984669274 838606802 302587944 205483080 612136184 485170414 631737082 466076426 730794436 577472716 283906380 281149142 876259114 929651714 591679860 330605642 324795814 701322336 864348616 802527764 868419298 534164966 241918416 793649554 253601414 91743550 809984284 98363122 362507244 400995972 297350310 144543926 59989248 505841558 943149666 84638942 562849180 852625638 587981770 341117054 87922656 347616312 885582994 158650778 941359370 914927352 736003430 677036478 487831046 482554934 518118696 218250686 89664194 310373302 594017320 299299494 603741128 992982284 181462802 435743280 916693606 236668344 738324504 792520974 91517776 217083712 17260028 1836622 34727716 268829042 568308688 848562080 325156212 418837392 383135246 750005696 587001964 890635850 953265792 213723636 476751674 840012506 662901398 498743236 704668688 865757000 166188144 634502230 886645712 572936496 24710254 505367642 966572714 470191526 13090192 802440134 545921886 740134436 562452858 730132452 196702448 495607538 30843872 736678244 77283070 253050534 37208508 937973612 485900628 918629538 809174194 304604654 933422098 754215060 643350996 302408358 818564448 868418544 525093364 664944152 685833966 144295734 312146472 345050380 261487972 248888286 722546770 235392022 114534674 765925806 642100492 313938088 891277608 42454282 468355010 548373946 615771308 182406900 126422064 334703348 327580244 50442414 240981242 285216822 790650350 687465644 279988726 836518438 937160314 408829974 624234458 319299652 761269994 584545392 292990060 849850302 595139326 281260016 947711820 258537860 507590714 751208330 580446394 303292956 358187754 228213332 985135530 979783622 445238380 155140254 111499956 730085288 348996844 594721434 256441626 882286726 398701422 864199128 111902710 971706736 435577820 426829334 796474680 819701088 958139386 591282006 215675440 539596028 650604118 778557354 355399226 995536940 150036898 989476044 868433102 360531808 750016248 582709564 954749344 912325318 230905832 924106078 751304212 954492516 125303580 476529804 262154528 383330414 496193294 908569344 939493460 613000822 212589248 943142580 987363170 576722210 659556308 508253870 492963006 258342492 619485058 319948726 301938706 50447264 468923250 256220944 729898152 446010984 294492560 248513920 785430702 315351372 92209688 994248618 321751314 524566374 839605432 114370702 330703140 446650488 634697296 144455702 959967290 46874866 43129310 815449328 719082578 715841162 57442808 225396548 415709608 382630624 801264978 662183978 535341174 366799554 378675430 758962380 428820828 666296606 178495756 799191310 327974954 806489170 230074192 609518964 330426594 843944228 604686272 165710188 344669192 251278436 925990548 866759266 533725364 476682358 261208354 254886552 337149132 777084750 434013264 460807180 166684632 876223638 329661334 379025426 459229652 753862620 906472192 81172458 146710328 670429172 330955522 480854510 505043510 436074048 49299568 669672986 433225782 704032848 855169266 247977496 847154472 764999370 642066900 777504276 148634456 735999478 603485504 733408390 382060960 325165442 287641514 796874876 917924672 553152314 879771420 381741782 505935284 535179032 609043112 140951996 403924862 796198754 903342872 190623428 890277246 240937418 417450736 583188510 488466056 655958810 610270420 241259462 832609538 76528268 159822468 248487640 355544700 275803570 800174536 504748518 818434282 333161514 950237968 775833194 79204456 845375550 569837436 66893796 626165784 109687502 49429868 231151162 68966768 964336870 839938892 353981900 528211228 932060476 563601514 765351278 236778800 327014002 655420652 974443790 939529782 198683710 155459844 35538860 550326436 270318006 425169626 336369378 229147208 55613298 296498734 300087618 286091026 341890120 415859786 841286846 938749858 385532324 873703380 675770538 965639506 98762202 763932176 881485172 734937692 799454214 345869920 410176062 835854780 593078974 234742572 641401890 666819454 58389578 634357616 532522992 56494102 790612516 706406862 580772730 796715858 239470674 819310376 438014392 757715138 356864148 49618204 405851466 700355834 284306188 769869250 516895912 722715344 602060490 758225888 592276966 705388504 562118442 102200098 685633748 509083862 682436152 623080100 592828634 202290650 935651688 29279322 391499262 422421022 724026216 375719264 563180386 556411704 158910704 909275816 502084500 894417918 218892874 692650934 684108700 551723308 3636970 779823642 153535456 797710346 734049876 859033720 870032032 285422982 702645030 593016222 308139356 635377756 190075766 761595674 745872586 147965860 370469478 826730184 24484070 607024392 300953746 520878676 19135808 176016672 997507766 138563466 729578892 899065422 295065808 69615006 943745294 915011054 832622774 779718574 855237922 435852542 707864530 987981000 272895062 43961334 718595764 832346588 858674818 869526546 712470142 129980852 858119906 852743652 825456186 169332768 308793602 457120010 902289922 144187126 503936634 948075184 350580098 356105232 314844160 122163384 618209122 507349010 119674530 555992772 256885268 386311062 765126920 788542156 702228918 294406584 297213706 231494344 875817546 394674600 618142274 979489542 688563044 171515164 277305172 861636756 855709782 951806562 569440960 195382186 520419014 849577942 409430362 396332674 181240670 517605940 701694168 832371880 353781286 317272292 709873884 51389770 431830152 777408990 49322006 674886676 350042952 672939924 478538936 962101218 16991788 61734986 650925984 960199172 247176244 643816904 182532208 884240642 278277742 508527616 302042658 419742254 764092472 78961150 754937118 927907018 632425940 4384898 505781316 901700686 628736454 256550870 923035314 164644904 513438022 234023184 867209886 360080482 101748130 522420960 514825770 281259748 551698386 942942952 54769672 173710714 681707800 144285156 224100496 59643728 425117990 494781890 856544796 236068700 744953538 705223290 81055676 369742268 811724100 907225036 209000932 503361236 180654038 570416028 186089320 195037464 714906838 158246370 321338472 312481258 349715570 24634454 560678806 725166480 247401256 115637798 86018818 929951144 238565122 502530948 144122280 824512800 279800618 747641474 22524672 406765770 696195340 472287794 567561598 805107952 958683600 687389028 65808658 75704336 603220090 565308622 835921528 916868052 437915710 32023250 475650318 894711682 208230176 128967384 34588860 739638740 390734934 341999280 740661286 43486882 997469974 593478968 692997376 532699064 239407350 995995312 234376768 705003204 427268300 24661388 716674932 798276620 65242102 258847426 365807656 447701414 953676482 708077228 646554622 248725498 478467490 211385912 654374580 833076160 399035914 427630502 979017842 480371520 275631244 509764164 489162070 537262278 898734288 790866214 21614884 845367314 625857702 278596954 470484510 701211718 142065300 981203406 345874742 761984238 485863464 271992438 410634734 692997816 439036820 782504450 180784318 120592970 85489850 878671290 289037824 35840082 463137178 940788686 738363868 633258304 658547468 971840282 473919716 883403260 562497678 591827908 121965700 480415010 160732702 737185296 52799532 661379038 911192966 67733292 25500690 162449886 656839850 410592332 951374172 738122136 861230260 389923896 887638048 276531868 417115834 663439964 377567350 856837602 830671938 601374934 750863330 771819494 69088486 531089388 318273794 97363386 592067718 436687188 607657838 534126660 805670358 168533262 247342458 388330992 281712478 666662154 280011954 379991568 403569848 818423430 657089248 56328120 812255978 934523818 381932208 290988054 81429088 960984674 388181566 191909358 809069540 391312574 169676432 249602010 925154342 415744120 769467672 79694582 171607876 147119212 354056008 956622376 778577812 400950534 978598202 644165276 370014554 120822920 584854312 50140788 383796102 455198044 560882626 100393458 549050228 260058992 218943376 503382700 33478906 570813008 880798658 687724618 928988338 538669590 685458376 88568778 788776786 718030582 7634762 416251646 898344900 765598678 502440464 274931090 672769170 892200534 629543808 276514336 230623568 76751494 240743686 687509572 427646500 314752100 993278896 171872242 846466234 882914396 165318986 748852786 802739264 72035470 810251818 7347680 437224108 99387194 515829912 314326794 882685668 659338966 117538644 921584010 849295674 359854980 709739068 294176614 747148156 112555778 569621908 378019882 178997968 856407722 721625080 517966508 831671710 513825904 947288892 474497474 201210602 661580164 169087698 16777494 679293572 165855132 774583504 494993734 111686602 270557970 460509388 234924178 367897250 289711404 882381356 393271942 422121176 59752836 889726884 967757010 999477660 493806694 191517354 447452796 548647976 292101976 737471930 225493414 413904582 595435768 55566568 566815526 524611818 933520018 207128706 596042736 676240498 257306114 92523158 410926132 747755350 763710084 925640328 925278318 645554378 555579474 974707204 712489840 391112800 918626996 955913646 372501166 708510364 242040240 11501410 540541082 226568310 929087410 457161434 817124436 209316484 624207376 758040212 398024762 324804854 24434834 53561100 755319358 583971758 111029422 260225832 615870094 929481880 624930024 882728238 23244862 643161358 417964048 105490810 492645932 283195324 702402838 878707466 947233166 257404268 115426068 287496410 615417646 221840080 544522460 887237986 812631198 4926918 983486764 849346104 405330210 998080870 661195562 4223508 649484924 320891544 99796658 629425064 387198018 303313218 548589318 912626018 514810756 109871522 473196400 568226748 783256156 299912300 332219098 880048060 665361972 270246578 561876526 704895904 527424786 556343290 251773884 730591422 408132844 17695962 759843394 675034870 519113080 467005494 191937076 947922340 826585308 329868854 527028616 842419682 136106258 59540466 360064592 874717124 128744414 510220582 465713514 635777672 409485572 542134960 528536272 269020864 420551946 724638940 362831942 472585556 302483210 6675350 876461022 756573884 327794544 320333396 748625504 511970404 459812500 180504862 582373098 327660220 759048128 382796650 870860334 374131808 960841180 355222424 219579872 251665900 384748022 725020942 375724170 124121772 335941636 583633650 14916612 206767026 499493494 967909580 560382268 157963378 776616756 959422598 819822158 666230676 406149506 641596868 540376170 61113236 953633356 797852206 541204812 617490944 686536996 124150350 883016132 515347894 229875038 72282578 699319896 404076690 131025918 899226752 272084826 361571628 468972676 636229260 576656570 239238652 526839096 897589368 862209622 559317078 494113050 587573906 454416602 87208758 209872050 770349212 262845470 66762186 636926524 824556804 442263072 273007396 372902492 357691112 902859464 689039202 321553850 204991734 520327468 766044058 642493114 8827300 599492780 526784164 147638726 450340022 468281776 171993226 280148488 563099908 434709022 571513418 930430198 912142620 202217294 184945686 426854432 891005608 788302236 124717886 256426782 840416868 265204 39067826 431180546 147195878 206705904 286496706 931208798 756253860 317840576 479208194 739631724 86014382 277028150 867833496 709261200 690671274 654413382 405515740 327777918 556767938 224840896 667968000 522264436 475923492 292416034 293381008 479333348 68586974 58928228 764865422 154921082 166077614 348396732 457455288 945032472 261278076 891565830 975004982 341181266 552717998 317122266 825053902 20700396 139261520 189061992 829682576 712662650 474659130 212804404 851693508 199105110 622066042 799120116 373833112 398811408 962286152 499435492 111621154 906414138 360523566 699736602 669132512 732351750 446363926 760520418 192167814 54608652 758355760 564538010 529518466 837818640 479050716 287313564 210057880 679825822 461581360 994628606 598137438 372393402 277027362 629991666 663733758 377698284 614903802 119308242 103247310 714692678 244140424 242908986 558294386 803880690 40843084 821922320 232028370 670619468 976757838 774626290 159775522 202780186 116092170 143462250 725811290 604197038 99802864 684208290 389543334 335699418 673594536 83184654 364923730 827839610 564426316 546506692 733926482 359562764 491264800 283113342 816851130 872278480 987259854 549336042 740384228 406246708 163720046 157824396 309562960 826503662 699161284 381985638 604856782 881213960 973897326 258653296 968438570 119553228 163464610 979314352 97547476 343408172 676507290 817892588 977337482 439261076 375692340 471239626 224034970 240703250 375704288 516702436 955231918 591654982 589362606 336390058 625350492 316027278 629546474 651644002 18628620 48764800 822315126 683656082 83249182 302139626 723074158 621736304 604692160 681528372 579611972 545951196 470203206 886090566 486735956 814167250 584811864 348746886 87809718 706790062 674745060 633036130 825634598 200383112 653611096 922408700 685145790 409430892 196384532 844853436 882482194 98573420 876326858 654446768 501597826 864909324 708708320 565230572 878841122 576580846 377151376 213300662 929514476 657147804 208661642 777828892 796383078 831867422 972603860 423067402 711188300 317872912 900252782 626576184 752716672 995116876 991253070 179592848 940354154 107915656 729934812 509890898 983078130 797165554 579692136 486915874 887073734 478621812 94478408 476477054 575793094 551226394 847523174 932935200 833689236 365187544 289549548 410876914 582124386 86605488 726216884 62389976 43939054 602829498 781749496 45429490 513828866 17400890 120384584 102617894 754247526 720623264 165688418 776373440 928524280 269458958 166770466 561291912 722295700 858343034 514183126 693315380 166245452 525726310 151467804 204290970 662035668 251746102 904248296 424551272 457240532 622573126 36220318 292331032 679491990 64398122 504184094 186336560 363419558 869002106 471829286 411821638 816920708 164828304 761398930 650800826 729731672 343070584 568511698 297897728 640113422 344806614 964291934 858881182 39992420 540952894 183596232 8937626 495782832 928040052 700312392 821587828 951434734 130111612 213764004 542002662 231440458 953303900 470643834 888243418 846750880 588195462 699599202 333650824 651559556 917287478 467326592 762968838 494831558 788230776 442872792 634635238 553031676 922642168 489410206 639932082 628257906 776033826 499401954 775310654 63361678 34818822 408972250 518231340 406930848 722050284 872700104 21046516 167842470 938848384 314889028 253280868 335925300 414444820 441606894 227215994 935012072 550495246 795792444 273037342 348139938 636624816 853887642 830711772 120241322 212231572 529727318 505821180 331244298 781092752 175377016 449209348 118970374 876514150 257775354 954331160 23636156 245016200 144332676 826749696 518209138 889248166 129604036 361055760 493114134 570512454 669863656 642528160 673753448 475154470 982986184 359167058 94944806 647205258 489896026 921190640 604922478 983431158 417529448 965946788 785042540 240815572 498311508 945649650 321566994 429878654 758300428 110375872 838329470 599254976 982529180 136750786 32687418 382013120 176657012 562001002 416176602 106042112 148332816 966711492 145060872 469879440 42848192 769307842 723852662 397202012 403680918 432855586 887435808 496425898 660944726 741227428 604853066 740246076 189606714 594570488 411813832 46026118 407968290 315022088 927941358 751853436 755772380 767901518 268444804 41456570 689231638 568969156 426769728 379487532 252750778 690684364 814207236 969826804 807981684 624799554 117444050 936450464 213133556 733648794 329178314 592010244 133409260 595944808 399947898 186177686 732471452 625449682 959163118 351863512 151364586 810383310 985229450 843928158 802125872 902027834 858152566 656571994 97848784 423607066 724322002 92305248 88399736 476177962 677054782 640172924 249171898 68355586 905711946 487994010 266926072 792309692 805432442 61017458 953899500 695640678 152694484 542279964 765363910 968290068 95972876 445286740 612427792 640554806 504494778 104974968 231824304 447358464 484976016 926243910 415880212 276757216 284027716 860796484 930532442 578440792 821969012 324664204 402225892 855031446 582324028 913896382 354115094 571587292 740444544 958244004 981351096 98879206 417845672 425900926 404729344 970796280 258040018 147704496 895852550 120707208 607111106 276021588 260689300 207114434 378889200 772463710 283336336 253865260 925344648 39761648 888305184 910892588 770047642 75612082 542479540 314078436 594809844 821450926 542839016 130053536 762971660 353369140 363727980 648198858 723315350 88859650 697415424 403075836 706083926 593829470 161452220 231872026 218594702 135663540 170837118 39316636 322334282 298172838 187980638 807752100 459842438 972138684 812147514 318628716 607311282 621809238 594365436 601925578 658256190 816360638 907485486 980458618 146966704 993877194 247167462 891598030 530625682 226880872 895447686 536919058 748423692 742973556 749859668 405999356 223202986 719501818 727184586 777615278 933903954 249678732 671422746 759431968 152201766 134861102 516960714 31387670 919325650 582852456 924429634 670585914 994694382 374292602 696458000 673688478 842333616 358252084 73101354 374905740 679457070 278445656 276829886 990288796 359240882 874737742 237523970 734321560 930173994 701166594 81277188 421766564 66502330 66505334 927535188 78513798 784972694 805114322 643619240 667272880 353115488 867074026 811967040 536108372 484490306 764988710 539393568 549621634 718179446 634863704 563465524 174953652 729585640 300022868 284224568 995116124 19766540 582451474 70765784 614222130 976377068 736838506 374216840 887239492 672315378 264906934 874545536 454980372 983478988 254739908 976270474 764622322 352259710 175034312 461493804 591252558 888167796 81937528 145890398 67044722 435452086 165569982 717640056 543038650 383681408 670526572 953251918 847194604 833887290 258122016 318499126 71671712 823221424 473699432 493383818 329693468 262039308 299202876 466377424 638271260 736510138 600235846 468235470 202348322 100295564 698218066 767324252 481439122 427521922 164120296 918332300 782340824 846215812 518704562 251498540 84909048 438838206 113653664 369228388 939321154 40846962 20076918 773231722 655857016 40797078 764640784 883808924 745384984 888652738 375014642 89040158 439369138 175649348 258609990 101281046 420614928 247167206 128787642 380828902 75249998 601835634 825209870 141677830 302102692 247779260 888904520 50281910 798822600 73276972 678405734 740185754 640913536 187732250 278909468 519458886 985260414 388165406 133231910 44030118 264976126 472644162 907087782 775774486 549932910 847621558 279524508 610755618 128253466 63168184 928556064 505680512 298698388 931298378 185652860 875027046 404739286 262021144 883022318 882202192 628647142 692763120 474350956 717514882 769791786 663926142 235397914 131443078 752173272 742220298 900566492 692744448 773599098 985311176 904899724 368787384 320740476 421542692 373520030 274876520 334924108 621323706 667809582 322485814 496136554 187746804 554964596 992210560 861182050 414399650 834185580 563656670 152920686 79120986 116996962 376977438 598973258 55827502 812741958 526589562 171996334 160414838 428681372 229223748 647493186 280832526 459056856 60789232 405411280 494322714 823354188 453443976 786654876 627035666 746026500 400447386 64998736 556795320 411209406 130235872 911771238 434084076 969199286 230003162 861887576 666374426 252514386 914558016 716767640 869820278 981165390 801122824 150058402 739637642 637810476 20862240 852609450 399879088 96233216 842294338 367626446 58488178 150122630 602865948 491158638 499497786 162516922 323616394 296759126 912351160 245760658 611658602 883247194 438368754 661538070 445988574 927554676 571043490 165415084 980077740 754829638 470375088 940006590 577201604 682954470 413302412 833185646 565505208 803653402 741766512 684279548 297200048 11565118 996393064 581769088 562924146 55082886 416066898 614443912 302081534 58127042 843233996 889143490 265851282 314544824 662527922 54682104 362451848 412836668 10619290 757115404 59760184 338209830 243752928 166256684 700406458 711494260 935307876 614792080 502348220 598784580 567593270 8711594 898793196 879240172 721357928 583111520 231718268 255195028 516667740 414569384 787481236 754410600 52190664 77636438 2376672 902854202 179378654 310650724 15268298 74375320 458944280 504706270 356005238 405706646 338673652 206242502 571384870 853203634 221193658 579085526 368659044 872106590 203062392 44110192 84071594 598498458 763888064 846395952 27842570 228526040 360594310 457368294 83921870 219156260 373868214 719556682 908904960 493320168 464736428 391455756 657463122 214311034 441989470 255188590 97292346 267123756 156995060 563953368 66982382 860677664 235321020 351737406 529680802 725507844 473728686 730136630 16695424 518545332 963160840 887119496 955737668 717164310 588942330 319008444 581999704 750175192 680673216 547629616 59241926 608484916 958860650 149517712 854440770 417305246 559233762 627071774 795256698 9389978 394562328 462054936 466280958 614947336 902305490 94012850 992233466 831589538 615972886 876641700 281912468 86520046 862634130 391957936 445169424 198841830 747701640 999821136 975123660 160904224 560664226 236073984 347702928 571988516 537808928 124589032 763406792 562523350 259783326 745635642 245494164 805764620 295138320 975882072 507825000 504930512 141303782 11378084 352180900 244610696 618147568 702932262 798709606 92612754 704100530 49243562 473460304 254717700 492161012 32927526 45979416 101997928 692449994 228381994 536567768 763457060 947705008 965333574 973971332 665769648 804777418 61146942 104747050 324322106 634373452 906431086 385644506 887743584 439459748 741660688 566351952 330099556 331078352 339367512 571617598 787868554 794720636 443053034 3549466 669295186 161656552 270483622 321492678 939372952 606755894 102164532 675930644 453033474 466702826 77049760 489483984 479040202 705521118 489727972 659148162 212567870 43720798 602576424 6008148 613164636 250388412 161743986 891360940 543035532 697231444 447621622 583204754 232323114 336677978 953670020 264341518 456030696 247519696 560489450 694894026 906671440 282871754 737011864 907540392 806411646 306491352 457774092 113797532 681655682 692443752 466227956 537501442 562802546 974748100 797111912 770814132 312722448 984239940 131007078 315448158 736856888 396363846 604062220 706093082 344915874 403804736 809790470 748032112 579948496 779309820 671222902 183743240 755473874 214587152 495010978 369472492 701219420 495808252 293312646 971897272 655224780 324454288 17200816 402675416 517633572 606434892 784247234 814685454 737737820 822801650 304571854 56565836 985417036 862058598 963787364 604098540 823996382 291186508 756424372 599757184 323330296 20593716 858164458 812859416 901209880 858023082 649471560 828746658 967291496 112816052 628945322 997631870 360906922 530270474 215195352 765850938 592421126 625156624 967989490 386941930 221729196 242617042 98292630 371520982 256189306 162029818 711894854 122203410 495324532 820273384 609173772 591072784 385632282 705978088 369719080 387815244 505188268 587682846 855196982 165192938 825750098 287417506 971009926 254815606 478572776 300864262 964073350 671362030 254850024 763596758 735270796 720310422 424060702 913177816 37152150 702969476 49989314 782097072 442537434 707646356 728410190 577090290 814928004 22730780 347463906 908111676 816707828 555371630 817940932 332799484 287456650 216701580 815407734 336852598 517871926 698929742 431173106 145606976 922922626 977888578 27920020 89669476 52292088 794387146 768502022 172080674 621378070 837556814 681678242 357290318 831741700 999421872 828287790 454096850 872140774 176114908 902411886 553460136 801079416 158260006 395253822 535751380 44366136 311051384 725587222 472020844 627507612 224254280 210029152 806466508 142175004 420599504 343488200 821496212 497862096 219817802 261049162 767195852 799922578 537150312 268883118 831032632 628149706 512329572 894684418 719269026 858762344 591224854 123585900 641910022 969437724 135405586 127640698 156794706 661067892 36986870 15679876 792795490 963289874 649212868 151441418 398188416 814202768 91872506 792365450 427812586 541683120 370144878 871604728 42654230 249008966 420915368 306057678 530513656 523270988 564460270 130704372 713982464 679199996 555063280 318140252 367948216 687621644 243000724 811653874 51190974 224451712 975573678 74940876 783807504 430610278 359991780 957319196 579010740 429386468 446557674 767320512 372960134 908853254 476526136 534032630 928775922 47232252 164730484 184163762 623959344 569853432 379957244 769888096 954857188 739356364 921592254 862002376 15968442 331565330 562226666 578682852 217511630 600259692 773550676 84875938 268079372 930163326 96357770 493541166 991026062 239051660 839576802 500544146 675320888 235454496 200316410 768775058 20266928 949647110 314788750 357031474 318995058 767153518 637106038 729165248 366789946 855603266 183502286 512422172 947449766 288269468 845118536 705107798 865667326 322069184 598620874 680455494 391776600 417558202 448170898 815043556 821303886 723312912 204211626 175692130 233597156 540261498 45844134 698377104 829690900 332651100 570686826 501031390 365783614 753277710 128267260 590699244 899976858 344344088 633759356 567581884 746117146 419978132 395401500 973207338 991603942 710607278 335793184 156769868 691913852 691460048 547101100 703315482 803612142 62657122 199879526 752717120 966534114 928875864 435065878 12278304 89309352 145869064 809564762 865762610 849781634 818081960 189164642 248287708 681949708 413715692 262547332 632985186 516896092 69608704 604965498 332111934 360147868 304706130 391087314 595094456 903601916 312918912 1781546 991668056 795009496 868746740 637889864 779730682 790201708 617834602 462517438 401049202 870552510 323981326 246205322 833049812 34958202 310531324 438303904 615236510 231085808 386567780 591839640 958571586 883967070 125603868 468410362 480261268 511519216 337991168 232144028 677043406 266596606 542711138 828367952 633690816 821341190 197975468 854957204 121055964 108809092 763827998 117074500 547664108 250056616 396433542 595362640 63374854 855786282 66123514 688404948 351756276 806077378 623125898 41380592 823615266 890395312 146163274 314859684 48401406 555661318 301159444 146061738 141798080 481745818 1896990 958062684 999945686 164863862 893957876 968318920 775642328 375368520 854099146 760255328 752347410 229607718 166995992 221121030 454198686 293516450 270182200 924663472 761352224 676321002 138566248 833825782 661207194 766259778 160552344 692984906 819939038 738019434 910313238 233846498 628835868 46113592 957575992 325791478 448496122 93777282 980481378 597662410 122973894 472625386 399566940 637735078 505134352 809879652 5415374 527055098 496931290 63507424 865622718 284657946 496468864 659902790 771344794 31654118 390462316 233889706 736454358 311263568 181627280 856567930 65927836 354670436 580081094 590917412 40908084 627581532 566815472 531137200 236556732 922809586 596471968 806777142 305567738 403516760 720309808 632219428 750617662 739297506 438968566 822371112 793547702 145911686 259540694 501778284 579222486 80205062 887321680 900785208 724399704 146646932 23810362 832047636 79956458 100663900 804475386 258332636 183871038 249026896 889422264 497311370 47397648 695397730 319811146 234563602 545320544 83191346 532612624 801947238 923457794 5435440 616816500 885972280 409659356 678170584 497896378 122004002 987936514 746301446 545175044 977283912 370986260 380359600 655960432 760795932 411154470 569951236 682403522 574578808 185987548 902354784 3693694 350679156 25923534 572628462 183834510 275203656 565525688 118058540 77834654 830906758 708824624 240739794 240825748 568480538 306143110 946435100 139666458 182433120 180672914 538297094 648883794 612601988 308974736 666778508 930565816 605879814 885631720 909625754 827042976 460433032 953941530 651086226 96278252 901602172 764865960 376708644 680302836 22015656 335038360 709877114 166035450 636175716 536775630 446517300 120817298 873888808 966922666 178256196 65043978 427538296 496591840 412138730 735876498 621147360 424842962 126112104 105976150 89714580 221638402 327628254 128578400 352076332 743423796 935415964 179804924 210295452 695020186 102207926 395427808 832894296 925877866 741996044 568985886 385837006 812693886 909525526 431159220 144163610 607107526 783093370 614360718 171621306 581457432 803868 900187038 285505692 610038486 593621498 777586932 393843478 76800782 409984460 446220282 913520030 4152890 132022106 259899526 645428508 949329988 234473174 584849870 555217190 232831832 922483814 546276702 412505264 991578198 351196316 660035888 117054570 131106892 764622784 120415318 400793120 810008846 340020568 30560504 36885308 468321488 362445642 981621380 42909832 167300338 935250452 5605244 431422618 577946400 493678104 6816328 212957600 854848162 840076048 708851852 996866116 317716674 238314594 792681532 451599496 639363352 245852528 598168276 916419258 656113112 505440468 396891650 854576806 616730064 235894158 265785382 21354386 316871388 890850116 939893140 610989282 323756066 595262884 919592062 84687658 513072726 421986656 696716870 772844214 18370942 979912664 665162260 728233714 458051126 159565030 841859734 637959680 353822210 320439388 450388528 730636426 478862154 670431898 838869754 726468786 902751018 878648602 246175430 453310502 40735904 777613174 427131314 419140098 924273744 596952116 177961270 1294034 165543170 786387978 453578356 235980364 570638430 782087278 412030772 985061910 828719408 648678010 456547886 84199986 170154498 164588838 394637008 473861506 540143516 79337094 893680346 712778666 616471402 537228596 989707788 523892400 615981444 348962788 72330780 787895672 493810612 621935182 948755526 865880482 557530004 95926584 234246808 338078604 721007960 142087694 257911114 812623186 57489336 985263168 91236140 640576582 345794010 710693040 377572788 563313012 602099036 522258306 66730492 592294800 511553662 181687510 110741778 166879608 722621510 131306020 283248760 550486970 234003826 792526014 210605488 959011962 241909804 934425850 668926632 843149952 545720826 572025396 129256760 240435550 93097316 180967390 223386190 964402324 731140362 361240642 603585896 10251268 567720616 356160644 318185410 843306946 773415118 26495410 906695332 436143118 390756742 67687106 286889856 577211578 39153150 613764524 639546136 641774536 732760252 158736004 386314398 348063024 917783994 460076446 728880800 371658184 883172174 233998542 436711354 648299574 527885016 747632648 146079918 482246592 816266436 921054906 220088224 359366684 525272966 714286468 982370552 949341514 994993556 857099838 327973120 424751014 85022938 788132768 583517192 362278662 295730760 353566526 125964922 262378366 818790638 961402004 948179886 178410152 464453696 254826276 721725420 447732292 341684958 912304292 493363832 85059748 671958804 191283814 651128766 932309160 695573108 262679754 571284954 945219632 519093964 449104096 882733698 829870690 759640832 321983320 835107110 712624810 836566920 577988360 841875460 966093444 927211238 432999784 391785144 224874994 162176270 970559794 221036096 224930988 640307772 857002586 677790458 234300372 859712102 351916222 295937874 382537564 719374298 46405624 65895720 926831736 313645408 887304890 813615572 452838504 694928216 590109440 961333268 659050308 904113422 285117326 591208250 89657942 198900 329083226 851437544 778583524 660629586 113607880 288957156 619253276 659199162 551591586 663530870 99320790 506885684 46520574 780590712 364472 158016924 162838474 818981158 896344708 470011064 387934844 870148932 700194118 307091362 188131536 674967154 785316788 901625954 627881812 462464114 796802332 867487198 644579528 663561632 384318322 399975398 253032020 412212446 930041346 480231744 848620982 839909944 483521026 783339708 357071886 729072596 667649760 891568596 370348804 487443102 590560540 84844278 125869732 389803186 49455604 231764656 558426770 999915252 770617096 137736364 576139308 856706522 77929174 355167856 214021600 591425532 34370060 39309720 369628286 712376498 65140944 123694414 75513378 455049064 963873726 78598576 687528118 716548402 932850908 247431482 727806470 726481852 735377346 807355454 920709442 983192210 764098248 204482344 168906952 368573722 782162836 467487800 255207160 409182588 863812976 967812384 532348416 842634072 839221176 217676670 680727842 460971800 546748478 390292332 30128934 523725716 60398868 339047908 480777906 97996926 154412696 839602072 680038894 666815550 904009552 404007468 134771908 870730274 532131336 769792268 452818288 870299304 922422170 501417302 416164916 494190672 865151768 165435608 71360840 828299152 226377376 666038818 938630398 371371074 451283448 358743042 877905462 204136634 165150344 815374746 170107776 825385392 876582414 701737162 870650932 343801934 315515214 825732364 54221228 971350060 417825746 927072790 595017762 112015226 932899608 805856422 11133882 705966884 765169082 10760268 328353462 661166984 455027830 588894750 325973468 697276546 344666812 679522228 202208716 920483634 448731446 485532466 444404104 646782802 490071498 97838476 902601664 928991598 302608646 816401114 488974598 2409796 96777956 434039788 864274392 25947586 944232668 208209078 464052402 8272918 351013106 108193900 263466120 960656762 986099324 103224772 172877784 388527346 678711032 642736590 87894282 152166848 319658588 933503980 370842968 682597728 730860372 273828400 78945516 843285660 963081604 552411042 274142190 588069120 200139142 882286802 265544690 822238606 379498732 771514652 419272020 186707372 416605030 400293566 6141174 973685594 181244338 62936940 293051052 698517314 347002174 46334292 358079708 769002848 160238068 574833556 795603060 80625354 976662984 673841354 27314166 339580882 787827290 474799126 554553904 374666152 758123558 367083100 966959156 728792188 182267926 235820726 635030434 386607200 223107534 749368978 340437288 601256754 67490652 131521714 475195856 613972926 962488210 908698052 113640108 199814164 739477562 222103832 164280602 971681548 353230160 82207066 795937452 264835472 880444346 499106204 514030746 702546762 346804542 363386756 408031434 759559268 255058982 49625746 315429654 828318268 404137826 141647924 890026880 15117940 527290882 922462084 853970448 8531358 350199690 703146652 77770722 568120332 672898426 636859040 429446834 499858266 947724100 39268996 495689162 982794806 876524498 58028608 971103804 993318186 720138668 838471172 373458970 636617300 922046954 203753264 34578078 674166120 101354708 378763810 842352642 381490656 953871616 345858746 548502782 923318300 462734898 74986676 25598120 60254492 817883292 395846952 302296198 238279234 434387618 373775174 402660550 116399386 297257490 960190494 332513130 505352278 356086628 95175096 31347374 196352486 939889792 241042812 204663510 748185198 942334332 387033666 664002128 243073634 410613840 498986190 61926468 700868202 805089680 917896586 843760976 78618312 393407774 872665326 393348626 566259282 255155554 829234954 760417506 397847852 256086432 759770852 697281326 229393716 713429012 671896838 603498314 712958064 929766948 546157816 287170998 845918064 487349498 865171332 51185744 234125660 652109156 635615576 687333938 827061522 786689212 431059086 462093988 2300082 713374706 162977380 858693186 56484898 960342230 425087194 327496488 255565440 410893910 838919388 406699632 802180676 117967788 183479612 857473600 837671586 287238846 671240578 794010880 870762644 803732620 385121102 85845824 109283158 5381808 894265490 398373856 709765194 630455902 610069228 229172764 717631980 185450162 994079482 867081810 384644644 492271494 820097768 168921170 782484784 558678968 797041378 304424988 972329808 510403544 96122134 169384584 981246730 353420198 476520078 928459854 60681398 792343290 684491122 872264496 210882962 272727094 802673794 748943642 525228538 181358800 119738894 826433844 194480276 963401618 489905250 724713096 579004822 267192814 947498272 609305100 867080670 517758410 140712052 913351702 792115332 878697224 869028862 932866210 884805570 489238772 65559420 770616902 361297360 665152044 68151946 430213516 695213010 564387200 420572458 206615332 597398860 881278392 418713864 584162130 661522816 564443738 830739228 980222906 374962306 81609022 898333344 993699242 760232040 487788952 425201372 97127354 191144482 168252726 161137810 330018842 524354164 902340192 700126094 720911258 518602402 532573204 605984700 493867448 212467404 159709234 466857072 82997230 992369402 421532534 371413012 415852688 908568724 157379444 871114830 553926826 675158540 209662336 999427816 851232960 46045350 396819530 361006438 460667998 415896658 372104062 259846510 84650806 892173134 714794092 167256636 321361242 958897842 519529464 924887184 665818796 150560974 127188750 659794782 812374146 529309922 838636942 157919128 855455794 457377230 980418636 988043824 873479870 296533876 267781710 742602354 892710348 906441654 39763858 600096484 353848628 627244628 458661844 115007162 660849484 368278246 991619940 225087964 241054572 282921536 227701118 119446308 27475406 308531734 380966952 633655484 309698334 194774684 17631020 767116364 759177892 366050086 767508118 96145164 551373180 855976884 546723690 571376944 154593376 865658518 19845984 197725058 96607824 289937468 806168976 697083876 764275908 227840452 170596320 449972214 913079328 654143080 717589716 611835006 229372656 111780304 506683140 81486638 856728208 566063134 770274470 654633110 513949270 704803228 231947174 892563890 922012534 681778002 654670168 49029264 965929094 693317898 917741976 186042728 592230658 408018624 518760710 844725976 781672542 69526046 318618230 638533760 155807184 582644546 863560788 275116988 744197118 518033212 818242652 867083618 661640308 155543098 535806222 255637268 986985060 184948638 872113774 429271526 175148742 282660816 46702340 88126654 919016198 602767774 371214318 118999290 765085642 497690854 354075752 925784110 310733030 483128082 565965028 468362200 5163496 945030678 212917844 275579754 551492040 24137958 192315892 549254772 109365116 265828638 70827450 202044608 872441786 257363668 786243458 53032130 233036750 132058152 518698332 855625232 419714210 838185950 68843004 128684568 551209940 980851702 958320262 138723286 518613910 664328362 163130672 700542314 64033984 994047144 499062492 367261990 570279458 359394034 541724266 780867486 121671942 195914414 551479310 466929068 338119472 107763968 631501082 514945646 914535144 86545668 899112528 802874808 98844542 496203308 682553814 729001938 533479428 872392718 579152718 794242706 958880108 356299374 307593150 835888402 248766908 321611158 498203780 330773824 190377662 715991526 976914580 903682006 93634622 195226700 37588468 629693348 493013874 362671300 539726806 706699004 217871996 942286470 665862830 664819286 755001202 478714708 21560788 523011226 146920148 459300660 578906326 575008426 66111538 806640812 387066578 707881794 5162764 758545312 176227244 157939776 264288816 207687326 145344064 634473240 389811268 752847768 212741680 499019374 797269828 297318744 800443384 574770308 835836220 511290154 769432990 757732686 79821994 25332544 318080296 103381422 318337024 816734060 717750660 231797226 580347068 893309414 630860062 746403672 561237102 625267890 701427696 986452344 237097598 308688094 794373572 67565256 4645500 915763994 405602860 90379224 474363910 175327478 127110076 80323488 330752970 741310818 232196012 432259282 696994454 288895326 644232778 224584582 625757024 954069392 594835332 79978052 905596256 921344094 552656838 783304870 173879328 152986518 641434516 124303582 346803190 974339832 685117308 876714998 396048894 534315902 167682338 615276626 180413058 963456548 92369870 117871160 950439886 447837614 658230274 450051716 880974460 308655744 612280862 119966554 997031400 30796668 246831764 818645554 34304552 744337116 970258168 116611640 607936996 815968482 967297844 782817646 993060662 803946396 567766102 233972814 308107540 880627238 687155424 616875324 245134588 754369700 539315586 793227330 449996692 350902726 926744224 511567808 166268936 79528604 120600410 606050026 875831456 739314384 929157460 700126156 789698718 756498380 270857950 517716468 529396804 835824418 590494474 723780070 891644676 360986100 77873254 893348376 534679706 234135616 526843052 224293766 437350058 450716012 268685082 87544372 530459110 48008622 159920156 75537120 432445478 432687600 496747106 855538958 43240444 397835484 885740438 509322958 489386770 996562714 862603792 4320182 580956118 99254578 436998848 974906426 592390964 19966150 913298834 804718384 375811336 72392310 531185748 845404988 903670376 986275710 636549178 400902882 410734434 463366130 22327372 158634318 210556236 67862290 644846334 67710470 29415430 33001322 792256850 327615076 42691192 942421056 586977794 404210370 113190592 807344694 747540156 843262644 791193504 166327498 783187168 346692594 291449292 698273276 44858406 642680944 942646224 211661850 616715232 262216954 66728408 200217966 863592588 253818900 84111614 633461904 184201092 673236458 382195572 249144062 852870782 380295594 208642136 452722404 779950054 663352482 691942890 899572914 351200394 466334386 907503480 729429130 313034600 729983180 20454160 452530762 685743342 403496884 972028314 749175038 869547934 721529966 296436188 228919546 574984638 149666396 589897406 129351300 410260042 807142402 403645390 60462708 786954248 691170414 200155246 120770498 291857952 710433162 605846758 354691684 803366128 244159324 19024138 182925868 228321786 515252562 712269718 885070628 993268302 623474170 311564400 216491776 142359520 774938080 864967942 744013144 289256404 712613206 305078386 217441684 387357134 44590056 412110424 635785818 728977826 394847208 279427536 439769336 761191946 729510374 838566728 167134358 821631892 962767238 97035170 237964020 434992032 115355914 427425990 781082122 938420266 611439510 119590404 463009420 524652400 403700198 100600900 564649036 92217340 469539028 680124578 236152968 571693010 353886422 191100832 128382840 719397344 426191294 270107874 123956786 268183792 125523848 96272016 976966424 237330106 603614624 897313256 54097528 477054098 115755880 861508006 172103832 793633062 901837074 204402598 554107822 74246892 823750896 82995332 752816894 45362858 960288458 514228450 109585686 231049998 428753688 922861660 284631946 483648812 942499018 363231198 499587604 104425676 814509098 801628020 208597448 385566188 111745006 394983508 520053524 520865284 48641652 713751902 741549732 256581534 661962664 943284844 821656414 728255330 676104462 209161444 176072276 804855560 519780480 435045366 518006784 135664350 764327858 82178860 664238922 329225796 887870024 888160328 266801560 494349254 191472554 176055832 972608830 769088790 187659646 65847536 120379968 244551424 338135310 661451634 379841458 298317356 788995678 499487496 328326032 863412922 894877580 440648880 145425854 162010492 303554692 766612276 444918436 986587822 686569792 27775008 178920212 913349874 397816738 256709020 206570558 384502636 600204060 959753218 559745550 762195042 463178576 788179866 953251952 298152236 502624122 462917932 480049922 727797710 578098560 333553964 748967308 354158016 687155032 334364612 19750292 488959764 214892994 761328116 735857404 984154190 551253508 799920060 996657688 420884332 936007366 549755888 782355366 737400150 176068406 346847990 566387486 627786616 664331740 644005828 17925272 243681488 669659716 736545882 65398308 204420392 856399754 7869518 964735498 264285960 856946086 629843046 405028928 68599470 504830502 930629546 847084872 635153168 176889990 156749510 64911792 566659460 677123596 53666780 669548242 888982126 410503052 273601792 162803620 740640832 607080062 866766268 274223110 339569800 760726482 733194524 602759550 765601486 960775370 342708072 580271794 247203932 892840656 711881094 340050692 750792652 973247728 248396186 832015088 788825828 560987410 402544244 352862932 8041070 149864226 265620664 703492114 914543430 478047770 952144640 60505964 569609704 197901262 789701566 52979246 268092526 872723774 252859342 855604878 349759048 930805670 611188544 925528828 193810460 337833978 548900150 322342180 288868826 290723094 65008350 237011346 64642240 951455742 389191662 455620690 693618256 742792496 50635718 693904988 543364778 162945506 202453074 530649736 232054328 574523106 67486882 363284818 849827764 824253508 140987380 445553314 201485070 686083796 640536026 163157336 854299850 536902190 8475014 333651188 2379556 633536236 931356018 543748312 333219310 836837492 125009910 371614224 109278678 533761592 975964540 57518984 877827080 374687796 723125432 989897054 736909206 273002496 210092118 504552536 433097602 250026618 18727904 867625546 486536490 19645188 664863582 480941422 145961118 884421296 789143250 784882738 466783800 457266302 302358228 584957822 532412012 59392692 394718744 343550248 789201634 839536286 935065202 910663164 632340250 118389984 72268152 862793652 953640684 881542684 719233180 957145432 575663046 168902454 437072968 301647460 657420742 948592916 395764316 227760368 119250912 656926724 126341664 572251710 809912454 651745070 198666708 890012014 514522276 919401972 594001298 627156878 223946726 782259206 460244662 758782148 927214184 951363108 929624464 889474138 570329500 139681544 154703054 395859914 258754712 56543438 874839172 811831870 35623690 304014340 98736732 871369066 460931598 468976666 270375928 884030032 254547536 106210872 445334270 28590374 691167566 739997338 573118498 546867854 746655288 141347404 524134326 6220876 402503960 411516768 840711910 441878454 555784626 585556170 536460188 793186786 167348942 446217534 640276322 934538500 269202514 318355208 644118946 757057518 887773470 242006508 479432798 923484542 485455448 570320154 991343906 541738814 281908604 377071962 746025276 435789024 783313598 424709244 304079246 213342084 378171880 849139362 526913300 405921808 312964958 71709144 336202926 29281530 40293364 418070914 590890746 539869076 233071706 42019708 180001284 835505824 417131950 477958260 273906178 460998304 108292232 331279778 731659162 188757528 312303750 341282496 238353880 94895348 219004508 972588962 926734106 757605156 360434160 633751362 208808294 322300576 856111394 585669752 182316760 181647164 92917298 307720878 635729104 948294422 313279344 977196828 435108458 87644964 392264784 701903302 808805622 269932716 755771524 57294710 771967616 192130218 548666604 171864006 411054132 162720620 205342174 612165534 254204230 454880684 76839384 27565944 308765876 672175006 47258538 39730756 283265952 165773630 235834304 909962806 472765584 403935986 682501448 305360668 87343280 206643494 362501704 246704312 926461380 492327006 382170526 182852702 535713054 247663142 413030362 503846660 348457334 530780128 737262038 366801772 451137036 674369024 864397386 567752796 396973614 358055718 931484182 793442596 788272272 967941086 892148050 102179104 275513584 81308490 645385752 992813594 382048998 551635448 871812842 932386784 910423128 530694034 750988188 824834694 792090148 659529936 757694018 227144416 785429296 373179780 495312580 674096608 959378834 903035324 208824390 306189834 464306906 72576434 175042056 498175778 528764686 945778698 727244888 78715238 53110596 820050686 881282978 803460336 840633594 390482556 946476878 434182980 619161090 664157732 532018082 430758740 747606710 343858046 427000930 255100758 435222878 106105072 326250040 340800292 21291956 496330976 869712658 309944782 488961946 95344570 56342778 435287208 589596412 247489772 606282534 419211130 332471218 422931684 550747864 502640342 52148738 525016744 675205078 376427470 566940126 713927454 802382562 135624900 100559572 895882704 512519132 368197234 129263292 231008388 574297668 177484672 926288086 657152674 18356808 166664026 715877600 729604806 211133388 134945042 491229112 285727130 87233846 20702262 496620254 599026054 404269520 773706604 631768088 566565438 148555216 926338602 463127594 218700910 272877144 120989468 321112618 635213746 576833260 425427654 625634776 315849770 559375760 911778016 878413922 962920330 237839846 81541430 205804484 107736254 88329322 273560542 179661918 354251366 200870984 865186136 870358496 757553480 627907174 682723330 619864744 4022522 815412062 820023234 913671162 387798198 98102962 828891642 894288460 91701552 566550328 47795242 496333998 586336236 441415946 825399998 451328868 133997798 362772484 566451118 698108824 939692202 276481960 182728494 700261018 134569290 403930796 96735602 709597904 893590354 429976760 744244848 203740764 611280600 354510460 815975368 184050226 798024570 236812060 503161670 422541962 208821278 979212072 141463018 484010940 604303686 983572994 254966414 128915318 771309100 317073836 941013014 791456538 223812048 790481914 86739646 106108684 742315402 683980392 207777252 609814862 680580376 189545518 852958252 331430854 795554350 535082502 707704936 613677976 899788094 888925446 190715220 44162460 851290606 541645902 104804746 547339718 766948888 552634000 66718836 422853676 144417016 433760912 850502960 635394452 285014690 928987674 28139152 868873588 137695102 541157676 521811498 734228088 967732566 909117676 88597024 615665812 301389770 619341686 946365120 668022516 147873558 446083734 753994396 182661458 411966746 622543340 637121034 250522548 809800818 671691846 571853390 520439154 512521298 532156016 696349538 234024020 193762852 411928780 495646548 21814694 228745714 92766176 138754274 410767682 339476816 367587704 869133254 364294222 440185800 231776668 916340384 548348080 654666272 875973542 377012764 882084854 117843160 149653728 759268446 841423630 709465420 294524894 742479078 588578616 892879412 537857200 812453568 385342600 545485156 860632130 729110472 132011008 687386438 623198396 669605050 630035636 733757592 298955472 571363428 712077358 991636672 228580368 696062626 752774688 336395926 970965150 610559406 628479372 31542040 711170412 323704654 568994366 175116 494365348 938430754 182764636 618553548 425944744 542499106 186538198 85890858 21093114 621399162 833773012 70243276 756421480 368210408 910005982 433306688 665591272 844312000 820239580 966308578 856697376 721912792 218490464 974061060 482584882 935123524 97634866 348664462 604247486 910617880 807275530 108350758 192118662 976121304 585929374 295347138 76190376 644104422 938473714 707212120 412646640 955464328 506930888 358634478 797456190 870390690 697206106 302446684 742849670 889736578 196779034 987132200 704249124 643138342 953380024 390342042 725432534 466601864 268398366 21980534 237150880 616130488 403491604 340665758 775147102 208540454 184655566 528680568 327658192 947421032 297795866 834676014 650111422 720755702 55954482 151474252 589482416 77943516 209665092 133643478 563557176 321691792 696490964 223202026 225872328 303812902 66258430 453645974 226831734 498981496 305927316 258306610 776356272 503505990 517071172 968170078 474397306 177488932 838699500 518424562 211216208 726521606 562909660 887597788 651726524 560823238 897339812 404785264 990829092 531479390 577229760 544229152 342122746 655478822 282012938 731682456 688685508 411331900 983975514 118924786 405504000 297909148 10896296 903852702 861986396 27155558 22526860 350449240 358392190 737351620 443623848 213405158 227780822 403867294 190284416 766819976 656342792 98378240 116031374 526313118 313367740 338199556 216984104 250875752 800807668 805106152 982167770 661389716 739307830 533842154 643955170 168760902 699175344 630539490 457084160 960757538 119398002 479386366 585224510 973880016 539135872 919964012 730043876 810041840 510843574 735273808 560478432 857194078 977519684 518990428 27273314 478652038 475204924 886906154 235014560 218266128 6266154 513265572 67532792 936872516 922196336 152321696 752980072 672897292 633657880 260433520 532588102 825329808 343658088 763406014 764082166 875970414 185763428 591440400 949249920 581971122 367674862 624263174 218380532 997747758 42468508 411327038 771672280 963815166 828899392 370173340 64788684 951131586 765800004 905672484 425400780 253549594 23021224 890570226 359127230 567017818 715801584 346083822 509519946 528518768 427748858 515189466 363403716 12684688 18105472 165746266 137304604 356932866 628272520 223355836 452812886 668494404 931422988 280865084 616183324 910485924 601814224 760222734 491618090 342741778 360880610 506517876 511705664 274874362 411592518 332634116 897920418 454451822 329259310 424780448 797852500 995907284 474965208 433655000 132065076 895415598 249769202 246056542 28496776 931869812 153802474 856212872 367643892 96111254 243265910 541424504 619157530 296485184 53403298 662257812 207947126 523529936 623251606 731741128 116391016 469938980 393881932 259349472 209188170 855885154 811766424 203637692 990978130 930808686 775081936 808137886 273465286 344529086 625769282 165011404 824189370 836889656 665597496 741625798 656730128 717397364 196259144 723927630 681473916 78851080 906332904 103917532 534956926 345969616 663992206 811890714 144113100 204942506 535291692 867185952 331268216 695684608 817850780 716776570 876274934 212448668 765457160 43905488 986595260 187403996 361150224 591217502 766192750 614853636 953416900 590777350 859357110 942777196 74958318 821118136 448335842 571383764 780416652 673592498 767315754 943446298 508885360 790147646 998119126 403290432 644291378 629581488 151574426 305358906 674854718 328983890 583683924 798719962 899993014 788212112 750251364 941991946 775104500 437888762 335335782 850391796 750313602 627808294 722751154 165918854 642135080 684836294 726693966 922979450 555846228 176461622 785482592 785410886 408769120 92000334 279954244 939921706 42995110 879983172 992356892 401528528 225695228 487287982 604921768 755979246 68266710 692562906 883762004 519315732 258170082 179593970 138709334 686240384 982574174 824975078 269004342 176145782 877539384 629509262 7646376 203327572 14986736 654006542 112797788 12607756 777179734 749005552 629273472 551262298 798558438 690745866 46542610 492899488 599409994 924144844 861061914 747277764 504077648 685874848 607557656 415383780 311955278 484833104 566264990 396323412 166629696 725783530 600414852 812775250 795428476 555455822 673323202 800248740 431928918 441467102 98063408 728977038 31664094 679293614 272254634 479406220 972003738 247728732 408417978 301061616 203117684 428671710 403689274 29395164 919596708 769503710 20515458 45887488 411223712 129272156 910619424 535798998 715875370 105681830 909532348 847152906 32035108 368048790 139890486 318970098 630902494 551552870 374052712 716278952 307779256 597459188 552312012 928229354 244212558 529666758 218205834 327673700 512221804 810990440 234721290 383898580 60727546 871693102 357962326 420259824 813109798 7715728 326511984 266380882 524003208 343448436 468826196 733186496 53504088 964924876 226740116 446408224 259864298 753650416 447791206 717349510 719116864 82434182 160451216 71767598 978329170 518368014 394077000 345246584 476895052 142500024 207089680 467362292 38688954 857327670 385637578 138386032 722062570 514286810 458963656 166304170 622913512 329645120 723820862 83773694 754101014 379082638 920097428 140198112 11216930 168073160 266856560 953291748 895892116 33538830 802077722 836722084 80407776 31473198 743964240 291303662 500798970 446249448 476176492 580121476 497062598 206971576 627026916 567318900 840289836 161897884 293434176 354025828 259202964 614361316 817913136 353444980 385990406 594869670 3076420 755935346 851622566 722570962 160167600 452599736 876583162 361052260 729626676 944184350 776834252 937111536 881901686 357745160 825816476 338629014 985971812 459320322 125609294 353597062 956852114 462781102 471050588 61303846 672002614 423274036 486279240 491077740 689966188 628077676 227429224 502564786 867833538 266874178 861231384 921990550 937339264 496271046 339515750 497049190 914122044 812453320 722733414 811249778 719235070 156885192 942588730 186688174 120036870 710263092 412792666 420596468 229823832 972563858 986009124 404478222 729000440 226668088 831054442 210207608 423716226 452551008 135242684 286735934 496130840 911119506 342599666 795846558 978671692 196784778 740168732 658341220 764228258 594301792 579863712 134784214 619803902 536845522 788825822 684029962 165909942 513694308 591412650 948918338 123985302 440263196 321028974 963323954 747272702 841436850 164218152 611214474 150027410 129398680 360123924 27636532 405490682 71244376 745686140 597997152 788344928 951860602 35914120 480303178 407109850 597649294 736710892 560482108 99596066 357185072 291750596 856834774 781741596 883833216 187414164 615421590 137850156 818473264 884261510 757377478 650690652 487039606 79855106 945745920 133339262 874949318 695597048 622618454 22260392 724048846 638581268 916520406 77855382 962369308 716116064 757770634 94196880 8958434 506986426 899535392 734169942 964213088 37542218 30162336 493463668 871487278 140931158 402840086 1928928 461782062 227350446 126984186 458994114 512636282 987267852 718195756 537826706 107238528 120000188 238328250 70595426 81334744 823113328 864451390 786155490 310883472 531329576 317709008 177091772 243922950 137380842 173775868 492017964 690554186 987096608 779189876 512516346 32624974 543611096 272268508 489445042 906255800 547913716 223497988 793680078 512141410 935516866 94313654 147556434 918113422 965106366 841712568 897561772 22100652 88757494 362975152 786371816 933427732 521034806 253850420 37472458 764965354 525428028 891398572 262592452 400446306 739863278 746314002 239569784 738695808 632481436 328668274 259678512 567749396 584391516 885023684 832866300 728312368 646269650 158385360 411389304 23158050 295147354 584323556 460700302 237483346 387215438 674338340 54560864 75331802 845854358 459282218 657392470 916747042 606654854 568799854 737923386 921414918 843999010 408060976 922039806 551101832 485593718 127062354 456049630 409996402 704004158 905066920 935397680 391446882 985155042 725355114 231027548 238256572 336299794 13172266 302037302 375877044 507422318 355972886 571766308 785024492 736385478 878647714 643285398 2437252 206446386 872299824 149088640 835237084 481010624 857331576 140245624 538070250 358064602 638514128 720685318 664671292 802058752 153942646 372066308 220250474 757863538 385373570 461850862 602835294 851250396 404436346 538013514 543154618 662556466 773749772 398673538 821632508 242327338 165818302 932359840 575156846 920350912 144439072 386674478 304211122 973341770 361867006 405952030 102964672 469727302 779965770 237425246 196620528 576328888 972508682 675747332 268888560 613318766 914501380 413887874 55952924 500791252 180663882 355538462 191067022 452122094 628473428 662850864 836998290 132767022 839315016 759724306 806094906 882855152 153199618 125559374 625371874 846318000 201279350 139588564 615027870 898344148 69024862 509639380 268283120 421902680 964504874 861586504 430218596 649168084 887439940 407437844 963055344 861011258 73258436 865824594 744642060 523715666 473594180 429689070 160873094 577415974 852702708 884148038 611553204 680452348 205871544 122879054 532622662 546271904 951546974 819139892 349087466 544762556 236892788 8638642 400171076 376493112 578802434 956734522 561584546 812881320 197535460 206151286 629760570 457916082 919079150 955721394 997428410 219144494 96690438 33911150 410564120 860474156 4053530 700198088 656865688 945006902 646325974 731123884 71102556 524239970 163927582 946624442 607944078 670847796 538882856 396414884 551907966 302945762 443715436 337242348 121466012 63828960 948252052 436556796 979907572 78561144 788068786 849701928 497373740 639705882 2324118 378141124 286868114 31197384 76617876 203134880 106140662 251352552 883113768 60009044 107762690 125310374 689040014 49878644 308891190 472137458 852170738 873870566 563997398 522772976 442405592 200332056 431367572 649881228 25867490 463970140 73799876 628167050 58012238 7649196 464112496 209215706 122592166 91097168 212293654 6075066 432615746 813389584 516879768 265734580 948389944 423775032 288823580 512108458 70795530 980198828 562036994 560988616 429141042 918736696 474956468 772924072 354240530 15364468 893755950 113462812 192567290 62459034 637054304 471921704 689270712 168986822 541135088 232442972 626373390 385425940 914362460 701541690 826932322 883432040 479835756 713392794 56389508 325553316 660235844 666122910 313308080 977828406 123407276 352810452 845937642 401241640 226043482 962309160 800927038 753079356 747104774 443068340 435496912 998582 921019116 482705470 290893694 713222440 807176956 17403890 557801244 40485138 998034808 489340394 137004208 274488082 662831574 702414302 116483560 937429914 245741246 813263964 88403736 916908118 889593286 182920388 889811182 813674440 587983852 492182500 629098018 228772610 755548556 305638560 717681304 542213420 597913802 374246720 224130462 526616352 432192514 232175412 834026442 474904068 6967064 476340588 553817318 562642526 724588640 632342950 991474186 220905924 522321226 600600134 480779176 607711978 739168224 287169948 323341534 556692354 203684456 482289184 915419254 289856056 658974628 331492788 439055472 726258236 355610076 343240264 433887230 156332010 146771858 831850170 144555018 282349838 217486684 836911878 587857602 363608554 685521310 254488924 569332112 836684328 92943184 629706888 794092294 839976522 369509664 96305430 789349170 76876824 21220174 531982990 722290778 584569940 459164342 160283270 62300418 130425178 490496750 27294536 449177600 942741818 80348614 829874054 482066000 507802896 197777044 882203362 637411246 725252520 657237264 407805520 550358696 898839482 269215524 205190160 931923594 259601438 170979098 988762290 353568032 914198270 999145556 735834740 486537830 900836816 775783710 427840612 953269982 367750630 912055374 138403448 881364918 438630840 33183572 578186970 471472694 481410228 274877072 348743208 334595988 678100836 461092040 10723984 527570180 658866400 882322776 311447440 552864696 414343502 248072242 887300736 260356800 139753044 56753284 657382442 9767044 540378558 48850650 276979138 388317036 403794166 159166472 787184622 468387068 940827438 720179248 801519666 315264402 948238698 482179648 125543400 595805476 209152844 649537012 185343844 719074064 12090178 74125028 812937036 269245820 665374234 530347374 108579314 787147926 346348630 722506242 143118626 557887716 523569332 436697964 337789718 574860262 662743810 746859728 328983552 48861098 60701050 34216950 241731588 901018106 384272396 405827532 268728806 715792600 38125196 242891726 539021406 688985658 58725644 936870376 849651146 420734060 189199512 186077134 977354370 460280528 862597050 860652440 61585658 219269066 921872226 206956380 220881226 553013852 787023450 484895160 166068038 913354802 709632560 669367618 687649034 751198852 757780952 164974832 785521486 617640916 380726400 910903244 38122138 373162078 182657496 464505748 261028674 845431592 338869024 73257456 377382706 142010282 197339814 233889170 7478654 289827220 808650292 307542166 131382334 736104102 493544094 559460096 282540122 822265688 213578394 414898008 240006744 933238316 148175764 635485246 848396832 196701992 676938958 680943328 579362788 434411682 384668482 16978796 104417938 302382076 799283902 631215614 997819956 538189914 236177412 866364750 751571096 960251782 882866826 854419364 908343230 150285742 532838334 847291688 884225198 335340758 997775974 414284434 720682332 605822418 2627696 230666482 765489692 309701544 452583102 317000896 111323836 972263968 986011174 653038940 918778130 782547264 952864856 83859082 173292954 982420230 36986140 305577794 170555272 463760126 578013838 551293340 79471912 149885146 409216726 821963346 992557462 29082528 195047166 569103368 376278418 751465376 682844522 942734566 583064108 134146716 567548756 492730184 418423896 502970664 992305264 215142994 80836690 944147888 269514614 967086486 599337014 924072760 519603020 836178836 896494928 691245178 861222890 611284166 714114080 775818402 256812232 56523018 192259490 284296464 953201416 251884934 221560176 672199612 969448710 509767908 77671248 626471122 875738256 321737296 992578156 632324614 137189922 269754704 614951010 66266534 643710896 66983274 471139262 885757402 410542714 814532304 249030432 91269670 410084402 733791710 230229374 556702458 811684572 686951174 657044866 839389682 87113548 714462136 786811810 967815912 606390158 632582174 749026680 763224340 751456728 291785606 56015534 213165402 241762442 968606806 145753052 837374348 405072602 30322688 387491710 560937500 476748762 130278204 329753836 379315208 137787978 245624662 278040372 629940444 472192546 418965782 555123230 970419886 980520148 581368734 79783878 25000722 759455664 790592472 959274468 464067962 256199410 698303100 628276234 281157494 951183824 600686984 764890622 536765386 212624304 489183260 381744096 573964400 169545588 599867598 66392402 367791732 595679230 617202530 733430664 882913416 672517190 513524038 15929368 500327760 992431278 80683944 881303960 388077802 795336518 833896604 881506142 670659734 335972692 100631582 325385370 381424522 4204030 199457992 542937476 595251848 905151056 731007266 955569998 376071504 413467318 371244746 756835512 247657320 937040656 105757410 202197576 655353726 569919704 388020628 919212448 126092048 567371234 289670236 340932972 842538800 555810078 590692872 260212476 177642288 534241710 731688230 667787222 666632780 384291614 206238042 977422632 603281812 608095196 469448442 708500840 845197454 247845084 898670612 955200756 126580026 674928232 648838290 392846508 503234438 153211406 57723144 517496620 267750578 288604414 602366858 279128428 757209750 722283322 884898644 212696302 204682692 809855118 271688924 662698644 668547926 825907770 235538360 127438156 277241224 742028554 339603826 239785034 910103630 620094500 406378530 511694156 255772096 856490620 5440094 627396288 282632936 767706330 281036642 975316212 180829092 562840784 415962118 353177512 452763416 259103116 922018568 905850320 756328304 78770018 944523612 866377228 821653784 125847340 223265614 914562328 230822828 741235662 254337428 690644056 165667256 595485780 843739864 923527256 522283500 404187770 368671660 821672000 940101532 449428688 816611204 833558930 381920908 72786598 736575732 403134700 473901010 236127402 289199246 800982324 599653060 12318900 706003672 431325710 960738540 680181962 746553104 571337570 754906326 899880648 32929046 705105122 979143036 840748988 702105502 420645656 129675876 335978416 478309624 197731352 771941644 215410642 189210212 515937978 19887086 8010140 457930438 946824146 183602044 419141622 586763542 194498126 516322862 544077544 204142410 175112756 287342012 973105608 740146002 345706382 643712926 610540238 240126022 761718918 202235480 145620332 243942036 810385442 87951362 483840994 560441788 613155404 249431432 16409532 144250996 413938972 12266376 628886862 988886122 402787660 219633922 903914116 13741230 59214002 747770768 871846938 938827258 342595570 680920000 513202596 355569456 635619124 112874334 306565908 882682904 101629210 512015346 706920354 444756848 249331590 254235726 271132688 944187652 755619094 600887408 213627476 988137804 619029592 503753338 809241330 755755008 322327836 867252196 524378632 391904786 183620804 725218602 69633740 152115496 139591702 5372160 958096022 907980742 20445346 158642338 450762884 11664416 104064922 146837724 312113600 97150694 44200062 690800234 720280040 150541916 454618086 939167028 500759494 865297944 718436788 388827924 234001304 617203488 682440844 787586714 697228044 319482854 475953448 525592690 173306154 707070092 501654254 141463978 816060958 564114732 402134150 451528104 624858424 800475334 183740622 620372894 410754512 515993996 401944392 854944878 340022424 283357486 970724508 365774060 884879788 863859902 597341230 292277354 143460686 745963582 460034106 975817822 821450300 651129734 781251518 733452418 391155592 116244284 597074578 933929412 945881242 824285026 633112768 616609662 844572254 46196380 982020740 492381434 638127682 10864444 543923998 343239882 983902538 396347400 877006648 333015990 696351744 759634446 26210136 780049526 485065326 269472302 506147116 996407096 66042570 849071938 845348158 146759986 257443382 159652132 830312314 918940048 328447464 70046642 751548214 824896256 375114332 680015206 266684746 615800120 329522230 426823988 699625362 938490696 333997112 785778640 214867710 355607902 403220964 834717014 79407532 712889300 148737422 296595286 420350096 612204228 433654504 384175582 390701998 467586324 439449644 31470870 290212480 711942230 345064162 19715948 438607144 220158048 974176532 441294956 298501918 576353742 241305142 48673630 924794824 694060106 728738286 427458840 638424738 318044268 875167202 921649786 310096992 413417574 846784754 38316362 306747022 874665564 164718208 396191206 168247930 139787800 40220110 901131924 3289520 616908424 452852562 727779108 363017998 850371060 456992458 714980628 160719766 117145536 880867766 891876404 899820626 33524868 510549438 661931602 357715106 885437924 307781824 766090372 892787432 927176264 173814540 9871738 920250822 630555278 540226196 614770992 320304782 267543622 219193166 836379688 167218144 698210264 427616796 341176962 680011246 76983002 461372884 159799324 542256804 955571314 629118000 381074658 243699012 806422658 796786994 611805370 265511540 313548516 949276768 976872600 302402530 475273132 236788652 94559998 817181890 309305050 294507950 43559350 193583348 251411520 922575954 614216550 388647460 166226350 741159628 545729814 51584066 124867962 580948390 808625856 611257292 442564736 388484816 149367628 235565660 357239622 692858 53370584 308157884 894478506 11386052 405655148 261487364 325019208 787016212 620792682 93842570 988980728 62728090 534847642 710740620 329562820 870262460 407212892 138241412 839622842 771385614 785179362 254741044 307264364 790124204 462028174 971600592 914660420 220588404 991383164 501234720 673164638 93397684 467637488 581715026 183319638 810598776 156539780 715854846 362885356 880877948 781184066 289355612 574049556 173059202 561526670 790886332 426470432 128092192 394925052 804165030 381761160 273718116 394327310 320560620 547154520 533548494 470574918 82032252 74496854 540404976 923420614 634347064 168095084 879207204 725531462 939545432 834256472 247243442 509786314 62044742 846921926 286373222 727165630 16448222 304175306 482493614 668751750 304519172 389775030 73016472 493979664 77140080 890156128 729391286 96235698 576346924 615578538 207946784 367807524 500333042 634727108 315296366 377459236 619366146 836943722 222748480 57934764 272786956 833765480 328211188 463901952 923443030 778094290 408897584 981523208 599237282 682131478 359625964 469538746 92614506 952461428 509423430 504640624 47705646 569430278 218285924 935838466 659612602 481791228 773634012 801163946 885832028 523111180 360099474 599287714 604020316 684364688 381135780 834983146 295441890 470719500 305959508 216527772 533764404 902556502 127513048 144697888 287395414 807185880 961199480 232524034 347095920 358038372 144752858 101758708 865244298 919353164 3970234 948364444 821679896 266594238 905185666 103883278 109574706 752164224 435231214 26840458 237114686 245351424 766265848 299358828 621135800 281927130 806640040 660659772 563227832 514804032 468777670 502662290 158989394 120779914 166926296 99110126 241609350 237530910 644753700 718379296 100879830 813402402 171880838 652214396 4824906 491525846 175320572 427550492 417047424 988445982 776432804 543314918 392427266 649765560 382096348 915863862 247441674 989474130 287160328 93366842 456170760 988814556 295909674 75396016 312894418 91005000 890890752 258795552 625864750 911872742 462284746 389585846 259397248 689167692 615782386 223644648 981479366 797538256 968823230 934604784 555909418 492193826 451646024 631864336 6542052 290041018 277842830 137476184 503409674 532030746 836336236 150652336 465669050 168770592 155933622 331968470 355014518 603002106 612856938 414080546 750511526 683422654 385727540 52725620 799965974 982191624 285541000 303514284 168415684 957438626 762621862 270964908 730272862 772380096 594764456 617974528 177953516 929487222 601672994 377620664 777463440 567698004 790071140 676383428 26008208 172076850 721084502 2265504 972187048 461204254 439817982 151136060 715814110 682423154 927052552 884992506 374089336 759202176 809386782 794666454 441067298 395039288 533450116 444667376 936879272 607341214 793178862 705354888 906026556 916153474 575363494 305092266 679656096 196216756 166217296 411486600 780750704 350359634 727961232 518101726 433873048 466449826 152481544 301690846 429088256 743992870 453614102 533084032 466931466 386608334 669608528 326501016 478674796 280688796 285685150 456609214 901815668 541717614 762262926 457741872 354500272 977262022 184381038 671314930 776119146 312613876 264285088 185080486 922444144 77014262 351039896 905943222 431114908 444414326 124484814 830972392 419667664 118490310 977635338 790864758 231754024 698881594 267644680 932044076 982119058 401514020 83800984 356690686 256479612 988662844 715354736 950913832 301278214 757953842 183208300 227962396 972868094 923804570 707802902 689439286 597990902 929754074 560539220 800390588 82977370 322452936 66021144 587907592 767765126 162084418 553056366 783154992 767046006 68470408 299305098 790679084 475001056 998179872 137378128 107118924 198230892 796768310 402439628 265235034 522243912 431393844 725867562 276058656 338113228 63598024 599103956 317939802 743605650 651474460 739505954 354465522 385097650 33532602 344473860 318147284 228537438 939911826 339573684 728578186 341368020 387759846 184059122 330751684 271620988 330178568 465171914 210921360 326275958 744773878 319920294 157620292 401262504 307501440 623778546 232506918 1243182 341860580 32819046 163668402 817160386 532328914 335621896 29450308 737586260 906360798 225970164 85197594 658873804 203723146 711828616 294572272 188337942 393027976 536452582 325486608 295621958 841658664 541481586 250367964 962239034 911059514 141801130 850072044 257116690 706598934 572769266 196753950 380742454 447091304 641070912 980357694 420509656 644563584 587589750 307741312 806591162 347768016 711192904 649735532 966050192 591527430 906828760 327474008 22738844 982298200 295214898 594173746 633445066 770488684 3992974 401996272 8382282 183825816 703720822 212677506 639638222 267377186 132191490 65573260 179954182 149424892 587601140 687254162 321005280 733531876 936003462 500252340 187709524 184874256 939239810 296347078 771266530 368489696 85174162 832321938 850974586 122677640 201228696 89438450 600733142 294428300 74410060 832115396 616590864 575800034 30623926 584908790 22934922 632028208 870935530 347489496 888968156 128088634 103733998 630819728 578572212 649962092 105013856 439610292 238976724 805499168 426948048 35338238 880344824 863324170 401378624 130570022 586050900 470484382 174396968 54361280 214789776 545798686 454813446 36420492 439094640 368125568 416988700 974089994 53559898 697331254 302771374 641758724 596055716 380012072 980430598 749518784 178909672 541153008 594195016 90125430 297261732 888642156 249109882 990832590 52378928 165417460 848275694 590036580 750240506 134157628 774048814 296170162 113876888 749007148 213142926 792668292 804297806 264856604 935132816 486289782 918857162 514511678 933490308 461439404 840649648 683086868 58384462 214916068 831497674 189140226 332580670 466724526 379349144 514223378 641994334 19200368 812607200 795876638 603404448 392210364 259192884 410508778 365268260 258176142 95470658 846903876 982414814 739134336 282880734 56797414 138138874 893173466 371487294 364916446 536326646 372292066 420320412 9235102 570875558 217067388 521802098 629521010 922770514 427155066 762531662 297076634 933124886 691549240 754117328 617284704 178368286 893814504 479879178 339187198 210914990 994794586 649923396 859856166 712203604 871354814 765340410 433822452 649156170 657288866 858930296 35081362 810785766 910535512 721712266 968011314 896825114 561843162 954001436 485162002 937592840 753223730 462048574 555663904 998278930 585178046 315278016 860028434 600821434 790802002 917922774 125645108 609378016 4638206 862332620 251239898 258266844 793608418 841670448 453376512 553133980 119522104 606984804 289096002 72589886 177680212 639497886 228317378 428856 897053660 929875256 12653324 352726672 219065054 844441282 784054866 186806822 748795660 333975708 253603462 585579542 802707122 975363238 225980494 964844616 595945790 720465412 727248258 730514006 529528332 977190726 677676226 453068286 546135258 896377078 582311492 853532572 587061828 514812970 916136226 39199608 318419104 289458234 19398270 887138714 229551464 736606804 800983592 923059562 601473210 61795074 480571394 490868664 559992472 295812328 943218604 534646440 945412752 972853156 981779500 266959260 858768060 796032154 545431024 96389892 474339596 407125496 899996488 292753560 204632698 764457224 310217252 369689408 690380138 792001326 265347224 571800380 48773300 140120398 526196944 73026322 327294222 584254816 665238624 675857692 42734306 81483434 69326388 378632764 33896640 853333906 158259024 787297056 296742118 261424968 838113962 916033180 162845992 210167780 247401390 243437858 506235882 264835334 18260434 190389132 231826160 12851474 651963888 903702902 304447946 662492560 428182228 852224948 77165688 736698934 639097676 925946250 330364700 61045280 503245802 611267226 314840114 498412602 711234912 606643536 799676856 594986394 865260854 353965378 586346286 975630582 159344998 282600312 939946244 638983374 613628194 757988920 319633876 13874446 812474984 638217914 27884054 944415928 524159156 552348658 725571354 826807464 216873706 712007920 482601376 451371578 244000114 782818260 294696696 379955860 302111164 117033360 163063116 220260172 985526706 369492228 35263826 405191242 545558516 889863482 689897130 736705062 315696232 743202080 427581448 104239652 421732188 322508860 283474278 472512514 656584840 587345408 762700574 649360896 523033346 84717054 975903688 434333266 346129898 532874668 736502734 51621506 511543120 473239854 343122868 725778544 276806888 153194812 472337952 896864988 987639920 990297244 414031984 378115786 727532478 350246310 664249910 826807096 99748020 322546374 61553358 725744264 462476654 147401868 580068710 441311782 603723886 326293500 271116246 585493124 178436486 953972154 617605478 934739178 191688338 408272788 480053490 8128860 767539928 91168914 48700576 485721294 577845336 703473430 806310028 94644130 544823086 661927080 244992354 339515910 653666938 494708548 500190156 703178518 511728386 379023716 252761566 187812814 992124844 13958116 10498198 511109394 2115638 301988470 863612186 544790068 952280540 579117904 906208222 985161522 264946116 987900372 622765994 934206412 900079312 353250382 533984940 87302170 159550464 68259588 179035458 72701972 356509602 870621758 350416472 204399500 373212284 769237024 515957508 647857154 469587278 105588630 554697768 309593464 694351992 96810712 584860556 665601098 32830320 978721922 302757420 526424324 351675458 72184842 359981436 615980142 763573646 223380216 628587872 149920900 695894628 113624870 232510118 840703848 901484278 118222590 232876102 503795960 608083040 900090772 996823716 294015490 249495104 777437640 136007196 175750410 449442400 865493522 249008402 766434408 334859344 775471438 265040544 891815940 900176134 866817310 218369872 770637674 841703098 497308582 607534010 429987436 377162468 276483628 573872610 628993424 150353956 373704820 491367244 767067562 662563218 447222532 46026122 394955912 29668062 525258418 386690680 316076418 151298498 813203172 709059694 911128346 605293308 680819634 799308006 745694212 175038978 729660868 824928962 56383068 822282214 46544996 459498866 950461620 901185726 980931624 509103740 108710670 951652884 566486466 671041160 74510434 223350370 223530686 823103428 900395358 424567050 398712304 974383484 318344502 79028692 406164376 9663194 885433308 979728644 896555638 576296990 573777864 408433402 330834714 632104550 4278144 939174526 811197090 353594738 193108694 697949802 468420854 993129070 281459978 702631856 248792068 922292764 913790208 132154272 629485892 311721004 758274332 523957716 709993022 457395242 214008068 849717516 419906690 382375414 64472348 615477272 885944028 160826130 14728884 895899272 864713598 789730946 321061970 74043180 325381718 436231212 168570144 81348170 164594712 900167096 956893960 520660554 883668742 702602850 949185656 940631090 565480272 284733150 946814488 717617304 40402606 78226472 134862368 698472296 324778238 225275870 875969684 796192780 572942154 96242642 781804866 933885968 448213726 628479796 799333434 195952790 759772564 570960738 826379764 820097364 338376874 973790002 522009444 864146374 696320284 989818916 148070676 969932826 603396512 709844528 672891618 157802998 163701932 962556460 342685000 897064756 904468864 591385452 138844204 597678236 247340548 945501214 64426200 553441114 874764546 448126398 344306250 660553172 581012166 900684306 552663780 425586298 449148634 695853014 732601392 644963248 727468372 994737940 753872892 334680386 228026374 593776756 509789738 921361454 302540692 198325508 87518386 207294316 928599606 280260046 544001844 622033406 191609548 755007422 366738382 234106090 428628726 878592852 557016172 77310482 407837694 760813624 766578740 277868820 250760200 587647034 90057416 855923064 941364050 341624130 785670068 587988962 605127006 135981844 77718222 5252200 365678054 258366356 424677974 849977868 690249786 315668392 756180306 150378570 4751658 461987664 558087330 883270858 621893994 957384088 561548942 411257832 163648382 925512690 183356806 165461002 731007332 558878172 678679974 367240410 59693294 195315724 403650196 504504438 710861100 581455366 547856944 446976766 825016342 487187126 281479090 407964890 272939734 942500452 644887430 188193976 209490324 246354194 935225276 892244028 282763622 894143790 327382216 652793340 196174504 244795508 836278972 457201990 404158434 770179834 702692280 51931260 456956186 669574248 647550656 437769066 584675232 815184416 891056220 975833582 638951582 115902070 670934564 788574616 581313304 433514610 252244978 392306136 376595240 89369124 827863646 510203144 991783362 268986112 744373562 270522598 885978486 105493908 938301536 337682426 833813182 344195392 536192776 790722082 191805602 483058430 576380802 125593606 116565458 504714402 57000538 552059090 612135246 807988014 977937228 907155492 463692356 257468674 41490906 61441678 727612472 51336752 248448856 400243520 780308328 434948464 131524238 937936298 630029006 892944686 936792374 244158484 173189682 901114906 661579854 244262720 704993282 465962652 217399430 781785878 933664618 404843360 742858302 588359372 785769772 360928934 745328268 305253852 681107836 519576028 641179574 964340482 274659686 198068618 565606048 689031066 301092784 551923944 103522794 187873722 560086522 456416106 123209456 698467510 247248588 802812830 868706462 495932354 857261126 503650564 124549346 87944724 492460762 96675986 434256752 842237108 571632794 539048126 762646606 520887164 565003252 355374154 433764632 19117306 420791564 552184414 340336716 980878762 702167576 574590080 105990056 681172712 723710482 531208590 861153714 722190278 498586990 541278596 712670668 313603818 824720360 330369276 654410194 612163928 467457164 992136970 529211474 514533560 585201100 551509218 496917484 421146994 400789816 147537224 382889238 972174794 490202600 201810962 519412242 639960366 200942720 663643572 459527258 110987176 657632666 629616542 511427718 497343970 291112146 746005520 397590122 827306606 566466080 891594922 195563700 690941758 159354850 783271398 398759150 290955620 698678824 71570196 690340392 958691874 848801124 694007104 784274276 724379296 510826420 569357224 122371428 903260022 92085742 772310218 682328724 866032526 226589830 46411046 395035348 353915152 220132452 986945442 267155696 271041368 459091126 414395278 850153226 779994048 751805664 786838666 938516368 98443242 749037784 964438400 718414942 206263260 965745158 71620120 108478516 736003368 11685736 206927098 276796610 285191692 213833800 855958640 371924674 130242334 819978672 168513640 459469124 625891908 222785992 597569756 554405016 757222094 25165906 67862334 1235668 200068856 682643792 810230890 958381678 859620762 790572726 414315040 67317062 441663782 652140180 556478014 541248488 973505294 117267852 336970962 256403050 809350494 535066106 491373284 909284130 502239414 900934850 728239078 90415836 491690672 967033612 420944480 953856116 472330370 304793036 40027514 246288970 799535728 76049404 912684842 225155866 308137856 517959896 518249260 518708250 68784806 978719542 941414436 591623822 731089606 993782752 810003826 715842116 434883936 571018358 465764418 717860058 768017124 658921626 788671636 644042942 979388458 839681768 917773072 649439402 854870324 796719450 169719110 343960296 390518146 378833366 420400446 975233654 207971836 417845156 856011110 313241640 173717564 357219176 230628388 316323022 584039216 371167882 434718542 362499628 498781578 959614628 810565178 599307264 923923230 208300952 64798706 997838918 787491852 589417528 243634776 494129790 530157590 939191518 181594916 367029210 556494968 165715290 139498492 579921670 781038986 148128232 384710540 443161716 476449814 783692382 325535708 664889556 359476044 702270490 619739842 544484844 328668096 214584480 361866420 810293602 239094830 166165472 171846348 624872012 963193876 766577188 374591330 606061478 18651412 529607324 195010006 800449882 92891536 132981998 366680482 678733850 673964944 84146290 824342470 232428384 380716344 798758980 353111486 107590418 543532868 204218290 570320584 161271568 281580190 556420746 616709238 698982806 782608910 219294620 661431110 435894234 894365632 886131094 35225202 354914916 320235670 187807906 928380260 740182586 68723046 561591002 251386450 634171080 611433532 687217638 850492814 830937706 793788654 785705716 970251304 13325292 460558348 689116404 640342154 420815818 951152880 889140196 58864994 733299486 481458626 693340044 272260264 833942282 522962156 93189772 539264512 730200080 267271214 847808286 164275804 826836610 361870890 484145580 65226130 55424164 637511612 96693632 962611640 656457132 985715726 106145972 639421990 836790588 410506264 267431410 77264930 592079510 278475196 929328326 460050246 47498572 11900942 668035928 795060988 547794970 418010134 933487240 336131040 408639520 628242754 839598476 444845982 710138894 634958116 167656100 162717952 847546710 827971432 917214312 542718256 781639712 790603938 404672784 397873872 511858560 516977254 248673068 400609876 937558698 253015810 448537162 219082752 587138106 19738234 50551104 136858772 835774236 791580654 229425474 923643896 45643494 689226618 323994934 69967854 129099144 598749196 837686628 770670032 359949750 204640126 892340326 511042092 472154584 419989524 338911826 870332274 853467572 217793884 735477878 311308308 224870546 451108014 268329138 992165726 60671474 695701850 618620618 359223192 198306892 295712450 245153184 144713512 753029118 436439740 973022752 968081716 128718420 992484148 796919168 95441382 18956612 119236668 544702430 737913612 284531488 157273922 59584982 456921752 931343370 327768630 324763774 705986396 731360334 194903004 531250052 889125606 733912262 192372 694572992 735993714 366999386 312355160 130793082 657216850 28392396 747299876 639421946 606477728 245850750 698078208 359838594 360666874 107912532 829734726 765959416 409651556 97446660 513270772 598388772 196657472 309584034 388996154 979972078 189625502 929005020 479168428 64257952 270731038 180005486 146655822 24062486 221248706 988624392 324757264 515149942 686625094 599118404 941359604 210346248 923782852 104724058 64724452 515363202 539310104 882467624 927973988 297320212 526221760 974912524 909900742 497258052 488424486 159515944 257759010 903444860 396893460 46191800 433100554 823012688 966682436 569141814 664018596 33478348 693453050 221694080 582617706 793914400 320468286 788299906 640203250 515712130 334348770 265399090 38563394 343673788 524805342 549629600 229893128 979421196 924949864 112379614 486740622 189691804 947916500 325962136 433068128 772863986 879429350 464961972 740278234 489959644 886509160 155569548 719852306 513337952 184584432 580658054 107182762 404896912 796112014 77953684 213268324 122924084 257226056 220709144 96878064 801833854 354755776 247535800 262114652 688781980 567641802 870564950 725744610 917092578 5625506 86912450 908621712 58550886 896797630 544238732 503987844 721186176 206889946 740625458 382335762 239893136 606425094 858868068 968084092 34651534 608800230 196196766 488542340 878932584 243541734 726863154 796475566 373179556 353500320 570666188 735559886 285407818 533627372 362128736 277451264 796806106 116966358 546767246 299724714 830182368 887154898 62939344 853599076 944032396 783023010 396495554 461275670 713308932 126794270 453410102 832501916 643855866 431046914 362988660 49184158 123671334 419705540 587753128 852894354 479825488 590466680 490057922 613321844 196059546 398888094 961365008 848664018 374263634 932637128 18705238 471604166 885574616 545279776 922307222 764021586 944028230 750470552 179099924 456198478 941575254 249025758 489690066 875712004 446103370 782038348 837429176 466264558 6377722 290490000 108546886 311483454 470041292 285697410 437783830 233188346 190633354 920002486 897430944 520303542 157966486 756503770 38530920 674975232 552940328 262570556 720931082 260661972 576736252 934164152 369709360 596898134 610502824 512497822 817196572 376117158 599484584 207890082 591129942 615045434 885451874 302548448 500599210 683489316 894662554 764036292 181298688 741805944 956784156 237863356 928436810 900141452 689484274 889277044 959674692 345579186 622239606 775351844 29447740 153112486 861533336 671798868 582425678 324582976 613592914 70038052 86124388 336624506 931337508 85050112 783433468 129269966 857409430 154339684 420228572 639178818 450693066 748676008 927575544 772280626 834624980 861804052 744065506 267336072 87086030 709094870 908066780 875552360 972026562 418450386 11429560 540872928 895074518 369944784 882808678 143907696 281006806 20068238 600218956 316425762 250432546 2176856 686732624 916968864 801460798 993354944 492430022 955410304 457242792 260558914 18896 349474612 792769146 342938610 481545108 218905498 799774292 379396352 615980074 5263450 827775546 216330166 882415130 108398818 808979762 349192906 51379932 790250086 97951324 784482174 887139222 278112044 839162008 438458752 911835714 597186682 248544518 951780086 255258636 458610626 35878914 914289404 574215986 609287428 219909230 71866174 468349006 138560818 826618806 758281480 791428112 798397422 294042526 693839768 344374890 735935846 431349842 841001222 291913600 193721396 692711592 629306334 812167432 605875964 473877474 667535986 427387232 213221138 666843236 696908362 128464834 544716894 360826278 661511236 710129784 546419244 679309650 870431130 551746614 968262804 128616046 316923492 717353096 411095144 720581774 127558860 654334238 570924494 880256022 773867068 113449996 664006952 370708698 483312168 602411684 134860366 167517244 247304298 884106082 675902050 39553408 841719006 500796060 907427268 244925178 630886198 272178148 250923860 665528592 72899312 91357518 297658838 904902462 400020424 445613300 481561350 473350008 658820468 221144492 981009030 977495890 35226380 222914282 499096740 764545798 17942276 660334772 987126486 658982596 366665176 61835630 316619294 667673174 760927158 961591344 851792314 177199520 106126256 33505548 98800488 970597008 347643536 12637714 526047150 732737486 793115624 775567366 315822254 728252338 665953168 472485002 463136798 280723576 558390970 224896096 501289304 293893080 34105514 841998656 184384702 839801182 716819902 853701306 644471856 348447212 327953854 322286096 255026640 735497984 758473738 357219502 407842656 471409656 589804040 448341900 164446044 821964948 759405738 70759406 246664420 363042096 896961198 291422716 975963496 262550742 884628766 314741208 833682380 414115052 844378094 694034670 716523558 866784878 980937974 439190158 765294882 463720342 121383520 273541980 669561936 389407376 17234988 691069842 760458 680231968 723316180 809573598 618161856 621941054 10573996 35882264 635064504 441384576 475475588 892060864 313803466 822727014 232537194 763604892 722598644 942154578 769683126 264943034 103742812 327243960 213805752 68781396 952386898 458563328 874858212 643500508 869334570 147548620 729889820 463411398 218403182 323646724 255584204 383473096 431978600 891667924 351096694 94822074 257703264 837609688 349398378 583073902 384249354 768005870 564874026 607084918 513603392 450172364 962226194 995159108 94603510 507668410 608143294 910050562 789472388 694971678 547440234 629377598 981413762 917661626 692836552 928975108 463223728 281374504 571154376 987649564 682318392 980330144 245563712 619367306 21319568 946513228 814125662 915232742 551453290 960127970 600467276 141015472 582374658 190012162 704741816 912478584 478015032 146512012 378419686 183391960 813507766 899822320 766953762 801675218 400674208 622940228 717108192 158932032 997774986 404063106 404808734 21708746 496401602 429899420 61566164 302794656 845473772 750937988 71076234 390154084 955426944 236421570 593970306 31447534 362145750 927574770 367429938 107599696 893263558 720437542 715685676 569482266 21841052 84369284 99874524 791709652 118857346 711317144 213903084 35864544 49533712 241569682 639988832 527291792 604618644 411694558 602159892 895422690 765215338 36325652 334296604 282944242 298151154 270710084 341219096 180921768 105375262 630534458 22582538 144274646 826326980 611624900 970059946 412893804 521570446 974636486 707303708 381007124 492137828 32956162 372279468 993976330 562944654 389617260 597561636 577589590 971668528 109530500 34882990 544850706 526770452 109299992 125446484 70696092 285865624 173160 796682018 434936134 663429538 719330950 520321862 960387134 555414310 571520834 127021582 723951412 683518194 262076716 400131402 373743860 910265398 660729356 608591260 906273136 398929684 340482600 737464062 986289742 660122882 583907578 343223202 795055572 966274106 463964554 632935714 866819298 241861968 17215320 291449402 656663132 263722634 941307692 278637598 824264076 676147714 866395260 507752188 726614242 478302968 340968728 420094114 832663948 351499064 664690652 353775062 366745102 212015526 377906946 811957938 703643502 468117104 916317794 490290306 367365094 239166696 801250760 649535990 739652852 785522182 605919486 889818020 251183514 708110726 641361690 264439864 62436502 134963804 951629324 712373336 94987450 112457862 879228224 231395010 10492916 365035162 178219156 33747002 7270742 204336508 509363882 793012066 247254328 505838662 520450460 865824846 988332196 308810494 769388286 762389130 230469256 554996112 730402850 442881364 218451718 299232182 241486296 696318438 625543722 949050870 676245244 484687968 121807702 213208714 764249360 676969812 437239410 110763588 975059598 709583624 558249684 691570080 171870360 312632916 992448302 273952740 69678268 825078868 716868572 616620762 551436000 670015062 487759178 787366776 500993620 379025272 901173138 527869472 48664004 251333278 618661154 108427158 926525262 208401442 926379734 949414150 730595262 241823854 704502642 947100400 528913066 270551012 132743584 514764994 482312598 316276178 184350740 68867890 393738886 813037210 30890186 579328808 996159874 808866680 83322668 589582058 129823824 69294386 213180134 703296188 802300080 789525540 639372986 506416436 962448452 280217570 35491938 247013028 663213276 548794622 407761884 130663446 366833880 605246744 791275542 22894836 397680792 483519612 184482256 28398614 605748088 201969194 86560072 237361282 661497614 964279390 668597564 729158358 390453450 918068758 970691274 285359178 282588306 872484288 110666912 139813264 927308744 549180082 766763468 990960520 982094838 380952116 663536736 785595198 775634498 493864126 525790054 993624742 765284014 168550346 500399258 144529508 29550468 459424250 901129106 17156434 658360836 631388830 372038768 102545390 656553272 686749922 548316642 315298488 840380708 814248922 666969052 320194908 385772752 387493732 868533376 378864414 826688982 931695286 73428432 605603092 736570450 106309502 254175656 82809894 439210572 943827372 271132766 714684570 719234064 842865374 502878328 257137708 761990522 531979112 501314924 302186276 37231516 139515072 640040302 177552744 163670726 362181238 836036584 915766984 835862500 122729214 831128960 691104012 626984036 294097356 236821456 154445642 565948342 681834200 29962388 736615664 54478444 751107176 46974878 141859072 110416606 68227480 773879100 680276364 71431336 30186154 127109538 540816032 867462462 616857146 884556490 539517638 48399646 239513248 804388964 185373054 626409532 27648198 544318762 76283596 419828096 483170788 971602204 276125168 174108264 676059990 605027262 263713788 189363936 479963260 75390540 201560980 467097454 848527366 209527888 82370402 614626426 811651256 379710930 378733038 529542976 75934494 183423628 3466884 809659986 577875236 206407060 794602746 824317408 487355044 669648426 363031728 314314224 475560780 160117858 529374844 620847808 241083946 465975116 501736410 130905548 698005850 957814362 219245140 875118386 389105490 932529068 385895208 911112556 678620722 837474192 446476498 992067304 269515474 407396566 638610002 377383352 773713732 977626254 478578716 44153936 855120922 442905880 211745766 709811704 746988204 731052284 187515292 793116446 161965592 368268916 119939172 45879200 431022448 418290464 944753218 798899966 95364618 474181514 964085400 763536734 744277380 235841250 606009072 313325554 380721386 238718346 940060070 488088154 359460102 979436306 628341526 416380782 395891972 656049628 461540154 447481102 614801960 406511770 337590430 570032002 84883790 581054996 257080100 969945648 873539678 429308220 198786786 666617694 657675456 961678000 868102086 568403364 85505906 428173526 985170512 9055844 585555274 329198200 299240088 501825106 26441766 499188610 537018598 868691474 172782516 198808674 566972728 203716082 575894844 52285926 44623356 237615768 935768020 427845970 652860046 149848374 609698360 405977412 230075338 874538686 605727292 721887264 951587630 771698210 16126472 307404298 682342658 279778302 705208738 339936424 72735132 690704146 871259158 181942848 850114228 894713952 576059192 785984924 567690686 771471476 721334678 186090668 433188314 171080910 104680948 347018094 288166286 389934728 295240196 456947596 212649290 157471598 158778794 275408234 720530594 311542506 145266788 170384142 285725120 255557582 950824654 877852778 638174682 75497766 332929034 813462080 574929744 563472008 970791420 779889440 262197642 387324276 425372034 566671884 996678772 409778954 456748984 13782222 691923504 703452096 661562620 429383132 30637264 342665324 532248590 98469504 425057446 117591256 580610964 54057336 387390530 962471568 779518958 528858732 901725328 731731810 757319464 629261706 90119014 805359762 282715094 729129064 350816206 493435832 933387956 500427386 248572214 30389908 360521414 383117280 381810346 755848252 861812842 962449456 746963924 409066694 276933566 864743614 939966604 781518814 249730794 82243412 996863720 997097128 897914694 414989606 426051846 211764772 69239946 457072266 429079116 735473232 51489782 68053002 451337628 529463844 903795556 978764802 707400738 851097808 819796650 447544128 613938854 526808042 34208174 512630276 815776554 629532778 787220476 178671388 251115606 995349716 326978170 168104622 509600642 664201458 37167740 644194808 587301974 74522148 459282110 295670986 682007370 560188540 113341616 561438164 103795528 459869734 796460666 258694044 515252790 592148560 569872176 269318506 983782398 472717410 201113684 784516152 301288868 868931296 980384824 437879914 917243200 820525426 98882678 404701826 227774062 683990904 552988068 27681356 770958334 454681874 832266274 591345502 990122288 512179882 748421804 446764218 703025522 162317858 949752424 967422126 951026944 900177496 641188018 286459122 952211566 18061384 904441304 418135058 686694800 153982220 386090514 366979828 946764060 196219970 397596630 414276122 723347954 362565392 268556314 525245458 394822290 675498712 408898172 59756078 811625740 557470676 793172724 679371860 77903644 49084170 264956994 858356200 741929314 806854220 552355868 467346310 117352750 430228408 883177872 180898222 393193304 313532730 77636696 27089452 496339662 956458708 27652118 822478722 541097118 610943418 469140502 17401642 791579666 337939502 899661032 372735440 1107884 501674180 923781326 103313014 502808054 911973080 178215582 764404314 168686 40869860 735613718 889210608 672733202 83076864 904123374 264523136 904866232 976028088 998206216 601580038 589555570 540054990 534714776 499862108 480685488 369558406 273879738 720045230 518860356 363230766 973055348 708274452 132972832 922782158 939767878 799570184 79424388 602699628 17962782 748573898 953165894 786762860 100333962 530628286 130885412 702218370 268196354 470426788 857979898 999248274 820033712 232283318 655864900 192056804 523040354 400306992 240128290 15597300 689374464 118886802 608095072 112663086 536697480 494201526 370305266 490037788 902427168 373030490 270251224 546643060 994428490 154051726 92881260 994541558 333394402 917900760 573047772 93435294 159028006 52808932 670029648 485342734 253090158 950248910 597679560 730562982 11798396 975830088 26939684 587969852 347761196 52951372 830800636 963193748 378876016 758641218 369000190 478012354 615850362 859970496 142216586 741287064 256895280 103216368 270221026 643260602 570476834 220408994 508863838 712845470 41477114 831382622 328860442 796042968 987340996 711478960 734920438 730605990 423459482 867904928 155726614 600253948 411102674 4292652 41538016 113380984 776625746 713482278 614158454 657848886 576850410 550179270 663434642 33224558 977301586 710023478 247877600 155756068 527309364 762991982 612956536 842336088 543279198 157447152 69673694 177289736 174747294 735386226 920654860 220983326 675065718 738887622 599778982 682282914 458662712 585005002 771172974 266777064 465769412 958314030 54433896 482269538 30448586 791382134 172559716 861972048 995069024 471811736 224459220 188453590 199540124 470299066 751120668 561147220 702267384 6960722 166512544 776810342 722615724 773089580 437100566 153122086 227685452 481193536 214039082 347222530 998794832 449635362 1651306 99875912 727531848 442706762 821970604 99808864 53800814 773871248 322357156 214770920 646663634 435235886 189897076 85689896 169390180 19159246 901225008 491582486 652682392 979376460 589610864 23079746 604377088 862490120 885525650 646164594 528775622 673514700 586872738 255856018 772835130 747338184 763718136 553004702 840725868 738622890 134481174 175624102 758206422 93992680 825705764 194991220 59331316 682757916 377496244 869047988 913025728 105428962 556707112 391196302 212474022 564031708 640855066 107748830 606776028 478348866 207336160 718792222 875214658 664912862 920864190 810344452 275637474 69144390 45694088 638352054 968839362 61670868 648892896 756528352 107981262 198696368 866113638 599630626 566135052 700201118 292367424 880194480 267422380 296180448 756775898 909245066 817371186 592823744 126894996 347041648 557559508 611660334 643960820 666217970 684442178 526870224 327999634 769603622 640754400 290523846 706574720 570648256 272724520 177225302 584975630 175474832 43564352 534499162 694520468 647929628 999961068 150317004 389215402 362514078 809816112 997878556 573580432 758068502 268394774 653705230 476749898 453645360 272193612 478995738 725175560 184511782 886358998 630537902 398685916 301092078 731249094 86837136 700770804 787825746 22838498 698329276 846427122 999680064 984426902 367243152 792053340 652971762 711325164 374340288 364313970 728738554 855528630 310933816 366056060 848937104 137060564 372137302 485196072 273315826 671667580 963979700 259657360 433723012 691810184 320628236 130643040 524109234 314045982 247030918 390532624 855961830 589526940 960561416 159970792 533689314 366703014 735719550 26094532 235120856 456772126 904690522 988733892 302792614 714428684 300738116 133092264 329432576 464929818 804927156 204635322 501689978 889421994 606885836 908784720 502286324 116392008 299418064 449960598 425488550 824351276 92894428 11626938 893451932 856029566 772267922 371851620 552773548 334614478 109121690 444652284 445367030 651336890 341151494 154651754 232143082 837957522 104165736 274223396 83492366 559219760 329179640 942524540 605219276 102077086 178020422 517272116 847446474 141436504 609739308 341611288 168240804 493551336 64631402 387180112 328846160 600681244 361508384 488060788 786337008 771840834 307905844 515518652 781330838 162842670 912119060 601371382 21200390 825736190 461474330 216767042 97859414 497015018 428636342 513253342 724403924 153632802 70830758 998162688 996412998 691658178 282525454 980099810 217785596 982310188 751802988 336475518 577554472 30813266 531894554 19377764 59014884 536426566 555839686 403368350 290951432 647452130 741188094 103966990 191719800 655681028 329650524 327808804 709594800 541481820 396205356 40234498 204318772 162553582 87921136 198611712 585366184 739258972 354659132 248289964 874238180 126977658 590878052 629733360 174307674 735231196 151508526 499551154 21840920 292624060 633423970 408443650 55435656 350518142 758908242 168635496 92267366 118240230 662070962 784912828 878426182 830407318 550023604 791163554 901360292 461932512 84015208 175286832 872095958 750613898 174344064 299870736 137775700 859762622 972984232 831360698 585957452 239867950 174740568 80194822 30385860 358071170 848944940 734714704 200938880 422477106 246019292 153448818 938017420 336262976 32588440 461625382 605483084 2952110 69987512 227869346 924310844 914728504 105157772 704871734 345284628 909177734 759033242 32315106 308814832 492384100 759224328 574883296 260847354 938509844 139853882 136830620 702608456 743494616 340512168 305866758 600969726 879911084 137708418 801400862 958205190 617947974 356219418 162382464 84749654 501969926 53603960 466365232 704336846 400090722 573649498 684550024 28701404 33303546 543629324 92174596 976367686 24558100 101351622 642944428 601240240 707423184 502598624 554643750 597466836 342062086 705520342 864623744 153124122 351164360 623725130 803988278 481792576 94930368 388146546 999074852 474985762 742732512 924891688 779029334 167870220 714071698 924592054 352755230 748310572 137136004 885518970 532365938 510428998 611976576 601806482 297022340 276232472 7302978 780590832 501018770 757299598 885995616 539435912 433455728 808465374 57063404 661082892 891428992 744840152 674103434 812791188 571170100 57732392 73074770 724887080 576115606 629102064 919856904 578190528 786433876 366481240 8349316 62627250 172745416 17568936 973083502 794311090 660287916 623904584 864190564 934888708 281571704 428117556 857181326 330312062 36600182 878927340 536875602 905337350 762534000 276937894 860033374 492961942 669252950 846927390 119624140 720072610 938603164 473896588 983424654 324350590 755504448 901989348 918240652 991084260 941431438 555161868 760858560 5819042 696230282 418075200 583108744 659383728 191588156 966181924 965826564 912391372 728952220 884460594 839567546 499352422 845856586 537354508 559674846 52082558 239837142 472940338 149364572 469239078 707497846 530241014 518371138 110653040 866934640 345515458 820071802 741135398 202615798 187362354 974051868 47648390 442314370 647754030 180725180 178994934 293153320 735800588 260596702 430605606 506601694 630510154 822134492 134391524 611054354 345242498 78102376 448221878 510295680 221911556 435523760 219281778 667683616 782828626 502566398 676804980 568400422 161136994 269700926 671425986 657151750 190687328 607126114 169438582 263160966 628164300 669264284 98325546 104284762 684743008 45912834 112236410 381591706 39691726 384632986 79820374 694235532 866879372 763014506 194218626 21563500 373626686 369283078 620970856 181290440 434410394 749008848 272629572 875745278 735534986 222505382 683462296 497048664 627847944 579347128 287526482 388573162 52072304 831345184 269842042 152418866 981171198 783644184 911263082 268609934 481217400 915616458 480946996 20805220 54519276 160676586 949275224 399881898 607146756 62413618 502049804 450447804 879149342 819914348 722240438 407308402 447669132 151446598 207280040 338823182 37569868 801344016 469864370 927873662 684191814 586983628 839963876 527448726 428843260 387708150 457527820 634211860 576632192 369050462 86449602 954657440 254237912 629755808 256938442 310599088 691868590 491749188 730111962 328157108 783630018 964515690 953515632 168263486 959867090 798124596 65497828 933071436 396738710 560133432 514903888 41640190 162659638 349717988 444217930 534083772 251150502 542380692 657309126 826340538 118903600 521232454 822281062 640477042 844311240 359075154 30996698 74432666 717744294 825757874 902025052 741256552 669805316 581405890 877944156 876794518 640685398 965961454 324984730 93361564 560366300 116640790 726267690 528413504 368558612 156862382 71094304 518858154 769280224 183318214 116255362 96664224 689642342 194813180 948820026 264910132 604217668 990095018 848538290 982831798 628224264 818869072 689535768 902712360 708930196 737625712 865314334 777009742 667482960 609242460 330042450 475790708 462578872 700316984 318316780 744484842 578485020 444344634 963259216 129988860 986725780 230392008 882334932 519760016 378664874 333482554 128514746 894115330 194899302 180827416 225310390 197127534 816767718 734532254 789559582 409702258 578479034 674781318 35990414 410039856 484138986 479193434 553802126 247012262 767121662 163539176 403454442 288893152 634544532 784457894 543062228 269467720 570308218 680396532 873228480 890367884 999795302 677736806 49979146 287917852 918171706 232776248 542486194 967699726 701466074 513806486 469312406 410038376 80668770 707528046 818690952 444515852 471809308 208563222 186484086 815830610 445649420 511376504 582021460 864238996 515631578 270291054 357523472 830875748 938853028 717186200 658865492 917128758 584690374 359514178 734479410 502705920 971247644 687614602 894394650 388115160 611307144 926250680 703022230 617160736 896357642 955425588 523601768 325261522 389080416 486568144 118117678 623634072 820732512 788551750 539192508 172220130 921949342 668004402 277811388 993649698 432727590 207896404 31193252 808062370 668626202 636935590 61740840 227044676 444989558 561623508 225825952 594636634 253008034 536892084 721519438 636187574 898615534 26695524 542780576 24285244 882514406 191436750 781426892 422149920 957725588 797722842 821293182 809302416 789409568 720263980 929052012 451957860 356649610 383357084 852510318 701054144 918324164 673268226 931422226 65004530 955735648 683597892 184219906 103743072 654158902 824353462 311253778 281767686 270819778 682185654 559072838 702848448 315116614 620139870 395415480 814023306 714326324 596036956 79510582 884096984 933126070 741345700 788839594 575549640 730512600 20443626 798552094 306796534 222398490 830931684 36682794 498660652 663210198 789002560 241501510 706685788 470428442 2809404 870145316 858262466 238937470 12282960 560094580 896952498 864450462 333859630 814805180 370360912 753047788 410845132 967106030 382070070 733037190 591500376 536049810 927801060 226497824 655545450 356024408 472692902 757822696 748548572 942566536 395064896 446415950 48487888 574844468 254608922 625848752 491205362 161025098 624120454 349832662 337626708 542981554 146060154 572654696 819536694 960042684 199885014 906741286 706533146 468309642 763262314 976926374 805112874 375087910 227037274 91122412 951244800 815543086 371959124 845722352 119772722 844099222 354964920 390583356 103072282 966957176 853286658 229613284 754871800 77732446 144722068 824152378 827339866 405382404 759870466 424900402 721558918 697406964 820811040 81184310 953129976 712443016 706394894 769688184 699068078 478803216 217763880 806286838 775784408 323953156 881105628 228379860 827219322 594032604 822545194 136379562 263588550 871174102 880804538 185692598 180349982 190111246 184383426 253345792 715122362 474797260 570029912 381844338 974441464 212136674 363710600 793919980 675574784 550573852 954348874 512443748 445540480 140004618 879749510 33074842 89696084 745945396 341409734 749616620 173038932 893342528 462721298 564290748 144447530 728359778 656107464 717130788 483094950 231948830 91964158 533838262 706944158 320668802 742775592 310979818 348385586 114274994 230756734 634016544 610638972 799361888 797406056 318067416 709227264 130701098 270681982 570887900 915383966 402505402 964972836 566000964 100709488 364841458 417987062 727213118 817216176 448618192 960847680 572148492 66539422 332102116 289358436 967563288 355255942 978768028 140238790 973221750 575406134 252531532 662784036 883996830 725524062 966913622 975607896 905118236 663258340 656184112 546735092 231260372 973899112 768130830 207879166 305186544 94447022 17647088 718471924 170638152 453027758 350894456 289220822 965057296 513470750 870821500 431365282 577626802 139706830 463104352 72020706 368781552 195071316 954128092 869666792 115692634 227677602 696155302 295997272 225998898 764034320 234217958 184621054 935182792 814734102 477011586 733424502 641317338 602618712 660875466 328249772 652611284 695615576 344503224 137253028 545613962 423051034 660820782 876615712 467610422 760358982 639219494 754785218 157663344 393554456 88514588 128340180 996502036 396969200 493052352 609150112 790610426 590215970 151194858 431880520 88989754 318596718 754609914 212904214 617765360 509524302 541426220 329658758 420142844 531554652 331487408 702288802 589788856 886724152 673788050 713442110 659279530 659139830 367712578 20060292 137445824 649846686 894784726 378029400 944217326 716402134 853676 810542848 57762352 970164064 672488610 123328284 651014082 204506872 981012118 80397596 314542986 379210688 597464284 655740004 409216910 799390310 464413268 490336176 129331546 544691528 660096158 182843138 482555646 536700228 745919040 714857192 297487424 451819076 188310144 458553678 540780814 162317040 732769722 740275882 982470964 998433362 685031526 716819262 310041614 758307794 260697508 544094236 74845406 720902916 729914090 384441858 65268544 882375356 810178352 98644606 353077558 996022268 551016144 520025218 676183732 996856334 12592964 286482254 730619320 43402412 501442296 117985486 682946054 146587714 506428194 85567892 631013038 242698518 600621270 717192688 723188024 870724054 847701256 139457354 619479336 59502170 757854278 911793074 345759572 228339190 662592194 634534332 372316884 115994222 905111092 962843402 670498054 929446866 245519690 165592212 444319928 366540 597193376 103848390 897160518 760956508 773039316 438596714 274384352 893665022 88453654 501499750 266724328 26738022 375302772 135145604 82795732 512792942 575939548 228543210 367339200 647829496 50160794 570636980 731985168 279782286 827721474 185642172 126730026 339102824 66671088 717297016 63963550 973041504 430339724 537067328 485768160 947061616 97719840 968526738 9906024 123289188 419163976 569631198 804330848 124192258 329734752 66518592 879358418 960230236 901351002 97794452 594841622 252693356 397665224 310247130 257028266 969553100 117178044 548632984 690906944 361813708 89964150 871975230 882837600 411296978 888934220 536221494 975893006 925100336 32724636 926907650 334733234 252252970 866196522 963938242 688360670 68570498 566947286 979253340 603781948 214540014 567312876 149408082 659669292 467143176 836513012 371632224 6421898 578857462 537472992 727074236 243990142 604729746 492415338 479889606 324454568 425481196 134805980 71544810 732586686 817696086 474781040 918283002 55121234 75420876 317577030 247983600 624288866 405178220 45088242 548325754 660651438 96405080 951984816 263986750 800738502 865370684 515224876 161828532 948897506 428009632 113089014 686678302 46181270 215419768 582794884 670125940 64647986 792236714 540411876 233899014 159951958 778380698 687520556 146817634 905802358 395605860 797593914 647420026 641306836 245086912 608998468 108994798 942810816 520297622 217193010 625600534 867190522 963157238 631627672 924202260 664430000 83657720 95207616 808040856 302440598 293752174 471070336 233783798 2822934 34895002 448048208 560490964 947999184 711656688 805919344 956688830 928290962 72377790 416557378 175847514 744139248 397293396 408822048 396387678 527079554 898234418 140835240 691245168 125628236 187394760 392249280 393443776 423476378 613005732 819991598 634216438 399384580 994499822 742757360 629729546 399521938 885225866 484004552 386935752 855057916 960745050 954925184 664189708 568800606 691924234 80996438 323946044 298162418 434946904 890851898 727778102 477624514 423042474 809451738 153612272 488564796 316604192 294365560 528402486 564166002 153821920 25301294 927256948 444322964 85743224 393416500 968462222 353936122 322151676 517302468 561287586 746188980 172659716 348291222 479610608 295391726 929729074 704283296 854169502 665751326 408796436 369528068 424113392 585451026 735073476 560514678 503410 324024954 290245060 745898576 443729462 882731474 275867340 983531482 933059114 247530470 788516156 650110114 377875744 593057136 241941154 403572606 368473634 816330556 926397868 313101638 905431322 382018686 531625518 66030502 51237900 865368510 777322948 623687860 551558240 395418282 354669532 758089030 109215314 117904874 794246102 250684372 508419430 6240254 932394434 210829156 740761858 574208174 365877992 552713332 932339152 30184364 299490498 538186668 481073694 992907382 468785354 881760816 318121904 848464900 867084464 643319024 931355316 649229542 885531892 718418140 503233200 877839590 518006320 281282338 132637342 775218850 475921588 252014746 604428768 327091826 54136486 490046008 157186226 32653892 947089386 371858192 743904384 955495690 968924730 968519512 287266818 143506888 590427052 386795780 403285870 193792196 695541276 821187272 319385528 914047890 669347890 739494312 387572624 484072918 312981830 957731016 652902198 5810710 345174060 646974352 205559646 165211006 638995000 933142014 544188960 904833678 31500616 133365038 433358868 565979548 608522366 745460122 580745694 737259722 776076324 239267184 983711060 235308814 456724894 824242364 233480510 566068132 577235718 860898704 208644334 852978164 30821400 764974394 289032986 761695416 544488228 840520806 282892200 425896696 929411186 778400414 842302556 124508084 494377236 746433024 370633392 405859690 479636382 695593096 136423324 201716020 229785498 144175472 997995212 629386486 687986702 660001964 504228418 15484782 882093492 868721226 52886540 423679256 668257524 526900250 848229230 809192300 462474050 893530740 122803398 420424568 993114782 884648470 557288934 134284830 167639048 791614686 432930444 2223752 263364664 334069072 843175866 783752958 494314224 245162928 122246392 657736792 764281468 815850726 654531464 343750412 521877582 213207832 442744110 170596570 30790890 748827792 52023704 260367956 203679634 340131112 276173546 764832532 869826416 149076186 658695884 690428454 415962510 718991250 203451706 186646286 432656798 588823972 593419462 757250932 814266610 409904630 635220174 967683872 863750428 502563114 295110342 572256988 108636918 701789856 339077622 202833052 880174328 989655752 463924880 985542034 667277304 791678952 420179496 270508208 685061496 532418138 162897968 423919962 820538308 78975658 141956476 533384222 404787416 798633404 435510914 34147098 799273914 291720466 739255180 996337652 87098502 268169804 342368734 437142472 942454514 248273612 141613812 655230110 480502334 815163138 198009882 282335048 143470132 94173280 174084172 718474728 250672276 318654778 169841790 366524070 99442304 73673698 125663704 41009086 893805158 799435038 292101856 983797948 977741414 673939624 216965878 48853190 427636034 454112798 510092990 848581896 746511272 103112690 389079686 193068500 21759480 742528056 298312704 828052540 508885754 333653656 903566264 692514710 415400544 990994158 294792848 246795670 580854734 355869844 485809518 761212194 56453394 330083700 731049208 432346464 640171072 266459410 704215838 742261736 754561142 453832056 227135670 450867734 606270842 760714966 640851246 409968792 262689116 570930792 21881842 793655318 254800124 245560070 876590366 441317930 981383792 588352434 737843864 654043944 535861278 628350648 399349140 127251060 298458914 662740066 447020562 538964238 800609096 929214024 6729982 179925354 932201560 717174824 225310472 86159628 625641312 296921424 179452310 170286926 202101862 718574136 749129608 162434684 241796814 996487940 802683450 738086488 328678408 460439884 224600182 865299904 289569114 831204160 765886972 780187684 892169478 486581978 990724244 523342076 226390436 488391252 728347588 606490236 798838318 423506320 194116534 621711912 833397014 745936028 438363476 605595862 717285644 776930018 218343554 157852780 550486236 571796212 920330226 994630470 658741204 589384394 720408316 66160080 893988576 940670380 695573772 224310336 541321866 355959230 932456648 364427616 79434326 787168560 401212722 347102550 674261186 735973068 938910124 905268746 317296430 174261358 752483222 411212842 24775850 251272614 330923218 745961770 683181344 155943514 863224998 39977038 101096772 329347556 441026148 789440452 37528206 947996310 662101214 736461862 338759998 449605208 382887930 178918006 24933354 878648160 489235598 197308566 601551602 187537852 783097036 226000584 742190406 180618126 928855106 169072452 373550976 685201746 342117224 967048946 739498240 166910446 508824268 712422312 910950704 592053258 25463066 651782060 765838642 274702218 651102404 799911868 252300892 130186120 904661362 233867662 348511284 249909732 616572216 329507426 14849480 389082782 930603188 162108840 181865146 924012522 878327110 907797076 25752606 447044294 617713814 769219160 841675450 371482540 519717176 978221068 146133712 321350594 37711604 927815858 432988080 529887070 343815552 195918946 367434574 91826224 859862436 980912448 672410610 344014782 630643208 325392 733376088 218011136 793310372 292200322 490044266 526876538 550475952 625097028 765553176 1483732 908451918 445152510 125846656 583779868 389611224 543296462 743819162 123664874 773296548 385641478 880917734 355218050 348574520 253274972 776702802 645686542 100068604 68606686 6853498 801623276 898504298 89267534 133367548 697573080 770144856 380294588 612281972 662400796 699267342 812400016 142835200 149801278 681176380 665213840 774858442 565813752 888507456 197667234 125388440 82641122 283050342 826135058 651482582 945487194 509556092 510144112 802741134 529503474 381709214 558881242 547225400 449942952 836810110 735523248 45902446 834375646 46229950 583031690 810442918 745042598 315323626 398641148 730111052 463810764 101401410 638145944 2990450 272176638 424066326 8445474 115031056 650460372 991146396 654884816 466087808 911164790 743675064 792384476 872187726 232753902 613286812 548973006 473488042 680440814 846665436 652974396 987808860 620698100 91138272 654337382 250659852 897255032 788814942 509547222 346544358 890296876 715557690 383021822 444052880 386401716 41860478 837580432 318872508 72075622 727521074 520372044 523497458 228679252 575069032 96936716 537104388 727291710 189741002 550188310 552023884 828200010 27332984 120186632 835848436 720707852 442574396 79968164 898744136 3900140 455799214 518633266 759792204 307355746 597955114 87370968 793932092 210373022 155125608 157553972 857152554 399517774 209812116 686379598 779943828 842105228 338284528 227317210 379554490 196025682 193217492 175629270 915391254 634815306 179559408 146217430 649922696 123777922 965784380 469182254 961621208 812978934 190836524 85229180 326644514 813453008 473764400 218920268 768964898 156910710 204932656 985742366 738894406 959905932 402755994 124012650 496790134 41072766 190718034 867616430 607488694 397264942 440356230 696461738 756176162 323381076 734009322 596702312 395219372 732413634 222714358 618715908 457859684 38006842 828245506 442225066 993537228 906462096 76518154 453997050 384287038 378315864 135896742 270388534 34817520 630618630 763377552 647358374 115033166 722374804 17715114 476763444 987898032 220080268 84479274 902958254 437910710 120360302 427615962 442752884 298473768 627256506 606336450 744243016 483696242 847057296 686826892 874832388 662637220 48786764 405093396 695168682 46208416 763122464 889314610 471778004 758851356 588140444 696582612 590982648 787496026 263709666 65615150 329761202 605004956 989676002 261460094 687247188 695769488 505983130 390132598 468331098 574573746 363163330 255967640 794789368 149855798 511297458 789498858 181645892 725410512 506902720 962410912 387375276 286495260 571194814 278198450 95317300 700967596 842004562 986769444 590309980 845630104 212917822 313795430 986415734 3954748 20386662 915555004 456797824 944337148 788807518 570629196 30179800 83002060 714844188 174031802 843819688 661154544 617383396 398761128 98619156 972773504 446857306 773575024 595126748 872309230 707127912 475954668 244134764 968613300 246598640 988368176 649527738 930288980 448800130 230705530 374251826 788795198 782860010 26560512 410122730 790080980 867150294 102202268 677335104 717038624 395841432 582113068 511442366 426636738 376499140 854840072 18897844 724564478 537062330 205860966 147412888 433283080 475656630 448589240 884427818 662009640 927900830 92309286 843063974 311424258 971321698 215896208 20493406 696183226 630370286 242399550 266226942 850150986 474578484 719824944 470322438 143292906 238620310 441230642 557117514 978966356 691739694 707640030 282794332 900490138 552732296 637856764 164552224 77720386 184125412 706345754 496936966 573118544 132980322 537166734 321840238 150766430 281885774 68978034 963756592 250244120 501150262 323640520 972127516 578138656 550932810 55072036 953854738 811509892 345365142 994313990 525505246 450854940 546052180 524219308 330022092 875042662 340196426 14397408 933319498 217104312 941671792 935437800 285413468 788862664 281525002 252928788 725579684 227127450 605354796 486435898 413659358 408648862 966907982 350548204 651758356 662071114 968453154 303824118 969183914 380816294 958971666 255808558 367748902 294926182 142281554 654450440 302956524 590126628 917170202 971640418 681554592 702247172 62169042 894699206 972521582 760571000 587510516 77747868 559538866 451029570 456746112 782535628 759293754 645102682 47137216 340919414 427562108 630714256 75534736 553755666 760799966 452878096 497676920 185765932 828551990 994798600 749139394 198707568 637509868 482638750 636594462 398552636 214447248 140954590 780319640 672108074 350480828 986100964 542545128 182999426 95783344 169201982 238461406 649681658 939081956 959619454 22979336 527118694 717808948 819749710 96462114 599145292 975204268 930255920 410581660 394175818 85025300 988665118 663745104 613315320 138108874 92344188 111496368 669776246 147173650 760204554 586123166 213051996 210969116 215378894 721866644 721848980 307091004 648540554 854944656 602675244 611553806 778776330 378668908 748176458 130851172 677313058 718939728 478902196 19556674 161992684 602687784 870133786 756461516 512282684 230911300 684788818 447674006 171690202 758224772 112430334 96258722 535295796 59771492 958342330 364803930 564339298 429992620 861809478 945732202 994384832 253032006 296243672 685414236 777472350 345612966 93115748 385139670 441001094 515577712 107048538 856733814 952971024 693933540 745146762 740615448 336130014 367044458 898533754 342052758 96249348 767179504 629384460 701674384 137210810 201658010 120531458 203460472 887500100 960557008 170349102 95882840 658865020 872210418 949640634 751186100 338448580 389996852 928853266 861303958 26792044 290485702 174942984 721349950 600200506 452877516 965421210 986729852 140868324 70491778 33690130 761358316 739878316 227334766 659799576 456098714 108216486 504021634 391911836 10600414 341012236 799131904 693316910 92193124 330603822 423810304 865796456 556491992 224846610 846776888 907723236 671368762 817447266 485288746 250801994 112248366 586210938 430942208 879758060 557553166 261635630 912678746 115214324 483799154 106710726 873324850 115687794 521205260 758586972 454272620 830425714 988441060 924363556 722852818 974259610 991204582 861775388 826086216 500638684 286403004 417031008 764659954 245232448 11306980 67193372 196651780 622949836 782492724 827971858 222781404 740618260 430940496 775847782 827198382 826488904 415789022 212868558 769233044 952045744 530441014 482487096 420214726 690653842 834337306 639915670 612832874 459822568 158755558 546120750 880348402 578729534 841287438 578797412 507333078 117991660 56939670 262494634 562637698 984815830 60927812 94221398 699104942 388796870 303100026 839792090 192664160 871740856 428081860 521021874 765923708 597153716 821933730 801801380 953843980 123303342 837719512 453319808 895962636 975000252 521942554 668704438 819823876 452340136 231231924 716690462 115714932 476619654 708990522 609825140 699235764 960126314 692970766 530450226 824217632 104996554 433968344 350893030 770999346 349064944 847502834 839664126 959093656 158511914 820463978 747814334 865086640 714348828 910515218 635287570 563674716 685708794 121668710 738061626 889592714 170635732 557854590 177172974 380902248 305485804 263248324 966717982 590886354 733116270 875096082 32456082 585985130 608371814 621679490 700923868 647955664 757562156 716524592 689781024 232372156 947240892 127454226 928885244 927016768 875421996 716850084 92485772 264745694 810785222 434589956 851626874 577391076 974844788 174071366 226457812 28916782 878442566 379264992 875697662 970129816 301844734 395807818 545590192 65904794 263382256 297794306 403415356 515628654 133614304 269528368 438780688 655814852 971677502 458018472 250115094 956146802 170320454 273746358 621445292 304402888 770981848 267838020 997866066 550921230 718536084 637334004 552427708 275795882 694270614 362204442 166259958 431774768 463643744 255600544 135452940 923565186 185543350 12801974 532997204 20677034 886799802 148605908 943226980 948007696 112777412 917373164 180548400 333317266 183353534 497441836 746300516 511388760 74282100 892450810 722470062 906218464 11695936 294931692 247979900 534383220 620432932 699723438 188331390 90997344 390679728 900522834 399118668 565590086 788360286 224302600 440668664 542671384 708336796 947711412 755432356 712255534 609064478 573689742 492498000 77434722 8156468 567339534 520952416 282935976 714748934 343702152 656224154 749681340 684779626 423650902 396035970 973878016 3930508 773543694 151289856 520004984 775613820 979743108 939344116 467792660 676446454 957919294 669002272 634320840 647935648 641095748 51172976 879028186 429466382 905728196 364347588 498268444 545759430 695970216 294145278 997992080 845208380 547979540 428961774 558416964 233553562 246894204 919469516 461280600 845725544 955598218 6332226 210796542 652829344 943310210 253749460 749726192 598064024 527589930 263901656 552061722 974279806 838288686 384535784 334650558 959885012 818518070 104406562 587662484 114297398 332730684 259681824 489823844 928337886 449797296 960685168 974903544 728069102 52588316 889467578 322562646 481873928 144192848 162797288 248866814 732607924 933720176 307899888 836918876 191136286 672341490 841099334 305876668 657485026 874546486 490550014 10562888 753334414 830126746 775756346 177082968 10038442 852850226 13055570 656675030 861095644 130027740 974100284 862382836 735460944 190645054 739655388 36352698 931265034 138311024 594176912 650883046 459105758 841704462 687445900 153642324 284786136 684282512 553646022 810486996 299565038 70292792 165117876 841080174 477376466 718955428 792927666 168618788 752896488 789704090 851811924 945111268 533509624 97313626 73105150 389276330 275373202 188504716 905621086 225573294 212557100 805974266 547886386 36024780 658399864 187056174 572623694 269968386 450009266 677284414 706662658 106394484 303604570 584817412 265079160 712369654 223524326 346310336 373430272 135357364 332079472 185793278 450398340 373107922 881028144 423863220 900044984 759696288 453004144 250669740 131047818 760921152 505495202 773927104 17566622 314752198 898739276 362934086 425544464 625206804 320870498 953816670 959484532 714788702 308391692 324625370 476163548 996768844 231034542 452898796 491803944 633965336 354822886 356019090 682569188 342464278 537410210 874557386 992650980 828823030 410073624 613674770 76569324 360002798 255214346 398564434 511828012 763658762 79617772 139386562 275887026 128801750 277083936 896325818 179256062 284124116 699765410 955253100 403011060 493116458 612928514 86804972 693251348 905447498 83593562 67440302 649421730 117825108 615199520 371813994 897521072 901306800 705919834 152826856 799218642 655957698 916939436 394548972 285615948 578144688 195537840 502048830 697940754 815878622 900720226 312318836 329788714 925369568 38695386 805158828 606906950 568568946 147675442 781476192 913688140 970907290 894505458 449653832 249269070 103945854 964019334 207785028 298935270 524149556 467993808 719611612 622148994 577138268 452789866 493962442 900510298 879378726 703533804 339994774 129061282 709005898 347594490 308178266 224188688 36089914 24375294 114287572 292289386 710617816 694021526 66788706 69732248 943992134 631997538 268653228 61247892 757115324 639270320 246261752 294641766 634104770 49020642 897633538 701944358 507740336 723293668 774742052 872708930 876564102 751786808 858898896 736829012 401663156 420389372 421613306 196353138 98452532 279676296 133300650 342119650 877350546 243538234 585966522 690238176 429512794 598210650 986409436 162951462 789758184 230994136 551489830 533318836 76004752 361821854 469251244 233649096 380407400 131298258 771577448 481087244 735711454 106413420 159003692 398008170 367019310 770914286 964513844 803541648 845483516 305593826 332554268 136296768 584616902 958149160 564966782 80750998 941001284 504152624 977849708 864837254 500569624 413567350 403652648 286645976 963376670 995088226 796893334 154173402 689754952 46247652 826099004 924120232 454829032 564408488 753978110 45755494 159910404 556610470 508587376 146780596 295822992 913515226 531998140 863092194 530260368 744722062 25593860 343354226 130201536 515954714 311696024 668142762 639621172 463080834 883912098 545085416 560383046 536877676 784943016 689497482 745186118 452551858 307659186 568676534 190723292 542447124 786781794 207844782 269684136 621058422 219566468 979041344 659115994 916707302 138729222 355128324 494862628 575483560 592871362 407122896 450877340 109841460 309618528 385512738 113119806 594401364 997098424 188242470 405688976 995340912 916785472 584266240 101033972 536169442 491804026 549768942 303317768 996672140 169127270 689778 767100096 185339990 798779360 194773312 271894650 250807782 208999500 332922320 448703088 31942038 510723130 991091874 922868088 639846944 487285338 170993766 114150902 485103644 919348316 184249598 749480198 332757654 85369450 160025944 429980904 582830926 726268894 936258428 895085970 682426702 764581106 685132588 738462318 853135228 120216306 332677620 213799352 977089030 707521522 54442818 149644480 982676102 83054194 62338196 546042686 118611944 299937824 6952562 270265806 989834222 394765260 641325014 484085148 302880290 123410042 347385804 488349942 108687666 46490708 194509786 697252836 440332816 922621582 143194648 121035298 822034328 432965446 481858170 460281144 819567542 622167846 819519028 473735948 975963418 235592034 178345672 671853786 936394258 830908478 45846718 831104350 133282442 796635796 553317032 392477224 145181468 11252606 169789978 94636666 214468934 424693732 362742218 921003788 308917834 124496880 556270864 588922330 344568148 224016678 32355354 972591212 459531298 769436824 321310426 945207814 742158586 410807264 914418106 629923996 363123482 403779240 271969618 513707498 114297986 469304278 406340240 146787682 69011932 580392142 385271588 820830030 104444394 736493660 635580676 983474838 946787828 39326516 423852924 331601954 112836736 797999848 895167256 721254210 728964678 906787362 845763032 867547610 327550670 713136906 313250430 847652144 390400986 253335470 540946268 146073552 417079618 267345338 636660172 28524716 121164722 177270906 145635276 363445788 194915088 415590154 185220626 814895322 350658628 189617394 443344456 128322086 737103766 94120316 673589296 896369492 389313942 373705420 581398720 689095540 206333522 170196110 817092538 947932354 843147142 51956346 366561816 532128636 541322236 584152460 603620536 201056866 498810356 910864090 822539118 842345790 253779626 900421096 22043848 104527808 336502708 641074180 982624072 207632524 560148290 506833850 742952630 870016954 136396338 197486144 772903196 160060228 839998618 730895272 521981280 643022794 829099804 896532944 512657046 268599514 301921378 217501878 567477686 269620730 768152900 540121008 352807032 228650994 947665714 975568942 489391790 831454400 792729232 58522896 477716390 468885224 464928484 141422746 356166916 213313096 142416802 76474922 945147380 790705470 784846746 107939814 782928940 593422006 435937476 58502192 519091642 204377330 613905894 521130772 357375038 637478330 28165048 153367960 955210202 9851808 569066272 852123922 334719700 541185764 779840718 558026628 736226370 887927092 333653626 141515304 754127830 650170266 468577760 349754642 734571892 538743116 823751542 745278174 766826172 950645798 18472456 541041710 444933732 456917492 976470336 263748584 294391920 379211020 74458570 777590974 302462892 150776132 331522968 719628722 556971844 845778304 213336298 383412856 183716286 437835338 54974914 426806080 479704198 322112800 620471796 13149822 179005290 585577874 319337294 693364656 320589716 608605080 672130452 489023174 254140350 290315380 268648154 850599994 892281062 759182186 440029748 706746840 709136746 828684512 552696032 681429498 101017270 886865024 906488810 416214602 700195104 485963686 594743840 590852146 38493700 674145422 149207238 373533696 353709428 1948396 703116212 760935302 148856984 891394932 296500180 919523768 734157558 930085196 545120258 277161470 168831048 69974138 872999968 950834444 407259146 38958402 942995190 17450852 158864760 289612452 323232874 953164858 66022512 427602008 352200920 812109942 458476100 559358002 623418830 919820172 448565408 646577790 447175994 26073646 993909950 720998486 496442230 884019474 287207634 501184 722003800 245007748 522014350 979628142 230255004 878075950 51701626 841227794 345821006 713940118 703887212 185016972 590272860 847752744 894593542 756047154 237286678 806517136 766441076 155463078 572567888 648201592 755210784 913394712 765949386 545158116 102539438 390843922 821049236 483878320 853347846 819426660 997452378 876665622 98229356 786699340 781868998 937958656 643176340 173503884 276049820 874858500 772378754 348189640 601062830 153717008 968942128 869579192 932145144 889823554 514878386 986310572 550960288 258022082 215358412 37884576 941087566 844269964 167126262 957151896 938725268 975674098 899190754 752565206 450166866 452084166 379278708 721628474 574366610 55656112 936845304 348160702 846696934 234645418 186294910 60441144 264663288 207628652 191989620 955110412 848123088 960842146 10645630 704424416 614101672 836483018 436508792 695110526 284095002 507244972 570955908 286463060 589070244 578235242 349609552 527947556 904918044 92819396 249846418 247665092 929902208 144531636 192000246 631412940 83758004 314983764 414003796 857159054 104970504 434689774 381175966 404754010 608823118 954187462 359130330 285833854 174271068 747469606 696786550 540719496 636613378 814187502 359968812 146804510 762417984 220584802 712553238 263207402 333624330 505057106 540701868 392908400 448002808 399592340 471371352 357807368 63410532 575461128 764159168 936053068 143866150 937576836 172839948 243539406 653917086 382792118 813813396 36253630 568883418 693558654 289138178 484665698 120424184 733035020 288547956 917230676 953995548 513388616 896679630 900963984 697028638 644139704 677464952 906802218 151561450 77723746 245794958 301256264 283734834 794562546 970387140 896385678 351246522 986859352 437454078 615965720 283558648 895757836 622998096 549166512 14936366 348167770 300430980 714360832 438205566 334428568 786810486 874328926 799978924 961746292 756976454 832585122 996778218 130613664 232456666 723498856 363496538 65114296 171478504 357711666 297748858 943683310 619814058 269623124 856657550 295973016 344216212 185141946 73680874 331904418 15176428 935647028 208041886 277280370 319847912 983867502 29141656 467313180 177617986 871091318 605622878 432472692 162832316 136136702 637051322 678007576 1093512 548077278 146686760 457962942 585367744 988277532 756059816 611896066 928362972 919169418 202474868 684954984 631272256 415625444 516896036 51883256 576719170 981971062 246203966 784227146 456829276 773144300 183257598 875721366 303787472 42132188 218065422 13703078 85046194 910392056 761618816 846866246 534080238 765413368 400086074 496194696 60862118 856015708 855571134 351680434 195762710 603780360 287807718 927787744 444570258 968103454 854411228 98932830 921278170 603083132 759227376 930284228 402653384 445332272 8513072 698962958 293355898 101069652 497578100 525948946 863425478 570244976 573790482 366832240 5359900 734550488 550606600 598007938 652743986 19204074 285938826 375566658 745243628 74438700 220260206 264840334 779305764 389932294 890244738 860061558 435861392 930221198 685973144 293686734 323294634 958983602 709536622 454407662 792195702 208048536 762741188 954073912 765512288 610442314 230648162 419547094 145725392 947423746 848760674 225699146 712249276 497573754 15681136 127602750 782059472 697325610 551682802 605491974 199974184 100024210 48879208 231261942 121457846 220317640 423425162 560503688 828996842 36088634 315876440 491806614 159002524 106910508 366806540 116466944 565373736 396246372 461079058 212680840 757583688 564751214 374413872 154865018 386038652 152281098 721363010 116093016 784928906 427706204 618901092 470296532 799671984 511203768 564686352 274234748 564850166 744096988 700140914 406641230 141101842 492814296 274020880 522235212 66295772 163939640 74981936 322755760 106786898 982537060 175027116 653240772 951426264 320132316 836593742 372990278 409516354 271802714 992417702 513640352 272550024 426348402 619255912 198064810 117582176 164294824 548226696 195181332 603828978 866699558 23989052 211123240 52976228 786927418 899584774 938413732 327021330 693548334 787900094 691888216 623257766 423840150 947525392 452562040 166853956 178928692 908312164 74679294 664774902 723783998 249298732 24741798 469012394 846986604 833114290 24123884 992578990 98236950 592292306 262393114 834154462 380701598 410587906 70001508 631988962 741034664 798107308 771279452 848737940 437757394 618138112 145738378 305664874 358774604 566879946 707025150 146088144 237903938 649071764 422055034 327099752 231835904 47174642 209766364 664704840 397954954 780405666 563463866 382424156 183699474 22534390 24470578 112465394 310674444 186322864 685046924 840357526 107569712 80489540 133296912 109128062 872224104 771803870 748939694 306314132 875158414 117283408 939885112 742363336 682191480 855158186 331546316 798122358 608379528 642989106 615509830 647072662 774371230 833540372 906561124 645000852 614093610 306072926 183554454 299989498 149425484 973462242 410422716 844624012 721756440 402302044 218804360 511603054 692274918 247753180 298978304 188364684 320193456 610088876 692729462 388687724 167662402 863636750 984432750 490221708 228875980 492400872 283500438 478143412 250439216 753342128 789238848 405472242 760646310 91585940 574701998 107627032 939205726 874664896 772990626 423868996 584451956 597934392 486458762 779817974 474213314 868376282 876564536 179737750 29476428 211435688 560754810 154579746 990525594 935407802 475443158 547045088 799819976 189416778 466029654 942847998 598548604 911558978 400830588 780635862 578228418 839468734 556974016 241079972 819143000 811281922 78249658 226495964 486242656 99299084 600024762 613457744 23163646 599418714 225187894 894419026 260173366 820831662 376524162 543314036 973862282 191110320 910870416 671683952 297820708 195892572 766072848 872706738 218777856 421189056 674936512 645407006 850836072 664490060 336495712 98829440 898005142 161703988 489907734 667412698 710890974 10715518 310638714 49988852 40931622 817516604 523038142 466055800 696387036 594771916 525495850 529000158 720900142 807755434 215287302 560118958 309966146 184678718 4614122 651030030 158961214 801819974 154466514 291084272 285642680 718191286 989742640 53359758 885307176 889124724 357078088 704765516 317840840 431418666 518493348 295856100 381840814 981109386 337024980 137352364 502643188 893706122 391230094 884789622 727285332 41907988 672489790 582289684 966351314 740546050 788196252 363287796 494045576 232944242 84963364 863055580 276336172 676262790 536163610 398989910 262161504 967255746 802789460 193054326 187255024 639743550 110743520 296678680 16586188 511755484 399157794 757864230 92801126 555803312 558939536 688993534 511366968 775317950 532685844 53234332 337322162 731906732 586783870 785038240 324405714 263072994 595609918 869863642 823854368 754652090 110666740 21411180 934136880 527747898 428484802 629197774 116098770 345649100 786442080 180133312 259495454 710711108 540907474 18113782 73655546 885599514 898592674 993370218 413182954 481222408 906624534 434109246 475888238 597215866 103880292 23358756 367833432 82709254 511715946 555115066 703235022 488787816 758083918 687693152 152254606 639092092 165490724 714092670 177047286 315637128 425406716 843714222 686514310 390391922 129505584 559070874 189257678 144582756 58218046 796187822 24925434 21924960 841823746 625080436 641649980 490954938 911562222 923486640 363459518 994618918 456823216 612896250 969827124 830683920 346301618 441266916 157200914 883763786 587014684 760692488 180860420 787581540 331867786 737696874 842517978 556297030 960625780 917098790 49790870 939165570 419830078 87814248 933047038 849752526 361711492 631194082 617181900 832992670 673490462 228105864 797743828 504570100 259585596 427775540 963835624 550861326 223120442 754326162 339165912 409000388 88683778 685873974 758641732 512265302 888316926 728962404 512482258 325546370 683942468 703419656 97643522 847364878 976317480 398244456 898872342 107493630 960565566 978257704 850963792 809848242 157246922 439921464 426615024 807074036 511807834 913208752 783769662 72492890 648751806 211980080 838281632 374716656 66540988 372063408 164293782 222995266 898028064 44172744 602111674 589146856 537694800 941561884 700481770 466693886 522023920 845055092 554251860 346627094 46167662 192288860 999501446 926416842 825730330 371353864 512493158 218298992 725471640 819432186 672477516 647587532 577761108 443104860 939115796 868187228 882857734 281800882 927053954 942776276 451538298 703871808 288114846 257505152 910340194 624127908 790347062 36383326 60597488 110655018 463955702 533659046 222110710 248159350 660463210 489669010 711304422 603600504 774058694 961992134 945560070 271687172 712144452 712595044 80823874 359574176 883742162 970471794 193330236 80815796 916908984 600448200 130980060 728619878 427699752 994772552 333889680 94015986 656547862 886692168 633468252 691860956 593496110 198074854 763216076 838505606 131620890 26375264 154299798 42882762 820708186 890053114 431221350 981333878 653156116 595551292 211852904 194317208 209354710 835496914 995982070 504539112 736265522 857809856 51972588 130266322 320535504 45645804 236171154 353427860 448662344 991144064 539181930 432225606 890886984 72385050 661092128 401566978 137433714 709925866 918098794 552824184 676787988 919458038 104193952 163472158 372347610 378527592 745718520 598214822 2072496 978030778 697495268 884399644 620965342 526228976 432151166 727676404 561076086 182344272 719438478 666640166 15298404 527232504 734248162 190325252 70430512 578063936 503064188 593811086 783328374 986499846 508925404 554471756 691912202 228695320 878878560 305226884 644987310 764403378 60845642 796375400 653265806 335201162 396767696 468760000 33576936 617409690 858796108 144556664 138508752 101687526 306082134 467593284 874625252 595691970 94154572 606742702 584884232 140714090 741376660 938375836 880864168 240727490 872218174 845095968 394265702 127090786 836792648 692961246 684022000 86421714 117870728 62333342 451347650 957982950 98350286 622237492 737727320 562569394 850809396 605523854 948997170 378625130 905754090 739019168 752368520 90343858 349364036 151751188 275246762 388929216 541453890 889994080 138761828 904587446 339305720 154437738 396463446 805566 585217582 595086140 714627608 118082380 307381830 602448318 408084692 923515980 671123024 142181420 819022918 846588228 143907540 593849724 851855502 882972054 821943756 998932320 545789226 316400514 416313536 451562782 898002430 333363784 504942002 674045372 828149246 280602716 913984970 994177584 700599260 715216244 826248658 438181588 445563486 909380796 628102594 277863858 192563316 728505576 28969116 436242200 357962540 810567932 838074162 757414400 407529036 134357298 289379622 780724734 622836138 467809648 673492036 417008374 757343134 774040258 461090196 932768674 953932494 580752946 36962770 670116250 176475876 552266182 564148158 279559780 490335122 872765584 337199208 352811712 168038878 872471046 826491708 307887552 402895994 970017232 880185976 430356266 719042026 690384140 423725620 650325968 231047176 168750218 937159544 89735908 677335372 3556458 170134760 250443976 272643398 922987018 828659784 853485446 39970324 68779352 209544380 64382558 235237858 292986046 966159072 302338346 996832444 51619166 786210284 204540364 331160914 890073398 408898472 317475762 575585072 288946476 21942036 741083708 134688396 591509150 925940772 200613578 200230960 91403128 980679416 306449572 315194394 5938266 880133298 759621716 401248756 349775748 756115576 900791346 264978240 891005960 133403086 426608416 982132892 700412292 427624392 522460758 738951326 970632578 41932730 404198850 686464460 753660980 505429242 705126956 915864926 622768858 999795430 254770814 617607598 782510460 370774026 981731726 593241916 59568750 931886224 872622746 287198170 561832410 410978216 670210470 619031340 162628434 705176494 264035778 471272598 637187624 900670666 605029934 460279930 597635832 71761016 903940044 237119628 362504904 930926928 853651130 309385038 527644232 89462878 835959554 690723346 895637996 666946344 816230846 935227430 793854996 26893040 606749314 786128440 164718450 501588320 344157466 394766628 848308384 552791632 957826902 499804476 741820188 708233964 655130736 812126448 985662978 847578842 266939052 133813034 656469044 672792578 564214940 753725084 784806884 996791862 713347028 67876836 737099096 37026508 56377604 644778574 307751900 913344316 195480898 708100900 984705876 224931464 938814894 457645002 146693786 591113072 934165100 740937950 853290068 493736082 728972834 823938236 758941858 415912960 13551446 513779326 430893210 501791514 750094816 374801712 250543354 302433396 321287576 324329802 225180338 112399596 323057436 784058534 209101076 372499288 469041452 76534346 351447978 317091384 296691680 189356880 537623978 156404066 808632324 268417712 39644716 976279176 845906392 116487580 723373446 573524100 486407936 634635440 651909672 815629604 912302002 631622034 917028748 315078606 931912332 99414918 503393044 68691988 218372188 1003904 183514202 99970558 278604018 669731862 949740540 465037278 637682126 860032578 837553494 283654458 75133918 810328574 695093214 167957710 207984772 304688904 119055724 234044464 725385446 176085386 107698028 989619878 615489594 192265376 201468558 766519326 694166540 272553202 555954136 44308968 61495430 988084620 263481466 401961646 61184210 418385542 899520670 44083256 682901810 935645898 230994748 678820384 260080480 939603518 768288232 122580052 250804666 499153764 580824586 435012154 801054396 686501878 370796934 923179310 882144192 724545644 57558120 921097342 738508382 672148638 99780034 499279490 249768004 469753214 452040510 824019812 296607898 26005424 598981432 755413162 234321760 582131480 861090840 965483072 168484160 385292052 337376510 453745326 740079162 11866916 690958692 44005330 674179868 581772268 546138192 809207410 159554390 563548698 189867774 906567870 720112994 282858640 230636620 166848838 599957888 345240628 130073722 904737098 78957312 311638590 889754656 50253818 151498194 735455638 275582314 60601318 419630752 321357452 948165210 795905330 793902720 603115428 676761116 68535492 969903390 98724758 867067418 785695570 207741792 162214120 268363398 240166816 313978838 627513290 383023982 440898540 125973742 634325094 684435834 442400022 117605024 643876280 841052056 78592088 223054302 500621176 100469982 440828126 568092376 105574422 272262470 265561820 111231194 928393432 559751422 533404296 613600532 495595340 294178014 894205374 537562366 954211726 796429098 330696892 521382926 222145874 910529488 336185602 774720224 186216814 202326960 277265770 571619300 546532230 294244306 468627898 443590948 403972128 187894654 728801524 556309556 75170902 796335588 937798346 309526956 520278038 447640590 669701146 353114736 880370412 659586076 529273008 121132952 929606966 693772746 576965610 531278256 32668776 267262144 38067752 616241642 469303354 198293334 976923852 403983916 997138850 741103450 102174716 464362532 631987182 342491642 516632738 87551876 778881142 681872598 704166968 467109072 550714224 948576282 182567546 299929662 365385418 706498860 765272560 338871156 337526042 133779560 156947146 675657164 241096234 184692872 928539556 678450420 41191598 532243910 943453712 849712444 155031270 147124368 462295356 984260034 485205470 223604374 576988634 648776810 895577184 871058474 738479558 695453256 896564736 790093144 396420356 214654234 277157694 790661242 479429008 349841252 99515964 808359586 249209960 126549462 261485756 52615938 454015730 321014674 165136530 987251008 337629122 559529742 846265344 77527226 406337770 524784344 29450060 152634962 908129510 899060326 510096244 948901388 797522976 102347948 379851204 840856552 722243210 759025294 920577566 106346006 169742988 878582712 444318848 916595352 8500510 397546062 126764582 306527578 399127282 155854606 350067988 119676064 642009474 868459180 412597404 397589288 105870162 751044498 894022250 138247474 925333692 512315750 25319592 40664550 401868598 292115528 651070106 595612000 458541266 697718672 624341904 60824926 726911896 899326248 990068690 434048000 278232330 795131024 48737408 788929552 364097302 375161780 423537078 494795712 473749746 946056748 242270552 896574654 95781246 856323470 554540080 883245556 271280488 721747806 830501450 463454124 829540690 398753192 921079308 100733604 629111574 106577510 294606888 83741076 987201482 633360662 543464950 94852312 511284128 433289176 56860828 338328812 187737208 382141886 538687882 313283994 629835942 611158552 686885246 400496156 352404202 503680128 791052002 515834168 641183734 195334590 244016980 615004518 667304918 169536148 376885116 715237938 942115258 771856424 984559280 85253866 475791786 101341928 188521930 66629596 653711508 233092370 347712730 986141746 119869692 678299502 690032332 2118224 483277038 153045584 487073042 430902116 498640388 949649744 262723000 829100504 457079886 948666594 714746212 94305200 539283522 592551770 804228326 426740114 287767286 597976892 961153208 65300338 606462888 675737630 241765828 757172142 879123242 84413272 709040488 311039038 523067356 821156222 73607746 702872344 214762266 332613060 899905496 129122456 570307116 283932952 814654204 334479258 739413796 69134620 602516710 724386906 151399224 940716368 856265148 952548196 89910150 590153422 244012316 991036124 236425092 255833726 608131286 625450994 557576976 338667030 119084370 221325852 512020606 868123030 991065290 676200972 610271876 596036704 409549704 884386346 804643364 858049086 74320804 685561422 710758050 8165086 607318976 833159850 412491928 695302388 899796806 715538676 538650450 319028492 760028420 90132640 28309990 147154336 740617080 288481364 60524222 720671032 885643944 346779150 315195694 584656368 27593600 724335868 687329890 43179010 595905860 23413492 551669742 375825044 942719536 909064056 454766486 465619310 142048406 604685292 573447858 892814054 637136274 324647194 463392396 436353764 651754300 155847308 651814814 139689324 117078374 238229104 810702152 981597976 892215672 835956348 151535344 920893584 383636516 225091020 124229846 261859234 606420066 144590214 687485832 146638048 403438886 613912860 39843322 716885856 513960656 57738838 856670854 70266374 768010012 158242484 44014564 569348266 747966444 735208198 678748568 922463090 491146056 145909246 865528988 303991028 572660034 57714834 150798350 109924598 44170132 576110910 675749218 535102416 903826198 305488008 569404502 276871624 737742106 461054670 671252098 126800838 510045884 438762384 9735562 484883202 383593232 658195268 128825812 456983314 36457134 977566626 635476246 561086996 860664398 506229756 958349208 500877152 705593314 904781266 965206994 651271900 237598100 378075704 968666230 39606470 729312124 977643358 199395236 247455838 236858226 133697292 336828576 614929106 30229874 366920666 992322230 366423040 496504664 461506442 796541934 978341622 7419624 687270844 97492040 381367092 455067210 990236280 921617572 605110166 397701328 451496770 635001044 825780246 273865388 354811790 538077988 829347628 756160302 290955860 196782322 33244506 399501182 32859516 11781328 202247630 54238530 435497582 487605596 178557488 184987804 556187110 591151558 810362058 82465882 435177880 121259836 532624454 186543578 363526418 673358714 88141900 58271162 417597602 730462306 82609430 856247450 674685804 425484176 680861722 241137804 137668134 380400148 651980280 572082072 267268794 313051212 516013096 599680406 411738344 313125196 287815028 728310228 163032774 526721246 730753188 185843250 234024916 946284900 761418494 694293592 231595962 78991712 61051654 649652042 705064642 722219248 393912590 582061284 877267788 436654806 673336846 715629374 228248158 658201368 171693492 409187540 866767108 636221122 849571752 978080894 195619542 344604338 964094206 748580130 516295002 519694506 65199726 739541032 27243454 203310848 172300406 212312092 127181862 279964236 712773014 833009744 787731366 914827190 174884040 322345424 6209414 287968144 580054906 816917918 563754202 729723950 998801938 483122902 98600070 81752024 888776620 553437702 997939492 913444454 527563658 762763644 570045042 196263790 981045550 243153732 307451110 890361810 545602768 938525792 546872134 458797924 647218188 161907882 695149706 476992320 528553140 577558830 533542450 535209124 286178956 446262514 342517040 328885162 71931562 582085208 753485478 754198026 659818936 340429578 498615378 362159060 281284420 532945764 515886272 934261950 917520214 518841642 291395652 499943348 505893698 592894820 521176904 275512996 729205498 94061386 790511612 546374536 236400868 386128002 328157694 62081828 237074302 435779596 66213850 637278914 242023572 302142478 531887234 295940920 369717720 177495848 274627588 626195980 881753530 767547754 535186092 405481042 142381214 811143904 529800222 424807862 124748240 111431244 102884076 678541914 489474564 560126170 568093080 830088228 702388786 484806710 716198316 781176430 750983282 807488090 109147708 111861768 733886228 108657976 347647766 399037534 755570030 548688702 385946146 133639822 545496868 901311316 323340992 305787594 482321440 689764554 821442084 100625418 802126762 245980980 776919018 540681072 152847720 396258536 183415658 590703396 768165046 247892236 881355982 834821998 112066598 740371572 521462638 313358264 17363428 366910000 850356826 501259610 339564570 342228680 262086644 119303096 299300976 636304618 206205544 888794844 169365122 914730738 855760924 372162738 862593750 858917478 277769556 14070768 543266418 878047796 77373872 738391816 948940952 31912974 324589064 780875466 926852418 781461128 451316958 409065520 71453362 837427296 965732712 350632816 8157392 703026060 575112396 983040276 232674216 662932936 670910078 985731650 781813592 779913266 157606700 894725352 493575758 720356730 32108712 43157226 50301222 352602744 561182342 693938510 331786990 496334900 275159276 269436724 125270384 617558378 827786570 69149398 593463756 211359480 220557948 82966844 447225448 940436466 411172166 890914680 548551522 426682202 528157974 290770728 904219386 754541270 287019484 250482586 516990764 346917256 375544572 485017756 657177862 35443520 769572528 283454824 570572692 592969404 141703328 197968472 999042652 483751444 631744244 53123062 129129618 482822796 504610106 729514862 883547634 409357410 387116918 333039562 640345004 48656698 796229156 883554222 537370952 206119040 573438986 551530706 150001610 112221308 209969272 396585262 490669228 186654394 408045188 750589982 398043034 663036200 480441102 561327910 196165296 121559798 409634222 360185088 610837772 646575878 928652536 195630472 581025830 632710120 311005048 459691806 151295266 274556530 867736050 523168528 855045920 44305376 784523318 407017820 313888312 787567854 612810362 31983740 123091922 697237306 848401406 295964402 866424390 792862194 351562064 282005192 487422788 860474866 524693662 842179214 568740700 897048908 211156840 507561860 339135272 906471648 472035736 70970218 994642432 419061074 207205238 626603546 54730326 506991860 992265468 660207944 39521718 667903714 49457386 445716878 477478046 91948036 963856930 249592620 381544714 581875090 371107402 589022234 8629450 644579658 429790534 93067160 816087216 944529126 808170114 361385524 806911678 529363206 515780426 998777500 829595490 113185434 912428874 707739688 927950048 767231242 70589420 401474190 192853816 377549732 655537870 893516352 96808688 712136962 614980768 645173630 566137158 200215236 328221726 47698234 288009232 47708546 185792230 903770954 269928750 519142826 12961718 259916010 974849016 943031256 582822108 72632798 110078458 856162378 210425342 351348492 489440426 831294070 157953856 672599770 53708010 299030776 802529724 735711386 117076532 532163418 999987458 190892796 116455742 674001138 449667502 613667062 780284756 635959572 688535154 759144266 235031210 386275956 502508514 388615000 313476066 398282462 640504432 422751560 352255352 506121438 819263590 901933624 565041590 281108020 159406926 512534248 624651410 468715302 195709370 333910342 891799130 116498918 998341386 223108466 86384898 114163968 563237014 794549750 514660824 555224958 601717384 67077208 650116586 225764470 686995638 941016844 236679014 237641510 129925600 566169838 779763590 895673752 274895110 815033830 425326726 148468772 204731308 65207326 75784196 941942430 200921380 368894356 767648426 457893316 795019566 670601274 864950822 256338934 224077960 506538786 159290584 770713762 798594504 637903764 137119988 230696928 776251574 689684816 808460848 11237880 339367842 613628890 955436048 294016018 1714612 892224194 730871142 565472000 527801284 542195070 968427922 309265228 422576794 371007868 928419650 517860038 434654288 861154598 927375986 667364056 16294250 665793820 858358780 790577262 246910016 560320798 444864332 778160476 789168310 421521066 302459202 765916290 137059254 655880456 906584638 452238574 566729300 750636884 615532364 912694770 161476584 53885286 337811750 487113092 192728114 445752942 964310428 837010752 246268840 428924308 639273876 59434024 133111340 628407962 17805564 322049612 522669922 277282696 531080464 635541942 10543970 324395008 5484926 95326584 388377604 69444512 469646634 223546764 248046846 748864142 629354492 669154568 5475268 925329560 548375742 999380214 884014396 576348334 911228840 739647926 138648822 136489136 464221140 44853186 261859024 992341826 611448638 602571732 421102622 212066350 398583358 468968468 814081130 18940498 643039020 312867864 938466178 727503970 858296714 424241142 525793420 846886560 762874764 143872716 330657810 36347192 922617354 173694708 113170530 934799754 993389112 551597998 40547808 189921118 326633886 827491732 337453364 30837202 423224706 461538696 330150706 311110768 576617088 417993628 858364184 833205828 187309878 438075474 165532480 798817870 435722554 280622240 89242222 674310378 253933054 716240936 204273722 856540892 50234480 221386034 172774068 381892044 133752562 105568840 919410230 863402876 398533900 385167970 868113988 682866888 794046124 39737204 996912828 396111544 97313818 558169764 966737216 894008386 225810632 615231234 402104602 570886420 32882862 399855194 3434060 862012568 19679104 598253886 35926024 987021742 182317098 286647988 24216164 488505796 442581356 824981994 631955648 814568786 138127482 439262924 838046136 374861970 703830970 462779384 940721932 160700202 672085962 582940608 303623514 267583730 394168026 299277458 858808910 46659216 126389700 374407972 95118190 311999142 387115370 250286280 612410306 511388990 121778358 35444676 44828570 867064784 916395250 659053400 850851828 669535836 174860876 141853234 693077354 491211832 551122770 913726094 993849594 719971762 45387488 992243128 657916230 338015966 580360500 196470988 433940004 480624554 970344682 224632844 407032598 388767460 985225860 342852484 382813930 772109822 637204074 939328320 78318078 91885482 354154618 517717474 518068110 228360378 389679486 832693482 416656140 514049478 305689294 578397270 892088774 1759554 695243804 539745312 255100810 751037692 747914588 119133916 731339682 532689196 21981376 18674518 345002094 748430024 468966348 957657398 561245922 945142744 603137824 346489392 646744520 872507052 448718694 22379956 545810970 964885002 524018832 223692416 495830804 75039598 202374368 303471176 692468518 454280194 59835496 537571838 341410546 976204298 241110114 358124806 944723564 889451654 365349070 746868800 640573180 385064598 207678252 441565582 561136278 594767734 754011036 257219800 48917462 814413452 325726292 923278122 669202246 624696796 858644956 671657162 207786448 380145662 251070410 487009156 471627164 917458596 42689072 582284246 886064594 757538484 368749910 684695576 149530574 742963360 628016642 742123680 44272434 990799082 225899046 487340380 755791312 46588604 203824360 967333752 15786612 545911184 611208274 672729110 929853026 628195020 623118308 178441584 824666562 221831570 535974774 583166854 17497556 56602440 193392402 534725188 364950594 94416530 418101356 102358988 588668372 58816136 950916612 356884886 470475272 379463962 999566602 185046162 270066690 181205906 664928766 5352358 836829716 448182266 943987092 658162244 210483812 368368402 744618950 696453570 663361220 408287390 333060776 580288876 89039706 58316594 63585356 68494086 585852316 516802254 6105224 480360518 909577230 52538664 744837614 541634380 135586772 570028758 938218024 865454716 896946240 520143552 362302382 469461618 857909506 543319258 894089142 323621590 6158080 837506372 200530882 490906522 49391974 536788276 779813004 102107238 281242620 292009080 321878362 108402968 169273428 599188328 185324548 340402890 302869328 60994530 74792500 964684380 683252586 552429032 924516600 991820050 779330578 124634286 358028080 501939996 370912806 13839902 260418052 865555336 634021054 955645470 938489882 493288888 646952432 253791510 264574910 298266110 966798900 753857528 559494862 332499876 904626226 522905966 124222810 637224086 550876816 760007376 515383962 766086428 289776680 81833152 503093038 20848674 324251204 806629896 410200782 566558946 641984598 752735500 372751234 685481624 164744638 372691138 97060884 593630872 800095488 453830734 193063304 956260802 514292390 412351032 823901828 207011950 842741810 355411410 221759364 343700852 508465678 708783572 657578362 719105772 822095340 336678806 965648744 151556160 582384198 21034092 201209790 453971558 154352980 604827132 788738044 526512426 483066068 187271674 917139218 48759574 45007802 519955162 26624078 539068654 767115732 930998970 972706446 341846608 502858694 746596550 840359284 858312318 386238624 135720172 93884340 326305000 756773066 125369884 868866370 186508180 256365632 194930504 995025058 118378590 219945218 986798834 231699238 763714042 778498366 163384078 98722900 757001798 25661706 700128324 897452644 351873622 18043422 96962898 220662608 656857652 691162484 519267646 172748736 219764536 612839176 515590656 538907006 985477080 127438248 912697988 700801150 611840336 253621852 271401586 709456088 932771116 612620242 150305612 642904892 461728884 382225416 74039648 332917576 289136898 473034664 762191328 197197848 369158852 126630166 175380356 914373504 914850984 545469156 926815392 560400760 433458014 955849252 68277158 641209966 771858856 615001706 22080650 854725118 528484002 677121010 685570806 128515760 172410752 151209560 666495670 327818260 897696828 325703256 872041516 357943894 898046368 74892876 181745802 554285528 743605810 346677782 26804522 263626000 238942558 924041486 171614896 991985648 924955024 761395546 432151452 426656952 485846286 516844170 651242326 225533656 107394508 628057364 156181600 33652756 954692136 858938966 809430202 245122462 820498020 903584646 834103188 140634544 211680052 847512222 384687084 529728954 150458778 329561230 134552652 916566160 726560170 344575838 348825594 814318242 101101962 250457684 948080930 440853184 294925144 841493478 98298368 457560226 878150720 137629280 823944890 791323770 590716202 31291512 216016172 341480132 210423018 328515624 994585328 215329440 69389134 869367018 143531532 478328562 790163330 28546118 379971184 98734326 295870744 55544472 342093570 57491690 360668168 212314340 240802266 456030190 829348528 488350380 573721036 510313798 276190580 989381368 444536870 622414760 171966824 401981814 466859186 371521204 275456352 594824964 412603936 518468820 489446802 159695528 609411376 284068808 353334548 166965734 322316088 177500106 499309160 21050626 569918348 702996274 267154728 627826750 237290226 78338170 896730250 916830418 807913712 669544810 876625054 670640348 127621652 889048240 209543782 662564804 520458790 302587344 844655614 359058254 649541480 988937648 627786948 458057010 138125266 306501890 891488552 328960384 236977212 627780840 437896400 38039134 271762766 15405818 756866380 856040256 37884992 500599114 680740950 124468720 729175998 156756926 509656486 381279000 109043128 493817538 494809922 189769506 918852958 167482802 947817026 51427426 452773084 290680338 548091728 352751268 445122776 596778724 273656102 407996584 103511040 133719566 300797858 828941966 17670990 202997992 533269916 380457460 620790836 206378356 442325510 552810656 753803798 543785760 130195460 156374668 162872270 767269234 530179746 5842264 239377278 384034874 230606316 712570468 343062078 219799966 672175658 359046636 549772742 889900970 153309378 563605480 909502176 43370968 915444378 421848094 691519502 407266166 31493956 603138254 448150236 371645834 106712772 21742304 345252698 741706942 555976824 947051990 704762250 564278544 780174112 218804796 230324646 258846846 152734044 124658820 598467142 197247566 185876084 928797786 222195364 621224950 767150142 393837560 647242676 591275032 98574802 32610688 99508292 115779682 32142982 49000636 782228954 610528020 944975100 51999104 937946996 408862214 545620940 877142304 280784 812035112 325852392 908040762 152820028 835725562 526076142 25459394 644304778 901658854 815828700 112055726 164279332 309121216 121492162 512604806 464205504 583068448 355557082 872646260 587120772 925958166 79636848 302838970 118173554 346300072 566644848 999023380 413353052 560371202 34676964 920513608 97042592 880388900 646828254 255455542 640415690 521840106 374862608 68219324 131741670 516377436 676676468 108657948 524404762 437477546 814895122 553006714 490595180 464670224 915466754 950045818 125571204 14811384 210097158 838416426 81484522 283167246 605732562 816207510 644392044 368659046 498665878 23729044 41688308 741522388 950820412 474837130 716084540 98454686 92307796 590805572 423952408 811943328 518978012 17116370 730046364 332097878 562533694 323866522 726862000 491715132 939346598 574515110 797441596 297309006 591236370 718734476 496576676 895474842 349146352 528832026 377120052 380466644 221886860 338454426 7356112 500507848 743036118 791721864 785816284 222587644 219803034 237603038 440057044 568526738 554664726 748310628 940844950 869888698 474765130 205558736 851594830 739181864 996019582 75395766 350074092 642078544 127254516 878965046 214267514 460849084 212171786 183730628 446071480 902854248 989529624 712501760 69926112 583554688 508907728 449605934 622847702 599465748 289676806 285825706 735672052 48824142 902382286 114456592 863646716 464558456 969811920 82901808 999150908 571591390 316216856 133288942 290800316 461592304 991521798 833272622 7020998 707524464 678667418 406318304 728601852 621630522 961885326 812352338 201491060 470187752 750421164 805934922 533991458 618184120 532308596 491058312 991568116 249269404 487120460 674324896 98368226 616176510 650910580 821981722 870407512 648176450 363075914 171101090 227701464 585690764 71263932 475602282 633184690 47011696 78819626 690336940 866491872 982897474 978145318 311925316 961416762 861836822 201907522 680489892 351002936 287411734 571782918 792963770 822344536 377388518 797330798 109869132 251122702 181854332 164208690 944273346 784362270 897246596 772398448 771435526 355245212 529566026 736993512 643583548 135746328 317620304 715759962 755356384 955237008 456199756 463375122 74074354 574996766 997396910 923251086 677114428 52842744 147115810 152661016 950286506 900889922 660182264 354833224 281982706 479612082 756175768 586903716 285697934 578346494 786994834 111664320 916344142 213757766 266318078 254432306 958904846 426520762 328902760 803531374 665297400 877337976 644193014 311507266 152934348 218906042 661606388 688997556 740545098 274315456 978529812 138493752 275135046 409682864 227087688 800419090 716427510 744442140 268853608 208331916 703507544 999706088 200989512 169287292 426470772 758442762 490479588 343404278 720286694 244825942 385721440 8229600 561141102 649415766 589567542 366779934 519484398 788663428 711145598 846907234 410247666 922363442 441907322 703444308 469606356 84256550 975240320 304784258 692937808 240442196 959553102 477372638 743989126 483025240 472232172 208878390 154934586 314192462 730652772 583205264 945477166 364367522 334765466 806775296 378033084 251335436 490121176 530373368 122868050 328513560 859371436 592990896 241152664 655546528 99776226 953498760 763581220 903342192 588530538 134766276 838355410 577995444 82755062 320737730 531582844 280942034 420954768 342175606 112603350 475477962 823572514 451546202 110837064 82875948 172291650 6303662 198596578 80527664 196292676 53332728 366102248 138969918 952561952 172237554 281135170 246293882 392679232 293499340 896360764 573068146 418335708 879365634 825326014 404968422 211648702 794382794 421116234 283052522 675753276 237146978 348690608 219277814 688756580 429741820 550709116 102015686 574879430 94289974 759498258 327272818 301442994 384433160 788001318 752857014 837740942 739126264 629939212 196478542 57023532 616537810 521608990 721853954 756618478 99656928 292409752 52892334 247947562 757076360 711511978 541321812 433226468 549893826 709737884 234691466 780816964 855232034 291104456 357102898 689405722 794890190 618339558 999299262 481271242 557203952 185700078 318917920 415278998 178957620 98891468 428154716 348581352 894632292 345012760 72833294 28435112 289756896 601751054 727075314 918443598 8684698 534770844 247105556 419100344 742638250 20392848 851539998 410270360 506820840 289444372 326737920 223065374 601300432 614354184 160972564 178489220 375780252 998490808 5485726 640719022 792954988 866020910 570646908 787315000 826148290 140910748 18144300 931032838 458260812 366687694 727248462 471536904 985492776 872538318 109454884 240166224 954266914 901948970 694860986 408481788 400318130 967481880 459010148 290225566 698388604 274142174 107093892 449081966 580377600 908302612 57699632 697689028 498992292 260856132 541402790 439850944 97990132 523662368 563521026 209740200 223211436 317211108 91517814 145214652 804387786 670825070 735650666 698590998 379678004 12097226 106664646 928525266 150135016 685698314 678563618 842526864 323831244 688985404 235798168 205663842 116233688 563618964 863189792 315691744 512236588 38054744 379242612 475789042 756373578 341579044 898125132 753290058 400088028 555114944 168102240 957682102 374798116 588842488 735537946 36064752 234426292 468870276 565773864 242034400 769384328 991243086 832459740 960660052 732425538 78699092 230999066 184634776 610859068 866086926 717445800 335518926 730203712 554702196 257029252 972220424 245373712 417624026 575886120 40640614 103327912 551362356 857866624 912382312 547989418 329033326 362925482 610214148 846994362 726197084 63712054 500476612 116659908 147115920 153468540 503922814 103386418 304750190 65100142 746707890 87901332 650660378 117916930 671761184 226979040 460559210 701137264 923876444 67451182 539830888 694925456 216640568 95472736 960500038 253950576 988154194 97680578 457985992 652683244 868967466 257146636 517796918 388448298 854207254 393862168 722281146 532614780 937145560 90134540 162232334 678783164 889934038 448854476 272974128 7336874 75655386 877115868 495964292 779533498 900540400 161496748 52803240 609857922 896223888 359822922 304155382 803305544 938645496 312168242 223338742 172026386 926000872 288542734 778602242 265630386 106537326 239791582 600900122 396993254 216996912 372313596 20119358 926839692 56782046 182464410 896401694 881402146 441863006 21078830 908110662 20481228 537830624 925460656 277856442 567149410 856490774 4661508 377749816 183072324 367654846 632768222 427428074 405372792 105380212 539593020 593111394 440708928 262510788 236620806 934548674 760765306 9317072 968829520 201102100 837153476 357701578 427726386 101765166 593456272 229142974 839288246 75632176 851058724 71622558 348731096 806430328 823025000 105955614 829355968 420911974 876642218 432349466 996086026 323095048 323393140 258235962 153213096 483102528 72118374 805669988 354580030 535033700 287302004 391095422 245801478 53659132 400508568 141454600 665726604 615127476 541070302 194759292 269511526 418035650 20030080 210322072 282523618 549751942 228770562 493537940 263439100 668619282 8354160 102935104 417672644 890846432 140982852 15557434 457171412 399760616 756521554 611030064 925374070 638094822 179969270 675302404 183732764 178505532 217885320 584969292 262689834 987487072 749469360 889910544 14616470 718011862 31905116 684757466 732470968 273184958 615787968 398414096 897853812 666623306 141105468 374228348 235421910 719191112 307118066 598607074 634970626 596867362 477068280 72644246 29988148 300679648 649877800 259973260 777963318 831826884 105940628 397088482 909873040 278795844 141203206 332486088 990923738 614249886 716916360 923019698 341644808 420154910 310911914 564745716 33626454 550714792 939826324 453247800 96739094 488151652 26078814 709611528 565722262 410295908 380295886 768818210 903922156 175385962 962691658 908973592 312393232 555240858 505461172 503108802 703855978 114956102 238082528 408394260 585814188 421091406 708853298 929423692 957116048 832920446 576250742 168833704 822704066 85500604 346392870 541063156 263589678 424065380 466760632 214998382 3966612 918568452 384891178 405347524 123375448 282945330 700027768 594530506 391550244 249961860 902515790 298877310 318703708 547249086 145867718 794172592 845216038 341092660 381330390 40344642 571588166 6221784 913964924 879584238 426220158 461524614 596287478 708610198 331936838 826870292 320848726 917869428 923714084 178284654 412430712 266005738 183797694 190178088 54024570 311053198 812894440 186158890 39475632 874625090 209246832 804379116 302073486 568854352 981066232 100350904 998645962 833848430 596015974 196365550 846188484 890805722 120474928 393018166 246405710 29631750 916186512 709234014 760181602 300210946 702723766 417734290 208775020 598610276 935927666 21319682 656924318 820884902 131940794 559848300 772713084 789013694 765680138 121232974 309363552 862608226 370281818 233145092 338764036 370349986 375703624 672508552 125122240 400386746 669927280 831930950 619345876 558968 723904660 78173610 784386906 297731648 940355540 99009056 107863934 420790346 313544246 180041954 912592738 637252188 819545628 69850500 219919034 520800218 558523222 12967834 806344910 755680622 430606300 976617606 528209102 939938352 72515828 586899874 631756964 252185484 683029076 699390402 171296570 359582160 77956990 240927286 259241128 243693984 141827410 949309884 971328608 535573836 379097620 586517026 789150326 476117786 158192458 801658088 646376942 194921478 850592858 592738148 322714336 843945322 841130634 282954460 877680254 563900342 529973776 693109586 811704146 766299536 884833974 272757220 740987090 912138818 791699156 854013352 3440144 624094260 570924652 762193466 38054772 336884486 887061004 634093400 146033348 344242464 837918992 966697896 811807150 643751548 523905568 394037794 178627784 861197356 170379530 284343768 787514706 906444890 216533828 235928704 773446212 453034076 356123902 257165356 766280916 304116138 636330898 838694370 796289812 411901470 866366310 858602796 705677312 557981638 890921316 946309646 958442328 802522064 91445720 612882510 67179312 819315792 892414906 705990854 105192082 896288718 782962288 399841200 782245016 778591406 82036864 126115524 344770996 615340202 183320222 512658132 90297668 608496298 487962768 816255734 530273404 482156834 61549070 892572362 215744254 379232328 337199984 995583882 199480644 385212648 386882100 817712040 914188954 758353150 293021354 31496666 367477888 491284494 369369904 999271578 870486308 212199480 444107412 360672708 127247632 34207952 72818560 811858086 357605044 196848196 777406388 251301304 999286548 299398448 46984240 884629400 187451280 952907472 422589612 70765788 711417180 253675100 413655050 570048300 429045310 617227852 876557798 786717686 762313686 494401480 694508484 144387212 162875480 599660108 493511130 807186098 763199350 193802318 239742722 560550476 715185774 639842866 979415748 613061476 465728712 109117262 682048982 290458334 897198980 221784268 847894206 823747316 697417376 709701554 27163114 53172416 301998048 847530028 589206972 99305156 967036286 680208098 811532254 287626512 981520454 976369800 402103538 144051598 446113070 789351746 594650250 739681002 899531276 648730014 154484786 239946446 569633834 464970352 507861248 166208996 463329460 143177470 747536560 298082212 114849656 369209816 162626168 103075174 460652158 261656542 599289854 413201706 131678070 451268938 253789384 465018118 140536720 155963140 220689002 252312472 705468036 487433162 853835928 619386698 779491180 956195592 780263234 18710126 583985626 38746674 73757236 221691130 90826558 321119946 331812058 491066644 28827626 644900676 799397466 217544130 24310720 550586150 221803522 675180626 826298662 236795072 151875784 348125336 73060442 789143326 493814050 34990548 989224164 696819694 298408076 648301996 289978964 380827976 466670814 619482374 111215928 105899940 369330014 309980094 56525402 276846216 235108038 711428032 422134530 873500092 304536566 332512002 1462482 945947558 16140240 448587020 587303904 238062944 408017060 868767428 988795356 323504186 650781776 315768104 595756846 923158970 698170212 309923910 292879534 635312848 484454210 280045494 86572022 351055716 661939484 744154536 732263020 275728192 355590698 187274004 879928714 241828906 366452248 357333006 849529176 241961274 436654798 1003894 329628512 320804038 997450188 236107060 944146334 634731426 37063164 125264022 56818210 292060792 678195846 286472560 363648720 695852208 193225524 727580248 535682476 380025506 126184088 229730560 227913356 698725828 427068002 849316516 452359744 137688576 97538752 102425322 345669704 925036542 397328562 736051396 96770016 317211366 366449022 966978300 752006194 800002824 259443182 362966884 538510852 971666260 241291324 918025448 246614116 48999800 357386956 675282678 159212502 316869462 492894996 815108346 589948426 27440290 549578326 476063780 168051214 992256942 92318368 204954964 938083066 449755150 275522624 732798672 400892680 580926434 292971454 163839358 966121350 825384728 366632220 679998362 332039574 37910014 128018002 673382308 31982114 670672556 503600530 838795360 250641168 951713394 483268668 433598782 25761378 925810946 721624466 902579696 212680962 664320964 422871140 433780576 222217090 217174296 483194470 427417106 233726728 126740406 534538948 836948188 321839712 387053116 533908838 814070938 313658626 504587832 534494244 273890638 389589158 834345500 476139460 81732360 916719666 662692872 501635374 744569594 685609644 554237892 664703838 788373456 253948096 416089462 289276766 288161940 493692378 780825580 900374374 418229328 16264700 474750758 835989858 70336838 487915454 167698612 312205984 336740358 29816704 618342114 880118274 271517078 6774064 706478994 658262978 451768326 218892088 789507756 806632520 784772452 932806302 631621068 770066544 1569552 499257514 843586124 317319234 425694410 665245542 243729860 411525032 11267576 348795398 836514694 647343744 734394606 996224426 578089700 360715988 110769064 922449380 895282106 352053590 742949714 379300790 779505266 31734416 881241026 553965054 226296982 171210094 829146954 568491690 23453306 789244640 402267284 783938144 10579666 114827418 677635434 170745012 455749654 566849418 505372886 184243814 64318364 458530054 599150740 756820130 549995370 340697014 390564470 854858602 359089798 175608466 183633546 207550404 243612108 190335582 475188420 788975892 880961002 356078920 303596956 736117640 966164792 57458622 222252136 390084708 887331442 586943604 377965832 660584666 59512136 702032426 12307920 619885442 821860330 153055354 880364346 522798122 621361488 950936916 643739486 701202196 211349100 502405938 539275480 73371502 617162500 146852930 962097170 481650890 952072490 339992876 178265644 520843534 609347804 879193862 817686154 952542062 978264964 319147488 197066340 808920456 65063864 180836770 201977748 454270410 345005030 169415410 170573158 872296958 429052462 327820332 966930946 124321360 100320856 378488396 428949136 230867632 956172984 739093454 795517894 405681004 973674728 953408510 619446594 378158264 900020586 352282244 513670328 319427340 431644182 92051754 808181592 873553092 248979586 571724176 931932932 724895854 134509988 769578430 798761622 87886648 416725298 8713782 951718420 735506926 942566090 843025882 128637580 983066756 212856732 379991282 21431672 922474190 636258612 115319894 834604616 303553048 543564042 514635846 878978748 2180592 406377716 207546496 892319304 356058520 542595148 438705520 562867082 131129134 990749796 272475902 446029520 311886184 983302766 930613948 194543934 995316502 617256334 749314538 714852066 167755852 271785296 709289662 770272840 366148326 129648062 870430996 630185508 136059784 6787350 159681998 844591484 443787630 828511318 904721666 559048162 684076314 527311552 112355284 418991236 517094602 120967392 355248898 52930330 614267806 717079126 847372516 583436690 925740426 373272814 179449004 732794634 516586474 593413478 893995748 146047324 759480 475009526 465779166 738781050 864018742 550943400 31059236 331614584 330641840 764584728 15080806 226313392 503639098 496436428 344566812 68674404 950328298 132317618 791489550 578058076 549393350 943518160 284570092 336799938 318065672 323989732 960368036 201788010 917265802 746074400 962004542 54248090 170640004 308471898 175275230 355186960 165365718 587980254 2249438 953194930 189836332 145361052 321583918 561184454 949030838 200342114 614715774 21566726 189194804 95344194 759039972 32563270 835604894 413198630 779236528 336003972 425383974 284096682 240832244 693232844 599345618 634980312 8452366 959066510 926463532 503722 501410556 457015284 735151508 527134726 891877512 146606936 924669316 327699404 178420254 225669718 886570070 158161146 416030404 785596456 483383496 449161388 509758938 984113874 927431068 413065728 14323332 157620388 236252620 643778204 145658542 274970140 966690088 176551954 382234660 884624442 493641128 665270626 286872924 553384618 907409076 995088974 37938996 925807548 32539992 63950400 135688306 567610120 730628458 677498786 544191078 136463860 600006966 804065688 719585136 677179176 267548410 504974222 49777418 373252032 717550752 966693474 813360966 29972988 403868484 152794946 127014298 356513452 339120774 464340420 918618268 167837850 730141122 165292176 448992404 116541556 866483388 59370132 578826440 13308018 797298442 110758970 403358406 255634246 683654744 984906330 447473556 339557652 444463616 571143026 112744986 822703932 129820540 741166184 484296288 434620144 321255250 777838692 663572688 652880906 681463902 175306010 770649824 448843540 955572246 868232678 103832398 91332712 155341190 476664664 11118344 712552560 214513106 199738226 479100678 736872622 297961630 147742 827633284 598653880 113311640 918989402 571967926 734214788 827295020 333444024 904595866 983084278 507582988 401018706 710868276 664973138 877796908 745344504 249972476 582728862 994824778 646789178 442762716 179999592 254556048 199462454 239283922 580156664 834979298 698242684 36923456 936869036 383950636 482513436 890275054 81947974 905777866 58852424 142511740 328791174 570874582 311259284 160269338 661800794 628882260 953103748 385005652 242322830 975568058 70378478 22551678 259168806 449559344 370669550 790258990 433221888 767309514 437825952 675642588 897208058 165955366 5851708 49036764 361169494 218511302 993357206 260401662 684072386 320227106 151001728 890831042 949085606 407056908 857751430 900996514 749266638 201638290 324496758 833218306 610463718 283826876 118911836 105136106 691617598 419836516 399552496 389724060 581310476 646116248 803208232 93980928 343959680 286642918 128521510 809794642 659521506 725928446 265873914 836221220 980859504 482425664 485273978 985657772 753644130 90797878 684691572 483329350 25455932 791549800 995789864 400728594 455252688 779968852 706732412 652576044 600653766 814207792 28397676 113810454 481809622 61722006 624210958 988595556 864039950 927164660 908836024 307384770 621397490 183828574 634554268 513834838 439538894 412972650 673455744 145895150 163842430 359036978 580405948 675117970 64774188 699026036 23463810 297493538 13609122 391845146 434326024 231879938 525675214 287098268 488282026 724913230 403148462 272136974 313388610 106517226 436477912 852901136 635518668 58723652 474199168 234527660 701837002 105076550 490610334 412813694 457989274 382859298 334489856 445565544 594876954 232623778 980622934 881881122 269024136 43807178 405597038 77531926 836787412 642295860 376427098 535521650 668358312 54531376 906154344 684778948 433152426 979870282 801724652 116785148 613763786 452571086 178961928 369427952 394449242 454702500 696360684 102840768 884697548 213518392 271696228 898618476 188341778 993259082 529838164 454409256 762002930 229053710 411878250 883796502 998446850 774844010 110987954 598566066 684290300 369457146 325137430 326181810 641184784 271674950 744710936 643165564 623454360 604083208 697890128 826293424 658633812 452332184 662525546 818052480 385460556 652588292 476792454 479326684 535195150 496474550 107108944 256893250 345713032 156836880 237611694 773918708 617597108 256987624 769441708 44224654 519215252 379914820 651768718 691506404 407929172 327864626 298824876 651324394 870983688 226794058 485400590 185624950 808337238 118968508 595119710 243641132 668052522 621110832 469804062 404844112 794993688 238804160 768419808 106919662 263893316 382183546 550771872 181406396 11527606 75416690 231349868 611055916 535299528 37567242 399748844 615667850 608818728 130586648 803232032 684263010 416803982 407682596 944173700 519883728 698393264 996241342 359204974 210571810 645430178 309028418 604594482 214037110 116177684 865029414 690320386 590436934 762688564 937961094 777009268 780937250 893591694 457467630 169937478 759211420 388671590 736899746 287065092 786953732 849264734 372263374 67266668 23572640 219255386 21126618 948959972 992231166 695408526 393138976 726038362 546395696 511991800 176061622 432127186 71678960 720653608 324351160 188909122 65310482 503978154 722880896 569785974 456598344 845769714 439121422 533500828 998226004 983806066 253509502 749568318 364109482 835335542 502994240 324690774 108628146 250922326 241010520 63788394 795213968 24262694 487591980 166786754 259142766 80566182 744007024 484939864 599282198 771421030 353401388 85001602 342496390 980934090 879209794 892603816 53170092 770854862 788103658 721143034 175086228 855985666 807300604 154191064 628145400 547450994 784958998 512157672 705792426 586236878 221826378 72325616 938019800 859889816 887074788 102039790 357465968 67116044 595250106 864050126 749569922 593249990 498414126 479499686 209546324 874470128 172126978 519809106 969157452 213722188 795526218 919169538 205533360 4789536 200300470 356298800 526759348 916014188 92059710 626983810 842788138 550598188 60433534 817781976 790566928 811383372 530662526 528489766 310598394 794018062 601609668 363510274 71219262 369085278 997562118 618581068 949475906 308588426 244445830 77140376 708546824 642875758 760346790 334287200 804960296 333434748 66276768 511489232 859198814 510283854 416069766 841213068 265561788 365147372 203189152 160899962 252250114 143590620 321711324 465877664 820535214 917594738 21723882 381610456 583603416 336878044 915106088 853396270 462850784 647563166 531119796 560097006 425874984 740464596 555273028 472536288 189045438 745807850 988895970 613285700 377855140 558274618 600479002 690259878 216631990 326556052 570013142 341904002 966960924 182315524 905415482 535710764 216193964 892551670 751646514 723229940 486457550 700716326 749176950 353964148 984088120 284342266 928488278 571920078 718922688 431881878 179112908 710476216 370738440 899092542 347827516 708449256 260201322 999826476 951755268 90778268 523568540 219240384 428463678 559092648 202663936 346813392 42132528 467182212 152933764 515181564 974632650 745695106 133493992 77510682 287766668 695754462 376859264 240297884 279059272 451553448 241674458 901810346 704169122 606880604 154251720 243921656 506887142 246156284 208021544 342105782 273954474 983144712 511341620 918590952 368602014 808744606 307353738 165170184 902796222 248259364 357807498 804419498 640150346 242126772 731327578 105849778 45287808 91439268 870049088 8413736 112834008 713245612 172714698 768249782 962590356 636228326 936796836 590582996 373065310 97971424 422005658 339560288 926998520 803166914 331737552 800822110 863781804 347587078 231257408 315443720 10424438 22010894 502397630 319309426 490968658 598622652 90957328 361724940 726062884 802064904 806998386 688184608 689261138 766810092 845751372 366293490 561656522 671621248 937230822 399025358 832430604 696486860 759952224 636787858 477701156 980138400 660981754 146674798 857200330 815589612 697809724 169326176 660031820 255259018 329558606 72822510 752123690 308635754 794220688 331582844 590899134 30816750 877296524 462512628 692693080 326558188 312113430 373901552 964725498 608390840 444808928 621712752 701659654 237529172 935006566 209648784 280089680 182225850 72928854 928568204 826854502 79922694 359564598 943169716 930706406 834433676 17314144 588458334 360211588 367489554 478330234 207154368 222852776 470286090 933914672 390432216 153444504 177427662 905477582 933371990 703951466 996216012 743462086 703876792 157387928 851561684 656299920 14687074 608574940 731433658 451703846 440040122 80828436 941133576 589774004 827124942 585572488 23686424 413390086 868848852 691941006 218573570 942770460 966297746 258000872 801639412 220539814 342617940 136696056 408504930 576534260 814356964 261704590 669282358 70796012 419818316 501317812 981301878 447791206 886176478 10441572 945770466 458993502 304448190 846095206 775483862 57011364 71638 614828292 361217528 23903338 61952058 676718330 421829078 197085686 573434160 901351584 263637078 386141066 515367108 797553778 60935952 310608246 142832434 597159490 152662464 680557498 625399696 148834908 570687632 89671094 347847126 458675818 547077174 863597508 38613372 364277366 865916978 854737134 712888926 810827444 854138680 712745716 578856018 247041702 310774970 113937124 733415518 280313722 364434886 451438406 337532468 128926366 312902222 74011038 592689504 382410768 325238216 589001228 111910366 51941564 653032964 162649324 679060208 59735572 510038038 41482948 487056518 561736742 434803286 82474796 491901808 302470080 984684504 789146040 777536446 661624588 489770822 520665118 197656562 427551932 196560832 737701080 719451594 803952270 20325138 361474490 329430342 660968436 613448834 308286750 132821602 874294988 908379270 252609984 375442774 622996184 233259914 375320220 468731868 781137846 148224176 637389794 59845988 36183012 795190830 570959106 317409532 159504780 291515696 808571876 41556432 961431634 773508308 776336744 477151500 290168034 921499846 999584936 361970892 579706754 868939424 125900328 752901420 975500254 846044344 25859900 4524072 973925046 252188466 15986768 849744424 48024912 997423110 556622800 146812886 419611320 106938512 248584206 185264032 526740088 728150942 708519614 846131094 75426828 813751776 783850150 875219582 928684172 631639322 468479322 80730062 630157718 564673704 642712768 460737294 599524374 392642726 540990454 852792180 545279208 392623528 163301258 937551528 166582386 559517582 789210798 371628058 394897828 482725976 55752608 91494510 682626520 637566760 869544164 611237840 854367910 566891404 242362966 116805120 655851986 560432484 119803370 28144402 475145136 207731552 681922316 173582534 99926000 70176054 655289252 989774730 670622102 257897806 75287346 904772108 211949490 87394522 957132314 28950458 593407190 335828630 552158040 697654436 305367500 919486776 525152650 776996308 435072154 18474660 370113800 72912044 474940978 193664014 520159510 877491784 352383442 219457640 412588426 49406056 288480884 397631596 724915524 513676704 361943002 198064346 649672796 512457580 439558874 632233414 541752556 886976860 259805268 554584772 761481092 363781300 142227560 267250572 14473586 898170250 509013348 207202414 862189396 511535148 340110978 966998134 996040426 133421300 431488916 124615434 291337722 450058398 651765002 806113356 877310880 7962666 416751914 224704528 481115488 66372190 321517488 416332012 640409962 869428584 283793564 65778668 651452804 252960050 319237476 206465144 211805758 507471146 541925800 756725896 582574266 320108286 476795500 911795516 828076856 143539998 520437374 784721630 909833306 64513720 760847502 99414126 51455308 390305142 393132140 526275800 241081512 618804088 541129224 431491706 324084020 228464278 593811452 143262360 907681976 999746092 236823918 572745508 615951134 564202436 614460620 368263358 942778742 471681330 235004766 614081040 251904848 586310496 580692798 475221794 379309188 725513602 823766498 770565404 684801960 985041184 534601252 235813510 908387788 792938710 354157194 445552196 619719314 759137720 245650188 572013894 600140594 58300898 807435820 227578720 185370490 863723418 58407724 804142796 124849700 109179536 392145160 801387178 326022124 309321122 968230086 15806180 245930416 218938922 693803210 45791466 5481142 181510994 914292334 707435914 234264152 386088668 616109436 98704136 655261052 82195052 245878368 932913372 321188220 587635172 833318178 321338216 423057650 760063978 345314366 582039648 93707550 24706956 907449116 909220246 592574746 222790246 56454146 937498740 551030040 503966418 81877160 148367606 48304418 245649194 585552490 99718128 284672134 560358182 356133486 591965736 84807590 415704106 607692870 172407894 538187290 150836346 621440742 928151770 266480720 967890010 418338268 129742156 238868928 579406512 104482822 678644324 811212560 258732128 494786524 558187356 176192490 873532446 904900894 46538706 936228062 625137636 105520354 875840682 670712226 645400032 758433788 164985668 562715258 761072444 566845820 509985308 21281150 27941024 918443352 815176488 716522660 879511404 701177904 871890556 748886832 469839162 664418832 891876186 738677596 141471590 239285200 349239894 23802278 428531460 541949546 61645994 545265314 574574848 703288468 137109480 441450600 372854332 972915050 762767842 182126882 233942186 644048142 192167026 649849058 910703804 597643392 209373720 135123196 119087408 774194132 992240956 250708604 286324766 427053556 642893858 27058804 559442158 596504972 488990664 419590888 587277672 342826910 585376474 230872230 815908614 195982336 346747890 191920636 852422082 116257496 750223118 641488330 191234516 312642306 779378042 473993204 452218528 138047424 627851534 82663758 519554016 324366954 386403598 469097840 590513488 173541534 621285774 713626804 685846720 260669856 84928228 121962836 412597402 713012360 766791828 815647402 589140734 558341590 479088842 363650354 979620552 435746034 524108470 148511966 452160098 955893308 930608872 273233638 84676736 111831584 776546598 198991402 78248168 722543992 944056536 758785868 72307858 63215828 951042146 700376676 536877494 776245432 860598844 395473226 77516382 216620210 354661434 478023144 757682034 643459904 723709084 418460824 624489122 700753078 78378568 680794514 10739524 411671770 455630736 418468218 597564078 325366594 209344014 908896778 852839056 929622924 686011788 783551500 579471908 333232280 301087520 123550956 946216416 746333904 331925976 939157754 5930280 847768440 211174656 465410752 326586024 103458036 845159582 277182414 914261044 256683288 416597914 65191062 366698162 140283246 154443102 268362232 619526100 414488604 29326074 614914234 627198684 82446516 938638550 322342998 706370430 996255186 807162152 161667794 109676956 724969664 296680622 990679378 577134750 960221468 375823482 474537088 501451652 601285186 470481804 524122334 327968006 708303970 266492518 398644296 547084882 315311594 428754380 208812840 738536996 862534564 947216970 203272724 943428056 391338486 3984376 264321950 406960104 726523384 472108222 960121544 757137590 997885084 760946820 489313136 769152622 698970246 537434426 392752 344845824 305856736 878661332 413963686 770667516 232461166 126070974 993557596 191500802 35222632 704811458 205362174 953096278 580143140 620528436 745050508 748069894 465133266 722511988 469770836 587987404 386313278 877212878 651843214 245437852 479264744 689457270 513350062 167632836 168717772 757970562 389593292 761033432 211646056 873620104 536354604 964040512 460937108 611885096 147622174 170205240 370433150 511825346 721766076 57450744 682353374 218849002 302890982 301145180 763205486 612259384 929536194 320560926 646951734 880581454 262243204 401242480 920140472 953810618 482668442 769389008 60798336 692615460 654762326 94936360 124883712 935773168 774845060 656713634 968576866 654351098 740192252 877788828 208623528 437855754 640792212 55840144 691103286 843985720 421619034 149341224 980057220 953620412 231340724 874083784 561147400 284706178 712307872 15356286 368599020 383572002 38966174 342390232 383022492 296011342 1119590 191620174 390849960 550954604 745738486 613438006 186814920 839457612 752258204 423650200 104373648 817829196 172048290 556365736 524960830 257558766 412913112 863825582 929164656 378156682 137938414 267906534 780490820 313289780 997512794 812765874 777501944 628722412 500863944 748665518 514225576 329418742 643228738 675101112 628125982 973660686 844306510 623790496 255998894 224690596 814859460 8759120 718868768 540223460 538125318 14013308 311214938 114721318 188096134 813907052 993362212 951013452 853899586 118837736 735284254 871113524 118840570 615791212 931638236 912672224 927881524 567837774 977887006 575893224 118953126 569192234 896620888 71737710 609467874 296013356 140537148 507424740 520029346 609872524 649877600 472126464 388686492 475613572 763920056 312357880 586581888 896203016 300536822 522982760 187148022 8469008 424412514 92939568 658383500 693523650 156411336 168681074 685425364 889067162 788526418 979060028 347140296 981917134 186156850 955624230 188715138 708341730 739993844 643415280 180330258 196086292 292264098 94698078 787375358 213272766 362278268 589095218 958811932 742211592 283312520 674730466 399127996 311027750 178554778 123328788 594195110 688228686 299777340 556122592 655871032 976265462 957591848 507198908 62473456 932706522 637187744 241750850 926437138 764202762 552490764 918994146 953376658 86075898 54185172 768017610 632457304 539317826 327264990 676067574 477138114 180331820 780572014 783877594 39366034 628593024 351182272 479121322 386925318 637808634 291731938 167181068 515891138 172017812 120692206 401903220 697745412 828367550 794729480 379507532 182031540 413819874 586275310 882847970 749986438 42242484 636314442 268256418 329857592 25202944 714243168 298346428 426911860 912474716 824972754 243197902 482351756 923901112 167538014 283094136 417369632 62416752 571754974 446336970 862353786 389480460 111376296 713095426 300854186 733108856 427659810 445020528 565041454 860211748 220555430 168360232 593942658 467742138 627436228 931629700 104502368 630324884 254078058 334352278 449475872 550548160 724810658 918106760 676331710 563059892 268528348 352471034 715730596 351117006 603939082 392896936 355649574 468048286 375732998 927082462 502844866 759325918 2104292 810294250 540635694 353167350 138819406 804785526 819314622 789801666 402179066 404201398 756446720 604965442 263517486 834848284 186439236 473207900 869100054 900007732 601288108 965626302 730925322 721749928 743435490 523616802 74508844 395003340 597829988 842757074 118541024 674887850 281517206 999639452 893237628 685040220 46235660 425914016 205140726 697417174 989485120 356566900 521270546 893626444 915336116 215593982 207564262 572759614 564349486 857883778 855305724 875919560 44213844 901946592 247061150 426843972 150972924 544847980 713996188 105188906 37091668 801661812 403998940 213200912 365472594 321193550 303592032 857897692 908479774 465448914 138726536 114172050 752296938 605692210 353206384 401099822 623217864 630246004 667319956 610421290 100981100 392518556 174111086 763604952 298027940 222135898 971713968 88976310 351266166 746618958 14125428 807441322 966226544 97775464 563324166 277721070 346719538 71956548 159478412 231709994 850257930 313404234 817851778 709824488 88149430 59478048 822919192 964452230 209606264 21128024 707018168 314248548 519076866 875776936 648342466 355168094 636669604 749905710 785476262 946581264 898113470 113620576 153591210 69114306 166240820 763618804 827954092 188898706 898298820 484611624 483134466 312797180 159623902 127642290 395142158 889601482 362578126 423475642 494153116 679560816 10388940 853508896 986296548 108406522 247975534 512166398 894093740 561775876 516086398 368917200 851887002 906727992 616732940 874206914 558920078 792028106 821715080 50134568 26898722 325883184 474458888 762253958 999392244 204260010 613739754 884831508 353748222 228012042 503782580 599188432 168932498 886565278 532061712 251283950 607864192 868876872 813709626 518798826 281694370 577205220 788462998 173286042 683366948 688416104 411926074 843280720 80102462 627631786 874669640 135540762 121068630 405580300 195023760 936121036 942321318 303696982 202573878 105946664 809050154 372320784 678487588 572138442 831747670 877408450 699502042 446077678 185999326 694691360 259053076 440169180 528157058 23691156 745091958 306175684 974999202 624145308 225306036 409763650 32088348 984329392 933372046 38305104 472998330 757073260 466666312 484344868 536812730 382276234 857506246 766545536 825697144 932510174 370597884 238145868 479533002 279485518 221824916 855732134 829727638 887474422 871605668 544378804 961004662 791176678 681694336 748199050 801787542 651916970 569490694 636451020 861480720 499521794 992493446 479386370 863902336 197167350 257683746 53587408 259061908 635054456 705987542 141070896 289588944 904703936 245575146 670791738 887764220 884080278 666839694 318099444 152346446 944226352 73463552 912176578 321256184 945828104 752774660 516020978 243992596 48912912 347142050 449103080 606743226 53485480 131377798 825877924 752074036 131494290 635596896 854149208 776764192 674864812 304311090 15402090 387220574 243071226 606395016 388432002 679863152 77976632 254535266 617130508 15760264 905250886 769323452 683982122 880147514 36813822 21179658 702707886 76035566 59299878 972729180 589193610 867752456 555284522 212446412 790943750 978749522 629583992 919519980 504594506 737880942 551966734 620395424 64212056 714412670 256768840 494672904 398016630 919978440 86418874 900867794 142202840 550745508 184633038 523812854 927377334 981252156 252579696 793087356 647755066 477018396 875668400 772855712 564158454 934842330 232713860 677756384 706531294 215022264 444972842 634377938 150211448 272194516 868245596 885066010 682028686 773220068 131789198 909872200 238460150 59400628 411275808 531195672 293313566 379242312 91483300 73993534 866565728 994896638 122223304 492155246 530419978 557322168 120315052 548757270 376500558 141940592 641854804 778366218 497278010 937489522 319600 145420306 864808720 758322570 292695836 377404682 961266968 267083982 402075242 327048096 465195242 25176192 221107192 474575194 840226306 729304436 859942538 585593824 546148992 224478318 49071652 682733198 201762898 371986120 589348580 114817780 954088680 408043256 503178598 351236410 705464150 26461100 995083606 323268856 159583334 358036118 462988318 464547160 731734726 336875308 206315232 89372402 46729102 43532984 221145022 490119782 408660236 705353362 791029906 713766388 492403496 715868604 913182246 615526256 14728998 260884216 497223380 492681908 811371604 800889452 511574868 94463378 456272736 338092964 899579234 645376446 740197020 752604710 597148726 3448308 519006922 566293164 432082274 212953102 908170562 682625964 457884046 360822702 567560404 626771756 471163542 273844526 192729008 130967702 833336244 577198962 356008028 572350532 521610536 662403658 457925048 398587888 779953668 324522194 695374640 717120048 808320176 804195082 469483750 679479198 336151400 378314934 991632082 965960214 507778102 441956488 691983552 131896324 143194740 154571124 767032580 72420038 519413006 152899842 261675810 333464274 940178222 151056376 508879474 461967410 337100988 763111426 552821276 355364402 646909236 657107264 390937340 588647734 633308988 214241496 962220800 705587900 324928592 702844002 562132870 103904828 959202720 570698614 498947310 547676088 954163190 967168950 215075242 585520900 148194538 454309330 606523274 100084838 642959952 555907866 430738330 105158342 677640468 607407804 232179966 524345696 352882906 933503738 957631834 530150122 170597624 686062090 249749264 922136770 730082926 208747296 753216440 30098918 236355198 262018650 863636096 27594424 723787106 446310114 232132412 801265910 440900630 334556382 610870870 892775278 966133582 801051632 589459054 467400962 776131368 322769138 897246754 97771568 843368212 782626452 375551370 907035868 646178836 60476096 635610388 928443914 950709646 136213434 434577918 900679468 634200396 711544892 460522388 326661194 437956824 464616606 250815308 287794902 382218152 704969418 631380022 194741876 329179414 516783890 936260494 497162102 547179422 399000374 353428316 657407912 557052186 451196090 721424880 1818002 543703988 104090106 956653322 162542658 4202106 703720584 629845262 731263738 536087788 198337012 958560872 217892910 123584412 518528172 841385858 459076318 385611934 241839492 582783934 15485644 442464580 999498960 889175996 760015904 739619832 798673540 725548474 424351420 152169836 793407404 269971834 42181254 80389648 380290014 48263910 648267258 142972730 915408464 720619664 663797030 496823504 617829044 440215932 24068410 547497684 359659960 553360926 91005212 354311994 162331636 912585672 94936418 828299492 373361752 430417988 535383610 303591838 419106636 316046958 853508874 638913956 379263808 955130874 40398236 543089992 653694104 356564270 279987708 549356780 168787902 209646080 270216082 964045388 258209160 670569668 717489514 452983264 170048652 408524728 550247674 151917572 686932184 914191440 388829346 552397228 484113782 978453644 741915346 422169140 95595582 426134216 966491878 266001002 565825592 925254394 71834742 883005152 853152322 425393430 62850842 706667232 358105890 803957934 413690108 727586092 208279042 612544634 596164968 166673246 42216046 643659900 582215406 323303744 575933436 504175562 47101450 788704320 3866090 724212228 973162424 231620290 990730418 645807356 505361658 337116776 458438376 624940902 581310862 893636190 486939886 576397728 393056478 804928828 374848640 540150786 786939020 570863330 883979640 358609182 815972224 405365046 908749094 405180948 279044840 894294790 346214864 588105402 344190544 112219594 767733712 750920808 891998032 87693948 336761986 74329832 399524696 823511806 628795508 115574768 876332544 785835604 84296740 301910140 995823612 282571652 798676538 238006000 154964706 803333012 984504780 316930850 774993784 755730492 281134814 434985732 117425734 351342142 542674590 962889956 225614606 44167116 115377400 32908902 352057478 410962880 550947592 195723328 666945630 825167254 789090768 970736748 25752026 153130016 129987030 962604582 722938472 945089460 527156262 487575574 693842174 111406544 933058988 329503554 27169220 83904766 751711044 986638526 113002136 629713526 24995394 778800038 424692522 950219570 144548050 138242244 511322538 406948950 736397048 145115752 352759700 974945906 773040010 346889738 348540708 822835146 76115326 840294642 192633692 835802576 89977354 453897682 264119962 249021380 543801408 84038494 787527200 967233240 100886370 133919186 16318382 279592750 798341662 959672704 644926366 442752982 111601954 92016498 93844498 339096382 740538780 924313698 463248712 483140088 188282066 946680114 472660990 714171982 412780976 153645928 657121158 652603222 607169720 901032482 269561092 294165070 252065288 427430482 593305616 301293526 801455570 272482140 118222164 241636560 549979444 647367568 78140976 628067978 663293442 508714262 878536868 207216374 897486502 286660228 148025638 557092574 368825236 688204672 124020114 733156090 390140686 586837066 453955418 638376262 697713486 152801118 809647778 166129198 480536990 722863238 101031194 139342998 976619448 20704890 244189506 32732268 624985572 946268694 955251216 287094924 541336 115418180 671144784 601748404 754758106 614620676 967267806 623249040 518509652 227577476 54018956 878473842 812998408 864537570 176425370 686552300 354666450 138573326 145820886 285546202 389425298 606104190 138047158 174257234 904029528 729993560 130004596 962289112 957463174 839457726 81965468 793545866 785340174 803171874 828478684 15913792 41963788 313578976 564962968 391499170 951113444 437587030 727538776 658415496 335238642 45913992 30232440 722589870 528892538 11831894 156843494 828684082 834939722 961119522 170523538 457665800 719765958 188198298 27771172 633959978 114141660 384961550 369895030 827674700 104999620 987887732 157721016 530848304 173881378 704893406 429881844 840480328 77791646 954108908 246031362 856670832 578713790 191615120 727817812 583791022 969332234 678688346 708261172 253482296 180527300 430702872 324315716 168966414 518869436 941403034 86051016 398681552 988843414 651583262 21165744 544283136 653610138 449075556 203911138 233452236 159587012 68601040 204627090 494550968 508993524 812880332 147484142 929604390 500340152 602992540 923942710 205444374 225442994 78460768 458857412 380529856 981380376 637756494 822305616 316896858 734437686 736475600 359388114 82133544 21494370 873469464 217644826 73848556 458949670 942698304 962830178 995624302 612375038 915869766 540707150 196461996 535640846 449752530 228543218 932262478 543748356 252337042 443272860 467877614 888888486 174946534 841800294 989669964 848365068 75316226 445994756 462680844 574050090 719867834 580948652 812987216 894955390 208436704 891028430 815613616 136612010 969915958 330791286 45499758 257469862 433121568 454037452 186897090 290018732 718955548 136034128 382593372 265150678 690935886 707312198 437386174 964364026 515742500 452385970 804198926 551241012 275140994 964198860 671453928 819670066 847402624 959412890 770022460 815100326 863963602 71987906 249906336 121080156 997439754 39074078 338983568 150390240 313750040 57024614 111798894 40532082 25257584 899915154 373876152 816154754 452828022 439943580 171605350 731889542 282491270 445803336 721179726 404633578 605687994 581264956 13859796 652383290 54498878 201469182 545525296 955699426 539553216 228440146 31702626 452909744 680115780 893176560 200973342 807358788 248111956 549870548 444083878 922873210 260649782 607888124 960984682 216445078 324964490 399315304 554832230 955329656 97961424 766760090 690528372 439144472 184024822 355025450 557062584 61892540 771071108 841760868 780426582 514853836 263555464 765987924 465543686 979133278 822507882 549132174 565569490 419207636 976794394 99762816 354873662 447410552 877532042 931799110 377929010 185594616 847158892 767417714 971490866 75849954 379152664 435852970 113092 971651832 230976186 688789554 594466616 730229422 932126986 502129108 86965018 821892368 833164780 447186310 348660596 668726742 656266868 498719762 349567044 560982004 109675630 235691504 477384430 594553392 189594912 372525978 790410386 849657460 295172052 645220958 234045472 845972362 225372120 901599520 979430108 144805820 447887052 746932680 476517358 895672908 797035802 445203320 61128168 973000082 934130376 666245476 362801670 245414970 742739890 663546706 36934326 993415770 619926758 747297426 793628176 392125366 71890976 191985836 72628168 590544326 954924968 821647856 352660840 338703560 933644808 642772422 207894696 144142898 356299426 451638488 871090244 150693134 385661332 763659206 455169480 306500080 705837496 813511518 548972038 458779974 684250800 424033250 609476306 646505564 864693610 46925936 433159148 966954850 724473808 72546630 410634732 129917524 37108702 900326640 614409622 601248198 663146392 959071808 91339372 101778526 870054638 428865416 741397800 520596166 383398228 595822574 582550816 674284958 483715360 440284838 106961704 644987554 259270402 128311630 223320626 734856462 467411968 728394510 130051856 885499676 289379332 248561648 24356772 168028124 633923196 833909020 561377106 401178050 608439088 378120452 243621568 719128162 606394974 948209162 422050590 768312408 903696314 87095880 815340882 689267158 175802632 590537880 620231106 541961954 848715014 386263614 86889278 361859816 575238254 284326370 409961116 518723722 201834680 762268338 643772642 665044034 438348046 916821984 89526342 730945148 633235306 619452682 264742850 21399864 679615558 827188838 410542502 527826966 706967114 831299562 868262058 632613316 588537348 279603666 741366842 525231046 421916630 558761792 731777908 503131980 263408536 53231646 853854864 273421138 719377672 165599590 998372778 104678804 435244166 232307928 369923350 332501322 270316964 220965212 563191064 294185408 82150788 423801100 820614016 654836348 173646464 7509156 701695570 490656282 428114040 961404468 120974172 455864060 993590586 455219874 868975702 731587826 283730664 160484536 938711740 772765066 178964388 409791488 440443200 600109134 822829504 528468676 208467524 579113652 465183534 79464698 204628326 679835492 949943022 959518260 835750866 456958032 788154254 593565142 360805902 638485914 361220444 347220930 726841684 842144058 377244854 419321224 939997058 782167516 1998312 270065364 415326232 925326536 532641248 992117014 708496436 85524936 207947422 604238138 975763428 697125146 887163606 721838796 470689964 734654578 228510810 867122206 51152852 513426084 245957962 998159436 78073026 34978510 329680824 609961504 250790050 272981624 785065934 441093196 322099386 991344290 166140962 926956532 179675368 728320864 611205206 924979868 313806244 239812906 582327998 602044330 306931786 911313376 440502072 196695574 880989112 428788844 510688298 679791358 12416484 703679702 915780584 974164292 746125758 848924098 107026016 963504884 910564760 688887806 690628632 611020672 848745672 366601868 657216118 85241024 115574872 60562072 293584788 379991484 757678262 362142510 824903198 851809664 446005314 571965920 334534964 150195424 504155614 633436260 93101008 707419972 397292442 792404004 430902284 255177408 824934854 366980126 233740442 286265344 301607298 92036224 566970798 34687310 277781524 19389614 262017938 674141918 670052796 724552028 364893532 405116868 18951856 366218290 476447166 218982546 158372016 651330858 24499886 605712094 201390190 370588546 87875756 588302408 392646804 91827532 309485738 975111492 343513488 523603496 823686188 783625198 635494466 257970514 727551288 940526590 779134652 510664414 384483026 696397654 327620684 53013050 416028446 855827386 617882720 725850630 491745402 902085400 708879954 864139606 880292036 906247638 354121366 357120806 141713738 20238034 434900066 834130730 105143270 17663644 710331144 595788026 466586946 475405266 743003626 732742178 338295224 337785722 396439308 22980570 37754710 432198426 242526742 519159834 984611262 200108470 574777618 528181610 443958284 918935120 769821896 236136164 157943748 950027120 502155106 711051130 862980608 562069508 530108802 239350212 518323668 622326722 46177390 419710296 415942324 545011126 139235426 604175504 793700948 154945786 120211726 131566974 985312060 526820900 208860334 979034986 244048570 462988356 967616346 103875606 963504060 897638480 903790712 679023614 596301752 996818684 457551354 425061482 133078856 669740524 948536394 254078274 658857698 738317402 957624772 708164768 134138052 269732048 403981340 185135256 542463462 658842888 840536004 138722340 114524412 163895498 400011684 264217054 280567946 158139442 318315728 536278826 49628890 372202826 567859256 922606538 243494528 783216516 927303762 270190408 53487714 140460346 75111830 865033244 764843410 535902310 597432106 54577368 631654354 376439862 459478704 561148054 481145258 24905518 721004470 493800522 569133806 174792930 448660774 7538046 648277168 840489444 185208624 657900976 452410246 161101400 771846352 225832380 867187740 12996820 478016120 339922662 921242846 196723796 742481224 425328948 765372612 841906066 365928610 53007490 825754324 592491604 378407530 278128716 569261420 977825276 725868234 529024562 76941216 444452336 859261694 34170464 624448548 412447180 360792128 37531022 596013398 671530614 71756134 828883674 901947282 685033058 932844554 475341734 805497298 257451174 572528100 768517962 302275062 429487840 81301604 152961462 741503466 378730714 630976418 113645192 819437690 114034200 162522308 835697666 783618034 185167112 235137686 656383726 950999968 7677012 611312728 331998624 180150446 72166434 72020562 593650686 955689958 309681424 526783726 813678150 841059234 243557846 506857996 717095004 69201374 8143028 853713330 529540564 791555952 451814526 463196142 683648842 316008346 189189652 820926508 403530026 751614946 513635702 903597770 610791478 510585150 212140638 666070126 817356220 868681954 261528964 320649568 203875646 97127122 85402012 496854202 718212616 425556602 590030856 735888654 209374690 927468492 369051554 749328002 703599644 7843278 161935678 189833868 926079696 18752430 780732242 200126478 235692542 890752610 577641268 594777576 513319384 669291292 480342642 987671518 834741756 719853372 512455670 521719922 941720282 344651480 906699916 875285518 786945916 554655262 683405480 424673790 797254368 188263062 225879448 657875992 902956592 711768074 214676674 987210770 633424006 750822502 606039840 680437656 670377564 169470858 536615272 347592298 20095994 132327834 529688892 432266080 49684212 890366568 337404878 761688664 394170704 264972968 341219356 239914942 438233562 415913076 509644746 32400814 983630228 568275496 763639916 820586024 816551890 739340144 222047892 949407480 124835298 443215406 26868062 653771054 620644256 370008792 835423284 729965924 762470726 87197028 467562386 695501788 351806050 407790816 937589854 750457124 389816290 701432242 464368144 908789334 402183762 496166558 328364776 99282090 961096834 811983946 679021988 246003586 183489548 964264128 211709856 466537650 258742120 655756032 115556322 419168814 595798354 589407642 13705914 45549116 861090566 715114176 691942282 3429020 489337128 98277886 575126896 41131736 431284074 710039240 766427036 161696804 543040870 142621886 634584444 671749162 44048460 833710222 312633580 229276536 742535798 479301200 236984772 541818678 238970014 724788900 948929982 988832502 480531990 233533614 587163124 805896396 573842300 807989010 781730984 630536110 953347210 608827036 348560836 446498620 377391764 26921398 837974088 900203498 60829714 755425546 725160252 534266438 911545312 690411658 94936866 837958320 777385706 290579380 70406674 112965714 815865042 394046346 527400270 858575078 479495308 945709994 67433490 687330032 877820040 834339542 943533424 915534386 232863594 254004054 71857712 942820306 744259092 767613420 105771354 184565420 555259666 304981006 614667690 75259908 997734488 360123896 308012386 977453858 561411228 544823522 105580562 182840546 917005212 159773200 213878602 412430364 54553700 811278358 415749228 456956938 805491296 677169136 803110992 402091394 883431500 104003112 464454318 323643050 639408818 578541404 38139060 117408782 87086212 92702148 735837034 652931754 316004236 528330920 298933552 37034124 828755098 447309196 809211898 364489170 519254666 600830072 509958260 480472718 807707988 474746452 262342528 319940112 301218952 452120318 168124930 477313594 420128570 609816216 488278534 85445710 104558464 665381930 718536970 400883590 289977256 106024630 593985482 469835650 895273192 705904492 669160012 858502826 613674368 202016930 785271088 994226792 944166366 629716736 60917602 313703278 865951992 862205246 592661442 380664544 588096440 354652318 249313476 683702260 531137446 70691346 465720106 35578782 157511764 832567806 903832412 599156354 581074792 612124584 371257692 802596474 931120038 265912138 624007052 503106714 342238012 205650560 516776604 67082942 992995552 811934874 414337824 970646984 51268452 201697642 120164248 685055816 818119310 572880114 236813440 750137674 231625544 866800384 50359930 621325674 825268198 417545870 733976514 261652514 889277036 258888038 21792424 637642880 932319082 197359488 422904238 652019422 125510190 990156170 921020926 779609702 704859440 114354798 623687356 730879376 39749064 561307640 411175880 241011514 309748880 831893110 898639668 320453020 410574886 766485886 726431074 324625512 894650782 889548222 588651218 902661322 646344430 815735770 268464590 655260902 380908448 810834990 748522652 353593936 384302902 311627886 933236262 612432988 373532898 768644506 879762074 569485490 165299366 567254124 444104112 440116104 299050910 648768736 163559230 618127532 421208448 510020876 821228446 574516410 28505604 375565398 794580820 448875740 532745674 412197620 845158042 86876128 881090374 426455372 883063034 235330662 931820914 48468524 386701886 147031284 800857518 344517818 484748640 715014898 909922054 408924986 356993694 865440060 813062166 859327234 934297116 528046224 660583070 934621696 164781184 433705868 715856694 333874252 166214884 493551778 269236668 614630024 769572090 780103374 676381158 456812656 325143074 682947070 604967034 985926500 385871518 490461456 662535208 954754030 962204900 27745368 569233034 118330360 344729150 193304918 716922146 311785806 659669918 638495340 478073860 586782960 906923172 782890604 894950150 200906828 228801674 588024928 781418492 417030272 949691378 569155320 559668720 379901422 384797508 765270028 822849296 926888780 605192640 98690128 191260486 41370316 407841606 156219076 942271790 627828410 454551174 751228396 611669336 196080296 527187798 408106078 434815088 560214662 25671394 397734502 396564410 222311714 515498938 188822714 546393956 3883904 680235974 916992292 585701684 949243388 945377596 312338332 974514110 305195126 754241216 835028432 899887802 392125594 520600684 957186642 503862024 661264972 704809040 568889558 782499792 320901340 467005336 328745732 942401988 603426502 434050066 130823740 328211632 428892236 318730524 214818278 355906742 657888936 3465134 601111064 7086654 616466472 80303046 184563552 508414528 94810032 335152578 337529700 291045050 343310930 929591222 224514090 637904396 671387582 207452352 633215056 116221242 26398036 963033300 123130512 603327730 946924456 586758200 993103394 142239616 667194882 121298068 209069172 333928624 553472378 245213822 864633184 973942818 109814402 422459952 958331058 168849312 971391206 754570336 173619458 459405184 355518904 477115708 141889926 331780936 235151806 371967436 893476000 825868092 520187622 758802464 916363282 198683124 524867460 975307348 340291232 371125038 952749808 150304518 255396174 52984454 118354186 770291944 93447188 274560082 442201714 787505344 8739034 747444584 96377894 763019214 280155814 40726418 902563864 91766266 182954754 567765202 201673608 738699402 270708110 116207574 717980398 569702218 617874246 977995884 727507308 125096698 745869928 932324160 737408054 404753052 509191040 510058984 774372118 869612726 256466646 978174086 145454862 165962822 984661166 481898222 41810570 643704554 378924754 77083084 552001940 523196686 763535424 330712882 852880836 496074730 535631000 559356840 393167556 615527796 715656352 776159424 721718490 651910260 141632576 293289310 76160210 742525636 863557352 525809680 262094726 8747360 256380940 497827868 17501932 81473878 88918766 915251966 712608092 539906790 89725148 867032684 476748960 969552564 341301704 688279718 211676988 204622844 506584136 198929644 883445196 947083188 22403086 400051294 427081662 300672378 988761900 886203986 633608348 63421458 677551386 845557152 863790334 274318882 694210776 913037318 209507590 990594234 329699896 197856632 426826930 571702192 418526738 337691334 221730326 57909420 85564306 853397722 40287342 528924944 716907792 254722780 389602264 2531668 875350606 947082988 84173526 188366730 558658576 983245724 907664274 523313048 951261494 994431662 70214586 574594570 744196698 495409884 313143406 309881894 293886916 170287770 116680682 441515762 771682002 33089640 272962448 647113392 766393224 273139672 617461642 233512146 744785960 437401078 866472426 830980092 926189876 489905414 370933096 454478238 902399418 28231174 420349316 235040584 545110422 972756812 422089198 892634628 714639614 50967880 131758702 170973244 484243524 161144186 979076052 298894016 540863340 27636564 317358034 790655496 430968392 838301460 230559602 485091076 581956356 865816138 122194964 782830360 501120178 877686774 201418498 480066330 943049892 904380440 333994078 179709134 914200208 655262364 209652560 565786688 7973296 954705716 289694642 235038822 941448238 933868740 180799084 764769836 805498744 254555900 48556310 965047620 492225068 257248392 152280636 795750350 571051822 2295046 562060492 261646886 384208626 54526990 839808536 162998480 828706532 553037950 624474362 876913838 498837136 148481298 64284494 712151106 947242050 383028810 814939290 70557104 999993406 67928856 261291054 813799138 343244308 362470558 102430834 221212570 550216684 789635256 636916050 954707212 447918918 960366652 450077184 758776566 620272142 110589582 512737652 360667024 40279354 388542914 712880842 120626610 147100448 172398740 282848476 440090668 852297058 289337264 204375396 742032744 686575128 131374814 651412886 715535698 380966094 306798288 123785010 33463796 372969770 227751116 392912094 236567212 182180114 424580374 247209764 993529860 651422802 183898112 464323976 865041732 380337178 103372016 890702954 620846148 459499008 407108498 972300016 743734796 620607934 515569094 335504770 233638676 480450918 474450380 69668440 425122426 571865634 609848744 795961198 830291710 314334020 891104660 57078372 440861300 822119290 934386702 686523892 507066232 560684306 20406600 37543198 735502216 407865430 89562514 677528056 309761414 115344762 870003326 242121940 295871254 796906456 274628502 790467400 391120162 308316848 82041544 560918712 873464088 674383044 739586920 546017034 656921594 161420248 153929268 408379574 543133978 313492132 862929530 93861284 935992224 548617906 787934066 902573212 291454364 60820394 33316586 645550182 665343582 184062382 885129142 535354576 720752676 568522184 99623760 533110998 773066168 929456858 702595862 653178458 533329160 704733076 751220444 15069034 263271434 505998208 12139088 26471768 909890948 892665842 299507858 313783972 496946420 838952266 451907100 131615402 557141136 123650088 597289712 840430650 142593134 960501276 56862522 810290514 417657384 598277378 144061568 22471784 792340486 869552406 281859254 72032930 985587006 466608134 488458496 102965568 209338296 750051966 715946658 816686352 798393198 589465450 943184118 153239086 832568230 569733424 433854868 251828698 105058906 382903566 572366566 364870106 350025650 473678340 603461992 448063452 22211702 912032178 109333136 931524414 113513372 261765468 642143526 928103592 196140036 852914434 183418726 290014316 369774182 1315454 435692150 754334286 527830320 177485068 465296082 763436810 26460012 179588772 934417564 61379536 134477192 548591508 314283302 588930798 255181390 955798902 975465762 245827134 633463546 238424100 755446880 232087612 94473624 787100800 111402310 271253500 125935226 419249362 933950636 473210858 622654380 363809618 297973750 32387716 794786706 672475532 602592238 74868576 712699024 859652542 589476736 160332166 619807822 197163254 384370928 946240920 328348032 103239426 778906886 751973488 60478514 297832018 234121230 301887692 931912268 688805556 428236098 824213272 233633788 499215788 869631352 985107254 91094092 32905044 147672166 452598386 30836714 721296206 76915234 725345298 790034646 815330126 468866258 926909958 904302632 87462844 122272494 775931874 396978358 793328510 369865220 37761974 663193820 420274112 555742990 248306926 844163308 899153366 631833478 565361632 232728854 514940198 153226740 612274562 735237580 721953972 704976702 130350800 130440944 841531308 120154466 424446832 689517756 172063278 425455874 620756464 754321332 875874576 909384132 487227616 642306866 954922050 810445666 433956520 627589544 172358476 593390824 392749394 503763134 481473232 666795192 422764958 434003750 897047854 677064298 333377548 319904280 619164092 500726364 109424192 639412716 444150650 962112300 362194324 443977716 848780840 154929656 416076272 792817824 118408928 169201514 754567740 908191120 191082938 625635464 504075894 916426994 981733672 120070374 997902128 5565034 138423852 895773046 538899752 279006134 897253654 391469664 390328854 627181684 375590010 912540240 867318628 232960344 77584620 219361810 553841842 62858278 22929470 398347336 459027770 571171952 277695690 345779122 377244008 561633492 164834166 4948530 182449474 219538544 759580702 551872470 337576914 667683620 656387204 927937540 701732974 263794298 605116492 762296762 274123768 57780390 79570936 451250480 660234382 676322114 842886436 714276264 166968718 121644388 223379976 672853452 560783420 357955610 356684884 803109586 623723536 502951550 180158168 929761714 920784204 547192256 772823604 682349382 18364694 815281466 472716404 561340004 401000118 351515618 552185738 824809832 706081008 582761698 251274750 818784470 348507586 4137626 54425140 868345520 204257798 950276258 804104634 314027290 559875336 842379476 602781038 364942418 702971726 890788864 510870344 160232902 488233734 831967752 29872632 791964070 913382498 583878212 604951326 142341302 300965932 635287578 399686276 509890580 678463112 4812078 773361360 992976790 287749872 847373820 635389986 986056530 797824732 805958156 442690266 149712468 274026892 931705686 12315038 348164260 494995094 182954516 73625738 998440164 455952022 477762562 109060530 722547040 826102410 71522230 911019682 733711498 62047674 715919186 112941752 160677234 438081914 658022784 773548392 638637220 498552538 707381548 925589598 172347446 746984034 146756474 169093112 768104394 728497372 204840572 484330206 850085710 596628880 703316476 125177564 858681866 247016476 464324654 614370492 490912272 790389526 223095788 783797816 697702122 254310330 833830910 269663334 251273214 103477568 870785338 487383700 60455728 610317840 210158910 598416198 673367692 996906230 282948674 936230678 156722826 950380112 150481818 719649630 36447446 119970718 263929160 288569716 35074474 180247058 121996308 791240158 499408956 225392386 131686820 610838838 844487970 146326796 459408388 949391176 925137984 641971418 349607058 724193048 989278840 653660840 954872498 984406636 963060770 336595306 527631716 975711982 426433008 315164934 267525386 201345642 481398688 911484846 317402750 74984732 870433828 910536978 477183340 361685856 914882598 408897546 225752966 690483016 433951358 370913042 122647442 341964156 64887586 886169890 159862386 159575866 695226012 602821876 542383238 9958436 888585190 513348764 62797258 412203734 818803244 119486682 388980598 480026760 926636218 938005690 403620188 558844434 697189576 926511526 360897702 569829808 778259642 742104426 572274090 445919822 879201492 847405276 290583514 615209510 642169690 800187052 274007712 49112984 653070296 95989654 621200710 104272810 943319092 384574800 596784644 9568122 20331398 112015548 238310748 129919950 294991410 479902358 451306618 676014340 74157272 563229488 789083736 740959926 495486954 152411142 945698530 203109478 371056400 735054792 25714054 659507484 874742088 763879598 670550498 27706962 407594660 995277600 488379730 756580478 43896178 115926324 155599472 999955252 2767710 85863436 382869216 60638750 324485624 181189542 897770998 30811258 466587522 313420148 42585618 24198142 607035844 878139164 868136374 565056384 627430608 787122312 703800508 437625102 414626350 84735520 595188362 88343044 191010406 604390300 845721034 422813940 607871182 596077374 839239728 398123744 469248278 172725508 184835542 648676094 987524002 185812446 547647086 62300740 836123916 178171344 341372698 89749034 836013102 298948438 245904580 161155514 882014152 115757054 689270642 80372668 241643108 352093884 89501428 181902414 88494444 770572188 111498142 83104028 271782292 474645780 838751870 207835478 198784558 55890270 83720876 503012186 467125396 832477908 480002760 688999338 875345808 76455680 205343282 130339492 877322854 727114632 458266444 896382220 769755146 719407678 112578020 76226170 397726012 446960778 666615458 533909786 806901782 403038894 724912288 747033362 433667610 83814140 221132114 860675866 452810408 477013390 856402316 103451884 668123494 556284506 542883918 971005388 902679072 702663158 545167982 683550944 246250542 376133120 857881846 873955246 806600242 258441888 716826950 503078664 871810426 744935018 568017654 123450974 807539738 905505284 589142300 967358570 135526858 546237290 544963696 477818156 822328272 635549644 178370746 254456400 316386416 971867256 229754688 991450038 51070588 376861906 334285726 433731972 36955662 75145608 83190280 370556022 860453156 223089668 362671482 669608448 202240426 542642100 520215850 342095032 719600638 916166410 112840282 632339476 408404748 894096392 601543834 957751828 537677030 316130440 979960412 122805560 864613290 860211712 998630748 393544414 423764278 779341146 772409804 768693380 648066092 134525496 719072464 879303412 21322672 283527578 787662410 934600348 46277338 256201258 765816800 501386980 902659254 808700318 648722838 12516362 385319600 942351554 879226902 498912190 350535194 472323628 601990036 790302640 477481522 144592138 141966950 977048888 701687558 233273068 593326790 796931008 471186054 231527178 411800284 207962674 629452710 183851476 735937904 942707164 648505818 981660328 34911616 101362394 178163582 905475838 528514146 390733824 389669342 208268878 466856748 183242084 951479232 108344948 467956480 3776954 433276680 520011860 294306402 254978082 253359080 381792282 283188202 614567166 430068580 203208686 319160062 706248078 397418304 4298926 708923942 75385954 851076898 559461894 324206082 90280068 23547244 776934378 878839502 284328598 912065240 225407570 333781982 608121960 652459718 123683112 539856832 91985768 975038836 273118002 883456140 245409264 544842072 806550362 535415562 508995266 458585162 684320938 894239212 269346624 633594810 206515992 90566282 223902424 902194650 549402188 298129332 777856836 527363836 665336034 149323808 452455734 433684712 228492162 443826620 755497318 503594718 6295458 510331886 669748598 896520342 839563060 901095470 49939168 690386586 893311112 646496584 997989792 673607170 584850238 857593304 648894632 745744130 490172908 917688744 102078384 244809640 34231960 523897838 103646808 975900848 189748124 461540142 585221374 78223642 906040176 39764048 298927368 265399598 249603764 738538406 626927896 991913344 654588758 527268220 268190064 638739290 932649226 446752502 263276362 449462706 275577800 809810044 281090898 468942564 844783490 187459094 578561634 803061816 241429556 967309340 491302644 198721548 890686992 490294096 653183502 992420730 622477296 713513300 709461248 953209684 990904294 166228156 185749138 826135426 528153712 34992006 681963080 910207536 104347312 257493714 961810216 187305268 644816320 795975662 259686648 952549032 399768176 432408182 175995254 328145506 930183774 683740520 763768984 740754844 224276246 136869802 627153804 724039306 776169560 532495622 223190050 712630872 533476172 902528268 701265738 612186408 664645962 706014146 768033494 954191794 380661430 749708358 293055238 356807520 9999004 529925302 81008660 856225970 726127472 444513828 278203878 873268090 6614342 346703988 199164750 43437898 907361484 496082176 435196928 566950694 948875842 114289404 479594120 809468646 928111850 903271512 137391108 759884388 72867680 891444396 338529704 394604342 313285026 635580804 11883462 451951790 606233320 976273282 110104644 143549938 399429246 431508004 600787826 733908270 110281818 496017512 51381088 202281934 674919758 562286044 831632452 448054578 277198488 476922262 263357574 932807968 284687178 777326254 604404300 772880382 153930492 565407718 262172896 471075646 850846556 270502878 386553602 332904818 539570414 927849318 652741728 252205216 718100172 120356990 905153974 582694148 850011800 443663316 549084112 913360016 375320292 455199690 783757368 213388838 308094212 69167700 879756364 138490064 781321118 511795022 942188618 788747794 709821378 903532860 690131966 558343568 352194852 77445178 382249276 690746780 424758962 620491854 2839880 637740406 180645104 152411304 368142772 161901424 600943162 784916558 54209720 899709586 413863792 854037436 974557008 600233900 400993870 255130080 957540262 584593416 730279730 967152232 575795308 46273818 561967118 303550104 603946590 574696688 460776328 848203400 139007346 650211334 946013080 906971500 421879096 178416868 877547098 419446734 705853758 383474466 71515528 646379178 293527196 583849714 468646888 36911366 555718574 117615840 467189516 609594484 403515022 82409082 280089110 297489922 61731164 63445774 540142324 11742094 34829530 702984508 214115604 327981028 87365292 355310336 720503706 260097962 460887300 894375856 170107806 726545364 519426824 323799430 936118226 444868428 115715214 367077498 30880654 345632990 834669934 805778432 286186240 60437126 994886016 555273252 593417728 248222380 491192526 120212448 673404624 582766066 964775512 9599126 615917776 485966538 750587030 16996296 275744488 159275762 20843596 139854690 356318000 851488194 761042282 626584182 884221920 89582426 999573848 694486822 179728556 578300824 856370512 498176502 376996194 894805522 791868058 98481108 761821688 866085508 516987006 995735910 860944648 654720850 216794232 733668236 754195614 939704722 777220268 746547158 213848100 78141240 479326994 418549136 534025844 620066250 112465202 925260716 926636118 595976494 762554382 106433278 306952860 306995896 94808746 752170622 553333180 116255154 219580476 19407432 38412654 711073544 520018704 36628822 383173214 365194750 325350106 184195230 379924454 447223500 583110936 906087624 272002150 693613774 882826666 646398314 5942150 849349372 929001702 278628138 295440702 818889804 849515678 952461052 525461522 46725748 594058458 630386328 766331520 505715232 181985970 943288750 877686720 535769300 986717850 152977566 985001402 297555196 422136618 126031406 897991816 70539936 969436488 422024120 749684730 853874912 709193560 409775544 212793422 490888172 537047224 957452162 785100474 919315558 120740032 541641016 198615452 538262938 102604788 919068500 662105326 165047208 328113590 473947676 619938124 530043956 375345050 61990120 840767476 146850644 288750004 565037672 651953210 496564416 319797938 705842876 396407668 195120300 899739268 682112978 708603888 194586534 772436086 708885468 797408874 718131356 673160640 191806338 454471916 182142234 205753984 108967640 648110952 293028748 288987214 38709754 526629446 274941756 475857054 854295964 751589294 212260488 277320604 680217036 110320902 792905984 314448396 960992300 974443012 921023018 384938870 411161782 471150880 833393802 876570940 933474742 691249092 645597462 187642958 298894506 800275772 893869834 429290228 685773006 845301716 831930846 246123462 963651856 254266992 916811058 920931214 77382568 779127948 494814154 380750444 810497326 232315776 533437362 662534094 496182556 497658152 2867510 467621664 509587260 322169258 455490888 922793952 673516556 279283556 74845392 116503218 8880620 847241218 104009426 211674048 89247096 722673160 638097280 491247632 570467014 444848582 101531202 541372600 692302848 642467234 190111760 263229016 452660550 857871076 7940010 612607978 869962586 4780624 351514422 61014326 742993970 615109124 225600456 657730632 528615184 943060226 289524008 33154478 662327786 662083772 852234138 194120976 946779202 69075622 635366292 864978598 205844492 105053698 67647478 484636946 536507936 501077396 783678500 16600706 140919108 319634330 453365660 528847246 980376158 999854256 432058578 784855892 382534204 440614010 936438514 252542442 159800386 675862352 915577306 303863248 681046650 756855220 565863008 401244334 319595642 263562394 849555166 448451722 715636944 126706468 687804514 539568658 504198200 189389268 936186814 195339236 505912630 185572946 109551888 958738480 588935148 806792018 444440396 604859754 956838210 542110052 623049262 10269690 419811460 96847646 342730260 328095056 43314900 982447956 605658702 478442238 460451046 392214490 30920844 611596190 149359104 30162912 66631898 68501928 193483870 199285072 965030416 684893480 821026940 302793332 235757376 814699740 236958988 248674898 109326498 987802150 554114776 117771402 2177908 393148616 43636866 417089888 803664708 265056692 317642942 731062222 384444572 517260604 266188996 937200766 936988482 377782562 546131088 977929336 502691486 119366446 698422482 101094398 766497430 227723360 316016786 328098166 786981220 235415260 774006608 737251552 497629274 701195542 78248116 317397442 312343018 234704920 807373430 313435326 314871070 284782288 170756494 92669682 908443736 540540204 721563170 297115470 450261444 592995802 290179202 437053520 141732580 6696664 839561504 326557934 672552792 247871306 806414806 788785432 79406334 462504718 267663262 844446734 577544746 551759110 761436784 460996206 207049104 495194282 203296046 43744372 519075466 259818552 995755512 974390632 759801242 55903136 55804946 83536838 494758820 492103850 732379948 659688066 802544378 790028544 214747092 609481292 186589566 166459842 614652762 545314866 331207798 748310188 722582228 718836292 193272232 818801068 918217856 108032318 487652424 258385702 756834286 136420120 619538802 639008518 211652412 686680826 964898518 135293116 813871602 636906004 623348260 935921478 78815856 900559158 884253066 409986412 120568440 735935676 824741392 897193718 206023128 176988400 413180262 506535914 556360480 433512048 758574412 398295900 192468684 126810294 693714698 800872162 617968144 126253778 49167290 939649718 909094876 273247006 213624328 27435494 819768748 316532988 271686200 894388852 599889424 485099846 721041396 659835118 274097218 210649210 457038362 258636676 243801220 553917080 637306356 689074164 631866582 522868548 113091306 793438206 22261368 937039096 985069032 330082646 950867350 211190114 961983070 384529150 347337190 307772050 749441014 562258956 72387958 7829012 902722230 523424008 5752482 877718676 509103614 255770008 392157364 807680548 348246514 528687124 490260012 757850524 207203112 202282170 628003802 824207284 404416102 480269552 472340482 537535062 133592444 928509184 196217778 623975790 948103032 273185754 569293932 388229808 950758596 835434280 59921054 664260468 988762766 297009530 806714188 715075948 66971788 810833788 963704676 831203482 711656000 297589398 456185522 259548362 462624062 362710080 653326038 23170042 472692336 715998392 600104398 428634428 604798838 861995640 44242754 52176024 865290036 726735848 534314206 142054616 446738526 606243440 102714142 924465674 853116550 588795684 221725448 64962114 343758762 552020666 945220442 266855680 741274018 709123238 437986488 679398316 924298932 909865108 353257748 537023480 395287026 898074296 373850920 587204608 417704584 339636888 295610648 231372518 20876682 898924228 494392602 738020018 834762654 717065148 606614390 298929048 411221618 657080934 479229436 707334068 19273108 432382056 118566988 391521194 533997972 12850148 671376466 317973474 314792190 266600374 980227510 42528606 121241850 927585474 108743410 163319214 715972934 8489424 222769786 579906378 7775190 793028352 400913934 709174360 107429248 552311448 666689360 245125490 972704378 836007518 833436470 757390652 981592974 82785550 718490456 44990960 998818758 555448840 658237136 105166158 469341800 927087384 750741968 365777966 662760468 50477128 788569196 152410456 892832782 114889370 246528150 143167908 410538904 721253444 791896704 635942166 96051422 28190026 125234638 703192500 486673262 667648126 40585114 135124738 536773482 763809240 702614492 327607182 886784402 181667550 609470090 31872038 657482690 109706392 959293728 170276500 69740304 971094962 418615686 24053328 385866664 827940432 328057402 274207808 55896220 844988266 47443774 912180154 481035158 670150564 901522642 309263384 258593824 766226104 651281504 385831820 274734166 414279892 78762040 902592950 373227968 749797204 136057246 360573230 153804918 381767670 98686514 313723692 204641848 636523996 57675120 962300810 668512520 137872668 948331468 389511194 567518016 182454446 285632396 138524980 704416666 418319186 512567316 218215094 989231972 520478896 79059776 230658178 671467876 59100954 582649714 338416840 276246978 205648352 865229222 567470978 592340198 99769568 546313794 288334356 186059356 84494898 703975730 746416042 651766254 30330332 813416746 171652572 52556696 383617074 776082314 267845522 496002284 240093796 808479662 731525500 351246276 297958846 609833552 474971346 820927310 131761234 314307902 944177562 360772906 291269546 394485016 492001254 428019598 825675424 533189872 772959950 551903754 135715468 539818794 212757116 158411586 573246436 981016836 781003532 952990610 487980028 881714094 312460776 500340120 578204786 234461106 3897400 190436536 243591896 536253252 422813402 131919136 735640718 668307024 366010512 679456306 695774868 274051416 671468950 643661936 346365702 391587976 325357320 56159148 27050740 644193168 69712352 61763356 904708768 535093654 701013992 354860778 732259636 441648096 956537096 463363298 395127586 835941626 607370384 277746646 644189754 213025892 197701518 555239896 266700206 246242122 782481582 602765788 947806248 298889302 176693350 665855152 547942544 940689338 660339502 623621370 583904644 356214092 2211390 250958850 888017252 973277422 267977944 104668510 917772442 127486860 668912816 773593678 577369004 465787512 156948798 795494950 887219982 687105682 464128034 234701850 299578762 214588392 316665842 329001830 95228120 613558800 824236600 117813014 775262496 363742328 589804532 227650538 787603228 522302770 302332568 791452896 505156708 453858526 356103320 250519092 569200744 218715592 102863206 4064890 188324168 15177014 881266222 622432152 485237564 180643132 291843390 714611024 289769414 956320470 856332984 834909706 761989014 513164104 325335390 24426174 337856076 940074000 921489966 992015758 564192122 342353266 879712718 833429624 340631564 161445696 297685296 397362156 961899762 746352258 599332642 598538224 447027542 46343406 691041880 802407772 835127914 190214546 176027140 829635792 147940414 240252212 635154694 456262050 615183946 177739660 404028116 43659050 891212268 156904050 754281460 445950012 746415222 246433122 626517410 377702090 977303310 781789340 572634802 371778914 263099298 507190810 389266474 165081684 869031484 931443308 499891122 463137016 367622088 537953936 473941612 326808990 551703392 920618200 445391612 494203258 478795574 701026472 399926296 934560126 269673478 239735352 370414692 660851872 290141444 994992176 153880232 385745056 206254708 295069012 954389346 864882226 732527494 185699478 283265000 989553212 712686172 822702446 887175082 302431120 977470444 966615846 547508632 711622140 265892692 60545238 828693134 589481634 283634 947847940 596880078 350018296 308454534 621541648 971518434 318918568 409660000 459367934 111004734 975317858 700785662 981677804 721485304 15523810 854965932 350700118 325661130 423281032 821347202 65838424 297915482 105545392 561271446 760400076 344975372 839358454 890338610 598870792 332558734 782633544 744668268 867867938 181029416 333348304 965707316 938009084 757238306 814990674 6739438 610016004 633944028 85574766 627696256 454352576 99461786 623471078 805926590 776793568 841548094 32349786 703364470 604117626 19514416 762370646 651360310 52938782 15207896 868393598 193522730 170755612 440272470 800937600 611265442 502166758 997098858 321585420 164781572 696250970 654727246 129846024 773159860 62360644 208769046 707544858 69334650 271456842 610621758 493771618 768534820 98864436 93221798 645784210 815608200 290810894 813486352 661791590 111755218 196173202 506336938 586475476 599485856 105665456 48913910 515288246 431936956 726722432 692870568 639706194 229575714 366828500 776665528 769739064 292796586 249353058 666508402 373831840 862711578 350601226 945659156 311943378 136247050 295811784 912684486 50411626 572889110 352807886 317713246 77263270 993595564 984666812 68657030 747609192 196601940 879598694 791794138 744421856 118043268 612172490 326278996 866026260 373611832 172777260 398511298 979775372 85178846 412244382 333392398 88912954 207970106 597396282 688628368 122340072 428314948 479054852 594835892 966966834 203855152 928810274 33456290 589744602 884184226 136460438 403620450 16846604 150313318 490370380 152269602 587290656 41873298 401950112 211796878 962223998 192850002 534813786 771800364 933305024 678998290 494985544 789044090 121113698 959245878 902454948 186206638 823945082 996669818 472458992 547540776 751507240 777975554 24007562 144229060 8423840 85213266 956025922 488939850 723789286 169932260 254108332 328150462 95381852 856621884 123993860 788395216 825160164 266157716 445838012 735105694 517667822 363820096 38221046 793079748 80012914 560112246 960755104 338460432 913790078 691532748 774157980 105917964 994215420 811583568 210575610 494162690 30400874 814700026 593571670 813350156 186774368 541979952 732936904 586451128 778408154 798917490 459583348 112743448 178058814 806241632 957820210 518690628 528045330 130174478 584721330 113284710 750097874 768351670 345450182 966035122 667368756 125470528 961069402 838139388 777985774 314518340 266972306 274972044 817144182 341438530 944745092 464670418 676915814 463571058 617241000 553333960 653929244 971556690 400917278 236107946 53852154 676734998 293344206 324799252 689954894 953738900 816948712 176149364 909398034 389779826 209013932 464826478 965145464 349746338 378840414 149180792 540186358 222851044 437117644 484955028 781350724 386462616 875081110 765984526 325672272 53416946 429706258 871718644 439172146 810431166 367709156 329167210 934705462 422525678 959379902 963180942 592236380 843220068 767150596 708623188 796849090 814501220 635209462 587694382 275535876 168973376 947781934 979122264 68286270 991687036 433886480 721071326 746784856 364703846 501194852 359244420 325637130 553887250 514789612 615725566 118508542 191851648 590794818 490727548 281230240 703461586 525569264 225571794 317044696 120077468 720270566 243638538 985712324 364513654 340504744 660493782 626427780 161734032 155089340 860738686 394380570 505848224 795067816 789235774 20120020 830812956 88254784 784571228 219596600 591867108 444672460 40876476 143921728 649620882 92633282 646800738 331928526 956293706 464028322 955130308 648900996 740375860 656602494 112956534 298538986 154845262 960244764 738996776 405927840 427050720 790791856 907553912 988250766 398704690 215342936 68767820 890858256 191950620 669162044 850934214 847277856 819459256 881553648 42312182 623087650 951396486 426194032 122570944 586537762 942453862 477981340 940868648 608489952 337760064 137137732 726953344 452174224 305064080 857273566 486936924 362457550 219326902 315181624 761546780 44391230 214805036 431111804 585441944 687701968 219405772 128445408 362558072 103446030 685873778 737936556 134918670 526394474 76921194 56876704 830642054 973860120 631547330 82749048 232754422 527710036 102478972 765877062 665755294 670446540 219127062 118936698 556574890 848328442 861311156 655830570 585663956 679528346 500876542 561117782 959319110 550349986 42222716 711556192 279063538 301270340 928930092 212238678 67568250 87655900 559730854 928081764 180991252 773747898 266402530 48455124 73092904 947667886 76308290 454574182 669855434 339912250 329944684 580429486 127246100 35148240 576471316 926111330 522558442 22213832 527721008 35048376 464421230 812844686 893474272 617701776 305779804 259490432 351405352 27980808 833914768 129932470 969551374 261842156 251652464 23775598 525306004 143319774 163666590 893255654 639073080 683426624 531721588 703540996 34961448 850374658 625423036 170188080 406417194 831806584 972084210 430001716 707606324 57149586 555756674 799213834 761714328 322718662 806125084 490371936 731248396 456020664 823877744 757508550 350785926 835224278 551563778 730978962 580499504 282424662 566448298 200868594 551622510 581491360 351466130 957778670 798094228 520592446 846644898 329031638 885157294 433404312 440442258 98991482 375719794 387720512 549598468 40324440 507729954 840742716 372261182 536726816 323957648 249373196 939550126 458070076 134635090 657969978 553354032 589719300 907229138 190010416 40725504 977310282 696394320 796968190 573466222 94849076 333072822 777154148 746148632 562641862 526798312 905892952 982074522 399222830 288555766 28277310 968275888 847975002 95188036 547103472 151998086 668807490 44671606 809872434 869672074 963810208 211293038 62475708 300166770 151742128 756766500 159927962 937260846 526091408 458376216 134786878 272702704 763068066 69575406 447846906 746636470 768227886 260959094 270387548 858200198 596197208 1856176 908946494 428897032 463858536 906914444 904845346 298552870 710294652 952982858 609907822 389866610 811634738 197347456 892467008 469407914 702158910 180184078 926380414 515758618 363506518 342680692 73704702 550848018 243146138 731164534 376478486 818660612 37932794 966338440 248026194 13566688 602890582 711172734 503060168 317209734 339713244 190266930 496066342 383222206 695604986 608345198 30016736 915271804 134282952 753641802 285930890 34355322 909555908 416192382 468148752 988225368 250045354 504706522 757079438 860097572 981527188 229051884 489999892 573664522 266741276 528826752 958833118 689117594 538969610 914789258 624433726 334149572 860750236 375778974 901827274 873716406 443931008 177585296 782985492 344842762 404860896 196943772 52306098 926487656 31045234 500391322 607457130 700341518 103451028 192303020 362860758 228035026 123862656 654558286 936061352 32591422 698600508 495969508 477528126 931506772 210927888 186393018 213183754 781387220 375950190 119019908 762065622 991754370 757937196 384703084 442343628 208377062 786643804 52462364 758274364 640214368 595136754 847862536 638788022 1505370 71811718 451342100 72611392 693442018 94218572 898907970 796949130 855020460 439642568 628234334 62766802 776043076 596545452 662586482 652371592 472073530 553106050 423899630 251991992 772685658 241414436 855132222 39197544 558778984 112848144 503211008 799997856 798425362 418273376 847534778 754430918 345208640 67222564 537213416 401912122 585949070 494840754 513781634 257810608 72918194 855689140 483489696 77147056 183833674 974517102 197048942 266745498 623885370 417766272 662776914 122346114 712547100 563773018 600689478 440014654 687267792 861225654 429440658 510662218 876022726 882096212 319692636 232562954 571510566 207262384 122469156 42205376 751306992 867595780 923409978 200279344 582733988 784709040 167799016 571729118 426349824 274910998 312899234 452962370 997602196 484633960 127393414 17675892 797015766 950721734 969239728 15535812 789904420 407805926 564061336 559689380 712778740 296342328 195525908 906571962 927927396 340008992 831308826 533374764 284877500 437712714 228247226 455884148 335085190 530810126 796909712 54748012 579741736 72702078 696937952 182788570 729084406 211034156 649657094 904906990 626421810 894267226 587672980 437271402 706645512 532451528 334642134 487909888 804466468 255012014 391840270 307268798 959988914 904227872 72015694 318220974 855777780 430301654 335484644 31289134 270264932 247919478 150852076 240532828 170269626 431970036 700264420 297720948 526823422 764115880 323798898 323731054 580796302 954585316 892857420 862175664 219485116 527588370 705546566 65095332 730533796 363463628 468270896 180172644 652439690 316198668 536584526 853681846 98196572 680094548 11068060 508808930 808108266 98174604 615478490 219638038 214778834 561446104 577893014 323379886 100407278 608320350 732560700 126367522 554476532 298797722 17736866 33511680 784956088 657892556 949363826 123217670 919044790 976071114 820051198 386786636 981808968 661359106 79026340 200457262 775327324 70953400 119511862 12877410 200117992 111465874 361200038 880787388 308959356 36013326 268112506 665841130 121321922 715411474 79146630 646955778 754862796 777397832 598348266 597432648 749181786 646323054 829124740 843996872 690185602 761013502 927525744 636609420 652589128 648730356 401417980 770032138 436321442 970200504 259298510 739791972 140226464 146394648 335123414 383864086 646069154 866777408 507018782 399547630 682085900 698104344 865156802 460974824 763999060 315921276 11011048 392362666 176572716 422978258 143995496 407832378 337169918 624354252 559659524 392869428 28617898 692968500 500389668 736796784 557885696 740205418 162903922 88581554 9130958 620586632 244448384 612523806 475672668 514122622 338091596 351662986 224288608 677921178 926343378 197261682 73786566 74461722 187991172 822457580 240288766 181405418 367427290 261692880 268618020 268278146 39020804 597983814 3257746 97205306 28293174 153454912 885855312 846323768 584144946 478410596 441281146 456137618 724015270 76908110 611331600 745150350 856248312 651140548 251766888 258608426 143307382 799546244 566860388 153211586 499410690 112128732 13984906 430316068 173192228 991691348 810719864 264370746 875013612 601044540 566580996 520735394 656599342 356591380 346324478 655559964 417952364 419889592 317266492 476712068 732132494 923428986 780042962 280443952 351129608 641854226 414666744 299891432 931094470 656485294 992245586 337453790 270824816 100309718 526380720 157101986 876099850 404552988 573257708 743178298 320708208 425249670 809550142 313151076 467735376 895658362 117394356 948018778 471010586 711875334 400788508 986697798 110625564 282404696 116864 440968972 397515686 374788010 218161294 281299078 691120442 964164448 27521804 691124076 759232746 63162968 72955918 680023558 105139190 139324966 723485994 770346060 317265796 177533584 534977312 333121378 737194322 548135556 843162468 827546448 789975030 596455416 122603792 606945112 373166122 473183456 136964950 748969708 665354742 694483380 740221416 786164810 123262482 711119986 829236044 591556420 58968348 528004338 722265650 974031074 915125972 842945672 23084652 812534644 18005924 860064592 667311292 545486122 700580730 842909600 729316480 748360208 322811340 271128644 425940652 391164434 668833724 487874158 213087374 429857240 530128984 489708194 513650332 771349992 658126814 52122812 291916466 996069972 206982492 885471348 467424632 900255410 852346182 891838868 542773496 786582986 474059872 749206046 830833944 949919386 947406528 250844862 961380024 973943602 744356080 866285016 493562572 716451062 625230490 639298518 432900146 824590190 930845358 624464576 675671414 682859916 575894786 49628130 859934370 496372304 768581716 824051512 217244518 744461608 61744604 203285856 835360394 709752552 467536338 327325692 623352344 875164698 25831362 328766568 543629114 184964084 940151446 212012014 639053138 162934012 424021252 691535966 481981566 398407352 177834674 438511816 622131308 760424186 888242318 464177436 626306604 925226962 512987358 742723504 451884698 117470246 484475346 191674448 55962416 501130262 693008138 348470576 126504362 107225570 536277490 966911152 861766232 161811864 288523596 359056934 450497510 228890200 893902228 231811336 716298872 455483366 791084476 500869736 920338962 466982868 3346262 268016694 732127490 402210134 343342700 744750986 385212318 436731440 651220260 511980296 575788484 469567356 265796468 789834262 582963574 664234810 411288730 809557822 553089784 146851414 486007954 503750606 802663038 593977492 783574284 640828368 864967454 717938118 941747130 454610102 48452716 258117874 386254242 136827380 491852404 591380290 307580842 493152240 782758424 386011714 246030494 467761656 477568892 941765710 265560764 551140680 961530454 60156004 638666380 357466690 373537076 233018772 410715590 57223964 493836148 259884204 631068028 666278422 864197718 417794750 860749466 660475574 661505160 215254086 892727740 454990066 367194390 172570170 204134398 388821872 963866596 837702504 483026920 329105378 335831222 81379994 830058902 796518870 208801980 610613900 629190036 81463564 469272588 427986022 864668498 831197028 444424790 550602898 683531262 369328222 121413750 88621324 277936152 353447294 719103820 587259274 977866174 212922192 506931792 401915300 636577686 432553048 407016802 972426436 523135540 951160000 585152274 966755792 356562510 46388370 573326096 317199620 483235896 573424286 956655214 459376606 932415350 484497808 853745140 518133088 696569282 923866082 581761050 650936228 666280048 115141184 988204796 634183546 47513840 481380570 521277808 54278848 432914612 782555482 567646162 94139310 8905324 901472012 655713774 225703900 117660938 885624990 879023142 581001738 30012192 938017948 301033052 86689862 458313574 910472306 854557742 357279086 516045684 944479898 553584666 41544520 34211414 639967988 719067670 949403614 276476458 298058626 429388806 753854702 632330010 223976180 77866064 624652750 862733856 644066296 924936304 455412984 135701196 956573052 715339398 25843988 359230692 380237808 802609344 454770566 604672154 98027456 507548862 127316804 96878310 878002668 974463978 13961530 215696548 431173144 821053792 739908848 350335668 843801888 975706234 530372710 432760708 772285694 494298138 276109960 670391110 129539446 690729664 644591590 390891244 737779914 636495784 500986068 263854908 696017662 69338578 217217674 822189148 486278060 396893108 440762104 955610994 607554956 85396762 644759562 592582206 304037558 438198004 953106382 880152790 848571104 647449746 575237058 276520028 482879486 839381980 664018112 667760888 279905120 515628314 917678288 796707036 418206450 349276712 64572712 315837918 944946752 421796350 909511712 903927786 220185208 635475324 731197884 539717438 892636620 846034082 381751560 901946156 739742938 43426932 77056990 523679600 734894664 806631214 139906066 418472564 648857446 224711452 293302274 273564696 89135906 373358344 452816978 348438342 283460088 353013300 135534594 429182308 316094486 589719020 258845350 357172808 391130854 874977252 178791210 402014512 705438172 244667278 776659252 235090004 348986150 935228590 385497982 44782306 940741684 8312784 914728254 391054974 875678438 232131038 539722816 358991002 46941210 602565366 221608378 820437350 324952088 901634692 584243930 177198652 359990852 555514132 756777842 516380092 597509070 302452848 598724100 797797608 883564786 296844832 462728096 493797876 447394134 498905414 222901126 840259070 16522196 612671068 186093464 449461096 450162490 778008846 484635266 894491468 15665548 108167088 332620652 912299814 290237896 869388798 632467416 63717852 950646390 994122690 166498714 112466098 218063698 878246416 939081418 19465338 131038928 717462498 727184034 674311040 933662316 441794628 124411940 302122846 187386908 291770982 303130794 337427656 551240198 624145968 21491326 506485942 943236132 837124982 9983652 976782752 847252004 66079444 264173826 627717328 818297516 568275362 126151312 738943308 154713514 286699644 303282564 241414918 363977580 813683674 752391626 718765998 413223764 103067474 326645114 282767470 570539160 40954820 698764848 997472578 112110338 507102682 747478288 859105472 836840374 986349478 72994410 350313466 704633100 942575706 48636344 251776318 158240672 719446606 794285324 864038138 140746912 154411882 351190154 451154098 926321116 880965040 883357986 200003972 530227310 370891548 767312070 992399504 296800172 222859026 14239136 161270140 599172078 978177126 267453174 232649124 543764286 366493236 906064808 76448602 464766688 500442362 329690570 959655274 953039306 576891250 290875006 443932532 501210948 711193530 521068800 816240324 119838404 486384490 226264644 89918972 661483480 204862288 714234168 984154142 79012862 901006788 219045446 772813536 38581892 188463014 695174584 898774362 707506112 515755056 457692954 830776410 608015364 990896588 171826500 580030958 563794162 788185048 169455082 967644928 777070122 131315988 924433130 143675846 979121160 934651568 356705988 862979250 281205694 663049746 890053876 976770394 429802352 982697970 934974324 815538818 849971364 340514698 683266324 499426816 748141798 72319728 269968308 486258410 786495936 230045154 591126902 910366880 144357584 193606424 801259404 138162706 772671168 126574188 291358164 165850810 628272474 711646778 920585822 409587570 185917270 724611050 184338002 208092002 326758972 765233974 854131456 961224982 445374840 210445638 992340102 864859124 388715368 350918970 714291846 185237788 341364742 677237398 972492180 128408444 895201102 36073300 314301828 171949014 482760698 238990352 973117788 377240688 867385360 138947802 651496560 198576168 738296936 683128214 666894414 624033670 526394032 554669958 19213798 822653218 234169880 656473058 156762060 307376710 909574926 59539804 511942652 330316370 208281178 765772340 369053538 925384286 946668672 690310464 484359442 19369678 78298562 361797772 321406288 776283066 732946248 589537332 471594544 800159474 662362602 730377864 371954048 262751102 979468800 698955700 967555442 484289210 688949854 316426958 150554660 307449672 181607616 650247964 235435212 232921678 283398954 810029030 618632916 347224654 450538914 35091730 336066812 572192694 908232158 558376248 142722594 912613400 264453510 624473454 708506294 783375890 421317786 11682414 151276234 577608152 123198478 285589920 877402852 684373644 900812602 708594074 507002946 210971326 402719752 566273420 475900190 555929668 245739594 485373742 829577996 535261220 202413068 548698340 88684820 684488066 901927792 916450656 955186096 955917170 62456244 601098972 911222056 107133540 764391392 165905438 542004668 726661610 333532162 990433268 764652362 863460364 55569142 950978706 800228566 47277068 688243336 62456650 234557306 339534108 587291018 327589644 221157672 293474968 724630666 196339108 46948544 77268438 112333396 862859698 567420582 995113604 471790810 95277510 941918440 381849124 776198760 793232946 509888336 53745794 412695970 885247074 344143618 802440570 396733020 228437718 949123900 684430560 173707232 445781534 186875292 209214482 630720188 120192716 935788470 322351418 370801638 600365450 579599180 662247794 704469778 89833218 890447604 341862670 334958756 607892056 761182852 264952354 610003264 992804068 80388682 707026640 635866264 137306232 401807666 22172842 79031362 386857756 308518536 857780922 120421634 801136410 67492162 612143700 526708604 245245252 976209218 714049746 505501160 381531270 54006250 670125662 401814166 435849802 62730702 939633208 172998652 633895240 320309068 911040582 80559736 668186970 101558376 422361226 45467586 66791948 171138330 237179448 969088866 102203250 736364602 678434740 682940512 990910252 980243472 658864964 126652782 164773066 230339762 835166158 496823392 769942492 770925186 776912698 737750680 785432914 154278298 903958736 134203166 29311238 392389974 183055360 445922258 584959368 252450806 284770108 487105356 188579198 828329954 211210080 700559888 529479222 498481424 896468086 314827040 299757662 607672028 162266362 280764648 589345090 476346454 804339122 253450066 262281046 929788658 850724652 609744344 401754262 629674558 990479078 183637472 573441430 162338214 142023494 862098770 952248914 248827310 752733526 474140578 223761166 261250296 86438488 801787794 469414612 598700098 367718150 477142524 120324906 863230684 36429274 820072494 644110414 736570210 557246656 169241964 866463344 133740912 88848498 925387034 576575902 262720634 65211384 238278150 522288170 373359066 973251816 184516680 241470964 191647254 566769902 324005700 42563548 389167696 747380794 421867714 405738666 10583508 566849268 245832844 40843378 118355944 739115744 422704198 758635516 326366336 986224918 10815432 177576230 569655350 306508736 836419468 828852702 621217292 574956460 975041360 561167986 871102816 315856894 380997090 353344910 213509776 971165144 909290918 263438910 131251030 950565104 861818684 303479244 411083672 466574642 72909032 779199630 477368444 716485194 718877804 561064760 574323628 102044708 886563548 445030934 901482468 80486144 742150892 317925664 358908504 848441102 180648000 581778890 281098710 835773930 399017306 120667856 28764880 527865910 839928356 301677488 734943458 618465004 835795392 389561860 252050400 561754876 968298402 993880416 960772208 16804428 294789654 440982238 261511758 846554664 9149050 799793090 314172548 533133452 299837512 599295910 283646064 163211646 680547554 169962602 677406976 75236316 460467256 751979378 135032752 213709240 852175210 233554758 516630904 194906680 903387174 558606464 259233796 831709710 421236504 805612646 411770126 333745530 684116572 985544634 424790388 272021668 131470434 698839018 698871190 980744722 404256428 684632190 129383348 229010204 399029618 270793464 777908658 260439360 433078690 430530426 12223006 462147294 903520002 682636894 608727762 171563306 840714172 39454160 530274112 345604608 189616744 957306316 302260874 804423754 597641506 64386840 495875592 489868918 793976940 196160062 343656196 507032696 912518338 23282388 144289774 276420040 207151686 810341586 400325334 762706232 723762780 315119636 328512638 124382124 247795588 243193830 706897982 403775724 55162458 518076152 814248622 999024960 510552034 355352332 801659744 892484034 576769082 655578416 135318082 869674166 19405996 242206692 392703602 681482954 156696512 106347332 419916082 496467448 987309322 768462460 345732770 322769724 384986116 954734358 301670624 452116858 282325340 309625164 591403282 871701672 881723520 784442616 13174242 130103208 10620116 58342770 973303114 936284864 100745526 218188900 44594270 55798642 362665068 47484130 4553464 703108046 223717074 671835868 858121130 991078298 577359216 868450938 12698066 56004480 450936766 471620886 924693700 887467846 642694010 412011328 893982052 193569564 905722070 730348060 284049882 876696770 282716248 2696580 450767756 897983882 193721986 270484202 692877954 254247154 767874452 403748242 705579394 741499332 116896120 521370956 954660860 594170154 677655856 744516084 557441702 91232810 243427340 203756956 715444558 12952776 232127826 391901962 421764476 114951142 20312784 542440442 500772638 11970802 72363006 958616794 90208998 58827906 602543198 279763832 365880186 315093914 903230924 516640076 949673152 611542186 235357048 514806404 132406128 559149564 900287158 512633416 513943384 637024412 72258140 894474588 336883102 527824620 734977320 457614700 314558992 717062460 845403332 951994506 783809442 597611646 821799904 507664180 973655408 568711452 848733218 337336488 307144996 438054596 923949208 675879676 785584334 533179800 936986508 955115784 44297550 651880742 901848668 85125906 77093724 537412162 216238806 607393092 15541334 99186642 424547814 122690816 386331276 491512484 355427930 792138010 762586170 731547704 490002140 376016774 695055910 584295240 64109536 528407466 595666604 211137806 813678254 890467500 488683704 900229684 603327684 435903022 487851374 451963234 928512490 193262000 420525148 789937600 755458438 143289428 273733012 272529442 716168680 976212218 227705114 862474192 291717730 368520732 855305282 168399814 438944770 379280472 359115792 531488960 716377382 769359592 217200372 513650262 217427516 337328646 52892326 954963496 606049006 605687574 614013020 987672938 16692330 649144964 896089638 289882512 534743362 589324110 174711934 31582298 330303610 970255014 832423152 188770504 542514308 805418436 627530186 832547296 655040264 417761924 474842322 787052150 363163844 554942948 766469432 175451974 546234414 51299876 164619450 133482176 569270544 21967644 924752988 236766838 774861206 192900340 165267788 545747520 695162330 740370224 651368802 265437828 238121372 455259706 234996784 781878676 980875394 859814290 811137596 482352680 707481450 592501766 140802598 9551754 739715292 440276014 386568684 324883842 7523740 751076162 508269810 600012968 151704856 689767844 499484276 410332152 259919044 603271220 881374632 212945342 949260468 553554098 999149572 273617710 905602154 74983230 143719502 723688374 931966284 94186206 38110258 615729240 923810766 579943802 715025606 434743338 892327784 349394866 565856658 322577306 473026318 283531618 91273382 177760538 122561534 898138526 78426206 622719764 879322122 237801398 533309034 212792144 711145666 666363504 764017822 992260640 142913076 181265446 837088106 386578790 129767312 168544502 918462822 470258414 918539964 164586236 478216284 914681084 851520450 473872310 917148138 435773348 557100676 528568140 891183276 108941488 481674692 468949800 602308048 173028678 850832658 5241790 513979126 913014986 671903488 74831894 588558912 933099206 407488036 902297792 897783192 323839396 537551074 908106678 346405310 632180338 213641788 451345510 42792306 90693288 39436386 443178246 211354818 368619376 114172740 799662010 672350912 91331982 366278830 291115930 673035172 642668702 392307950 346468096 641848206 959667440 820383084 465224766 797083484 567765268 19694290 612175362 176981170 208459044 378762630 882410816 747397670 385509172 962508818 113225774 614679322 890519974 680056820 488935958 753165126 377806668 249166648 514057712 218499852 329565932 622882090 937774378 663669424 747121690 150196898 524945282 386893654 128567696 207127890 758222980 211062528 977013172 97527294 560525020 958057988 405488654 791003462 400911602 445380724 713525146 719645264 877653224 391607226 668525362 583904324 314517544 320583608 773708164 220551208 481336136 603240702 756010484 630952098 127847504 571596788 646136514 461991850 673442108 554458146 332624744 504455986 498072652 855126548 114713410 164778778 732465036 837811150 842939482 571929896 153161198 670987982 450456780 657781218 765498992 500023968 347555678 79716798 263758878 44777436 437434730 479345846 683492830 992921734 51395104 549907806 273236792 391467018 365767062 440456608 632749842 862300456 670709592 38121912 69793068 458630506 296864436 438917416 136058642 716846818 783672866 251949034 976573810 551474264 465206848 291696140 934787244 926446868 374823742 446548804 723610074 136983482 956265826 977773802 826465452 373077464 76225368 467686752 870399768 703308082 178552010 40739128 800963692 207828652 18363456 353949630 364391070 604481456 101389228 715321368 388303156 535789630 955069818 276663742 876002838 882178738 297272694 26496408 948293206 649715588 539469334 527387502 952769864 110529408 302427186 431911648 922778910 845018616 948291648 886579636 384946936 220876368 556513904 482586164 268194570 727295046 519497398 137515956 873663270 878101580 986960134 390105760 855477384 575352042 446004378 259167084 234333880 734963298 51302506 754261234 840894826 826385358 59766790 185099738 427456486 347529346 551903460 113070556 141743764 652461690 572956050 722597482 781407504 743384274 970050902 992574566 137567332 811081418 784599042 326943798 388173490 123462372 679127478 800288894 642643538 880767962 652185332 548706932 5378508 86757366 846593798 268319294 742450586 850901198 791092904 639983506 163197466 555559816 451821464 217652338 156862604 625225074 352276068 504230472 155878362 83830638 296869540 193562848 295735456 388631484 275225692 819953300 341908994 997654392 730170874 601899532 457930148 890931416 405690446 491626960 738045438 303496610 319148178 307494954 142584258 814961662 811061822 4617154 565351154 253359346 636606162 88253966 463557346 10519448 17566462 992418824 335774602 744079912 123533130 862392400 595690454 500907660 637721954 801381322 54324244 183147120 280436206 715547632 314374302 928627052 738074254 453871008 146536624 95059170 323117794 253272734 776521958 896762384 936591214 351628240 785753524 54187784 186717332 268143442 347179340 368389688 1120228 208088988 481809386 93046606 202356796 75766942 969451094 1941528 833670956 827534908 721811304 573973692 703370924 327229296 515100258 391028276 744849096 974717538 733099606 317262428 555849760 206806606 422931958 877239382 50265824 687183282 193843430 835561820 29133422 987417508 671869532 113835570 527541790 889819176 128478974 496198136 156468656 226725046 231476524 190264130 611800796 629573036 427182730 47256258 119100962 649569658 348609064 976968506 381355984 63254516 233139994 736189488 904052826 811168058 638467660 548970458 621862324 832334792 687441106 301356674 673592738 827069998 774395864 280346694 570943926 374853370 319097614 181963092 184464900 137756514 544541332 642363402 541656554 684776086 528372878 92219182 4609006 30418284 556101318 638012616 732852360 358666478 746912370 119355650 255263630 563010226 502915760 123118014 282472914 560910312 632912350 796261826 858743412 773332332 105907294 428314260 775058310 808422844 268980266 568667180 480489190 458765152 102252974 659786588 29573066 320108562 75621474 575161768 957165430 821298572 967793258 659206000 788631178 589014752 371054598 61686298 30435192 871564738 794473726 912300960 883273122 73158750 92856990 707671332 680886082 311465102 853894614 820996074 809757306 14019634 134186442 161610610 327201336 644090262 380200588 264903004 782070166 259642804 412807228 949759524 710113302 73573084 926465190 52974462 744871720 529903506 461601736 348559942 644311310 96335346 737262660 171448694 701260408 986533270 16127076 251564420 556087952 473545968 278991686 161705670 455563802 944238720 872136022 592928296 228197012 458259884 316399686 740013794 751840668 48273720 610101322 223657892 863536242 872327874 993762360 481755864 158154958 305142540 941222896 428600292 169922032 46829258 549177700 936696456 875324276 611904542 496184476 837444780 673222950 697606400 36755264 522017266 951526420 144860810 773604316 371561082 327951796 229076748 693763998 401565098 478155948 910334732 804435738 969246432 97476534 266608708 788267438 217988872 265878262 503530768 965747932 658501492 37800766 53013846 408856526 52661150 477983958 207886798 481068874 709209004 912311450 136284868 417687030 480373708 342688608 341789398 678617654 122643028 923637164 976069202 276775826 619891930 642446374 897248046 678025044 127947260 744485562 206658436 829990232 253166438 492956574 707350472 507468754 690052272 321083486 370946694 393937312 623023098 243306134 247820560 873637942 882456592 637641020 649964496 792003088 480014654 400334568 409884186 269021766 328826042 516679526 940225588 560248924 546979102 904540224 612139676 382216718 773229146 573118698 103674240 781952934 64579352 997974646 637725950 192888678 55041782 597031190 768410246 855727916 259351466 934635658 3168050 245993996 390762914 96156322 764334398 843103376 987242354 730615602 685343678 931775492 793310732 719171682 613572004 140653698 465274436 563356660 94530464 454653482 715368892 325628704 670265822 579661632 954836636 54804600 536595556 252314780 135665736 249692976 836440570 155842832 334252926 631778782 497209702 354248216 448726750 986936312 257920590 132652908 766259830 918439604 517920598 518464120 955635728 950152070 275459286 820159858 109842952 362475542 167648788 74286908 336544206 575633328 195230858 554473756 379968568 57369734 896962348 173279386 435562112 901705258 427855848 420268634 557172432 506434572 283194768 427411984 27312570 620741406 474927098 920111074 710461264 285005534 884069394 987043490 153087508 41835274 763369466 650986250 663994248 133266518 930620078 432379480 57990154 654122308 414682298 413869474 525695838 778272464 195958022 64656464 261047594 955797610 552167138 922815120 527722862 905663154 448678006 252437882 84788908 114282288 186737404 948778558 507677744 358668280 458527536 371891672 506766478 801890326 215553156 811612036 989429362 797891936 691255476 774885910 310602992 29168734 124810468 230818240 999729674 250568476 118832892 509610160 807825390 31050630 410594100 613443250 280816674 302727692 36296534 721882340 146529300 604552706 639702338 568185502 41744418 73207640 387674388 237037276 77300310 47300508 119994430 392355200 917861206 236079500 295936022 576022104 357376400 299826878 548259730 340960150 6622198 432585316 208345860 923158606 668905086 280758198 295434398 666115558 577036312 630416654 517145432 133672888 279273298 169127776 247512842 452247572 693549134 427208966 881062314 990479630 277683186 315841750 373012312 558659470 849546424 307783018 606467604 740857848 202937822 799487130 710141808 913260526 105863402 284451774 251059748 784518718 346845772 401056110 234671878 868935270 337881442 982031772 501308252 861760456 96462716 430904304 849526184 30752414 698825272 70645740 708127152 852595066 629664260 880284592 894314514 494790236 231327672 22813930 57796646 26645838 744470074 701752214 771649376 908258770 116948922 533883570 315044842 422299270 81827900 413635316 463716714 718156982 263114714 424760496 268112174 261291158 750066524 754463570 357270434 985966122 284801080 23233748 566075752 216909324 604216194 119792002 233269198 527535054 940439216 490839350 753374808 870205990 534725500 66620560 822687378 486417602 649645544 910830162 361911742 830227704 8616642 233636038 703722510 635009168 708837462 604468698 472199858 437547802 716461462 818048592 659584848 846425024 446704468 344687616 864256132 536923826 371370998 334594246 497828850 966838494 606525766 624068654 198285234 316099070 820969186 25264646 439130188 216809866 335450398 673833750 60871352 717396396 629353966 61953482 23734010 923609990 914427930 591836198 73109478 247900870 20817806 957033042 251560466 303943670 812535798 576426576 624516118 75201684 417045006 626325272 480751870 343574988 407878160 850502724 181974972 525952946 123665232 911982294 470994262 439015538 252743896 676131314 789081322 802529642 481554496 367655984 893266678 433296160 847853890 300727640 269178032 524589764 775219902 796965996 516982816 206189996 279289884 161976984 618759326 104064102 106452892 422943946 118903584 63761830 492325334 103696270 939010486 868941536 617594540 264647138 770917964 6957538 928323496 753824812 493668290 717123772 448592240 828544966 862220494 46915888 219978576 766145202 151056914 70121160 986433962 610416830 837322688 42822014 680295662 640918030 45660234 959045272 153826486 324213388 792794420 534353652 255614172 672101962 465721240 849823052 522025286 24550746 232188212 411955972 119346444 414680886 659311258 384898110 87615872 778424078 617918198 117420234 568716050 89372650 295534624 40261636 10354616 77197522 755961068 815073310 149561654 957305882 93755486 397706206 666462924 367850888 498805202 276067030 7967566 412476314 773546468 357536344 512499816 72002092 629198686 826744926 666247358 438933336 367696934 403475276 10604188 500844958 502713726 875159992 907046096 739773788 425604954 601449392 647432370 888967608 973107548 877169524 907333426 403765374 422819824 813300982 120704120 958097270 269037068 130170996 735192348 412801974 84783084 676329168 698575034 658730564 723367328 531385584 691298986 702083764 271655714 673686152 564883270 529270252 889088538 614039078 686857830 942764986 971526638 254813356 2726926 334045936 301580904 567071104 142294908 105324714 722498736 446484446 386327046 300995502 260446734 390969504 4080110 148814038 695524896 74435140 24868768 158211668 544329038 797071626 547725050 190228092 457183938 776791524 683804812 872928526 752045656 371271914 734040320 148648368 956629042 153504298 252265302 272494572 411873488 913888856 974630362 634437844 540588326 182360458 261788726 113504404 977263316 571857442 190460072 436092052 342633160 194598268 450421168 224099522 800806004 958856540 112946222 897029902 38183588 610339672 622048880 536432924 783340688 766632866 63126106 23353412 909463682 356729140 229124634 879047968 855822644 415732858 985039888 247059104 146036852 191912812 542390852 254116404 827068554 735236188 928666226 514507564 448166034 276458864 740148636 222494506 602534908 984078858 798760456 562982502 347553854 397002988 455210380 203663734 891213196 68433260 874033242 511663426 832699942 434157824 439644318 876968216 142838384 382930908 217387828 78953618 879268370 683185192 702630906 80879394 67149162 879173348 729997762 6868738 131069350 564641960 84939724 975851716 684715412 862563578 603652280 368667288 803807406 636399678 91750220 97467630 437607362 605141550 640679334 396139952 650425592 614845044 860047134 883743298 816266448 336481166 834895802 438651526 644705312 128188046 214220822 62356634 213470896 852794272 260963550 626065580 34988068 708647736 851428658 739314928 726424592 909994210 170935362 353322300 713848366 172903906 495933384 667998904 231642700 326609706 945418236 868703834 359276412 483644460 62535826 583874858 720225744 62100906 936369322 359038158 230423002 478929538 864240990 692820148 173452748 979690572 904863000 960397968 105302208 147094178 614521360 810624114 338316648 138456344 819310002 432982012 659538378 972056910 653911788 281196066 145647078 922335760 332999262 173233596 381051486 726617648 491964396 578743134 451179752 477718060 817795346 113951816 232489426 942576654 553793058 971303668 995021600 120417786 952168670 110736064 868684086 566581028 531960594 872740472 220825940 656004954 750205828 400333920 739115136 504341278 945862454 247203656 652693726 189445020 305215268 604775784 617647572 889099736 804566972 443270908 644431818 130348446 632545410 544036436 765027314 432140984 69993672 446609034 696527566 493336994 289284694 710503170 782504976 38172402 909907008 595107372 965444884 173302850 981560074 451212928 810840230 578471610 2185948 203896026 780620908 218843440 808570804 634287490 566925596 109783898 892681154 628480076 241368688 557326664 170829074 16167838 978947166 104891028 186902182 540335666 382089670 822296478 297665710 430929196 316959234 890784772 862486104 22143670 167058692 370424900 472070250 88262690 840114162 358877738 812685310 272476718 94491344 487134368 695875162 594560494 320181532 400830736 258333884 770103574 524007812 824863706 793867544 308571868 828888892 51880738 687952368 212490714 25642904 855198410 765634934 828300838 333046108 635037298 603398740 117625094 836909654 833219718 74630270 653982600 599057896 335090290 782291562 853432330 683374930 255404220 466442432 65829076 2894292 145204008 606147602 457724986 825069358 733254390 195783240 778695030 473737058 851831748 894509408 212439746 237286002 173693850 195787718 416813914 699842876 654405896 984572404 376821118 519390554 40717618 458962102 482149202 419234604 742736660 537383760 417934816 68635490 538149554 231851244 531025038 704305764 238591172 6387806 290858526 365090404 283356218 278799892 860009048 330638266 131432850 593616360 829700890 639627806 266827044 179566638 871103332 510181322 723466834 318732824 427755920 544797578 104059184 895923214 235524036 830163718 179740774 593784844 619759426 238675724 614041140 502013122 625290648 229360962 700811442 981024606 591209098 146824820 782923658 410381478 236434096 43699196 480741408 689540786 471870902 601371968 206729494 342561952 270318070 539803444 317560564 91371820 126073332 89244150 144310782 184596868 165065496 796280808 367399638 741691850 397879258 587893068 804241278 184279234 300172206 563437036 512783514 800781208 594847154 388844696 607028552 408316748 113405842 778940708 763628834 866468036 432983174 663719520 64438802 443022208 283087244 211089960 911579674 135920804 636347990 61122786 985524836 956549382 118567368 296478088 209411560 851860584 827517918 868334644 634169964 320962546 127918584 861032220 221381000 93239242 41479104 29532676 920810218 683785814 409862572 978269630 349146102 963399464 350538112 660173218 984917604 963968864 275500232 225532624 653829820 736710134 724383388 321230324 376531870 646694770 461884048 975588332 596727062 420747206 176875768 764455998 348862964 59869426 884386768 272597990 68247760 271210256 936898932 141025528 693937776 763687646 833973094 174382668 555386178 404284832 660574956 458904214 845903084 435350478 42233006 612646718 322643114 566809876 588669012 590981570 313521816 663551078 147126546 155742600 333160106 815333450 663497340 669365506 129523594 102652096 603486382 147954234 329016192 507132114 175021688 479074786 811673842 824114194 235335230 459172462 194719694 702733532 458214936 639143988 899014742 561306302 138171798 494350322 778689456 157280200 57993158 727320128 615021888 277015008 98738704 610843780 446499646 418943360 873100736 871269518 606516094 988626424 778594986 292844660 755992704 130771364 484662974 259093464 275758688 894619842 965685492 44589590 24209990 953214476 470004990 523304662 639142244 801091818 230143174 552588774 952259046 365973236 686443250 174998372 408877180 602196408 147692276 479051166 708514132 483566992 13872316 281754498 642006256 100295932 813692024 304258924 373309688 583961788 189761264 690546754 874739436 312793420 536050420 123550116 503481068 750291368 846570096 425741658 636162950 478778450 373752082 401212432 429574632 109742720 32014728 199807884 222406492 122995816 104276958 544098594 95263160 49939628 902894930 207708136 610393936 506435068 264360560 925277242 68811098 886197626 851204576 412918160 248759342 139065978 802045690 53495266 45605582 236994130 268957912 31194022 242024420 923444568 419897530 49142476 255746136 993457200 385320306 627935168 759136570 847161586 571399774 989661594 173101056 986287326 330327080 548640396 261949734 24492794 41161152 887237118 994608958 137626348 764093546 765046984 503007410 25806856 923302372 594601308 421786958 21689468 28366832 91147398 953423020 659871304 646890420 456576542 181002322 728339576 929981078 239403472 238811942 389132942 175492518 312290522 280830104 377445042 782871878 147798710 404666334 236992458 850160650 499232768 13956770 605245580 20374022 60883092 559583422 857868970 362928156 126102300 109026592 882183802 511886914 271313266 175766008 441527014 184533116 837943160 840947734 833642982 374556580 487770650 386761456 631357738 579338206 32003360 757586698 313748162 980688866 153888318 485007364 970553380 810830138 512033650 31821198 616303448 828595600 253419858 907042442 604121006 403521194 441671500 163844882 241859332 275675336 221106326 377405760 548469608 880892096 788384148 342874964 120787202 885104412 156530234 548170592 772278476 989042990 986709104 157757660 451373274 647315242 762595002 912384990 99658458 328390896 674820832 279450146 267193184 725744352 186603180 99365982 706044720 91845734 9518454 585418342 843107824 910093582 879151380 434889894 379596534 469700158 556039928 465679428 469207282 701640390 585653874 644684932 268486420 840471176 288466654 827864280 654123562 665087408 863287230 878751524 598046450 459764374 616669398 87772930 860919754 148949324 704186842 408727304 806277488 500804022 750206534 726543606 651095988 768614394 882841316 396787952 704678784 849559156 84857964 765537506 161873768 908392814 411082438 759815348 27135832 3358282 225406684 143230442 152350742 559496500 124807386 229237282 809424554 601590298 14971216 448616732 85033416 983207928 281037798 677648430 505594618 605637152 46896000 917639820 417314830 409517602 277356758 835494126 725649814 321327010 318131134 383903758 334165956 377238006 144454282 290880618 903175682 627957420 744222232 297498958 176093888 918153112 991171802 299306074 455086356 873740516 58205392 884302044 633424198 12196772 480989454 991423274 275779766 15519834 3211726 239815782 234931048 853664196 379063778 808487060 705941866 146062802 157632202 275594760 945195036 995982214 546305278 234231636 288453320 563878610 481319634 248036020 261107526 750059204 71730918 598971246 279832758 776667984 583691928 629462848 507245112 847487266 456239978 508522848 43290654 494481456 856999040 556573018 554082184 699216802 800497660 179463454 602051638 670435412 773704794 843469730 551558760 844358020 173034042 268719256 611310860 606060026 302772616 860143396 147053658 79983412 474855916 799151262 530722812 221734804 380150788 237682804 963098062 281067260 602638694 310522922 865380694 148934554 538956376 510516492 807212796 206097134 383745402 226412034 122599868 853999510 86441650 840122932 183979328 521179406 361788352 979851024 702045300 705162916 179449770 576398400 895014052 288075094 575401202 922146388 736995564 554852252 547005168 155816938 526881314 538854110 15310050 491280554 546527778 659426160 364549514 535399842 703111994 956866738 602731784 175379460 572529272 440472474 527521370 905785110 792572690 186337228 819110758 502524508 505137206 14015816 792765526 295812874 318737324 171184608 23509656 819639682 616450162 374176524 395521738 350285680 343394226 630851612 174609120 566127248 562315952 913088696 597102900 820073008 766481678 140711528 913219890 506269370 660216160 796786564 938004674 643332494 184553926 122609118 691592938 214222946 54303272 668286218 572112966 720385728 533968410 854848088 249115842 371820246 467054112 341116492 727117842 576443726 839092834 866112304 987221522 773677768 351566748 625798882 900871156 572475448 369014834 36817986 688152224 389829078 606721584 733273992 492476476 752675456 318212450 876528108 467807486 779167400 226405390 902909580 256840456 635680740 828336194 999619900 102366266 445434394 448531748 532594490 390233242 643354876 641971386 542391046 706773770 693467676 117231202 387058702 120950592 192028134 277610346 488967446 459860752 1248 893929408 618783556 397315088 893135232 966646908 697202894 42409676 350450956 429427466 8171578 374418950 685008354 936712472 337849064 162783438 60145852 791738568 656150794 181334982 753145696 7569114 261580262 507988202 929252378 111968576 702960236 762831898 875801324 303961052 599450644 397380374 663834840 237702596 795842908 1256126 236544540 224372670 887724766 162135538 914371830 404346756 218305610 808971252 121720314 584124204 346956662 489570554 903758454 69509180 110356818 987265088 603475018 835047014 306077328 876332260 321037926 701997620 971081846 524551630 426709474 824193410 374884634 338120642 13625418 268130436 124914496 190802848 948134060 199631854 353872314 702535924 690000676 709395696 239945792 875926542 883572414 318284026 108999720 303306018 700197354 210692490 221671376 243416990 683113266 391865602 846429350 340290862 264182970 300073402 181278438 398942560 55018136 35954042 645864854 337257986 757429804 522342670 75260348 790543692 274782062 737821050 270898510 723567042 366307174 699437752 649079068 473931624 759543200 227913062 612928166 799993504 575531634 970526702 401633086 529922926 10214862 186943438 502028422 62636660 298731888 525533836 63894250 596192708 386065934 892573440 526360214 651445172 438704894 563397272 490747636 579166346 685820282 312944 560156642 353822994 611027814 91225338 935260090 115731116 23462208 457213378 423538958 618030244 20348764 534879878 131184722 843408546 162844352 506819086 298902386 24448206 202779222 220366530 413250808 472779108 283523282 191023832 289590820 439497592 588312544 751544960 290305894 121592472 338585868 156630970 933189748 455718776 492120360 434421044 854788992 801336324 800355700 639209014 733879030 197833408 225108102 209539074 177423072 292053472 256091558 819770742 339710578 125318754 39830442 592275368 38426612 458485478 2126532 214819226 871197402 827098786 631264522 946498980 792998078 379385030 236791150 445999040 646514958 93104814 313607004 303741160 827528148 595065712 103587730 657978498 119383410 306271900 231031156 243906548 33856982 257461462 235556942 973991548 62299502 437359220 13323646 629488286 218652034 726564668 440659920 701077584 712355976 381749226 516683642 449922272 896434028 753421356 654395196 66949300 909910014 779831946 135318036 861984236 952677262 406706434 628835118 717798780 158460962 635135488 320240680 836253004 358706824 914310428 333006934 608261832 96120392 502840086 110477552 974041254 173454888 765476538 353663256 66802870 681659220 175107132 440220824 12066120 923885284 819384082 120656990 117976144 428565344 978035080 367798286 548007926 460375726 851442614 337388788 175946482 671454554 970286818 324768356 53609052 410703880 92041626 241057556 894190728 619074114 954485402 386536426 902674896 219968332 838512094 302138938 112987960 898573298 440171166 570795444 290019224 462617962 78586608 102778294 823036672 793806686 921162864 33279492 247256038 900794312 500055824 129233070 322088200 343007570 143316372 593252540 381084748 57666564 842471914 329987008 569586106 560832668 435812388 549644542 234975508 451520780 176135076 691943032 783367816 659777906 232202444 856102394 656913258 382230214 816453674 655648100 278959520 82126730 934756802 443676746 396353372 448631396 414555876 547242700 232833546 226661200 5355320 595938992 431222732 628917828 163294130 252142530 544601312 933202890 598727736 933314942 101639388 171008298 198857302 397516926 360167780 744767226 563863450 922669050 258753112 653327258 476044530 213785988 711614398 432329574 62047848 244740660 431791224 241404744 29996292 866880158 40676896 961614218 598186134 593291604 780393514 97177988 456388858 382396542 415739222 871142630 633459674 226316076 523544524 859238142 961528236 539413118 207386816 605733158 331777194 462650372 95499002 593690320 560307832 217240788 405554874 778563294 367171620 887703406 794139032 688406392 955158304 230115888 478868206 989660612 303466014 655517188 391072866 577796290 325497508 545543152 749211532 737386934 334045114 4406056 460851268 318547530 124262372 893300632 674698218 730045846 367992154 642240456 597846526 704515544 898398282 92049752 944717970 317579972 949078590 230602418 964299800 262834172 745065844 355729336 911512020 241572204 59705776 4200838 851749884 927261760 396637240 886477534 851620182 198321242 496938680 966479956 214569488 547045872 760925868 75191502 950617270 463845864 511553626 508709440 923035030 677740190 242978718 474718396 955645106 379957098 472580780 463766154 381953826 91582908 205836228 2298532 882896944 11861710 452519762 746848912 805756994 133134284 955562650 448392334 498823014 306855776 492760504 984159910 777934166 154110096 480774066 812257330 179034248 523724834 874694922 710007284 150137426 444913830 135117920 388018798 942574980 489656916 980640918 307625028 949343014 299775634 305383970 902144666 976371986 267863076 142143064 644059748 68188368 806858936 136565704 179051918 611929940 150669470 630048234 769759600 347856990 603011894 882242298 851991322 560142114 480237032 508801978 140643416 992486542 590131280 36741706 895192696 76532790 754613682 778604974 905434112 240978270 710439208 326977424 882147116 523887438 901796842 808669232 876829694 574679734 793152728 345211184 348777398 964416822 2975190 299375550 83991770 682854548 389664262 731462952 52884888 618263612 223711704 457972256 731859252 951284584 620453408 452208104 27989720 769557836 551668608 958831614 836756174 395737396 774511480 328196808 308720538 267438096 818300870 943764606 796159932 671643412 145547014 723201090 357193838 711015486 698887098 793037846 859866414 439089370 366244810 477123778 550267024 125274434 248237602 279967170 219913562 620328788 898789862 826103618 291670372 235961282 601193010 546373982 40853510 883744030 110305544 888884112 70441032 290153740 805005482 557063268 837468680 547192256 90470060 463903566 55020016 191606784 419894846 6342316 19990744 126879300 466102562 701445444 559905194 337761176 305991100 413641132 671201778 104674066 25714332 83530372 970346596 164842954 526939642 685622508 196462018 23257186 641961250 256231000 16470648 890374650 422631074 15843626 928023442 703608602 288355196 334096866 916522722 95913522 289686566 68777822 541493832 30120528 636973730 911104320 168636342 545236182 544114584 357719418 656148092 665439270 84123446 352491798 807395324 864731086 992317282 445906090 805394408 548023112 121345600 599573276 294463322 879033140 882115882 141830928 436210250 346587846 177119664 829286898 677270654 552375314 145247084 645980118 281973162 167255622 327045768 20973096 589713540 566066808 122093578 59979012 807087844 193255444 474891766 24129604 137482418 30784388 126241142 282689370 269455430 961859510 18744196 969056976 459920042 651162168 557411274 272423442 289796212 441089374 778849082 226412296 239441532 931322312 472761536 779346116 676034272 616303294 707342838 691203828 922767902 958287560 142284712 216922164 957302586 774169972 735995378 571304712 7710730 794746524 867851812 566525492 919259442 625957214 559939574 800286848 577346022 119079774 777425514 519800304 968973092 1706988 98645860 552740102 230089936 297463204 678692332 181446466 760764352 289404606 140225984 379151388 556261370 635841130 477831186 143007432 707549048 217880454 560400786 948914824 226554032 459385116 784867194 759271600 69393854 519071122 921855510 469479648 66646612 354174464 204818160 211543970 43331834 477589162 389341294 675521838 450520760 730914798 589136184 481246564 637617062 225089656 97409710 182717140 10538648 22510954 731765900 219523338 380766316 231137334 84227440 993763390 94597520 772089800 821814226 550540088 79999770 265264428 837818134 921102284 722704456 524548310 660706884 436823808 899852914 23151634 991078496 834884098 412805228 968205818 868007218 486756078 745646190 178495910 509660424 837486766 309610886 86874204 216220972 562198386 154693656 917402622 580339138 552416682 562772212 387434654 881632004 114910166 21527866 554602894 555867522 304021182 706787616 764633802 394161388 197848862 979115978 312720886 870578948 141185280 5974556 587211624 751048842 77064124 700692786 341264170 112442298 884955376 791444546 702584774 904978246 531142212 665485832 790041166 108025770 886115358 33664204 796507748 439902616 937186868 703555986 333204410 260274878 555366082 353494420 450823578 29315946 808945280 639385068 458060910 995290476 127564036 263002884 527846220 316910702 254450448 333963994 477917176 749747392 559780900 523519418 643739852 300700448 122391130 111755776 774636020 893308514 739074070 947378340 846353150 477546112 126492194 756163010 971401362 740100470 453297410 558851014 152083348 953665030 850575984 743910112 316756056 236850906 416424700 410585136 421425250 177386200 196631996 164929136 869399120 127442226 183746710 312644542 616093560 883315000 313449984 233398254 346679384 987268146 534948654 861005892 322980460 281473164 888338280 461313346 767660322 598078552 619582044 999686310 646810300 852745790 908498696 660523104 878776706 59106166 885766096 397277200 260558114 77558796 953594312 277593210 72151944 95346100 586070054 447491602 167239556 420073638 68618064 459406886 297139200 280059202 552926202 155383934 189970482 37199464 345563144 838689454 125390992 632099538 511293188 346318958 57773904 12665744 172505818 713428642 425662026 351005218 147151176 614204462 441435204 741479026 510578636 725502132 855102226 648337716 91757960 624736882 778892162 47645174 458793448 472173778 388005940 367682638 257609236 722061496 537775824 188763862 16956456 459512464 37208048 192711086 699450618 865516500 169155266 732379536 4359818 278995374 347392800 441593520 705483212 344299890 170176856 121802892 809794708 824634242 540025516 206068812 575624594 430729366 564436676 716176026 81322954 335648674 200949216 897163290 135609116 75665686 611788236 24790154 324325146 729807796 726591094 657191566 843156676 598325316 658267146 840942902 93704644 399851854 717608250 119329786 829476950 318613266 393726136 523627302 510548996 575969432 306918248 338006296 882464366 412644886 762629316 521237020 741165940 719558012 428667492 310332886 919733712 700787252 768191810 860900704 422211054 340028684 79454850 988672148 475081090 585727448 215160206 804836580 442619122 819610520 145919856 896933466 305828060 801352172 701447164 292769010 136041118 964933260 205292728 148258460 387913892 873440426 9612210 540385404 541674940 547513888 807218652 386440596 838010914 901387454 96423600 805376712 290432472 938729348 57977620 883234918 698948562 487205056 48313528 945039304 683833704 938554160 995754414 780847498 522316574 332613074 585087232 229353694 68146884 392612656 249010728 934820230 473410670 68091880 644097554 518297472 160152724 635757148 861209440 108925704 344720874 717960396 190698940 380212372 761234902 113149598 818301354 230745742 543206400 775728124 370531926 963063698 120069466 907917336 295641396 976820284 638594356 962622396 945779658 104872244 277596730 710146828 177724462 166698682 749068436 16112222 409105846 181286822 410349738 222464624 496045442 481998666 623461440 642938974 765919440 433881286 232436324 751111822 837284384 553216038 2780610 106464912 474913234 585658526 818611304 497710996 696190716 668015008 432539734 382781194 388862938 770817026 121325650 706822546 968328178 563964218 599204572 88196826 533506468 468597232 688659888 701177466 649019216 765798790 973911906 722185090 229671274 797247670 102278652 205933478 317277202 200582454 460634364 965609382 828244096 928539254 837068774 688931156 194958264 238447480 861452534 280217998 722237016 223992394 938650698 539060512 24028414 730607564 488305482 851504714 414098086 456513394 442516682 834144280 335400026 720604580 14717476 99172948 664424194 595657610 844676114 11509890 628839308 448988032 490681358 880974230 401009194 228952196 556792012 199208960 457620766 147290694 399470168 376826132 14433660 399770784 314055888 196758830 681336922 153594894 923172006 803410014 563148318 186140986 632058930 213872902 676824282 590043422 874913852 597113392 239318454 865263850 514051532 91001084 360235208 231710892 72993864 779554674 326875890 663244790 474721440 914807992 856127502 147854030 315874830 354093332 947960542 857423024 385709988 592198792 368471832 421200764 662689546 865691338 975093958 15146690 16292976 917208032 980148332 599343878 346171552 986488804 633098336 713822986 932563066 634219930 165757990 844943886 436302498 436964208 368798330 774476928 341464542 899002416 261592000 61504636 157521790 394211794 855619806 968553830 77582318 713102158 140925716 518056304 392313792 326727618 172369886 221894714 992060714 804577688 735169818 519833404 302635926 983795442 145718090 559717928 839660710 387315022 784556220 963705068 448614854 47630688 676791296 724486320 332541838 738306368 944254902 866833616 772520706 409860610 220958310 707544670 171211768 603746470 809197638 387750654 488918434 254691424 203724256 339622922 487700328 272943998 673822602 147532796 692960074 936280270 553092658 992574126 291945342 422952318 930637890 38519064 646137090 268625356 436268226 403441764 855300390 879921416 796098906 131402884 755171466 835169836 209835546 475792186 412738974 739571922 353465544 989036406 436509566 728914492 569735662 214419080 374385020 21994580 835788964 887311750 1825272 865967666 297605726 479226998 385095926 653641568 447792198 778272490 448482002 590331856 943873122 126830934 461388440 635791410 726644936 375465778 729000752 859961590 934125112 745628830 503679272 683999230 314861472 928415854 492200232 1133074 666050762 460292680 466990264 223711368 559803706 648101328 649674552 391728986 825588532 667166610 489329280 288047818 462552728 716024040 172120694 145620442 770996528 468949182 465153130 259184642 775682658 794977584 385507208 190045002 115189596 621018120 227612722 6518854 738427136 882637474 56056548 336445904 544502132 396255506 201069698 38707978 965884330 780235328 792219786 584793462 273077284 775124950 736672448 285344312 918515526 511719922 57074844 534356712 168676756 207647384 862667754 391577168 116565162 13629756 651074188 891049752 625740462 461817422 317967408 240273776 932774152 33849068 488366296 821373742 582083408 700920500 72362910 829572852 220605678 194306296 174015002 375055890 755329722 7915056 841898424 563763940 540786486 97198022 874761656 626023200 20577530 692969726 318514482 104377944 535230512 378231136 932065314 359259372 979996342 400698872 91554038 424940384 702793256 97498784 777572068 136926504 338846342 444267580 181864370 45591658 488952956 331269994 500334162 514377984 844138162 681965066 859581110 935002326 916459676 998561198 338270322 518229052 725845456 271951758 970739280 187694708 376616858 487098630 546790440 145786932 571174038 344714480 336007106 720042712 714135118 753029610 107685850 588212380 706926132 44517426 399266744 824404006 859515770 452524042 694257290 846801170 874909932 852789658 529168782 47716076 107972886 478816744 569924152 617490024 650014936 58676980 711576192 981520810 119879258 564340546 707641962 190367578 838859348 792398012 590133656 855825998 761360540 461242066 675422254 511213938 713652860 100370230 142684656 356776042 390442476 182383112 928467642 24087916 851609704 291323994 461762274 179007632 378306152 654440740 610430220 575986364 893793284 841802992 444148024 833629778 739328812 948660830 356573558 358458486 76774850 743322766 165355364 801356534 959104658 118632236 941649020 633560524 966569878 73908982 706497294 984090480 866089436 23895088 722710390 36799782 534384284 199257014 743959768 961103314 466934618 997485210 587770534 339579750 893165756 619379322 817030362 158593606 942246812 818734268 976013852 872464502 615620658 157829716 267939888 210936572 475078144 278267248 224876690 755274866 145353012 10859838 301937462 826078438 345048110 313746350 365413408 65933636 667292384 481358464 596351802 144263032 49389928 364280608 367175940 121522140 569670912 342558194 941657804 44877440 830004828 980097748 836775250 394414426 652593988 41995842 421861764 482611716 65499920 925019010 307988878 291779398 685671682 168709790 749131266 242506568 910241702 516528332 928055932 827577884 611505758 879524144 71467352 753181548 561467294 787296600 103601506 450743466 445683588 789909034 653077206 57138034 578707320 511623344 357221826 681414130 967284970 747150900 176509716 619109878 233633674 434990456 301514556 298911368 159129740 884073182 294043616 504683212 984391368 635576494 219844394 481428244 42661818 317765624 308756060 8015606 446154614 308505410 204986614 513945492 468298834 655397750 582633688 650657190 811142036 170919336 973875822 929188158 178825486 625122536 123940812 680944136 760761920 857593852 414757608 662743350 964263132 538212082 756451604 842621508 325778980 215973228 104355990 291408066 858035280 564538676 201865200 166915062 392363582 295337876 736114178 6456388 723196080 964673572 232302042 887872294 463844454 255529552 529160720 668469536 134809604 487964406 626245618 37759238 410882784 842213988 762189544 346147952 664216418 766577344 72919490 469731366 492913420 7334798 443473992 577958450 303614034 329972940 671185806 763014108 167334760 276453948 438750310 362346226 198965592 884305980 810623970 76453310 268348650 806713362 497287502 880709880 651170518 793578440 225303862 389617266 169836464 630532848 59822414 164094266 77065304 929079610 920634344 518004180 50831680 756275912 962285558 396222466 541774116 88411736 517551458 273645802 118327934 643334430 207582290 844708238 942291082 817961980 326697326 187746300 546172990 643961628 992601430 96090252 161966270 743923784 951437616 704474004 279071332 299156884 929528778 153202236 738576742 251155594 845856994 762523842 504804086 487706438 225780100 856720262 709880804 91967750 701337020 565777656 305792086 799921634 810177252 896086056 497394772 895491030 250702780 972806654 468521410 833829896 425191578 667348662 492019736 948595278 162890210 774613604 634981790 578625086 612978514 658231354 999084114 645130936 39051738 615624986 410440134 652575748 854838948 424137010 54052448 250526370 9735606 575966696 445790268 221584850 200614846 57532330 670812440 450592546 566212692 527948768 892949476 663386864 40198662 527710344 230639896 785991640 439955352 952503930 355145462 293469364 756008978 670965910 554138152 215483600 502923694 485112948 735022986 299285004 393049316 795169552 356146560 818325994 511267872 117898200 898157376 516899106 629853450 580485178 909771004 503348210 498608610 85897842 208541620 93577644 851583002 640125822 563235348 944488240 415809476 176270148 656201202 753593340 603195932 449758722 76531100 551339590 399919260 481346260 15577574 138341496 299050404 473378826 536562574 870448596 648594300 981052700 935900380 980350020 211310802 235942410 178358004 203032468 677274566 509260818 999260592 583472126 905367910 182830450 599167272 228527708 883273152 366053402 621707336 95459580 624106284 145492130 738301096 966683142 459106198 407071618 45086490 873982290 322285896 974011864 596989836 419123268 61409504 755808620 775036502 932270972 371310830 345049926 202482212 347595798 295831768 88230802 433191024 934035798 241982774 941702912 837071894 976803048 643207314 210057740 764055558 145185194 571774152 594438338 335911742 619535850 315027522 536585120 523713512 402245554 767226626 622497790 258067380 627257536 709923614 708465712 405352886 405548880 789872626 132342234 14879832 289232264 916958140 478980396 368717322 721970542 246784398 912442774 334596032 756953812 363514614 892072056 182736714 20594358 446940232 488286718 117209294 784929916 87898192 101400548 60983604 74703356 325056762 805138112 932801028 148384468 717414442 25059652 650913888 156492048 552486332 6184896 647091482 719499932 808033606 464415156 351265732 687551780 873849314 980004724 858339410 421646086 37128104 996318754 404997080 575601960 734032376 651242244 319032336 507142326 755222060 712036866 831465072 464715806 423664398 94578072 717409010 769917216 193527884 495775740 31489866 90670648 610851924 482291790 370099512 864058110 704279230 493242050 460710914 407312012 400007902 773308030 533640384 860148218 919914698 381497904 265361774 24017914 34241688 366076262 53142494 686246260 251938392 674557826 59093732 830690926 717153176 557376530 588382600 286151178 184036602 282901220 921937616 857166584 143099474 624378938 215082342 669206590 43435382 675377752 976954708 725652294 231434754 438772078 566888990 739030656 293616680 824770606 355883480 19733706 450703202 850751990 378983108 15327054 975455782 162505444 396790578 195624964 58530578 399427116 798938474 57844558 77522444 903325990 904690626 214856496 253370672 296167158 514232742 325692212 608589146 288254026 413754554 320319270 870899008 91513058 169283174 966082002 13347618 5687584 798459336 386223220 37244110 209266924 819130980 977120232 429864992 151949356 994167950 472959586 739365510 406945088 67432792 736604362 678124754 965825804 141771792 442917676 698330142 837274642 516197414 549349398 988589990 949730534 925530924 443114912 730907352 161250226 555790254 784194662 928359306 320811242 379115578 255702824 992954680 643225126 43741456 770486944 816740782 795041330 960237246 986856692 69975102 74616576 340104584 920662242 721523288 493643586 247233484 983175564 194245470 231545670 514465176 254106830 931123546 190197126 214018184 445787136 258487822 872077730 324836842 35753842 372658138 951318232 890601168 588093846 507625924 715965836 149251378 377036784 69178360 962563118 168155816 38790110 653939312 461109488 858594154 324182872 862502534 179044540 869708600 918500496 715869216 984564188 144748496 212024250 323077078 171646882 507442740 244675080 961549024 956755908 345291928 263075806 644745552 59111756 492409980 533826222 138554416 647809734 976533124 268147580 511069998 47204192 340632364 603230964 382811780 209432286 273778330 655173344 403566912 201730776 250980496 725039618 255264744 590653470 72637170 368925404 74574348 485515934 245624304 195013672 259109502 360126652 939307634 119903038 617036146 163522384 226691022 509972524 445441628 832135508 165954016 805386954 158288636 808968444 835016014 477621380 601333952 282133142 476540068 367589618 775660516 667724306 135509394 553180534 155545252 302599254 247205512 92004766 401616018 69189628 727990766 246480630 268814200 933746856 354194318 967091860 276665608 243319086 972663876 762578650 836237688 584465856 96134050 841835596 330002240 823172186 349305426 585558338 7460686 663600664 360511850 482366326 120260106 769372276 732515096 433622950 903046594 769872026 283713212 875868008 716667128 587224308 474381984 422905568 420415042 349842142 873182560 19054392 545447160 545227246 201371690 295691718 154078444 716007560 535492546 885760028 173500962 51296370 726895692 376621386 811021770 656622502 490539958 872578274 250145046 522900898 825030458 950843830 206440480 47192918 241350254 813782300 609022572 367511342 982365134 446855916 699221098 637822860 291756940 382274636 568731516 484318660 88214010 14978788 71383438 815208594 563441998 64039020 887197918 888149700 787671070 228429660 408010020 179079344 576258162 384651220 841082724 667555420 775758432 377090288 606673344 728589298 21407698 860888316 844695048 955815508 309588106 932270278 816750684 385897506 396803026 350950536 761100840 268201676 482426032 819060088 143737944 608665908 443484310 552983516 212693274 822634254 814693828 914360424 688442894 490226748 984528534 630367942 756795608 152716096 629572934 18869374 663870018 444928166 780825498 735173760 495980652 505778748 493692160 52818702 934231726 987835090 642468194 667059674 680704670 751542904 241161042 543600684 247765288 762632338 925894894 866644452 302495232 124899408 955573742 25263940 10831554 892995878 35510630 178063828 516711124 120712110 424328712 960533412 996995848 416683718 683549128 959135774 496424398 276578980 243965800 789321630 710848148 443159728 964617388 620662176 719674074 527202310 168300540 931747998 168063914 892832536 509132492 958563370 953312796 51173764 257411166 597393370 670253864 629404026 640185888 965236666 281432052 437711900 602460494 943824848 863261858 61355152 127655546 633576906 96777242 621515040 751664978 481986354 691347562 889478728 286055212 108345396 162785464 315903922 931918676 686013964 169080624 986573604 415547910 457388568 144707452 379625016 379358764 130606890 226009280 374410970 317684460 551393650 828841022 93155088 701189132 552196066 430347740 820204740 516367662 977194784 507823490 974633002 949849776 338691242 382862808 130216694 148747768 983380822 798972634 485000202 674023064 291606378 897427802 173718274 361732382 218277532 213412378 319198834 147514406 442035092 833596962 164092572 339654194 495220210 952000994 482882730 696229916 302986528 379652774 531020830 53363134 747192252 961742346 911973792 948496256 642953678 199691176 311955804 756245260 392911152 87197112 98062162 695458336 445613380 754229604 760481942 178946516 913792870 606710382 933500334 429788226 855505750 517585050 880850550 911986742 537442214 740212572 453289480 593125560 592899864 889349132 53234880 767830746 13521896 231945680 197173058 660624182 146090470 561867758 445617294 669649218 42339264 156273774 890161360 605525352 261825048 506175512 621009586 182049854 196991166 278302724 696447146 232183930 291960018 777559298 585098880 231324684 524155066 467975942 746759178 510089240 439089132 665262060 903643692 441686170 88434700 422563010 706613890 483074970 549156278 24272536 92448312 483744032 462530490 58603074 628652250 464912404 381859822 337173026 621580346 358112618 125825642 617097600 142472342 646328546 415102832 6004530 585949498 430038822 900878158 38353534 89591340 260691004 367754340 585936550 583439472 474416970 589894280 132999500 365726218 497104096 708682214 984796186 479596662 167684404 317975940 107399376 496154888 569023370 72779574 422450254 391580710 230594640 850372744 450577468 581804936 952306350 767687424 258652584 163306250 577949712 133811236 852274098 411699234 662438318 799947930 711765722 628456074 9825424 939308360 203646602 709942442 936526762 432484396 383723944 628926130 493366834 682641342 865369956 186284064 904779068 217320336 179735646 945142202 708460464 927350400 811282190 897778972 33133586 908519158 369504876 476245276 861959786 668739838 282564502 112040900 704938448 948818874 465206488 453470990 371150298 32441478 117188828 263825278 226004968 614833804 867835074 209631968 586655398 879091442 685658330 933446192 402984314 582730020 466058264 473866372 42365604 152356782 54248700 628405062 484144978 478755234 72272228 52548082 824523666 345739070 935755294 331008870 898065412 519288294 299827354 271128580 847729066 107625438 327696398 900402378 611498498 718978654 647904178 96779468 557374246 824323648 112953338 963848226 182496994 190395434 989138910 817168416 469515194 268984024 895370700 24544756 317222116 823146624 880742592 313497722 705585622 520384368 733610998 751010186 181351042 508514354 64851948 762925432 663174734 818090842 78550020 716127496 424289524 918866858 311708794 447563000 680054414 42209042 189777638 797171104 732610326 628454326 177215010 943809928 939924816 48817052 318300004 664537130 164281260 466673922 47915550 469018610 431195864 496019148 966491310 348906312 881744388 885910050 858534692 655959074 805812392 361042818 290799022 486410354 882656240 112045542 611545890 779794398 969140722 2773386 914476364 605571320 676587798 173662352 108287598 82161928 177897148 557718836 362952208 404582698 784068608 643781932 55962486 616937396 663600416 677728652 761101022 944645168 291839504 336728542 826615496 337033744 350041868 712297888 242897304 367261200 987512448 493784628 680752270 927266304 8646718 336259174 525753830 403375994 881966686 544739620 824868624 232406712 201932380 38396122 525563448 691095056 592623480 833989050 761782916 458524278 735071786 574884364 951617308 118100356 752718446 602000322 840284854 655146612 176889850 685374902 224406646 267730656 336915684 47932598 711336622 532764606 889464694 198887830 114050194 349204874 412608774 221670766 254581382 35935618 206606388 992356802 670185740 171004206 676334226 139827790 867306830 985323806 667329732 321408896 336901300 849710504 21640734 358213450 582298216 311950018 418362192 310560152 954867364 992288776 344494246 537658070 87409906 330407144 637601834 458346600 765795358 159308970 452582036 168382384 915315338 125245532 413644428 667880186 34148256 997555594 226206158 498156688 97814076 791183416 364143260 553236806 361015648 972467512 602646412 35206946 297019850 102878212 965363758 775780514 379835924 786581502 137045362 967730412 58358750 289658238 631540414 55092100 760261624 212259448 696851912 954609988 846567102 385838150 267085510 534475878 176503646 409944312 377600842 959227684 279735200 403804444 382991330 285953226 802253274 637145332 965045398 858156336 740442334 483020168 753933302 222286570 188628730 733851650 551412608 974586184 747192226 233560088 741304228 407292842 80108616 701420974 42602120 125389640 534050902 516654828 6197662 547210486 564777362 95993712 98343784 281582226 242906370 963061710 364413646 963477304 565633316 130579244 731686256 439729570 823023892 174537382 891673066 764427850 388810146 57664704 791147368 490230752 779940916 65837308 535280490 973753806 279166602 265829852 177359016 878002474 810370434 414965492 628081426 857915296 900716306 546052080 333416534 968087976 985648144 701754658 965976688 607577418 630701206 796828344 386413042 484085900 987337160 19612400 913314558 193328630 902838408 322990654 857297408 958988144 226112832 399868862 296296590 448320646 925090608 447620170 237549352 440112910 737948968 473260300 988868318 458909248 752906440 154805982 960955204 702717514 156214478 731133446 333304894 826968174 82867362 26677468 317321884 89862100 63538816 708762334 275533166 643477342 905804838 745482418 40669044 161614036 335299010 442108038 197772884 314157670 662482868 101352352 889780056 356305622 35890408 495099634 426827672 486505918 66849308 44215838 570651544 395231604 584162542 425454822 413442958 164258720 375077398 944144840 557564844 331181714 306937742 475669970 448114628 456613752 200530162 986950934 681685034 666700428 45812248 153525476 480010832 261795610 332759480 327301578 932516404 436500512 63876516 117089374 937737790 298647652 742794036 821060766 685388572 363915962 180513696 36285598 9269020 239050678 812990552 53809452 970940800 953142760 350243860 588748478 248558276 929314434 9143456 677275868 79264760 216148098 89677706 551741094 93290752 727939692 169179830 657142770 114402574 930511318 652540746 470105016 17448454 949635192 443900882 845380526 684069922 198030626 87633066 555014732 715554640 662485316 5165696 909754824 593374424 150260104 657754292 471507856 95548850 698923718 289204940 216433328 511547396 604200548 917889642 568098254 201135316 484740034 934277132 162649578 268410902 948177392 295809848 893114548 756255998 68234738 299156828 496374946 545299244 585266928 370946140 206845060 773850920 678268758 545672844 127093474 735417050 604127694 341507314 435056332 82694438 894651950 161087836 636487160 258844434 696625396 450122238 397757934 99471766 669661176 305497598 69008632 840992748 896881546 40251218 820140080 740439348 738014322 112957942 417000112 774668184 349607428 943080846 372278904 232192052 597168960 470831792 96778982 159326362 893475928 391824968 112336954 284689956 591397264 807483140 291638294 881040222 11661334 522030104 387441988 252950476 473625638 837220406 218798322 635820208 364438878 19589058 314482238 945014082 572883968 741049618 981488826 821460450 680201704 645991686 265437676 475683948 760244440 729191336 220774014 409398738 397832994 859758052 425283818 519278908 458771124 124425054 897720542 249191054 434246672 64682330 315542554 38696588 806686354 747815704 354139766 746449738 659675690 708248820 558450898 450940578 834180858 13033200 776695580 848406298 112346728 271297058 706347380 964817948 775908142 837794970 914522072 945274594 216520748 901206920 271006620 737090828 936177724 796206316 906869800 972125816 972376862 760307378 746810254 34576544 40955836 635998476 512784740 753903614 517813794 547880704 161852068 63907576 245344192 742015156 537145892 689775004 431481230 741276548 490159936 84117506 621345012 577897618 942498688 281660982 320076122 992129526 225987662 149894088 182604448 742688652 730763786 215412798 195268594 76714940 292805762 63714644 759952572 912606756 766200342 784417160 57667426 944226730 423887134 689365772 896368076 872851224 375943350 447812762 658624746 927587248 687721870 413506916 664849610 39544928 407848684 965613468 269719954 540845034 815648382 343784924 850282428 231169100 826121522 248272082 533199656 416780166 372194736 962809760 996779576 727493834 207956236 889254122 714859032 898102894 152088308 161849710 974802424 263964128 305294894 681344512 281347348 542507394 775952880 502201366 633242756 696686278 252336640 80455830 544188944 495743374 891571000 565557684 757828618 867756760 251200332 732165204 211506362 170429434 15265706 775852000 400088788 732469748 818986870 47084344 124843474 427801556 428968506 205487326 970970742 616132048 752983574 526307124 282983014 225383776 2159930 45974364 500216 460400648 278747258 21440912 636506806 363195584 265262146 204278840 901239074 380169812 854313922 300470634 541776848 205715180 696303756 743989018 963904998 62979100 740960510 178092028 538267950 160487166 821364338 438732404 198432706 269776292 578143222 689012072 818521794 872515932 143352888 513941632 176718928 962453992 640095282 383254518 898088140 856943754 874836154 865024950 28157854 732101902 246947390 721989810 351097854 92608242 730407714 354230494 252563810 528671826 108778388 203232992 864207586 375202386 385928734 144264368 71280700 806774390 377192868 728983940 377824098 409733432 930116096 679014370 651079594 628182950 822439432 560265716 697161016 681356534 221345620 486259588 236440238 949793498 463992108 375510066 536791216 972885048 434933172 823053802 9639854 720164622 768866146 540487070 425605956 188657078 510088916 920534922 153469516 332569810 861714542 247562268 235775348 15073522 378294742 95483044 582231738 109252346 829139510 72671256 920696280 545016172 949988722 264371196 285462374 657204210 427922202 71136106 37049060 944131324 637704092 379763314 451359514 449465722 809398076 219484912 330996034 27957646 274912778 977899530 892046586 323651146 225455190 359255826 301630110 509868186 100888034 611906750 22252348 988153856 683620140 76832502 560459422 410918974 279887158 71814918 926953394 852527922 654897736 904249206 714739614 664576082 124021572 618189104 114371926 424919136 541547788 873009762 346648508 182687088 862155702 829750470 469048582 942424904 873296328 564380368 961668272 41543406 455407706 815933944 864404670 861965634 6129380 553231024 122932548 69327850 580834832 596376704 60865552 272142466 364245330 107507824 273256792 620387552 828911346 707967504 13066794 136551846 277472512 64256560 855862646 681147116 989205688 810197920 438536386 829909098 985689068 547388286 626264250 617624432 939445154 205017262 391978278 514379868 584393298 821264184 179925268 830801232 193483324 211060918 750242222 943481200 322166266 861032434 39358902 656334464 667716750 162857816 443571052 112306082 39687220 410240658 814204628 68175710 285461064 547841334 891777886 859246560 475455244 608771840 679749668 218258290 394909524 361451626 910083760 91469726 485523600 290654128 210897814 822981146 229734138 902816108 819916522 581745756 341624640 190274446 475505444 696921708 667278728 867694974 904317906 963597896 150533118 340874132 382406982 209310498 692418580 38528098 471585282 717860208 350601408 763573792 601947266 290632630 499790080 405976912 893073960 334784422 694563024 401778698 811397362 328342356 989411398 920873018 159038992 544196418 257962430 524253068 63662932 261581684 673539154 31034154 136792280 700522970 127973626 829872992 986719480 765747436 502064496 364791006 866567192 478732448 844436580 320396790 473111160 105070366 402701474 91819990 993641006 803568392 735331514 548303076 965104390 935968232 958087200 514860606 378749710 593155940 643513902 856383466 716674586 10399404 467250920 385420030 486834348 323575440 937076216 570451476 960455164 956823810 943384494 384481256 112541708 926424550 991018528 179441050 165445534 258095100 91656476 304165674 170579694 405943368 183888020 273646570 41730676 555002444 592139308 361594448 748414966 255906658 826995010 232728842 54567660 779253652 436724206 19135684 248243858 783573936 68042314 445364004 89163274 232410010 571846634 3189532 657065258 176318312 965809836 251302372 177114232 754555246 317780926 362643150 526661868 24640326 657761662 540518220 446367954 478562938 334140396 950006950 627561842 15323566 11630584 151671312 79466308 592487060 520219992 747694526 96162428 590944302 515812574 950359510 162219420 15734694 491714180 908747296 413085614 432452610 886861706 68879958 661454120 578580304 624589818 286142088 657949416 173265180 539951878 140015870 408941564 557405002 274926096 937950952 310107536 843088050 211453700 106949614 264893150 526824604 464172268 44462346 663238716 865601446 322947796 107051866 476318150 768278072 752081162 5953228 698387150 289290962 276365728 83184774 63551576 387391380 905411202 114956914 434789078 755447700 382683622 574942132 699355984 222154878 241646936 223259790 817813154 806938962 426312446 20677004 917395938 228794304 399290490 339486532 470938012 49250696 991051388 355997066 790575898 620618692 764524352 359518864 874719792 995818726 508651848 64709048 976139230 830309486 107780864 577021740 412192920 583502322 578715858 70120086 936898280 740062832 900570882 458668318 481553786 213478808 420051866 781336342 15995106 477880830 846833822 930460284 729350956 194112378 120429468 203926514 849681382 549305092 505893634 444467174 191049032 176022618 508488928 381670736 923278622 43039016 306628106 622686934 907410142 391618984 214748592 646318992 353345910 779209134 531265148 285178324 642764956 785701580 643572754 205665140 297162020 620856158 919505238 406635458 362604426 938766354 477244818 625762748 872053594 424320600 901106956 82525590 363127398 983687430 747336942 802801844 786533710 604572888 853592868 420023366 751898168 782153210 727261414 689835486 685752150 647693234 419152376 916964334 749890660 992220782 596395600 72483944 574900664 974721814 371500096 664899316 135645620 649770476 286273046 972718008 357973986 611490306 646544426 98131302 375064104 70635600 136986684 551949342 70797650 35934706 213462720 584646142 119040426 192948662 953353654 912346950 941918612 109787714 83532168 894688836 53277204 292688114 578496720 823132154 693818926 497788312 510230530 226480862 420881616 274515440 30909382 356746092 356194860 993464654 215540932 26992834 164593020 405631268 455535182 590913660 731885146 95070510 784420634 964480542 155805690 698615022 407186642 71786780 108852802 627492172 843453880 187680014 32784514 438446318 56330882 367464952 480825274 699461966 509333292 912946998 250206814 180568328 344506000 692641816 406072474 587596358 844085572 394793000 343062300 964461400 852711834 386973872 387573618 950709536 447406260 764473174 775024906 98746246 96169010 105514348 56429444 338992500 859316326 19909644 312135622 838843568 408114806 523423818 985859718 598400098 519921186 401751600 434828304 69594958 637062240 22935432 490305290 356385642 591099904 50542132 439967864 963363906 214786336 421463702 342628642 36521488 443243264 63626812 629225072 173038158 608883196 916987158 144880958 282650890 757714088 233036132 544555628 175172526 92416690 72887480 329987948 682846 950827840 573746304 343322794 794951612 580955174 994487162 124173228 641029292 243141292 794278934 572886812 983019894 152038942 189857580 444565338 600185618 84305930 279792148 692367736 212335186 939917308 72384236 290764114 636330388 756711186 941159764 884292722 541247182 566756322 604755204 946403038 436216556 202556834 636328424 551839134 885199840 529185458 323621952 365155486 961125376 225481044 898939494 781382798 579284126 486658060 91836892 492258022 833612502 853196092 248062090 440033292 756476038 378264556 938370120 287374746 741857848 525342222 424826822 236454234 809581884 103008772 757219578 360628732 853523624 555024948 534697146 707923152 739000508 183341824 29151866 25159446 241871872 140516724 242224846 456002742 155229294 487970576 194627236 260830270 751082442 980408840 163519740 573536228 603296656 542693452 483830834 398997618 467338132 214200810 48744066 583515464 971495234 467161764 824101022 670363904 987963060 677867736 706616428 209295340 964300728 290005354 402261456 686691098 835320976 599948176 938354376 435433416 475097274 945815386 550693956 149107302 157161886 975410568 192687722 700088194 195384040 33398464 544815442 615524244 880525194 398614692 701943126 673796290 597390388 936340390 271091074 521024980 622609180 500618904 177707094 742794286 809976698 648794564 984904310 421344598 124880072 995750706 849329682 290485974 507768260 603206828 596882308 415044402 95118612 565823864 100312076 859480146 276477312 489122004 231676552 45081734 218634790 924906286 551095710 589490636 477623892 829364378 695272722 620447440 712900038 611037486 608057338 469998934 408825376 363847266 682065154 104643646 531096106 981259238 297684048 770250440 445462642 236260830 849415306 380350830 233550116 171626010 766710292 882041908 797587416 844209622 829814784 6345286 989344818 496194070 697498178 2741942 78327314 863853390 323799816 282611036 366679788 441251318 622169648 609946364 86217662 706853456 907191130 505010000 374927880 571210820 740051612 761198826 858402372 490371110 669324946 674564804 768638522 995627924 437252878 389092626 3121418 815455238 970070486 561449816 846506748 272987026 461347834 493818616 688536716 309481974 28203008 91541400 462586472 863517334 261178040 798070648 251998218 798260414 330256810 933913602 852861314 215128094 50193644 676460054 276966262 749597020 950897430 843190204 675268028 177520656 487471448 391837032 635673148 284239920 726901300 649982852 583355490 708840038 514589780 750309948 367659704 323333062 408545108 541230524 254886014 641418230 573660260 907763390 163562320 242474114 597660156 214529338 652421690 418821628 440327746 189185562 745676202 159261548 547023802 43517324 540805038 662804714 242817064 465132502 416742978 4926736 27616622 459590814 782483300 923116874 921621066 545220960 741513012 958140738 750847466 473800846 35634356 556583838 127412506 181481096 900845702 960358380 323859680 160664512 19296242 684356406 945775150 485729336 591774304 319928606 951092560 380883006 360281924 495025414 943295384 493491472 398050662 456038446 934883042 671950276 160141538 905030576 480581920 508539042 522160294 850829554 562991096 445455214 77498080 927778630 735772550 457912440 394454612 74290334 554593032 201147104 125086338 532972980 660160072 380503770 14066144 329658890 472486270 994898958 131334414 954484792 545661114 68492056 100664498 669548036 615224318 853032120 878227906 149365690 781623766 747955070 549615806 619070882 770985802 245637044 740838974 491957008 112312696 901666838 263050748 179300076 414245642 779851130 669579096 374485222 325169552 549501846 393470242 820161704 758262804 912983806 183950402 269188922 321762114 317870472 861855528 934950278 292457474 177029010 267984512 237820982 688483262 337542212 691078456 621900992 956784296 258521626 587757298 877482492 351496802 245911628 924571352 326999284 358530986 420819412 568609090 205904010 552376856 443531970 131715342 645865008 348048238 209254090 396595006 453378856 22836970 976540254 684473046 584777912 545262088 529543792 183665478 439874634 883623862 826498670 829943866 93318166 800217418 322256878 122885286 13466198 306724832 877340412 251380232 958734272 343903000 108631080 707624036 921569478 542814320 554503230 330274892 692235762 380045960 285685592 43231296 101567964 514810098 94788984 129959076 703131858 304390764 880425128 798897682 730132072 514209138 681958182 854951780 883242916 360582592 954359768 878855270 100913306 538518772 543661262 403329410 315049900 198454130 399392646 587866118 42443824 766824394 916230144 299994996 382616054 599769298 872886926 428157304 617480430 561099090 499705030 711790178 150040158 156791004 558178536 69648890 788516020 101441434 372197458 798398230 240023258 851836292 577248128 751486448 52730638 172617374 217015450 769985900 504937504 903306134 972328166 130535376 945247482 867960356 526741380 360924588 300121618 857606258 688563192 816700722 578365350 363808498 867571394 448411348 33239392 106066902 629354620 355177896 394916648 423283974 298414170 24810018 375984352 156743374 364240786 115922120 72371632 431544064 334520682 147961872 757181388 825319300 493010248 116620606 674841966 733244912 316029450 924314106 455635218 264658300 262878978 164157212 586632926 30573094 641226136 72349940 184279388 920375364 602683360 813111826 41068036 829406264 989912764 351592986 168937698 632738636 230434560 732093212 232032748 284257312 560722738 876386588 877920364 353763008 835880876 971404908 741548844 227942224 925733176 605731876 905246510 694763724 735110868 221895656 11470856 315278724 262667596 741266974 141337150 632022516 161648170 987633226 368972658 692089000 862565870 99517668 795621646 713938044 924370490 691726832 579581630 787108794 359301984 869224410 98481442 922486636 135998224 195650024 326034082 638930900 282291934 634038138 458979924 600255868 529810344 667715294 873243614 631065826 292035824 433492926 90172566 940145520 105368954 81567696 905767504 152986650 661760148 566553380 391530190 28192540 172298848 275847548 403467308 281747994 825509800 299000944 951653336 918466680 566635068 399955886 495338998 8057226 613376884 767068328 934037430 702502276 942917946 424583262 578556238 25705118 243528396 731157748 263560332 911930010 228282326 770308490 940789112 359306132 115745132 306185352 675706900 415717250 2406244 958665490 565385886 242341002 762625724 52562398 674597764 33046970 846959266 694264580 372907568 775035200 556194220 909051486 741120726 338623968 592188666 350257216 181955908 396222128 509042698 772898216 608275156 942463456 177350704 171629244 657129096 785034072 483691658 553286552 103729148 349004178 498673078 440488208 221124424 989237008 790458350 809397220 720925826 192237592 578897690 535798064 784340610 731403480 421676464 445005498 630829412 208914196 253160128 983652158 923562638 479742818 213749572 951803978 434377700 497632970 391299986 909462582 818089438 752097266 165266356 919052826 168204560 585160358 94431554 28911092 655883296 546927650 994173198 887802982 209477614 511265694 772380568 94716370 447080936 284029164 693193256 20460834 672484674 563346318 702079480 664186288 100363324 219412170 106972542 260042446 689698266 598116396 411668384 489319568 495225250 247423260 220114924 476794140 836737026 809464106 729735890 292332936 476252964 785342756 997936588 752931256 928043992 222509702 778692660 946031854 958342090 880781526 273178774 505376820 761684728 648811606 481886778 219174304 235457398 182869088 231339622 239336772 808649808 296642988 916145386 162541270 125279020 283889414 850259056 184993146 400677396 474125010 151472958 462898180 259114478 271257106 122098100 36271098 47199414 662813186 833281476 621689248 640524990 878856408 821631132 951369908 41956964 132375896 813032726 900939332 688485604 741743148 217175320 123969720 749962826 692945576 40945070 729347470 82741396 169129278 261754276 988566360 533693188 77643076 882216690 875286218 274577344 582902754 540508420 828967686 332468062 934271938 333376956 640466536 101517386 196771416 366936906 586299058 971578876 208436784 366014666 911900904 267704132 266485948 113957778 284417054 466102098 292803440 775664254 91895998 313344074 993659210 923443292 285697074 978213954 521424580 903922928 277646302 180748326 385019360 685461866 161427414 443632618 338564200 639571018 180366754 51535344 241663814 817687134 161901546 363739982 759021066 926528214 896764458 230820906 518500148 572732402 916511676 142622602 217749700 9591342 611825082 913173196 915154688 138860200 989510092 330030496 62165860 833134244 465142052 944102414 739007862 3595398 224557756 129336532 836116724 566069536 400366468 326179764 39241980 259631702 724734790 681194218 274520090 977393516 888415240 33164624 645443744 815757830 57447756 297107266 99263174 757435780 942055050 968512660 460155088 787711920 740862732 182767856 854890982 433452118 251389708 928847094 566294382 352184580 891052756 745848420 436660672 509247248 937397010 878688416 194430298 230746554 764285110 850684348 998517250 999509786 600580750 100105624 781803498 963931762 689468886 362791418 229502246 181791160 441210250 876186176 229145908 735477074 103436530 899650040 835350742 950953168 49310994 613578328 993340942 583819950 548319306 848353770 561618468 790793576 684026656 976309058 360817260 345163444 413632780 342868112 298175184 446283058 172103614 7626048 811638336 139853902 233828470 601078696 89205672 443656292 419944792 485675510 367392250 221701594 467429950 321426456 216608096 365796032 59349100 702396634 179206458 512979742 755857496 109044188 95163050 382754772 445653222 826260424 749554596 445247510 16272744 589511726 791499358 985607206 47173946 467373004 192796332 306284272 948419422 136911258 917138414 718345700 270382696 781565680 276573658 791641358 80250824 182856822 7824002 91250736 221384470 387723334 882107046 301179190 389379148 724081232 831788704 601771596 891502848 561567016 816167054 655250246 855646796 488951358 458953954 724145720 721966924 614435248 724116760 755425818 465508890 432645168 218334608 370892122 830661418 725482228 287238610 548462948 982972108 224150386 580827658 934041932 293066354 503097012 850430442 33135714 574836574 890951162 376076260 739436228 218375222 257427640 139930504 29220384 947701822 827745274 220377270 865930720 56692344 703226662 953029088 6356240 191732660 457421518 145027590 326652812 36415774 280127028 168818336 52123196 767053822 975835864 436662396 124541554 882724654 603755852 224897020 889285928 82395116 643058046 445835666 454255018 182638418 103472024 963575556 492678502 419330110 167625554 81454610 522120680 388523228 621000426 975518092 662695582 47450894 884393396 423604844 124306360 662623784 819398354 797622658 194267620 565584408 486616446 667043350 989452352 574153736 507747686 923021576 537622954 343551940 153761900 85157384 601532452 55821722 284034480 178362192 869924178 239860098 607230834 37609088 911571804 435944700 386299412 416093562 132533576 272349280 444424892 77712580 510102534 69191888 82441912 287457538 667386746 794532740 671693146 211964808 342009748 261799180 703487686 76131398 746947934 470484152 514092232 743911406 554765178 507410362 889545242 951061300 781936264 827328168 993355490 71274390 459765454 255659142 677940282 999923958 21246216 116832492 761798866 997836928 727607900 480043756 256795532 433977346 26136378 762499268 711550494 687448946 332169882 266895034 796183196 148774832 684606040 632592816 659483860 699243024 669818856 183136020 597277066 325445124 524479916 617664064 215737422 51326920 354659290 101066756 688743654 387793930 138498832 936795060 134961288 455964166 890406060 318910846 684680136 838749794 33504254 394404120 762383020 610390088 893691020 245021294 485668176 959121356 970472502 814985802 395250512 659209578 893397918 348928812 806380114 746250198 178639170 151596808 797703502 660373778 441899734 407745870 661070824 728580106 448234222 584833856 225706800 668609284 33000512 137329344 770733884 230618568 498486774 387398520 341504972 489262696 99072262 896634400 146828954 690579686 801372010 936250470 602063012 482363228 645934390 861709294 134300692 535584170 32990288 358274390 234731716 822468078 188373806 432477882 437695056 884616188 444060730 778989464 460526782 366261820 718169736 680648136 282696396 866416658 705929624 460742126 450206886 415256676 77767794 716507328 107619656 289500160 987500856 736165574 609836852 978820808 566152528 447049424 119998944 614321852 880556150 644534390 925177210 922244534 173908796 256291430 863921324 207812294 974156756 79434634 969648922 47316156 162042766 70609162 462857872 898197302 3766530 230920574 965717926 133327532 13751858 248326378 148491870 213833604 81304990 595386948 938359368 897577702 626518510 665505882 908883374 335885786 140214712 108538870 591924434 278503072 866308318 208761094 371220680 107194584 366804840 391216568 343665070 806288670 885812542 86081614 947253088 484193666 393071270 233691340 568723310 677106000 754634750 478851478 427224266 236440456 587218764 223632338 408218074 716253228 886451642 565489404 999802888 876478994 300759524 639785520 590415526 339498644 709539216 291857486 267371614 715140208 430706722 675308226 397160238 56786964 755043574 97882252 625162538 586356964 865442410 239935786 100469616 819344492 453947990 912373040 162680130 274745694 945530810 753337604 758438188 521197976 603315396 875335622 307283626 229076936 803465448 571383106 236201158 807526960 317479568 404718894 8902172 586823884 661513482 333132830 278526270 649480630 819901074 737823192 608362636 355286654 999607942 696416988 727030994 496288400 237139882 298670966 145112940 777429958 53898964 552925170 573083094 740359644 580021882 638610514 890957122 935834808 494795764 387561100 29294950 174294888 683001270 81371516 151150740 146997196 764184402 924167772 930731998 816620102 898524934 122701912 632599226 370597016 381900030 828999500 495941540 453461674 944827806 525237582 450593010 63023024 744371530 748089490 427758988 555861470 63390598 627730842 842386588 588340138 785032340 104068570 139841740 260030212 838663036 269994726 22126970 878402676 888092234 629371240 903049884 530944126 857993368 17088396 930058580 343905406 939900394 41726788 892963012 704895160 669522256 555774992 341720614 954354966 877272970 28512882 287348212 382826120 497359628 128469704 433207022 512057842 449980656 429523554 38078734 781615128 98556030 761543046 836971852 520793058 375119582 723120014 226350220 875733896 425528352 320274392 920594550 846072374 113061078 72732644 749809058 762294176 895568542 559166792 567528588 573083340 772356848 789754718 376449442 665538338 285249532 230587326 355137310 264218098 337854194 189586286 179530826 834816426 662117284 563404674 400393806 612531160 760109348 992861754 281707344 285502776 805351950 825547774 114868684 918182578 488624732 158663808 280963138 881634562 182976988 817306306 858588710 724290318 372676308 538548450 813859800 347622256 38807842 954511170 52448228 899549464 857109322 188127592 766878716 762599946 53408464 998954116 214576126 950474436 725311530 684821126 634013456 23256932 921708948 865259222 697786900 677889212 117257572 43485226 780864406 119013642 169175794 36302222 55691666 862232528 401766532 977811220 346920162 659557458 961076672 160476494 865195336 895796020 45432836 495307242 379784688 503943792 334521720 13319892 576208552 947246992 497523084 899264824 916054770 822603870 272471970 144269294 875052024 676352990 157616252 239681860 193780676 700235932 224266072 47956408 416437630 753096608 571289532 490842996 685816306 496265030 189538532 477773332 291702188 827151162 79328622 894218310 627460232 942202970 178567398 533802446 712969858 418099478 804899416 911416082 30510328 658954644 472929006 503816822 960767136 938497726 365297402 131165244 58754370 979884912 854193546 368729608 687036672 370764250 551794792 210866256 669741406 466072844 73871348 183217972 37691926 268022966 670080570 149307676 962819700 490671396 232280008 951052418 426719694 571890078 537053506 788269290 257671702 702824618 821728864 401780198 717435490 708262904 805295366 637988070 868937140 995236602 737493806 72441916 814506066 588142916 969825718 36186206 26732502 132206722 970840050 200384718 898790272 665995032 66494666 316925494 433337148 127660324 809609650 10449640 633493954 238678900 789729258 516259310 102162046 852192930 978669610 290326116 195803820 866161576 80086436 650414036 665443964 153454774 773184230 164910578 292441214 68472218 166048006 359649874 535374338 686547364 94422342 302958772 854015420 675315080 635189760 110524914 809070118 885281162 697156452 990422516 129102322 448278866 948342000 813415246 115674008 91409994 537196630 815918460 515596744 531614710 241613648 733218840 311503780 430224756 481706346 796731064 996202594 156181700 161686966 296438618 727756258 502897702 714213038 569901700 711532216 573922114 758227108 526591688 388302102 814539126 378723064 396393952 750311308 366586460 254111664 7175744 364292500 402953240 938939864 306267554 711912698 20387478 857065704 544290114 733127748 870526814 254438752 324044752 392591820 991840772 666509904 981710022 555342738 713960614 678574482 123953304 760823612 846789020 158775264 521620074 480846094 120930206 53381390 838919746 609480712 560262468 756280238 942738018 117231696 937818824 965215798 516499298 895354618 275700948 300258030 979662920 611971868 962680514 171257494 705647842 702013958 153162486 62827354 410076814 587763582 722925910 696714848 871778862 103064708 212542190 550979552 69859642 16253954 548246784 289748326 27815482 349847948 965825798 277569848 996968018 652144432 512753330 153637428 278409756 63568838 411144340 234029696 533146146 746900924 950602306 857547476 72697610 936930918 223793182 356595856 520616480 915433258 938565464 109598606 402682392 285730304 342898990 704761698 50829496 902036360 606765902 74721590 604426632 53773080 645979630 848544330 568037504 733320876 644550588 247935862 312431178 732508648 567322032 72847138 105465342 663177134 433587416 89130560 847078942 120903366 390541942 773105618 246888502 826297318 753765150 2896148 70928440 137135632 123942226 738315552 274302016 331691194 875474854 770614336 721231404 725854636 870099660 52463590 161412958 872931618 773312874 544585498 872427930 932301072 66452220 65876208 109847170 276882962 994531518 607596576 37140066 638820268 827842364 337604336 20655946 566117434 442925316 546077056 975451400 920993722 228451452 412832142 233816162 778726406 405670018 604625488 930990414 420630274 184430392 400671660 26598810 199633892 904246216 680028322 888825798 972511346 775858504 992146762 83729144 365920936 97799642 780017038 375716946 530113542 516531600 455514908 569954720 504185322 954070878 532989006 37718664 769537320 897127248 594124094 241545636 335357510 756035286 711158328 334532328 977640572 330268054 517239676 837519622 250775736 297866560 267052712 471031160 292997502 560655572 19981170 226161276 205861310 660568268 615897190 609316386 753803608 404668578 679481096 288814252 106240076 3684924 449074474 948676856 493807738 723554832 143837916 251796982 85926728 854268550 869634830 44368228 66039672 912738068 740091454 160134626 66739748 403642660 85530520 267380508 873895060 258927192 219924962 628025564 984062294 380417480 392032664 282954610 551698824 605709324 316066442 184526836 21279974 31124102 902065224 814797796 168070828 479202660 183645306 577165782 629928352 615542134 682325198 926870522 299055340 503305836 93014172 301948578 489407884 67474168 597900192 704600360 593316210 628151242 400329596 522361916 564746808 276003946 522355396 547196214 349243966 412219038 565372846 32642078 565469848 170462596 77512612 795342516 330513394 659543300 365851712 67314542 668060198 615613468 843123268 763028440 808976758 571513458 7679648 235559998 147204718 393255780 721191878 18687474 876177244 787322672 398733506 764441642 607129638 238296614 704834058 170824224 406379326 459190374 132198146 49681790 91883188 762079064 678420596 277274348 828524450 317698608 205478488 318284300 724776010 937117010 80721222 486460256 456299826 684269710 611035164 970215806 939984094 715700472 452394980 233503466 865475898 3167162 794455204 371263068 771228690 972668528 819895120 621849558 764257502 156467488 622332054 454325092 349325894 703896868 80011148 352311554 988722518 53389056 125133932 369128370 148860960 347425552 738577226 964772500 389245022 290480614 403550426 131091032 464806882 584309376 701550740 400099392 665512062 869304818 167211280 32878104 417280208 98386754 355481714 405062500 567033174 821395210 258868770 80565868 255591162 379589034 234500234 551105922 622448254 798616658 504207618 547026854 831525400 418912638 648105352 79454776 923833368 771139310 88580720 328478762 162840984 442837386 546640818 46443262 701680896 688951078 537832926 131938028 386014682 4936256 617250868 511427164 697387646 536778400 921129180 329305394 418588566 437447748 604313616 750018626 625514982 944803132 21828446 927171596 737941456 344710748 500198856 676367644 480706632 526815494 169033864 88161714 442864170 406912632 419865720 706498230 172137926 890829196 142061906 917033420 149817854 217146968 918977554 825617764 359183906 281166430 494682418 95379938 900952378 304065274 943873192 306717642 630515508 658849970 671201938 245771546 734637252 140553720 91534472 38138964 666824300 483678978 463447182 84507306 810600210 180250870 39745910 255877802 392122232 394307236 185137220 246175490 972402906 332513750 733194450 3042358 155819642 765060730 868587674 611362926 583053228 713349432 110407082 563440826 920442786 181499240 499257728 548453488 485230578 966795570 386413492 845392298 767361354 183353828 757440056 836184394 969885952 40719318 266820896 809309016 480276366 273070638 843422538 547503694 66524080 993821940 375335342 167132746 550476576 607067580 110005206 536897880 329025238 698160754 314774886 750032462 166180710 474556932 59627386 583901540 236142766 887424474 704092536 252453828 487324668 262460730 137556990 533651626 538067354 725881948 721880218 25618540 67166640 13052678 279858158 185464768 747096242 580801220 943836556 845341758 426617638 740382412 213678088 368589432 294992080 64542338 618407638 743883712 61966350 137763550 683252994 188714702 536921772 354386900 809199772 868238604 221901168 994216890 787732340 344466614 640321982 221630214 637203864 700243028 402408958 833932490 113117334 901570526 762225112 391195528 280344834 311153366 784985090 569284768 932274694 601415004 559945112 403014852 406266604 365470668 108749052 305871450 545145352 84559124 633454558 663742722 855493554 983251528 982402104 465703494 162922020 67457674 475854930 921698848 466146692 144971872 488724428 828263790 709122708 841080224 476995950 942009380 247805402 53134998 615873862 998320282 319520070 917066246 199314600 591381552 585112272 239261912 65324800 933900438 820920196 769870246 813081800 959939186 298774122 785128436 864044324 243965256 768004330 791218850 651356034 449643616 153090810 872464898 68753444 954487506 926267106 475902530 816190172 606511488 914313394 125594238 43146070 608453466 731761026 488278930 293150174 725027200 652950390 25511180 260562426 299619666 58509238 963819242 931811194 915609570 667325626 976044610 43973296 290318628 335870326 771925198 521458288 567919150 260885840 344380120 330898066 195718348 91549826 431750804 16256874 190035516 841942470 69376916 582723970 651392684 208792190 805071252 30361172 715918352 129861822 443470268 528776086 477318996 749220434 480451272 994087002 753411022 420042228 560626606 755888946 374503408 832062172 98380416 967117454 4315352 977258136 649338828 990821354 32807632 511142586 145991878 600792496 676284176 439724914 181527724 718421688 30403782 793479154 612782690 174924738 139812246 344560748 626171334 63923828 653869072 732212096 523451820 703849100 669145870 951524952 173607120 895567210 291265852 600100422 359293802 764645648 25726500 520993410 676588648 194722858 173406612 220204368 639431788 522919900 169421054 682203484 107018998 526729212 735369560 30802324 308589066 45626494 712267428 689813972 803559214 3888192 363649948 335829922 939681232 430522170 314262542 689050528 925200322 670604444 857892274 346464550 889615932 77015212 202936224 997051868 730265722 468930960 790374476 151856760 797446164 72877210 631728120 251873186 296927120 640957700 161590056 820535100 269948940 874478178 475933258 875944084 521178848 804624592 876689904 442000504 827811188 742510858 216612160 229575202 364559630 144871480 841622480 961038806 893749298 701996586 914401818 837607890 422221434 334008688 599839584 923949762 836813148 318483870 194082568 227064012 131122370 910880526 581792990 475553222 656725428 319513366 79127420 105252692 996916168 892332766 234067018 316376142 745406994 381835540 423160862 421233650 408243074 320075244 209131322 223934332 444123924 324619470 709620388 367995452 753813482 528316574 853357424 36612316 595490348 6176906 961505158 305378778 483651872 358232000 287429526 668614258 937065692 904201162 57226712 367203958 578528270 85567406 81554338 378786782 967056140 161824568 539256148 980392994 244697534 226373078 737978034 248632684 595761440 170917400 470738620 137863386 96010562 977398232 725654074 985993450 760605002 319535012 549374578 11525668 367473206 421824364 567529310 663983532 913166300 89507420 914395412 174207310 194485594 302779152 717813484 390758564 4736792 419706270 781133844 562411168 218949778 661759806 106460374 644741640 825585204 484032480 499854454 430241240 455511300 866249168 61118058 354022350 579036878 256177090 102192020 927308698 107335842 507439790 961390666 606388184 615537748 270479984 204865072 744822578 281124956 466569380 605836320 590162860 835277218 716868098 2349978 915933894 603089762 469103884 37535040 878048714 528474606 915000724 921563548 432483156 189795738 529800234 432474476 262230116 291758836 550685644 458732620 739248884 247474004 109957724 805618450 154061910 138160060 727414200 774874230 55506808 97396858 281215990 826745276 369796282 359656818 546074490 167093642 945006482 678394784 461956302 546789224 681037000 846982734 261816018 2821844 712570660 768493644 606182510 84709982 55903076 43946782 42858722 874816996 65061916 244437912 810847186 429934662 504155836 389829072 973530040 109585376 991056328 875662062 771221078 231767326 127047932 895518744 994191090 767026438 792802064 89194780 118204732 31575446 382269582 991980132 684804898 641259930 179518210 843715772 304513092 568211582 33969026 626367032 260552728 515438048 661490708 199376084 529523196 186360454 85340728 613931896 508704500 116413066 915719438 248417294 1373226 845436618 383213908 221946878 405628284 246633086 770316412 868116890 256028422 999033268 759733834 850822850 340577958 423596394 15609678 627837988 80203726 478976632 52154478 165988150 334094640 65554114 511648366 405854390 527391682 943697700 949508912 797618634 750530716 235192090 380810010 315417846 801716988 96470572 806481168 291434096 385146002 676196724 687856232 693171590 207602534 96250608 170698780 865167748 66443546 846805026 202892744 922152132 431029784 885401238 628079254 378400816 956427132 665044232 375025280 602088166 747067780 432091160 238055038 456631046 292217062 203941722 625835368 790150892 391419944 523831356 978056214 219873634 123310616 997551078 792380566 689353682 462289964 127455164 707918256 770463568 411590060 554032690 825894354 514308004 903602192 724221726 256754060 752169022 766559712 605269226 471319316 740310870 704442378 103801084 65223388 744293300 880098482 379572198 318872996 257567846 160621754 489746146 549149870 660540728 776602070 642270140 669265830 216689502 208730684 154744452 460811286 151562724 755410812 213591978 65060064 647698712 661604922 209739168 664875182 162769128 480936494 101721626 881242810 54678316 12228274 162385228 124671426 701191642 552733882 62914488 138694446 390542466 340169496 414635730 658108054 322951094 797329438 979041336 620381732 500615276 585532058 791341710 616879646 993696582 25400114 81854434 41441846 388233554 781436616 725594162 464308698 377093076 235206948 470636940 30825690 694542450 653516960 403229692 511165706 706339690 54964034 540684374 230160278 545589848 941584152 959173656 705906330 596696578 333395882 368401822 559303700 667784386 471118250 346100278 473034214 911111892 332750050 774452766 818784018 444815238 715335516 365314390 476369974 720079098 781390552 770320566 421291796 854007028 150045010 727552956 255066652 156581348 281961784 853924644 404853734 25192836 372010332 614494658 894176374 719211778 299442890 811732644 757773796 972932946 909831086 983342508 438139386 27115400 479708252 143044196 487053794 5151664 47684178 986394714 994900314 316255686 801072400 672806226 185440766 253907312 164820182 11511890 681267408 189632642 392525066 131232832 962766728 627652716 97534344 68581652 868793558 292403180 226267056 962220712 335306424 560716548 665030690 590715746 540172740 244390626 73714828 897312558 140681440 779876716 791099666 139158336 452721026 126851264 85003962 894644544 780573352 610862392 317201978 817638878 458856604 28175904 972874716 578752984 581157340 521102028 148833440 888481492 21154620 685070592 969861172 791416844 663474680 749455410 495996234 921467358 101794086 684308010 174458990 876327130 753646462 961351694 417292726 912392520 316325054 129686736 679805420 13775886 336428954 475118630 803091636 94819152 942493304 579911970 765821810 921193894 908404320 231995814 815163000 180633556 763380254 413441412 438425308 799724774 596744736 183378680 487383008 787182114 265069022 16215214 164985332 826568188 923062942 68259040 310691450 651671424 155843816 643944838 617914656 762130086 418095720 690371454 142121858 433794218 329860236 402258062 310427744 69033412 922487452 284469588 991888358 919899640 798923668 861650112 24759488 329773410 920536532 905831244 512545016 283147240 535714946 234733874 997331620 168535196 821073866 141152548 128369776 267748862 138320028 145865596 737314196 2710672 483832496 367703672 468777458 385648958 279103212 232415204 754845538 537784856 916759628 605448608 637723202 601245998 816485134 306992732 252278700 334077360 380437144 529081916 992715268 913198962 66303984 802628100 815875040 463580134 129046202 836905120 170581134 79964734 692067802 986017182 964463812 826855440 678648060 722709602 248915994 355211930 895061714 35156120 965018850 119660004 376283056 898952636 100509594 345129674 173050622 416762800 646046126 633623578 858384916 520162534 160801328 486018248 132618156 719364882 64781134 413076564 726505992 747248632 683223430 556455000 802512372 775268140 708492176 393131852 131911674 312392626 371361358 489819208 439299602 258922150 166300622 467234794 123812710 765639480 6273562 428284832 136060590 692217784 16685012 200709864 482878896 122916094 184762682 389177430 963012568 513272448 286760600 26582000 463028110 846407490 950214264 980053580 667903608 362923528 23233746 930496314 913237656 199264670 666991294 204329710 197533940 901175024 771899690 833003136 869157174 5031004 626685506 547226530 623328190 581830830 209006186 169771426 594624638 670317046 876328716 873749560 729948554 575153882 631937076 485496022 469869010 184262932 617707714 964858764 619947390 792973904 324207876 813938350 692199082 413981296 581619032 747685504 799258176 231438736 445305386 993123232 864100648 728504056 651991962 474120644 221564492 475605390 506231688 256314280 416009138 506248682 972493506 797393950 684309672 387194280 461264782 126894800 258831862 549296764 176877106 529835806 143716218 880812664 355316572 791283452 189461720 137005062 714738642 679380952 855245534 738433526 998718918 596563824 146810950 104344950 674599830 234519724 904544888 66087020 744913326 449683756 852347336 313293360 852880354 867285126 767538570 477178068 462894784 208316040 119083288 641805856 255368720 348236182 19830166 983063186 192899330 631207972 575632432 987923992 924223868 609339610 636639882 958230318 175225592 928639126 396288574 630951748 111208244 103313508 520673242 79718760 482407534 800382886 553858570 617891888 441840310 743207564 622963344 527084424 450931794 617622982 988187000 214802114 389254268 149685566 151122332 322348190 335420540 968551740 707666896 124024940 996980440 3452698 383389804 583690044 176205750 407261252 635386302 515597710 451737976 751795670 623126664 106891854 565633648 542564172 714548372 100569864 557431698 701290554 267491868 807354778 238228300 210160106 831356688 282667920 834434412 515763350 91039414 636221194 481786812 333823188 380611834 384599842 992487652 340074014 972598940 55869284 842831846 967078846 676973624 276702894 453339868 157846410 806125596 914589170 820592534 833385698 893248216 530820292 120565420 651335014 6158946 318251300 90872838 187453818 301951302 165276938 163180676 387787132 468888330 37084886 280953788 619115686 919292512 8028856 520949164 200540176 560217298 344390272 997057562 601597810 296579198 256014576 577840020 248832508 324540272 682042654 329277280 693268984 316664010 68683354 352690416 603699200 917398824 305704408 210576582 596673496 765448152 714213428 264054752 13102360 741880372 700708984 939020812 305045782 831473816 899076272 876296252 511433470 174634934 73995534 4605108 269363716 108278504 699419038 920695012 226313974 872989244 280613670 472377630 352753604 7462620 206181632 30807276 806937264 454306150 794588828 325256500 704873530 124337516 659751908 789250306 573762504 997680130 324729800 50417768 268844076 662506962 45208732 500760446 887050056 803879628 333493050 697242376 65603554 206375226 496953456 286333972 436775568 328435504 81821182 728234452 787148284 269554284 53429956 602063660 67578814 50220208 100696394 612156438 130069354 37434850 367453632 891553052 716200702 280914342 159342656 700249104 504448882 951349452 917892058 315309882 527394310 684257750 221022854 582584434 367250896 326854636 77195846 761834008 468501980 557860158 162465454 603565798 111347796 129465324 655278998 495647494 934219714 676211562 648993858 308088124 364679586 597669264 680979548 500459904 607539212 845372624 967874160 326149788 112831024 936011684 88436536 627050394 622298448 639499886 429358626 965897724 142776480 947092614 395037012 323223368 285268594 208820810 200518104 452079208 799103890 549744018 358421180 807659150 712348828 223022738 761660200 985738064 566521470 674385392 492264952 846506752 883973002 79097500 156347800 481132692 533119982 555445204 83133476 222913086 806004478 825919350 168476634 116127216 945919310 464872918 142034604 663198792 448300258 434035212 491730008 554397878 378023162 438516114 279328326 647861664 839048546 885238236 959072510 16802412 253475674 468142188 255263124 550965798 290461214 725916032 790935756 227915624 820004442 852714382 532155534 283608038 39823994 152553874 601657206 354937544 795794002 278438358 944723380 545480702 458406450 569961258 505440766 121000838 835259818 700585362 217517842 186656062 926396700 124513274 969392884 173175268 52801326 182084148 462018680 349700388 993307848 418028334 734077128 651914714 662226158 62068652 248336840 878730688 524747756 252061626 763595014 970208242 166163238 770168928 467178804 880290620 240899274 190449970 39375446 801872348 871779030 257729570 599352650 34594636 656116904 702651924 283596260 342031512 259705948 4369372 226396010 393400670 495917684 301051978 28220808 222808376 26271540 170231608 601810818 865245626 590658118 72085570 132595440 583817256 128504340 566772946 76856208 50131196 9772390 818088554 611054748 106060096 761889444 705205664 399953932 28491000 688979532 370865342 757356604 773829302 387133438 233380510 306312894 144755044 868286950 779242798 36402332 403725938 834784920 191989026 410274542 40418416 971041744 8454794 204416324 841492604 449072200 149850760 850375194 579656884 191259572 765221108 978882806 481601346 741507450 917521696 633161326 498954976 169044532 124399512 686024568 98157802 873534100 372131218 972450730 60176042 708627536 734932566 435579230 109590804 347300914 233550698 618579376 150183806 137124436 542417176 461153772 668617528 391885260 890348386 616661134 698202768 730842084 272920942 399556432 140687872 516597824 865153286 701074952 821847826 727747620 180963168 120947950 207542574 264267616 490225882 732401134 756754380 594407276 822004014 596050622 335966922 448250128 792568146 666951550 919087908 899559230 979245252 741368930 569674600 785119316 86750492 100918382 978986130 911694688 900265508 261131290 760195834 272041720 468075682 866451730 999687270 930679596 88833334 50145852 317067676 917008384 346841224 26059566 652304470 579123146 803546310 682583018 301437850 470519978 542754092 407331604 631027138 619571578 67905000 807554962 572858622 484012928 188049812 22557396 715213430 716478622 720188312 790082964 464968130 904012844 600995994 799680502 780701588 198582518 801478500 964483164 791301474 161396688 507019932 993546264 127859794 507246674 518938654 717865826 379312102 654683050 677674506 570468104 523387476 36384952 708992580 902685656 378226688 134986270 823293568 282942300 322533092 726783660 303147092 513150486 769280972 666742314 567488974 314137582 314991298 56695898 176071716 432940186 17496898 458283762 98361224 330811254 542926782 272154392 89598790 475192776 476750984 735809126 142968394 366292984 654859150 739815242 451413484 116061390 207625838 914611020 20094240 368270812 590058874 943532708 22860144 76375774 961545050 470691708 892596962 60268046 85067462 86421998 835481454 440955624 686356992 903651484 712588214 884238680 878030392 538773942 107616198 855787566 959921336 897942926 684104336 291095876 400543018 286866090 141345746 963703492 602335184 723452462 277950296 771976654 17025788 925266594 559340386 632190512 975787324 808060288 165350682 397036148 195722312 345894682 432129908 408524688 803424012 620418300 556833954 668557142 899168080 402933348 554424872 92677538 425624880 108968158 488394924 554582832 192587668 744308058 197369484 166630304 724739366 587636652 547914240 454489040 877391620 121632654 187067804 514027350 271601558 134048090 245893216 835568662 725373480 358595688 963823570 883821862 524922552 437769476 745616348 286033468 565700550 337650672 46316088 86338920 911432732 967878726 763714386 316773890 997731924 81922378 136440474 983491474 804878794 8132054 663287088 570587906 968922946 73320956 563589226 103456952 707994796 963585782 331644378 992185296 158852864 62790594 248149854 627095888 508645284 506606586 302924080 760055172 43511660 411748786 785874228 766687930 906741440 839531796 834352748 455142396 207142060 335683848 967821408 776211732 181257818 498411584 218319288 983949014 892522900 177370080 550161870 175729882 74923956 864284166 159966030 860819390 324226788 74115624 348192108 995194248 63666246 755234214 180221024 318521334 323437504 255802880 171686662 524921286 661196718 798698194 917166562 654406412 194950360 867003652 25518334 848885836 789075354 892053860 738039912 25168306 974633788 349860380 765698296 802354620 113664496 967688084 41563370 15902354 741910924 619543678 542175602 553741332 446440948 138518384 135542512 657148270 795785784 105344662 284928566 661275208 877691414 732052390 598923312 741850856 960332278 508348400 840752056 715335320 938073824 514114200 166550040 120379324 719881472 710223694 142356752 406885812 449765822 482175730 530095218 185549258 645164418 188284728 714325518 174587184 565013318 650744788 323870478 692191310 682343046 82773960 821276304 654560608 207795020 148221988 26976178 978739926 896583338 928179410 222154652 324223094 260891380 144457356 221179820 229125560 404408646 302910146 588786602 82026326 929384066 146749050 988630352 754624260 758928026 448187966 907894924 40487166 937713108 212674108 911176526 841314362 422378260 773034026 702575874 296051952 735723336 428977806 329728876 196112180 604418932 719108268 176203130 834964776 131443130 314212116 336715538 10220850 304875666 966025710 642497868 937263100 188040396 211461952 638654068 513336754 761052758 69958800 956959480 40637740 401821480 276699530 736875822 616100292 883100464 804194098 605243488 259787354 2635102 871844250 109585362 936992848 105973632 504064784 698246232 555767558 881004482 86870140 949571886 314407304 440993940 623275796 163775774 343306514 4517670 320933940 14546116 691267862 17363672 787989254 375338076 464163862 181568916 657022500 934422774 628949994 186396850 214680322 36785034 872260358 446827310 541964530 596267500 511192854 881744556 130149038 583053686 109949092 119813184 148931614 268702426 933597714 245261256 198471110 856143318 812781260 849960906 167802958 187997850 365886004 832350182 849950548 661412180 259559904 732895668 476400866 572013134 613222040 476461936 717894206 772189314 239891562 717201550 703024608 536454186 745019616 578330046 511256172 569028816 417750678 738426396 242006168 783415414 869889930 349269504 67682604 886103110 621968050 864471632 113279776 176621860 939401852 431989920 171724790 748405936 875283194 149436312 617512278 641564680 269920362 332011608 999458776 382193292 678639804 863605302 857634220 568648630 338350998 332448760 394299156 115994736 459143394 996761870 992593272 194495648 91361870 738262056 594351074 785090184 954453728 759394154 809931730 777961560 848048808 183769924 986524596 478334184 604378914 92464174 353738238 563324442 40073864 204842974 424665470 715543616 247080530 244691540 206825984 926395638 735241798 448009232 951979556 634590938 659154054 937885128 949587676 967888580 230809124 859645004 820284844 536158784 275112910 850789494 480062558 817889458 288791968 792142776 723760348 137466556 929824276 188229314 76591974 707904422 545817358 174222954 493837706 100870438 525014870 507721702 648756022 782479778 193921962 380048388 169614030 575835664 416016506 704882086 266953650 836098936 308776910 696548464 878363656 647157828 309358810 325918738 148088574 771984450 551306274 316926798 587591056 847185464 349203602 927233842 821389924 547702998 419650746 196932342 161464206 142235150 361274272 182555158 102108202 546535942 251212398 315605846 227366764 322535866 887916404 522829060 276379430 139242548 41890128 512140718 623978892 259169496 798615120 285363548 298314798 380221134 97871322 954238124 315479848 733159148 88437506 671162352 983939088 363268526 278575000 278272402 348442122 506480136 645776956 348165972 35755838 64235310 659106206 960229324 737875860 66217280 782007806 829243558 827776912 335091526 607565684 528594060 6057072 750645776 843763934 220047850 677587892 274899726 540069716 651378128 401465088 552948452 58364936 762695570 736324074 609446974 816310580 513664562 165015102 850683494 112118150 51221818 634048514 855922382 664856622 647132136 700856504 268811148 884480570 253689588 982831784 587886164 465469014 232758398 986159766 518871688 513511462 816609546 332468576 268360010 277947374 122420320 490518752 374118408 703983306 512782938 883877252 996953906 516568138 237905206 286921544 692598798 67946176 840693778 947077516 513234066 208423532 608520628 670742544 984506732 465992742 340527744 659872100 15420866 571878218 892821756 707302142 757418426 194388576 298327338 734088062 678636324 702449402 638508328 943992096 475815530 44704488 317008886 680290670 47037902 567762406 86423210 594950668 53128026 574854990 164683448 538690726 202789886 709405998 475159232 22481912 850305150 191134258 932033300 472430610 876437224 643969048 640340322 847547940 410923190 973379014 366587306 530338684 483170586 825933830 242969882 249443974 838363606 823775916 291773548 294178638 843983190 841336110 368178288 255097720 804717572 389298622 28022402 625433584 209917222 950618630 639705240 77497804 683936350 339531440 733028890 124259312 78575246 883117588 620607896 279889502 829552684 933134318 958427736 12904906 447034178 467043604 570189918 631954782 965938892 18159446 908514888 40807670 339919096 673056874 482198318 691334808 704238722 381326442 51112648 172164316 446800192 999025050 846229698 117536146 880019688 386241378 200847168 537061490 539083018 500050516 633951438 406184898 256837986 639714588 654950672 781592046 575311932 565256210 569663124 999103790 650136400 698198806 59612656 868316900 245511488 551587496 908987450 365585152 686598040 56785630 963126806 48558770 607891288 968418552 55624908 196756630 731916444 78428176 563803218 405717640 456019154 34635020 906704242 157118542 683665098 433344764 524634654 783728024 788994290 822273312 447272754 771738736 965961708 941011238 738478792 484335464 437790820 86204686 32670160 158194612 325247130 958492582 158775846 821866768 463334006 24029538 399322398 918831382 268624890 710804508 408298362 319464886 675515084 271436594 905818078 821387704 533542926 951596374 597543154 125598236 895217154 715805468 148406448 670835718 206619898 582948440 853513428 930022326 245439074 816265018 728886578 612756930 926265956 795933864 116752588 229381056 36126294 239307476 581943408 589116608 199330478 235070942 463221676 119689808 443027674 158090148 385900842 166558814 393604186 636921534 539508628 361701292 267612698 568591032 439517870 686457640 554625942 253299936 504682522 539648942 376567584 698289570 781329824 656665862 637780746 34953398 44361336 361601190 698110074 839371076 323984344 291932224 886395806 816193806 410113410 422526676 687511494 878975226 131749944 156275584 607866034 349790544 646290760 648358476 237355130 468079576 636908614 288055458 330463792 633598604 435370694 841614450 67909122 218288724 901458518 672623808 281088068 95344260 133656056 358346050 503158146 295122986 720692916 205038834 780972252 55874410 801567426 20424634 369158664 893898848 180800522 582147818 843831688 34343302 559440904 124976810 161825106 366119910 118013070 645374596 707471102 767388542 285113134 123432860 595977710 486345288 687006462 611695456 850480272 434275226 67881154 471022036 728086142 893091376 90360348 39020500 942150204 469924786 775199368 134963308 809439422 266396616 71919470 195483600 308448736 271969444 896263230 436043496 385932262 851537358 405460114 156814252 596301226 80687832 870225780 944434666 612682528 662225522 279592022 852184124 800303276 405895940 970605340 612213370 416377748 822992034 554747100 603709688 42847472 154565378 83443542 627810258 427155560 987397322 583615546 589032086 463910862 212596894 88668816 413153930 959687754 999967754 489842190 273644390 686783306 84257902 368646378 937502814 84117024 85403216 724646624 126263568 101953528 978472396 388024678 702932076 824995364 894676098 639615024 409875374 344893200 292375944 412925610 503390612 268008044 937233030 583508550 105072154 81310826 158941110 670962236 537448658 592974180 753933222 319383728 102537756 952987990 389607658 666361556 508196152 7663036 395717876 585249812 1552000 561604902 74626234 231543830 219843598 511587708 94731056 284876326 661183316 262087818 149756516 307052956 488229500 712075306 681020484 424364872 298443232 348943688 146701772 320316686 336659598 737315208 590442246 921089202 414114742 111705528 463954492 537789220 744275852 958278402 55900328 1292814 737759108 655656084 831952602 115358886 957040798 68960144 40469244 282820378 851425482 802231916 598348230 800767540 728960852 632901896 511667246 927567582 456320350 522447014 518071506 675521646 299292788 7590462 276273816 477981478 789541722 969394060 797522464 924314788 851285692 976823744 695874460 409010106 68441050 45890550 875368612 932747572 299299088 52070910 951052898 205172666 339862338 663241236 954376876 898213830 573290850 729768404 508212364 621034576 477862984 614392146 232149972 291690074 433979924 954706870 529024884 467813740 396515038 975342972 241885318 425865832 814318408 971337868 567391978 393792584 781582974 48632896 134902738 404190402 255726972 118108196 316208898 900295116 571149946 451531988 456299388 536560990 695635988 410715650 96688364 727147314 949067672 307383642 120394524 956933350 560963446 783306604 421302652 551792046 482179338 48671352 859206606 97304162 774622450 368615762 276647744 321857230 893855550 286003714 174922834 658119528 550787258 933828518 654721514 595655620 628930450 102433298 735762360 30323806 628232518 977708454 656716136 139803682 864299454 178799534 576430582 265578240 941432864 709914380 201983398 671606884 671155346 344123630 144458876 514465144 954327586 300757758 398541972 868762816 108207828 415941198 439554814 509257316 908385566 166433690 444012454 638600492 681496702 351104458 878630568 875557420 125617262 117158320 189573452 506448020 707697102 412269774 151582900 403880738 744420396 647882314 307903250 558759446 364356902 417054692 595921412 87821714 412447934 905655668 821565906 67697584 124218634 792102588 310034124 901176348 374868460 90728232 554336142 340052656 517818852 648196732 483515382 251057850 110261084 41312858 942353740 124127924 959978298 285375722 147906726 820022238 424189342 162024466 781604246 44225462 398537918 973755578 852215446 442393824 191157154 484966788 609824082 355266850 280017328 507755916 354583064 612267280 449766398 676191586 875500880 120890866 958351946 41106742 558403980 868424998 556999536 651803118 315461282 460164820 947284016 4118242 336708722 924055458 833943884 21654724 278566456 776225856 377218582 553710512 260437216 288583990 247202058 574674592 648100972 486363722 945725212 726612124 468852278 617302776 360829612 176571658 937485982 807393644 90297614 383579834 932373608 980107770 944926970 404968532 839371870 659897170 788718192 633445644 773127734 62853420 431994820 271929126 528728368 91250044 464233240 205749886 710334274 540637526 988585350 343999452 819847334 419745320 891405778 735363392 838722360 45353324 749264692 552849702 493388584 540869722 187350204 120184260 417273982 93372210 47725872 688036530 459430330 409525602 633505682 383467568 523302282 224514034 336495840 821740770 284745490 545404728 797746616 887419468 898069694 271152050 45767846 696628440 827657438 868706392 687058714 638712338 905334766 350741446 275933750 547071956 617996992 658577934 346377292 243966582 158374058 625160770 646426274 958418000 633506870 520664258 990022196 601634346 51322050 903424670 154306928 534719980 393103192 210972542 507445264 287655602 967153182 641021916 955457372 187481904 397736590 728627906 715290394 418462960 566736160 639342510 646671600 866471796 786570838 441052314 887216004 126794142 190639910 484737454 747364366 409640556 701978574 330428896 32937042 769197234 205166698 324616554 16072808 758155688 185203758 361148858 34452484 792243250 840096110 119000946 977679286 185010746 955366180 85678300 527533538 238142296 279004216 642105836 286375762 237643528 82714894 563298766 908357454 650327082 664297892 412582984 740448260 770563384 542557304 919697178 833953832 100886290 713541786 304370660 51900520 896139748 120849974 422331908 973109204 431574806 427525450 161792830 990103702 946080420 991676544 828689946 277523614 482433518 683427268 260811156 204112260 215456168 602040620 466911798 910386632 593532348 743287058 387629370 226125112 208059308 753849354 697524646 920901226 254294844 66121082 516252508 625964924 905725246 758526230 845281444 886138298 894070398 521198252 54217576 618986140 990900516 63993412 201926724 858604338 901586212 152552550 925173904 163038940 59722722 475712134 173374326 575310396 39720176 991033712 284213140 459212614 236114054 880460124 652168080 118066082 795556464 962420212 731114334 922070704 28188230 637724876 28833696 627059568 257116500 470060558 122356970 49820804 245799570 861845852 888093346 170169360 221126252 347381032 143060348 756049612 682302808 896805418 702042696 153248572 514204078 387121610 373411200 711015112 85453278 271672360 481661746 276506822 503122698 172381142 911907246 296475656 78835610 207546936 950123318 199128406 70471018 398143262 694032752 860194206 927093194 610825516 539351144 233215946 459582670 614215556 79142470 489929428 977611660 492852198 659802944 81550570 191810288 20113296 883798818 859677308 799063664 822312720 875509868 750189518 443032480 634153954 188630176 591576134 500470390 761720100 30834856 97408634 214379478 351753910 37981588 885224062 690411524 285700724 57760488 244154378 634392780 511186572 269512390 385136762 774181404 246502652 626292744 518592642 503576648 516650406 561759010 281167504 788241778 866287060 35670420 874353286 178588584 77932548 382865276 868126636 916742768 735584476 622996436 534002204 744137372 688595214 688530318 875002356 775432614 790632136 904746964 714207404 560263202 979362740 410875582 985785870 483228114 771874026 839752914 635919118 28881896 560958386 850750272 246386104 149664770 527039442 197090338 79543216 783975600 950419814 681961972 25929560 270799336 211387332 340082232 823896386 263384290 192193770 687045864 846950222 714475382 448351334 618292608 330515928 407968812 787696676 899754732 875754812 964445174 456762960 282068400 878069160 981248874 295371646 769674042 200462468 591918190 780216092 488769918 387539656 615295848 992795028 374694620 446141400 115674932 476134122 178609066 553313890 700775428 533097332 413455068 451413428 253589452 147613400 295718662 55952032 752567784 785715550 387028132 903394348 104585538 210126958 176103992 79307434 710066258 74493100 611508290 907915434 754931402 685322702 482873184 479522860 802727524 849214936 443866552 388318968 590636518 882163028 753043610 625479462 691922296 120344290 266335128 315370680 949169710 825822888 306215956 586711884 47016576 727863114 553882302 136860356 880688182 685876728 362008966 986410096 908233338 628970546 285015964 689685844 759203066 518957114 706794360 391529322 3412786 758853480 549727794 531758468 514141930 231679382 706568712 562970930 744377832 966173712 121319052 982493788 777853928 816013484 231655320 965212772 104296094 865686952 197311498 250544116 370477564 729592760 95317702 51098016 598119852 30194536 727812864 818735024 557999620 705701694 19535592 641589944 784315414 771901386 462951674 87559932 739580036 62865508 463846424 829550274 229169530 568163942 143093044 197882446 610147646 333932606 908187282 294405838 202641690 239709410 89160344 653721330 589852560 582659800 644803938 867054828 317458972 285891928 397276194 403891484 798356954 519538858 561830018 83303796 561530740 520507988 3694256 984686512 263699396 495120698 341019432 62529872 975507804 602719998 313786758 161410592 377493346 423602256 189547974 368236984 519707070 957744708 660204510 368627814 150100092 655958800 537597762 519531698 675583890 272060708 444769680 417064408 633400494 431361430 977079976 989201936 667179210 572969654 812557588 773584554 375998018 326071332 215384064 427366628 420436546 724122128 804236176 165647006 194803476 257981796 971094922 311202960 673799376 250021084 146853054 680568336 834518794 652421396 699012210 364539918 100680276 703771894 530849594 138449782 559501110 768707784 583029672 193490888 40956248 174002506 30877818 382519656 589647502 921169124 65114934 301774014 394151214 288682348 302846808 983202600 84701142 268856662 832217278 888702730 713120704 881498820 419657318 202414150 657051452 626287574 715224154 691741878 345382698 744316906 241010528 587256676 825082426 93941326 651676902 563730026 71288306 473847230 189906214 75982334 133057340 332453050 465621368 461771436 324435014 993581598 599488856 627056732 874315640 429937260 181267306 352943958 494697836 956554438 638951828 40473722 486870920 394829840 214037596 661761086 321888966 699945008 611137762 767386316 738909614 508705846 72591140 244542180 922685634 33886968 25098210 167249760 733692912 679209040 250167732 986761932 590159802 147186562 929830334 257854282 644968686 840587412 84392424 402202512 309426662 403961424 295995488 727083302 712417102 145865126 465551188 478011664 754662696 54545988 751697416 141932694 787633036 297742150 347259524 835349466 177371286 253185230 746784674 382398160 894913548 159525392 911544610 926215684 326397392 774831772 109580436 128559856 842186164 158123364 686531184 22270302 960820956 29334466 502321408 586004728 195052194 671974434 999670326 843374252 556936072 802284458 64090540 411916684 347589814 395064796 456970 2468880 116765566 854445948 268984990 182456998 291476926 667701254 806755462 945976372 166234054 613071970 907397786 370859174 100008796 199106102 582217658 794712688 653016034 442938648 188995534 437184504 568900564 357411014 996236336 97168480 621601244 618377434 765970106 639694796 874426228 324355728 978104936 613073810 474509480 753379854 922906780 140797342 399562948 426405754 488702998 920188040 861553952 441201730 852158448 856723248 629746244 981232822 464408886 413434906 291067126 412898604 454939990 600048468 646249780 431977864 485920550 53319092 741779386 847460112 471792206 788850540 354034012 866762024 247157336 632271404 376358586 937166022 256035764 637858970 769288508 406653378 287594204 123761718 619246904 722321968 845290878 835609662 112178636 304971408 295762212 539099744 327272656 827864736 481209932 552392586 20249354 786713250 218309728 551852474 638460910 29643214 726779598 84351964 904602828 483433680 618994608 395252918 959205510 274844734 302807024 639957564 595757836 286938464 279013580 626869180 548675216 851769582 485315824 10752988 480906124 418149562 681398254 100967726 861945558 131218428 559164876 964346726 555495742 912388056 744582350 880444786 361124690 897525362 401051084 545890410 284436130 295097538 897563854 712815454 764813536 259684144 251787884 229612522 974013366 789536626 115182180 849512710 559240896 59049224 866603118 282062582 163548302 194076526 789740288 186171818 97235050 825710618 169144846 532676016 558913910 473670664 331462336 514434264 412157470 365007460 934415350 523448610 160788872 318173234 169717884 946079208 650686712 431259550 295543278 357872942 746150566 556549218 49910412 223166022 976981170 88080120 114449918 113676656 910962090 748169944 26042132 385331942 470661002 23833322 372838792 238388168 840619098 313463632 120703470 413285740 950039992 20138372 493167618 224086838 145966536 286229712 163893666 736800852 878850614 889988584 63163784 558973324 287229892 80598016 480687376 530617760 154476034 592867222 115946648 101449510 827902806 87210468 102427622 789620156 475226778 671621862 385116150 402584440 932760634 116981964 953129756 870487376 584697086 188102022 57350022 326413100 428265992 276508716 34190742 428994720 355791792 859493276 515999290 119277560 795220058 859028110 45712428 293641920 6447682 681653146 686670230 847350186 221899890 695299498 37809938 564206642 376335606 309564728 89384924 891375320 332617630 795486068 521567240 676014272 550014672 1163200 656450338 415361950 805709822 908683630 997208098 667339228 572038410 676997520 152355562 193353442 274343122 228407358 109104946 426127552 622032758 525221596 169643078 125530894 792035394 569333424 964971826 587951142 485743126 577242132 806856324 380175852 100839060 95574414 464666928 512385454 249335836 49224562 478414194 616322540 889357906 734634186 554763130 353947070 4405032 579332692 707888762 391628618 384283232 176554692 719747048 935619302 784911880 662206566 709816778 874943434 497477564 30698890 904747412 178143010 411528820 463203364 63850852 396315974 740342364 241687812 59173554 735637244 98908524 313677566 421307874 494768422 933326762 559611000 229601664 490343766 882256656 833617910 994010966 481941066 33124164 196697432 221576990 596104974 39421602 76434692 870594970 874346184 947880328 155342482 235115792 184032382 772783060 421291772 940256988 556854660 568816030 709801362 956374750 240419178 441766606 901633438 691298034 173113682 930310674 709604576 844996484 927887452 401237722 716510842 346336710 723153108 64252742 827623042 679376820 489344686 434327490 408133146 570330396 919248400 517582984 333518044 599383746 845571150 868290500 342363668 797250868 203489574 400185068 948830854 60791644 699578958 178545296 858878410 659267340 762813850 143514028 999324032 278021252 970904684 24685126 486770548 61669678 664991086 868954214 356542368 456302706 223818702 429308670 675992210 65138834 965956104 411712230 780852418 831213042 895590708 974599112 332626684 500671376 467054590 537717322 637052796 610896542 944436320 505951648 752810622 169040530 396038056 616696474 8212668 697468634 17225802 587472812 344850442 723459614 628765546 196305334 172819562 32174120 530842204 811463564 698911506 596226432 238531598 312852934 477489042 816934846 510550248 185926236 294951130 102871486 77840016 38870954 464578290 967847680 184710160 545215280 959206140 337120486 640206040 326708992 26674876 551779064 413852638 128385886 15053586 748673436 270462114 169282482 622129390 21738644 619607994 558020080 225763260 903080802 236744472 401281880 418288398 234155182 524692890 898649440 45194982 410361894 61705104 74691790 993083646 25276248 963257062 251781514 913992576 19031728 22815732 316236730 377960032 750079300 869078482 517796 674456538 950000906 554617090 984770356 594841992 552226660 806064342 897853556 539372438 57220186 593177108 955770236 635061640 690133820 350124880 543422104 145463214 783880152 85547276 674710990 23760222 355394856 751206806 894561988 35818012 477149512 772955634 828771184 474273818 939280874 382912448 944581156 177690920 510355048 15133416 256645460 987678664 683034984 297680916 632224594 364730430 74257676 497793682 625765274 795768960 930012596 258862548 613730606 215771928 853140436 813334040 246553790 325138054 759024912 395856304 114827922 690748866 237450872 953630882 202510304 258973854 806014354 893854238 366339678 983502552 273201250 827445456 915311824 443390694 805033344 377404216 330297910 93578896 21620926 986862870 639691326 417362944 839099422 513449828 738090482 328667144 466102788 460016584 660917746 644245906 37080662 610692538 15053162 809886012 529512246 994831270 818908818 153380560 541968 62212386 444775996 719613618 412104858 190230680 763416812 687331536 283891572 594030238 551007034 697082096 466217060 909499200 33357164 929837950 861634934 247586418 842020600 403978958 76747524 706827186 470416564 955894746 678201444 65912776 660635904 966041014 936910106 303813526 55551884 943895184 638218920 423723608 558723710 973186934 50129604 31283382 7001828 787085458 353125442 967911704 740486146 384321906 891293134 659414214 877914800 626114228 11723074 296564310 689862182 682926372 288737738 866879226 731599124 326731630 398216366 347486396 927805064 37220544 674913254 688868858 984851394 553400124 552475348 435830268 386388652 270212142 525872416 792739122 396694054 330922298 467670228 580655596 484603878 30732026 389767144 303763154 356972814 721628620 643189598 965917578 706672370 403123846 175302870 585738352 445342892 772605602 750968396 712366396 206962990 107892054 15145918 429726846 101182112 524864160 478219580 997590798 211085226 773962652 67647472 902293660 482792714 332146324 613544544 737056030 476379954 906577806 905677910 356576516 468365906 964138108 493275744 304687382 550712376 507340956 83766500 256876490 606704418 91368558 378025390 137464588 53158732 663429274 392057418 341855280 898682276 312692600 517452378 767833714 577929216 731326800 620880444 448542942 466707164 710409864 530100872 12819450 457326754 703971630 887929680 519293140 835631094 660547440 86205678 573890764 878461474 632379082 165968242 860431856 562222736 698489322 148371326 879523942 904900704 565550616 985702676 88384708 335430500 849422538 24583194 593060690 989981674 392814388 129791064 540807592 811322926 46862078 497645638 804811090 417426820 182262714 931066866 165022060 181945804 47869918 873659348 936403674 129737428 212426538 320980366 648445574 537726080 161767500 611832296 454109016 513080336 777725724 439898294 621126636 610773444 817415150 150946506 459309536 137312456 610181890 549115234 32435182 866702270 74109122 820555030 115820928 20712524 302259014 476980904 186282124 847704936 394227750 350680266 585349162 93183440 788044794 600446104 726944304 388136792 95921096 397539066 892619414 922743974 599385222 78712004 678919922 877262758 208998342 341804494 924515918 253063508 938672928 967670168 115279526 908079520 424810330 305796784 396073800 695943098 428788566 806776854 424478226 354372376 514825032 944200372 427427796 158333528 802519300 467260356 923410774 478463868 364043104 7433674 445215742 560425928 941675452 769630942 82126772 360157318 54092732 591693682 79022922 743931230 332932688 190353284 372072290 386353280 509951978 224002236 894084198 103864680 857422904 145993044 278798190 943809838 892605930 688213328 525175990 170853116 323275798 463867232 644930892 54211584 303352428 583116984 820269190 991692878 399362884 791053198 325080406 113134494 217687034 37622858 982401414 68273534 756092966 635969812 633861530 510148036 72104296 715909354 239395080 637681996 203460228 485245010 38909804 59038350 200780280 451796026 273451838 934458428 474034030 89450538 484798986 155135102 871864852 10547536 213678914 274114058 943206848 469718562 326514772 721174396 517287638 758486020 196330332 653667930 279199372 375165392 804551806 704750772 298350076 430647334 876522662 673498204 356278088 650588120 629952580 914236220 173627760 838509376 210078446 96826190 305424186 582303640 916265624 786122050 784188124 412918574 15850516 153446200 329850600 65763962 938922174 242692978 40343818 414128610 458165846 731244268 157241332 407649950 485781878 847268618 86465946 691242938 840940442 500509800 887974404 979149334 912471722 804277864 442309676 701495576 387668918 596727404 906988586 478961906 692792442 736846836 2461438 55829848 463711096 898747874 392775226 765433994 718640824 570251710 204817726 180855334 141742880 834530854 459540374 884458166 689486422 291654308 61071774 525406592 322295508 338885602 529763934 126530564 703474354 845954434 875296012 90841138 754546454 604722676 793018534 532667448 697823418 666884278 889714386 447663132 42734924 327925730 741360390 212950538 608529078 63592416 580776298 816031702 592957642 308905770 783677004 185646310 802854322 470154882 372866984 850696562 302203706 669286514 672626598 323728484 837520742 706224592 278082326 670384948 780611260 310376582 464207838 125395408 162805792 471524216 260071964 266505816 11823374 427538632 207861736 314707488 6140004 616405392 690095970 858645064 33397610 304182358 83312082 151199260 257116060 580350518 515252912 715843392 917938918 66416632 979798850 730114220 569270766 128708894 970365568 528986424 224480282 103889686 387882910 999896874 622073900 577423462 779873566 813712264 265993684 834861546 70609332 896223984 547362716 863828922 51698130 176634226 1620564 992212944 772521244 395476130 792682950 971876984 974369004 262270518 839362928 355226406 293028736 532819674 856124730 56536040 391659720 761732860 357935298 400805380 750266040 152359296 960231388 700921912 820444880 598652838 883010692 529768434 992046536 370244274 576015778 394229588 347544880 55472106 688601756 890637610 930918618 262052828 250924208 971653288 210114466 318604518 136781392 168399278 312958084 931332212 561242788 163295908 965547330 309782744 305433382 299546638 403942438 96920494 450125076 957272678 405377168 349446802 968511710 538345720 42401396 810308922 804498880 219661018 921714232 931917190 413869988 457790212 480069992 975862340 293145902 518364214 91458212 482507490 153707004 970647876 194185340 512945460 387187842 418714260 839296070 741100154 667879848 921300810 302065430 161841850 870211958 406325898 129096028 593252688 757715846 747764848 786925600 972040522 932586330 972174286 273371242 669018020 487727936 150810036 884449826 632894316 751633504 840581804 487052974 836082996 791333486 618565354 907589706 744198566 763564796 356646544 193032708 662668808 550362536 238779018 969961246 221551236 999050710 747234822 437397924 956170906 918576510 451778338 559419906 129966108 288420922 131246002 421842264 873246632 169532370 439843712 634858768 102481346 353089534 624302942 347359432 628383564 718701462 700885686 50120220 442522262 258619718 261356306 994829568 709670836 462573174 389619752 981014604 488065558 247846638 918925244 831000724 388838260 655855456 580116376 453277834 217020648 56899854 897301234 419243938 369030118 115390440 782482908 475612346 227536866 486294084 452228096 420343912 800206896 37152634 413715146 124029848 557431762 655394856 457260806 241987686 196543564 609500900 531629470 818681020 260597572 872055350 136976138 843805312 358540098 345438558 428310748 919308560 595572596 617809730 757128266 376060796 379789184 253349870 618308394 892417132 757510556 320137934 490664764 592373854 469170266 22966770 815608640 171254032 530194436 755829314 39275740 145846486 652318562 297998 947741824 722851384 673204096 888909514 320772466 101433930 938709954 296235294 255476442 344350528 933968136 807559508 774019510 348398664 112354126 336207808 913604502 23595348 684721122 983713178 617613982 380271960 643022512 2354226 325498858 304592748 237328052 75423838 666727528 607721772 680122798 927489212 677614686 25632578 51891312 232142940 327818938 369476570 676744224 801112536 917356386 307503720 260444556 763576128 585003448 874594772 225079136 775020636 8797058 27649266 863441552 653677214 164459380 76872506 540319146 48224618 828572482 153573246 536690280 833763312 776426138 785205644 553585172 69284870 278320878 291653594 861790036 842833942 157249262 77464294 124236320 458059536 135617676 112291040 659534516 999615624 822892524 636733636 138287766 365229424 696222858 51365396 263141878 550015498 844526628 385993720 889210304 249774810 466046966 893559398 484947444 438643232 25485504 123182068 798179240 332987282 223384322 350987306 276893322 701139788 447099130 5012470 928434892 225580360 562713482 192090690 663966094 577134132 773434482 451096904 138190140 751784728 725393072 798999904 644453992 40969422 876262736 692493770 204341514 847898140 848253250 143360212 570377830 75173364 776272896 799231094 204247754 632422462 426721976 404599542 530744496 899576160 234987024 81858554 754979504 739400216 349266310 238784764 341474586 623427460 178850492 129206296 496718662 755947196 236042494 129903824 792756574 799010442 133345092 434283900 307191228 101259630 809555506 461284122 809444748 806320030 997840944 684659632 263333190 336751072 104437048 221670156 438212506 411792364 374391122 806858190 383817500 988461626 294697830 625755524 769792562 893409634 910456408 435510370 919713748 829671822 305073308 971976984 573536192 335491196 6995470 480174872 457959428 919632466 364756502 933649232 957848040 966670630 434912906 206523690 506083706 315631218 886330822 95841996 26432348 593480074 270900412 852683832 13429918 675405078 76625476 429327468 836385946 116529842 307349924 970179284 773966058 198080686 133938264 923751890 29877340 792422524 459309896 47466434 36116526 909529254 939879600 326569110 628848942 859463140 335998068 172564248 394517358 916312594 607711084 625923954 188487366 433292682 412563934 337714698 168232574 145097126 351436094 447666870 334047790 727679646 739147370 322130696 29141578 693243484 47330212 31752770 330617008 558704602 223559278 816834518 10278588 312491310 129047074 91081010 484663742 718533446 155432076 333048540 37230372 822377454 732096192 75652742 730967702 523376898 393801580 319340954 586183960 711764010 994423054 97724208 819607868 198640014 293668796 127235074 914547078 80978136 250842038 300572098 771055554 197414910 815838890 446407944 728056736 364590042 848453944 76291132 102840678 273437886 301150178 648534394 281188418 502551558 316340090 518593008 86626110 5339274 833482982 984273664 748884022 107469592 897501032 175362364 637447708 5737316 929338634 868155786 494764164 953604856 415132154 332040832 714558644 799080098 7245564 706313438 752223422 177252766 553909396 345987060 61957094 626216588 867396652 294539968 420382278 970571988 891947986 451941048 59661472 306122980 537027144 84969412 786745924 967366382 483897572 922937750 617998804 759669324 818602274 116882300 488720058 10878456 260267830 458002610 701058576 659109964 63358636 523713434 363486074 64000984 212576686 308401026 593270076 669409884 362840220 61215046 884106344 240550726 420970848 726698690 174177534 474381876 522271804 312174144 943297954 799633300 733699348 642906324 250457756 324455310 636421604 113020646 887002026 729098846 517193006 79303010 267760548 560500572 286985882 20571900 924936556 156223010 667620708 129309558 969272496 162348692 247944324 403879078 15599072 619897498 118347538 525674076 90397098 332975290 494859250 191469414 326967274 361426236 367380450 39375202 848229442 232243782 923349414 216864954 113102726 326079258 183002302 712795822 233054536 945007580 759717204 131062848 726999388 383008310 217446408 611942742 264644118 513368018 12080448 441273670 240955608 811497534 749973880 341617822 486175780 218854862 637356906 394748750 397133614 56445068 560156390 840355252 342245876 708161308 608679784 82081194 480523240 182496688 943114366 262441480 328705768 573151696 485345692 543140924 501081286 100296082 234388260 899253570 916030276 312031056 397028262 934021846 943963506 7107354 487807868 512395330 32481722 938126230 450934198 500668998 685243910 551820936 28733212 799816076 505966854 130988568 140961610 720465110 540440274 749980532 735644176 456720878 898290654 227863086 866368096 846327060 573617674 618963824 667682020 908904774 621181840 514855434 456525050 197112634 578135788 754877682 852658930 639857444 408326316 229871406 781231920 229318554 822838366 318601494 916884128 937864404 678130062 509754916 807434010 716306352 567384340 474535782 592288350 560468302 476695612 677345704 303339608 826464878 697780284 636542824 710116464 969741296 16951674 651145904 466479662 23574708 778295430 901455196 705388036 875158766 140732972 672664244 883682666 23070226 183179030 309705664 20387478 53831572 979105164 839301894 656095488 993059386 659146884 48900160 516567578 51127996 313142426 139878974 691032156 159666610 817116108 252180262 526742652 348784460 482239344 155242796 552120812 336095678 466055818 623904722 389224012 409707054 62496326 635308834 776355556 173459002 462259464 441435360 573730206 624861322 772778620 848754346 668033182 687627046 231105056 533400406 561460726 798115982 404526802 983138906 752735984 994145242 719750482 707495428 630262006 907362292 800517666 938645752 131266064 816754208 338707558 773229786 185814646 714613232 18150068 571668568 967290032 77737442 48556800 688048250 775810732 131991498 299525778 699258468 234569614 548646424 798070778 419793642 523319390 219126836 937447670 658622656 110882646 201331992 825871800 20051616 681814338 354133166 67889972 652277396 664459786 516958900 790371056 540003780 839033250 781786792 8439958 655440420 195654180 12567630 494156966 582927320 444735472 658560874 387949700 854858642 735198674 909645576 131212826 569889734 190724652 954744862 339109624 663928884 943550072 709948376 973841560 344816044 872918532 675478612 274620574 363719616 988357718 70562402 214461496 129053792 517874348 279711832 617549290 224184128 321383856 818205836 465794778 907546906 151020186 222843478 234959414 629525372 405139916 580484840 712930516 450615298 685215804 439858860 175285902 468535730 193274418 864330210 227336908 166897238 307548614 89856016 410625154 920444352 72417526 117378474 892078340 118044980 471583252 711452418 846379662 177347682 110115352 639431394 584364182 203382780 980176980 575982460 931086904 915113866 345091732 454222476 347615528 848992512 65426890 648258100 528196194 664596978 997817600 85475058 939619126 143055166 739354216 634214876 116986028 466838508 705469200 895692374 520207840 270353240 742697732 166915866 186590620 503386538 912286184 427497460 176431284 180625802 174270258 102807238 453197652 410333936 378045120 252033778 329449856 817449474 468288362 352270908 964454430 116363578 892426542 18827884 833136674 827493638 10616210 666603742 107406606 257086542 833693654 887327520 490520076 452915088 346315336 717606884 304680318 862116980 634489604 622086350 578595592 762563102 271806020 511976898 387240720 779015746 30461710 792090084 263705950 845316648 537753070 398321728 829856558 872137066 492548684 59233640 556949082 723908782 383860442 546687764 236344686 709438342 319271868 238933226 435135350 591434602 702298722 585508852 600847216 210708478 241070852 990663000 16180610 5324240 256132422 269852386 686304468 246880770 432861856 54587444 267307744 503372316 574644490 304556332 697378514 949494008 82310842 417726834 954845784 813848342 746158534 864385104 194437422 776263364 453774048 543146246 873806238 662989966 757663408 904129022 625339632 313374352 699000472 973027616 730090566 348612784 21720494 78007618 858217652 494754360 435003596 466138004 603708960 977442146 715528684 404491930 41360280 36701076 257648312 98229910 782981400 407139126 804646744 344028062 517661072 949772292 63712722 507638570 571168194 848673518 429523640 45497216 736190594 334601074 100074308 551338228 851042342 748084778 669670834 723719662 269765396 992377446 808745670 80922512 633600132 710579964 319311330 898482110 628624286 488477812 148492682 12305056 212649382 691998112 823881800 270432584 12973400 309867676 701144452 306555730 36815448 403208640 881409638 442278504 329145564 883987926 801125940 63702274 776276224 537766730 123194464 384163274 739897018 386868484 484122168 448463710 469444744 351191360 163673562 721302480 67575874 777557718 500541462 833446882 133393250 771881732 825818422 620890852 716833246 315139348 679238134 282327674 137177486 765909424 257477130 353412456 771461742 653250634 107586142 787123400 984814298 373918268 914180942 869402556 102713346 994652566 927616106 753098438 329699026 798727218 173843552 729710474 953655576 957395966 393279228 179725072 469358422 413030078 386138688 250304112 840792746 742924594 714622468 869477782 582176524 252793034 480868360 758888510 331654852 298755696 893745510 996759154 565465276 14360122 550919188 700847990 875431190 185464726 483346646 736536650 20031496 954374258 72872080 356814772 651000470 69956134 382814730 312053586 629509582 228422320 406600270 42833086 894416204 653620174 164575296 684747346 443002684 908768062 400351710 440765376 589160696 444815068 841391500 750488810 391508110 577716926 92033300 347695488 555733518 507987984 887437550 370388562 434648904 683658518 706891336 12851342 806281460 641181000 476579398 242660616 124163488 764817584 863403552 721822438 516799960 451638186 380201364 906838270 776960310 447506938 250696082 854100656 517469960 138591224 428456056 340672540 350609822 480862638 161017552 531120928 642919744 810897414 374549570 54788120 866293128 737774592 855601880 640679698 136917236 42910988 554906830 455109580 333264386 566398620 9263098 313227382 531600428 908691612 487104026 719723364 469540604 533357514 690010024 539133520 911353670 884060938 417506670 671018568 221422108 630272474 849241548 491388324 687495852 837537122 43048790 424921084 729116714 352575986 564084040 741350586 372540840 211998496 47060346 197096956 945412302 845194650 579802404 641667996 388146418 715811634 848447440 876716936 800294426 48190842 562391058 88409584 895533296 307458688 438787280 730094148 519331010 32492976 401415884 811994178 174135858 81911084 773023232 606528062 223959550 24892144 806178732 24287474 422609906 481265280 289651026 66472354 745796304 858011262 947663130 993382896 644096454 118903546 238129770 204852552 653289936 226206620 516552830 484790870 261992840 750505930 448040206 488142514 228625302 397924040 497993584 539669500 540602792 635308114 139705430 800882994 271762744 778261574 974416282 311958542 94229668 959120128 263732752 874313110 182400352 914839884 68034566 590531744 426208926 591075802 527488934 941122164 944796544 493151686 687478366 116542950 890787052 595773908 520085390 707996554 27642422 82452256 894767458 616022638 479422160 265936266 774317480 902399316 799449020 643255828 321847638 350269562 700497686 44552134 87221170 351840066 281071666 893976504 715852860 32599330 612818444 678734272 259894636 986999858 985036638 180319546 808202658 275556272 260670134 7019078 326300164 771910978 139154648 364257580 994441250 363832374 535996986 555301428 255741832 695294854 692994434 159961398 111892592 972007202 361708870 34579856 361581170 703809928 323704952 151558012 266931224 367185296 787761410 399940772 563191634 702708622 936538636 872123460 446543480 806142250 791001836 274203748 357921726 424585146 283638486 543564084 993071572 554493648 407916570 85048252 901089566 962259444 835548708 452696964 38419206 663659768 199176152 347980926 747335898 712661954 324670242 839247794 604038334 369102888 633390700 557452276 79571538 179307974 781293240 602824076 921544840 813792934 839249700 944239072 487200880 705107788 290818100 995803072 85348004 822231894 163675262 104299830 600491610 394044096 461925776 379309480 897635800 886977930 88181280 842987586 186254544 853269768 594924764 487380670 781862224 27786688 994385654 887225440 99565686 794117992 932494528 412546876 198033250 860137362 16413972 775598134 300004990 455325026 506774426 137362910 463928870 44834980 149479712 790671346 256575160 27197928 203276728 127935188 551652744 327737408 976879092 359074338 167179136 609720330 841138464 236880558 952746544 975591460 943791394 621309820 459153874 645112286 243376576 412102840 888829076 103518416 752712640 706753592 225154518 822061850 837305790 35923680 851696718 716187134 791349638 845530986 610608318 949358404 693528320 627160978 684048408 574673432 669917446 629046730 336525932 978379350 622599364 431051974 158832024 352502218 33250648 592578062 515639816 189432038 9362106 304148880 410168126 904285306 669885928 308718048 886683834 603184794 96063512 575734072 123791780 215606470 677335638 772577474 445227740 208705116 349002732 302996796 616324814 181821600 601181202 107904780 514258188 433578392 866957078 584538464 757771476 944679416 543370938 995052214 255298198 427924958 189531396 840510004 53897780 144968920 142422672 871699488 974406430 747458738 54465114 98615156 74522258 723861276 596368740 518969288 903738670 657438820 994513910 291603884 234696236 132726096 729390530 584750774 146270138 384811980 640414370 159441980 519824110 944056464 356654088 354633008 442566738 780408120 582087524 121790154 215561260 44018662 187720662 967526074 21711026 266698420 579291608 139514024 175492676 849881274 815817364 286957228 368545132 231671742 265685010 60172316 828296634 104401558 365630526 70626214 322724454 920875106 168221298 209399896 854043472 896275172 368074792 13361692 901009854 608193552 232247128 721437112 510368132 892595808 906417340 376090192 153137150 577507816 737386324 411776088 351160742 343058938 694801560 27907494 258406194 86754220 998295942 959729842 855756896 565250248 255371332 414878284 791795682 525831678 973251780 122941308 604606832 545467230 596852856 323792872 693179842 510156992 482622024 355832330 84368576 247706640 365997520 281482208 912811402 369657328 520822092 709149512 638092542 715502084 799444620 398946438 720444322 65680784 238099318 19336018 261952440 352894060 594513544 123011986 251978222 241863970 619849328 668982890 987833444 278022982 395410748 347982596 243463106 733285090 892142470 526211674 634228636 647243976 995255784 310412894 564422712 785517812 890532582 950614964 81415098 296509764 498623450 726022558 155525098 286162580 469956620 533748078 366986152 304562790 550048886 275331550 885779566 482020266 716892676 917689700 9117648 239249462 324397066 260305560 22691972 346338474 944264248 732237622 290775232 864187810 743968684 180092960 823463346 487964842 727217024 683065196 710035644 394119292 467533758 326842304 978156396 988429724 377800126 114292440 536121822 931705334 425305720 66634132 478711686 609682328 950811208 494415406 818659082 542484328 806566496 206654574 947055396 82216128 560285168 418872852 167054580 358687594 420477554 192589156 360919142 230220274 368126952 987945962 978670534 233458308 509177948 57314066 506065214 128856352 492481048 184523230 255188914 631666002 790202168 529512070 996758600 101820960 82097982 340351722 891647012 789266688 993156710 895773556 659198000 388628806 778977012 409408064 777026202 174889126 638728436 968471736 998267562 72956616 795303634 565223628 324352550 723696338 797065030 831917074 945834354 798039722 789426114 883987650 410108448 267610470 319516260 758082508 637476926 981941250 908340346 538839354 644855834 92029196 795070650 793765742 267211366 764202780 83480210 477127210 897491494 416862608 177606696 392916344 950302648 228109126 897810398 661777898 297267542 58410226 597825356 419999424 47824422 461239454 47316024 325041764 197898484 143453314 811744610 111923770 602802602 184959184 560913946 30149146 956909968 188662132 143848884 726751138 259442016 469072650 469249350 515376078 300073924 998907322 353512248 612310702 245870588 115768778 818087458 74373354 799203722 642747060 33860338 525412454 107280440 332682292 120860606 542484138 930337724 101639822 869255158 728974666 274651086 248918192 987963160 904737976 587446294 642710034 847441324 965490314 300362292 663551990 843026638 602382936 836791160 520220608 169155860 261192830 589204418 408105374 786554960 323718276 453231036 735470000 5484246 383281702 35871852 841738852 496910380 524634136 25967072 570152268 386184760 80562764 659238714 456222202 103988932 727622364 548178922 782525212 649558578 470668124 680527330 263738352 983580876 691276928 255709240 936300418 850533656 945731280 495677830 513305850 548963886 716409712 761154374 490193540 433624124 39168374 334223986 816618652 920417544 158506892 780990158 883935300 297066694 82884850 365249790 330013060 803790306 340572898 697472178 930039538 291252598 310774734 77588902 165367894 982361288 499498152 527451394 361535556 818218908 646073920 670411780 937555430 492846698 475217968 308793666 25058592 879686656 167389876 218243656 114946132 970205374 894600554 306489298 669888836 391119692 515940326 324222408 597899048 607301640 675455344 269522824 263109794 570538752 922859268 308527324 452606198 59224332 27593412 353805436 426738094 37914710 401449182 304239664 898788942 361943980 717941638 114046842 955029228 643245884 564907534 98495218 428059414 342754658 416006800 597413012 216255710 620140944 665972772 321699170 607336246 818546316 155006270 128852424 303060798 322980438 126898064 391430212 600151110 906892248 994786566 540684826 48970526 963170600 688669078 779289300 979935632 360903276 118069234 231494780 404688190 195488244 680477438 8801100 918138946 936911630 206418860 811966552 438902612 432744936 535958950 537473050 975486904 332779294 398967602 270914412 167438310 217767954 638496286 393919630 690670128 394701520 425665126 221170334 628866826 916604364 335061942 447092246 891870582 238090754 223714828 545386688 244540570 62174044 408719120 809553386 836084412 554292426 945271542 562149020 206933396 803514078 773032156 416818718 202033912 494675914 359225136 78951172 862212998 477437814 588006808 16974632 276822636 858275796 208740236 579562964 149528922 833091594 530684386 711468104 973271498 806908034 317806730 98180590 244049658 191285620 382517608 416787286 498723984 284171982 468250766 368554448 585034478 692321160 208040550 120782540 211832648 807185232 969063514 640273216 896636492 178702278 103216630 252748652 539723778 195775844 946092518 488949670 198437174 801198858 232899434 30277394 492907054 636102356 539590028 337368420 650115184 724010426 350474108 691622574 759585076 274457210 241335672 163541208 558413012 514214486 776417888 511486252 522219088 872808856 848581496 562381766 404222698 386108748 220967256 413314464 723337416 236474610 709365178 667073476 945451178 211979996 496062604 338386458 419276270 193781086 350219806 415441368 131664778 982992916 695045578 985301164 580496866 956364546 457403050 325227174 558072580 758951688 910635718 815049260 103719712 407407106 12920478 740993704 584287236 236091558 656262956 358758352 990081130 922775076 1388206 24729480 29209310 548169356 8006998 492248792 51966170 311984360 649805024 53130784 616903546 344284748 788243596 46192438 910061738 258221578 698785244 74962632 161321660 673517172 619191518 609256994 705477018 863419782 544916670 327458224 777060474 967570314 345506128 326397988 989220098 557889638 233429108 507764840 54495372 912374364 426281992 482331618 826148210 685979376 635503242 863219266 694423166 61197364 325446074 569289452 411281272 619606248 678594786 774868608 266541392 116310748 681627784 918300406 581958528 656304636 680631960 551567380 104754028 872000750 724544096 540366858 876871388 209407558 822912004 618791392 833917944 412755980 769626142 689181428 766431406 9763724 563284722 937717106 816158558 375094940 867517946 703889428 541648698 157186240 282678584 174015736 440508228 184879458 556297540 976800770 629866504 886631278 104703766 246144292 206593176 782584668 765059902 93523790 783430732 465912876 868101460 33448116 4078762 248392808 65982064 308482842 837519022 288937820 511925858 673746100 858708372 126614696 615357394 837744788 195006960 97570148 907429784 407291618 777197606 934011340 770722558 712862764 882286064 439342078 722005744 847358208 619018100 311396526 656131876 92186358 379737084 283380348 471559090 950891086 426879488 561906508 789837616 127073964 71086344 485146796 265085030 654657548 986795000 616605804 689057290 262861050 21067862 592054986 519305840 684992094 525942922 727402792 774573262 957021686 406752190 922666284 164119930 395174970 103015604 715895700 950508836 197959844 890659662 579488006 384158274 727619856 290512150 97196642 926858800 250280172 221390182 896843786 788220284 146846750 413528178 482402912 117177662 99930658 547320316 255173874 165956976 782750072 976720394 400674738 987852390 649232080 264248816 925498338 310559488 695977430 289373536 975841702 353376206 353758668 974548704 227119236 767181324 364062270 140286932 815317288 402584370 240032608 778074320 582182184 487967518 805460426 562535950 537013264 977718318 926595962 529218608 294823690 430339722 290392286 726204910 38575310 842390692 475444216 211936704 947665438 571597290 882281400 348187076 986781804 568450222 476929404 462851998 104609050 612690630 195280396 797388706 837193676 131588798 774311126 385030234 358288712 28554812 656033278 16744072 625732354 894235878 991636684 4199792 763737026 610682102 555707856 786698450 287196132 834489254 749711302 809258676 91216974 352609094 860337854 467619912 502965336 579899476 446137510 11734162 418315472 849894334 371002762 139850814 4713194 53675388 931784988 837732584 822736852 854723790 317467314 136440656 256886698 275105618 801552508 479566632 926358630 705558246 492570546 177067336 742861402 353782896 581727060 921140432 212241706 211818524 172707748 703008996 697122358 44599408 785843764 350047770 987520642 304811940 309581482 100213686 393718770 534131098 331889946 326689410 113977186 1591352 924694862 319831748 526340310 737559740 42902954 762861438 681539994 556361106 325180264 246396908 676774282 310347184 715158594 880975354 132107022 859789240 928008362 830834076 274600614 348316296 21576004 847862624 610776552 519564240 234904054 202926502 317928368 101248706 811970432 248355772 568613714 970172896 770369900 127366636 858121910 123305668 291879618 796563184 552113480 792748188 812803322 911742934 829512684 211321890 815495706 592406490 243115832 542907438 617619830 675778702 936364996 107262260 191088954 540793314 848733400 247187922 176510770 498844360 63477956 221789992 468483510 635005770 464270316 581602354 28003982 500613020 191890640 849901616 210616558 444687002 550415378 8461290 757265158 563074356 322097514 599502208 418268204 183956776 945483348 275434892 448944252 914102048 168837042 268637520 204094634 985604208 905663304 582117736 116098952 817064216 42041106 534341220 663210376 882556186 909427954 282378632 183119230 812409624 741127138 167895532 585831856 320928688 867679058 333657806 475450640 667315720 661026788 640994718 390211808 53347500 171997920 769151710 411966240 170774488 763773966 120540006 541937966 828603360 535278304 422238044 836346308 449568040 571240268 734076802 467973080 546145588 750690406 274650116 337672318 4161362 882512264 821298938 290483188 233089640 423310 533879874 87341148 309092838 822660470 234739272 190771658 849103888 504845782 842913916 913276940 289794380 61947880 807031662 595575382 439697882 711715720 608011536 218709236 791372326 174872512 578283300 241122814 355617660 684171080 725265874 97141150 579112364 212205186 96281508 475754924 752450040 446398104 54102496 387839748 378157218 894057510 233873906 263283426 881164628 480816262 481525260 954029024 174646274 979869420 75088810 384908282 381914688 245602550 928597104 892719092 419766746 176898974 768758398 565412026 184416920 338169310 786175726 447319556 127954746 777396638 14699956 401390694 842521672 657656342 738306376 128255658 754851944 727637436 871220836 686884374 775512084 662258238 958219052 281816562 495164280 286230036 388249640 124593106 322104302 308518600 87661956 141279024 956013240 262535872 937677062 381654264 200582980 198135338 349641718 196481558 356958666 573321528 435484244 842406730 136573500 219227702 123380100 694884224 6474654 803566994 241516646 370261368 863030016 575994272 595442970 996259268 920491780 828152662 511259232 316489204 919173552 516005838 588603788 174751858 960256794 4353134 341474718 38574666 673924872 513936038 419730058 948371324 554607560 768259574 247895762 947999590 860326028 731621630 921944158 197787690 642728196 316238936 645902208 133285146 22649592 803934930 876016422 722634214 797369654 66405356 413178728 490879466 70098116 127150136 781942918 999305936 953435922 443023240 699607258 173937884 633275950 786179372 592968142 426149634 112883612 349748020 668252656 77982732 317921284 915328496 719765904 710734628 612556566 519386746 784399246 903123056 449603376 82204286 918933570 787736816 832747794 185528126 446423608 344786492 243661570 400051092 603438304 958150194 919691914 617878502 770216442 269149204 272249398 881924468 552826124 550496398 526958038 406461842 207450490 205760534 884601946 311088668 68176044 250096286 311835508 724701546 271622900 153247062 334172064 847687920 748638102 1011036 730392950 927133568 681690060 270560936 759231018 813155596 630126240 67408866 746991304 757252378 307107690 528017778 931374534 529652652 129568040 116742950 269662380 561794166 798558904 739294960 218710824 441273220 571891122 907579490 327968492 451607676 724145712 720150178 625479808 495275858 612708852 632977282 687078416 897466824 797823552 654409044 175281746 516922902 28974724 664563090 144059156 188433014 168470510 102288416 766811580 645515870 638709904 868515910 718516082 236078652 358735532 29192150 287133062 797812700 987982642 666817662 645010428 739749732 626718126 862958220 898756732 652534002 654647342 996835546 458915112 679448564 319966010 858820738 320412786 866934348 975025274 187154098 396965612 506252754 883448756 297380168 508844392 435806194 524252832 986353682 357173166 911041198 895070852 56252084 785739980 292747540 307146934 603994566 142597546 366659000 924383098 266568072 108393742 2451992 286349008 626420362 197621852 696822544 463556092 915692618 712540694 487244874 200722444 865583080 228595700 991396302 201595568 624601540 571329724 78484038 506531394 952905948 480900194 971216422 307438820 434804556 364358358 777117896 256187046 590405438 842751486 925585654 513488228 671536180 476956830 439896826 716462502 851251318 931380484 460199520 933835824 63833622 776336936 257332454 47764580 229353886 443841424 29428178 821748942 436612298 729193918 202949974 633147422 263099764 55848396 347795644 858538806 245271038 391482752 576698052 194954740 569888890 812321964 446677968 44338710 320045306 254794510 927123804 598925382 18262380 63119526 615532678 874963434 75796978 628712728 73174680 391641702 186092518 758402454 803071378 921828838 512693710 707932332 294924550 383044028 642524878 547521288 815977042 354048546 697420046 269158192 195214126 599174546 844770030 151019528 327708366 789511774 772214846 986354432 255634694 436239808 369711246 794489716 790836678 356233794 393967046 136045038 932487424 151513922 229702820 362398230 963182830 98251088 558115494 225303136 529405920 349054398 22653026 670162374 182879962 901835780 318208794 346892592 729766718 319488892 557007352 406942212 280134046 69207326 536395456 70263762 667033814 339986612 948944592 834685998 83303636 382258736 270969444 728236574 893234510 285318036 628686468 508231922 246859334 182800228 745631706 754143338 618962058 374738888 95115934 785499526 834749076 636177520 788355154 797898894 104425780 357639766 130159308 652470198 498665770 113009770 738373220 828212692 68725964 837613774 76888610 995645714 669273384 585537902 666915138 787105088 242540350 393747260 265913630 212391394 325917512 256800078 258622032 33101494 470693900 949858074 962043190 378162182 688119916 613066556 3001752 228054664 889166018 103762052 833621216 713370626 203815718 875646186 850537428 483746788 599986882 47474534 18971482 372003468 710061406 1984254 628653310 684086910 590710542 147175002 452318540 284047660 905049970 112706784 595838890 796690674 736440530 441311140 392253256 331436066 296288528 667847708 254650396 699250376 452465704 387119642 156701012 325688312 802819698 508340634 247012420 450606138 516497890 314393222 878231946 83395452 940177306 579167024 744186998 800241234 979077026 637686622 501033024 903866180 956524874 94962788 110090070 216036372 26913874 637809030 728268698 36389340 341865400 830474150 309296096 897614512 196860084 274174288 557184018 720130346 56976642 374099364 546605704 325454 675420292 737889198 845623770 46713628 592810584 943190664 335504126 932338676 188744946 5530280 343648970 111216940 114377602 978207886 571757150 352281052 556005174 961155004 600534836 586631270 815907832 753420418 582808880 49071378 176391186 264333910 341669342 706878066 799742348 907378706 659585226 455888002 272823870 402135940 908796428 382517384 829931678 336661032 601216950 922458012 227834056 708058656 264563216 641757042 895691912 110992070 179194968 130387108 874869500 683942426 304057852 481831622 927091868 606988928 431794054 616433324 865216280 414996798 716993514 792442746 915553198 664227344 250939230 708031622 539299604 590314850 940094242 707237510 159423156 558880934 682799490 259413866 449615846 562213866 523792652 473614322 310101788 377076588 909033802 952752782 741969736 684901612 16790106 508609202 133738510 630212628 345443954 993408968 182758370 275850714 675025538 168282312 719933262 918994932 155538522 444343644 817468776 330538440 155483056 761137470 525100142 706383222 844177948 703894802 256575168 239790644 58556036 790053558 563216732 367721956 801133284 203392268 683844488 839914236 132493920 977106284 994012112 326342504 782558468 539098112 918046136 904616602 89958840 641235202 855227972 359194592 526016190 978853088 110489540 11622950 967894528 347331548 372749662 527650374 761611690 525693926 194701574 518365622 588233218 361260782 718815276 393629184 460178670 100978314 229349162 836333712 867440478 16401216 627669860 713569234 999199698 908386802 94945040 818911568 557237996 887190292 113539710 333213636 34713644 459373792 549973556 577919676 757345064 944276188 887257212 529938646 512673934 247648692 76262928 488900844 50893790 77286258 297157710 851982970 469863792 119348356 297107266 557446966 836304270 615743680 177946548 141114436 276120030 772572122 201158112 866980418 562929464 64046640 516789346 407571152 940564254 104797298 900718242 112324518 628084854 353524498 422843190 162775002 405469628 610411024 876663636 59204946 716902860 353674550 200138824 936118010 661926468 178533772 425292848 298213652 839001946 512266616 69589078 585820616 559994960 320979890 198177268 710519706 636518436 790828936 942218728 506838282 168633684 6829248 122724696 13545416 200468586 74884856 619293778 337211356 454489696 384861904 221415342 485834136 656118814 883863158 877783460 129739756 278383490 304108740 306187924 298928026 226048438 23777122 635140560 641559012 491324114 424417908 884285032 726078386 127778056 65600102 823055940 503658866 420193940 115334304 588854204 454028296 411878848 206707314 198488422 990811744 964162812 792815166 929809346 543042 421775874 207117904 312372780 442779948 451104344 414706728 493921154 993721228 889110786 197333632 813709284 590082042 207969398 299099010 579624440 919699058 854815652 707333772 127203608 505775858 274599434 550521090 872583676 53057830 429492524 285893232 841787976 383263010 561881174 172325954 866084390 168869072 706197622 276603690 307929456 914263954 385798012 933407090 331526778 370906560 830620716 982117436 937464208 230219756 840000980 431251556 623201678 166305256 385692592 50183334 129982912 246524934 893754302 707088854 367080984 829932730 957464834 619998854 646481582 75886006 463494240 697065458 506944832 944212534 849269026 209553816 119064160 330894384 679281360 855503952 796872130 585678852 741898386 720184412 79312062 354339022 627105582 565339942 704770160 569265098 515247856 946713862 934794266 698836258 257405450 945808690 465461892 815999050 42489216 824970016 371559826 297231086 622500788 705736694 795093128 741439230 741910008 287157924 132962272 784704026 253611920 465589306 445186500 313907132 15593406 680855722 444797374 891410120 689496926 668303988 932109944 882012506 937125436 736141674 35322980 434475038 350337952 574680548 837690844 14378088 1585076 303767934 128816434 622408350 892481586 592671892 46828606 214312150 615383782 904258370 517888198 450613010 399385758 91451750 939024540 616781962 878886176 841223186 615908 130934024 728706026 658965660 145347924 836941750 955252754 199604016 485108068 795214838 224351490 99779948 928895962 252936362 951009268 830556148 569647916 334224466 711440456 207233068 903869154 831750734 218740964 317290202 848292524 444846644 676523260 163334154 78657028 452725526 388365034 172779942 418914360 335631826 752623340 909511412 681378368 268357692 706216236 936099292 644075806 272319906 216124874 379731598 880990038 275920520 563405148 535586964 586895796 233835936 53698608 34163048 385962194 654991838 853793990 36805984 384931318 481596876 78462684 9512766 606004766 114409690 633212374 965408168 651018188 397189236 425197186 518965216 554766140 340987174 910326154 708164320 137570200 900778114 581563200 955458218 807341974 677923358 63658992 443520078 786628020 664483222 335785298 853851334 452298800 402816484 436437396 211218692 965026472 891651520 672080650 680900058 792200894 27741840 686307450 822746088 430996818 694612102 591948838 141062338 906203140 284615680 89533548 859494928 390254248 939548196 911095478 513794914 297779776 159918016 222797838 863915772 683720558 762878526 620280148 521266314 192313528 735555412 831803208 960353008 339848542 693579764 831870518 955068206 248077412 721937966 4845614 380771176 902083108 719301774 776777098 174632330 575913032 872452728 287825948 44207412 604798264 428098010 397730732 63849946 379391856 33500778 101897950 971233920 605456002 129754082 618483000 823654202 490117138 958212706 277684348 726425146 621464660 583786236 294386898 991723232 978672428 402771000 2044826 156060990 874572466 751176738 599682924 788905918 508333346 903820564 523799136 364206744 508413420 179937984 403649690 214197290 179647436 455173454 313129808 524396494 531825370 206333546 142016274 483114838 403812202 102850314 305165984 308923192 692984088 652416728 760809038 687820368 689550014 801748200 982913900 166087178 496016652 227612076 561233674 738689644 994356914 127441968 493488984 606802628 322893494 253975396 563861606 116676548 615321306 860017456 268417198 71578218 738261446 795680188 574533748 150395496 132784712 228198902 580760898 553573562 519211246 559834104 701531334 157627628 694201306 128755762 29245212 706907580 899530442 456512080 734258256 201156934 49532792 704471100 836521366 568499548 289598822 739603440 732192216 541964466 316479508 77758384 482162582 310301376 666609682 33561544 779840558 850295130 863964624 738791160 22379986 380668744 370469424 221854910 280930224 302567410 439819986 272328080 67289896 723606208 663447110 233009786 379182690 547248414 402265750 506989694 795169672 424519778 437877024 258724632 527769028 470189040 153098754 205080636 87053350 59665596 973468266 122429892 307964826 990928136 359721216 410602152 661125454 736992980 63269038 810814714 648870688 52437344 158026028 372896072 711070180 83818666 220782332 662424000 691094798 606092260 687689330 821974580 138330168 703595528 335784468 768403738 814064314 725766524 273124452 908113832 231472430 986733702 392512468 221290838 55517598 177513590 220741618 740851720 715580946 541059992 883366402 65596360 497088144 185105888 445426794 864939024 53406170 107799564 415084930 846943624 611928930 484366768 135100426 821016536 239291464 264990446 264113732 674577606 659904448 548357690 911977952 496368460 242118708 273808686 559191138 80810650 195700006 243390798 765773756 225592818 289205448 847670958 936316428 244733042 611560236 344089624 688603248 403418736 783782634 177840624 624918992 495952402 229116692 131485606 676648342 77865984 697434944 830463298 162454218 729393332 107682598 900729474 195959748 856837266 41075486 636667144 728038862 106501438 575120026 820777894 527065792 418250250 30099364 861043064 509171940 35017752 336881380 417514360 243252246 127480970 205113312 252868160 118093598 941782566 616346822 7666322 821191230 252878060 871937946 594998432 145394164 844153168 193925530 763646770 883865868 85102442 672628000 33516632 536304984 936948924 560709618 35894718 677779320 99418542 220899928 864712660 418671658 778576856 196525400 404398350 685856132 992496326 831657876 677388242 283351458 486496398 714360072 262895966 1827884 150436744 150288346 370455860 722551764 813336098 232684262 873457304 902659994 70439128 948163340 141256756 164094218 590087648 19923466 46958312 354696148 675481290 877187828 585755676 993543252 901429364 313445734 609285528 139931196 373842296 528775894 878318104 866380852 78143228 858422876 179262088 33136154 707768794 604977392 957458966 297213306 5137026 794420476 229615712 815119332 245724318 155221894 582292380 683471616 971443932 842774710 116608138 910220946 341856394 166451948 170559074 350612576 557178508 650941790 107109906 968431758 519255872 345498628 259115282 1977208 341576890 509922128 404703960 461069460 342121512 919839742 102622778 763666608 977697886 715426666 40712790 710786504 845565000 708949874 624438274 992865676 871210992 885082728 798809726 127297550 553694174 769455218 375724660 89447022 292319786 42851606 813329140 902565524 839329418 406522926 225678344 967326938 237148846 803496698 123467018 633975576 174231520 29182416 289153622 229482710 149989012 245257292 589373314 574742284 677958868 652706394 635563796 249263334 250942302 424711954 592567898 594401266 485699592 125882762 278787336 88414568 852237888 223879862 930641108 330684908 585600792 597676880 58724232 106962522 867882076 467148000 526602882 467017176 265618086 614401586 275365438 801365110 821552994 922731950 410846166 722623790 271028010 493843876 950532270 502432086 218874886 405000634 87150048 310862726 386122604 456211100 723160840 168658040 68064348 851143982 523868106 986367856 581783716 282503162 610619670 182533550 399029488 345525742 537501368 6929976 493637958 749664162 481766658 899730758 273109294 91751546 127233024 537782228 87508086 195376570 529560646 758729992 169516562 279313256 80650368 962987026 810842852 333747714 814129760 238568110 259161674 339163004 335058420 72909908 676120386 854307686 138172078 571732310 782157794 534764742 764534658 932900098 663695068 444392870 959299746 836114920 253827012 151925872 456949806 783311434 383822344 906648402 651842270 266329884 101143768 572527338 91504176 167858410 545542832 506973184 320020924 749897116 885326176 76742814 285707834 793287584 687338086 24529744 207905354 574290514 915642602 515363142 401999876 283627562 428069704 690366646 335693590 787671570 640611038 929961530 483408004 304348600 699125244 165539832 372285526 919109952 411120294 793476712 446383038 895981598 297820228 414701200 240274166 819896346 197032168 281622864 939259330 777509322 194988434 276501450 509192944 630562710 575102726 85398194 312576260 296190266 525305784 717129998 198227072 109525070 892611770 921642956 767537182 94436700 940113992 477841630 954271336 544242676 340572696 772794740 89796092 259152784 777478502 440237882 145546246 608527732 688107714 226007980 485468728 103640322 375519576 123148766 768180198 568549488 773422328 52669966 425611064 396066720 495325052 109078176 879870084 741087738 421341548 759415578 467266202 438559732 874530814 302100044 986311184 354047644 41585554 428251460 169912454 681153002 204311362 365474300 394689742 815809490 487207520 19136328 797297656 464288182 161000444 670051426 602597826 688479966 302871638 237901934 109330380 812356484 207984056 683564218 388207392 88688304 733408194 397487276 81660718 856515496 224621070 642366562 641488026 200817424 451600132 249702948 286803084 16198446 381840718 734346290 60332926 960154684 696416334 135086136 410820538 385060874 617165294 991945692 983938468 773086222 845275086 535269700 275183478 778341224 291112592 320908390 992052556 39387964 175839826 368873210 554934476 86323392 794344468 182243174 300958896 419077936 779905544 211534600 496975154 981083080 402534264 46061676 893910674 542502070 907805442 930290470 202721272 871102548 378202442 489433876 109834048 652235954 145747014 661559646 324518314 732181102 869609022 728432878 606305504 529738700 844163548 181035612 781744070 303661666 54478596 899383922 269329500 75955658 999963236 380016226 708720062 126522808 344241122 879717346 512109640 416661996 368719480 153780080 491095926 737529892 994129682 318178732 230429430 79789938 975753648 325998130 220162796 931999874 425295906 447975754 89396756 235301882 204740626 820688672 884516834 804510306 190344068 649192006 632811662 664237894 217680354 562786074 357578476 710032566 328595232 569670628 999796028 727709740 336027578 330697236 221304016 900688152 576121372 524063382 208983594 956060136 982551354 488348684 246678458 636923448 731354456 536835652 531365788 374061382 726780706 890667004 481412872 49761678 279207360 329669502 110692792 923016750 361167320 256286516 363047804 224442058 671290730 861117428 167029494 306177166 136297614 9579338 200772106 688929654 920240266 42662492 712440382 72760200 362494978 739279550 463431972 974112950 91576464 129779364 84360314 619585768 537440056 106083954 777815068 433047376 846944522 59507722 498969272 690960784 426021572 248795842 168244330 667462262 523867338 642343194 450077942 955443960 252316260 623828994 265187262 708334506 170328500 95267456 688939656 623123250 267647610 845536614 118486350 240698978 270340084 218859668 437136468 119167654 73493636 270988684 904275902 369123222 38891378 167526394 433954056 761815994 685034938 434446956 584632306 890602674 583251238 942475602 370052440 468626972 725437788 837870772 403416220 655561850 770516780 710401354 231412668 54058894 62470954 202973628 856006344 777367270 797658642 373540344 739659390 409350584 870434238 357906498 273060674 388671474 323029446 969345190 934783212 176318030 146109664 641996702 943664462 248134120 187380192 117575242 581028156 128603740 404409454 480700024 612506602 690415148 31920106 753553106 894881838 98314804 826630330 65761060 548861634 802764068 989112282 234948286 137160880 931995660 694194770 927324366 598620190 233238434 371666452 943244740 546419784 419867720 985609350 683499378 590419240 570797602 18191796 405559854 346243172 356516814 376295444 484338958 910627710 207013044 385327938 336714014 924253246 824066812 28886982 185838140 482186458 752516734 739864238 791076086 227211062 684171290 492552720 341232182 929252588 405970358 707742678 934467430 412537490 142072566 50049326 549367110 241591716 192069464 960499824 528913010 632087710 516750128 634014230 183676512 955322950 159902422 748372852 115843034 490620310 107815008 408715430 601387214 821785690 674998554 511829428 814154584 725683018 98416902 312126180 369030112 443932468 3591816 467709736 261093630 910169974 733818552 965150102 695886116 836504564 143419826 221600486 885411266 334448928 826298592 897670074 83701770 848006256 916809264 710329876 704861974 796066636 102685778 154946400 331071400 986210298 126936960 535391426 411919922 99235022 190559956 657479020 280174160 321667374 705782138 831016710 1432504 104084750 836273296 358785388 422510996 759004122 945922902 415886274 670782652 175267056 602572922 492628704 562856624 394840770 797384010 519888854 297418242 186980058 871539294 24132962 543999172 490371760 483994346 581844796 59379358 494234394 788393644 65942360 838397116 71381974 606883046 791635510 505504984 453511192 985848712 926261206 937831396 976131020 55369490 46555370 751375768 547389936 653403374 526128592 811491830 999097152 585871812 877452288 385832854 114427232 848718946 900683694 642275608 929303926 189562126 570718812 44965760 770658564 201537666 754379414 107278372 627012052 964338398 710536660 546923648 483876180 465378706 585373062 526327968 202552736 621114182 829068236 938112342 599644972 261301378 11470 337786568 706722076 951640100 560804568 964151220 506239000 273631748 303542426 437519594 273523224 150525522 975928724 69902282 363128094 44509178 665139842 336674416 129134466 460125038 797461012 184883592 787473646 773671264 287059190 669124642 366209596 284373690 361372804 236458646 921482280 913543870 596926058 772203576 351228452 720328200 579512936 935314986 725020290 273101498 3200948 228956412 578820002 363359936 376219930 596067648 744530962 336306814 770650050 158696180 169261244 392021018 619621198 694492730 164239114 638991510 449200092 603246088 549103770 276570722 180213910 420559014 709626636 12464424 556309794 301329966 399736854 389060128 153782546 444025814 161785084 125820512 243396980 793513110 470134524 867067290 878883112 982603792 545826924 99838088 803987376 171864624 132828996 851946414 537605034 150604238 278150762 508271620 196995028 203527254 678682798 492186734 952818312 393091698 11402206 109704252 903421016 68819566 604126392 360101746 197342816 487632198 213624144 66544344 246148520 648238976 366526266 989876118 909041148 594354452 723678734 275081564 164145528 92729796 533406390 167085570 91087338 816174482 473706484 409299806 454586976 526400896 674978984 799738124 643088562 958929432 231465068 9004852 496543340 630985544 174051514 416444672 173896774 459531578 142977138 991278012 773532378 625876836 664868946 170270940 626811658 827078360 748147346 518041322 598062582 77067168 314003182 95791786 776907870 283267022 682178966 567107816 271207076 182868574 178943920 956511552 321797762 842820738 881972534 121354702 878715528 809488534 421540242 567733786 996625412 211802938 813779722 706393164 25220054 615239782 344216098 94391864 427424192 20548708 351611182 131473020 330113920 161250346 981750624 946506058 261466560 350378030 705037710 884669672 840136878 990078642 603392616 305759756 753589364 202185212 183416980 471002704 90281036 63839210 326512504 674467298 774752616 532812020 123106388 140658862 40044882 849706722 52716904 378875138 57617874 117475282 893965840 999933230 842429426 960165780 865436176 799559038 150154870 86632136 859338824 820154452 513660548 583140000 747265698 329333756 172314918 920859286 873768660 789739610 726968286 789008848 56294756 412725996 629959496 161881682 450241792 239078972 225152900 645234404 462127758 295822668 903126306 567957354 576394372 193530146 778648922 422455614 513143130 238360100 401372034 661145602 382042736 777711650 506063020 266227134 809081074 428552630 938018644 420562490 252721974 683122826 789391210 52129000 463247454 689928934 52541754 29564380 952228742 220791266 856443158 572686672 78663634 653075656 857315158 396106514 519491246 460144440 693570240 907828666 787479994 963700812 907440646 553744376 259147916 24310392 476765014 821826968 591401462 377962562 630333244 412670838 291019238 395688518 949573900 523810984 406846610 894544474 123430768 344975218 212466592 212039512 883783044 910864712 526940894 562958464 446361726 672682358 20806968 449783700 51005960 961961134 732842994 66332428 70928220 290225958 318816358 113287850 760322 175422086 356168658 141063652 527959954 983653608 89220980 816965044 933506178 874764980 279886396 603693568 885820876 33497538 707481838 495425998 179500638 287875228 700909262 239462230 704445134 215424286 255669724 408424320 57105448 847647306 560761012 777364218 852507734 247470728 194508222 360453966 835786710 327727216 395462106 585518178 530841706 380193754 511167474 935492824 373144208 740466530 106917136 926962080 369757362 510245822 911460246 405842876 825744152 858096200 208006016 18936704 871296640 416966962 501966926 586693782 730290334 54647050 499594216 466870464 288305678 204375944 384760292 851021866 474343242 178999902 84266268 408177906 633090576 188725964 901520340 29165636 921234958 433155776 695239566 926928352 972410298 841706824 94180716 742030018 483870008 601370524 565956242 148627294 655703408 13062948 233468368 335131392 317958576 997329782 361167036 65219464 535397896 537374598 903034430 152461360 689019584 314754772 87032102 23608946 211451984 179530604 98620360 85903476 191178712 948184356 505511340 43971576 998424446 115689694 52974462 844740276 304499948 508618342 894687094 416959348 570955680 72803502 785342268 909559970 357773336 846725482 89701876 901469130 441849278 225209172 729997550 542978956 922208000 834532870 542351392 673446918 542006484 583050970 978712472 487733222 696442952 375833676 605308186 692209916 114365812 672951884 561661002 429103256 520552652 400980484 402881690 128497036 623885876 541103698 824780754 195867624 306999338 925893710 951733712 414449664 153569064 13781364 108090270 465600038 557462160 645970532 150716504 156804430 452831068 157630798 604898470 146479698 810082714 146504532 572493488 794193326 546896962 626349410 598340640 667249230 94341636 246753826 342852606 931660732 569319694 491882462 154704734 87750160 970082812 988991008 999275894 881274716 304954256 736889936 820490294 980292440 905696338 440674842 929471464 60521906 55427196 472384110 648372350 755445212 853354588 50033892 19056210 762477350 824883306 96921404 283297948 435196972 419907328 15975698 709728068 815437704 607761782 780432116 725777786 14059760 197972630 978743060 88512086 904780496 553666166 790178744 202793250 222507282 915184774 519253618 831532814 765639532 401840742 248903258 105555810 660047422 520088056 281357452 101978964 73944814 576149574 919462180 78219102 739746170 669934002 323750672 135257960 915347684 152930832 199819222 332904530 318912094 679897348 722130084 259872030 723324990 88747944 462615098 75613582 850843872 168501404 236229778 440783212 451910598 29668220 539016200 269681778 620531366 550775470 455367758 656668388 71781160 992937670 718394458 101397686 237241814 528750972 686253788 711499680 299615230 209335702 870294874 427717440 5855190 561690282 143792688 4483568 502887908 707373474 711202696 968897682 946325066 739625362 74925328 472574490 303800468 972362526 81964454 936897428 212984478 727220132 249064002 473168394 254230418 135507764 389697842 754581296 579470544 942762298 876981596 724996714 204858538 526030152 799208330 667969062 673054130 178009070 685652792 999528178 844303008 99321352 367376394 385688082 376972144 846612212 763890360 848517554 920606676 350107476 951199314 103877192 533075084 730954162 405669586 624929674 519982938 568818772 580294814 239798370 219500786 476145658 844768746 778551504 429760290 532870510 99194660 276179112 915285378 804661676 105795446 635558280 924063986 546421454 255983646 721483738 949028110 669113022 40010854 593632384 884561040 744320646 227523894 26819604 976463702 813005166 413732926 73508346 564137882 738208206 534176326 576612334 314750634 618453598 421130902 99868712 529076086 119645994 309245616 643812292 642705668 349145578 183071508 155365542 565010206 7501852 482675326 868084824 186056664 402464400 578515840 655044514 615872148 25276676 496689224 513453604 205500788 402460090 68416548 848719288 103933112 165338160 450892094 520367254 875002528 366049920 718331512 871772440 235880442 46104688 40526572 249190894 35829932 990995370 882270538 896316400 715119228 247558622 903979054 922414696 653482074 928101436 876980900 739577566 754405664 939242416 540100194 324209928 63638938 971571024 756002426 45836292 217828116 479606634 684862008 741747322 195848302 137209414 407001492 560507360 34971506 323852952 681031580 847148558 899157246 789231948 17043096 687991718 215333674 839612726 373009626 14008226 527149820 771452484 25123946 163118832 159739002 32879420 380665874 714081420 175839590 848034044 486313962 744296174 886614052 318100484 250972576 34192194 307468750 320791192 443275318 395156026 593763626 413749134 877001024 81990058 839792312 958513004 263779542 320259800 861735746 4126200 73447452 816400668 334484488 289624016 454807802 377019582 507567862 167716396 607214396 439198964 667646096 95564942 657855436 674319578 207997018 218817898 350279764 831443118 824696676 636260834 210315836 726609116 594463394 660494612 588668540 953793470 419450370 112385128 817979748 280996640 732639590 323783268 975787326 19336230 770810450 539382018 203575350 729598760 732589386 784632288 361369766 103352646 934719100 935770504 774269904 1614186 972565102 167435522 139148616 191314720 610522738 634401458 444977414 270233972 853769970 757758606 198564252 683317934 666335926 285392370 342335020 63947576 654278592 589459156 500386198 105794064 912226588 655988080 682215982 80405172 614168150 389753588 554176268 697622726 23922964 367858976 805965866 2642070 766393284 155222212 976213728 756069588 821497610 489153066 806960018 778131016 608890864 112200496 955575294 605935092 663694264 377949348 535235900 695909202 764646526 598091246 631537376 560653648 176355218 628589520 242669642 438731528 524172150 90813950 857433938 808711974 89574964 465427718 454829388 983323828 825752866 48009660 101605498 343688550 781776166 697850670 134541708 738319936 516346566 889882656 896827224 196748220 736808750 634383526 636025648 253035398 176617962 709478162 165994254 408878054 465232016 968809096 628119152 209491632 749095614 434143382 558803774 590393828 318014084 570638358 184687494 794094584 16726702 115530988 309445902 313851992 616089558 465362946 417245464 103875674 188424278 707268150 695257308 806406264 741371378 412689708 274344378 973495182 666873004 841584044 614412234 163314030 275255050 527815528 369671622 919596296 575881612 940757124 144858570 92740414 916905248 363172982 609009932 176237370 244996222 32298342 258689738 870040440 525208216 989806310 145672996 241968610 849807996 159777706 563932044 625155482 638793674 502360940 207359452 743109640 240144562 307590024 443319830 445965286 561332342 173559778 65228126 338746926 598574960 175905700 858101124 240123328 134493358 76161068 580346102 53295566 446197196 926307360 312113664 725696850 13307194 278500776 396149950 810106708 779347014 850774044 110173076 80666836 485906282 926906088 805496470 96031404 605510800 544051328 829454446 299989690 548743882 794267400 956305056 225469282 422654582 445375166 93593240 232520406 256970138 979659732 788565138 629646252 256572042 274802196 671746868 4908362 764104298 795787144 171913138 674506600 423203628 544910500 628188302 554327574 747310622 770619274 552920886 29450880 34583952 967606606 857959144 407459762 51128914 363988420 13658638 572990656 759054122 283749144 587588914 642318240 505322478 372937120 587333602 186079316 317195712 172435632 169897860 233450002 703826154 105666276 969899888 446255112 457225352 841835560 577989432 601564124 83457466 891141610 885870872 405694576 927716162 110835724 858006450 179810268 852624730 787972254 507553644 228096094 358419754 168272948 735261242 67566928 179805436 473559358 625118634 275149994 758206182 928363146 851601500 296346014 397296146 350487586 49856528 827309634 597233770 643411630 485521570 689885460 70699284 66382658 993903838 417933412 130215946 646003812 43823592 438355762 17207388 358625150 709803732 698365006 888310568 759355546 283502292 851480252 679196266 414132620 702334762 933375994 562003870 788826710 564024798 593312840 415269358 10296086 829905082 232427584 977360846 92472772 351595996 542195640 583762086 700529538 651676700 343372902 338926586 967935448 216607350 66097640 923926534 504689850 437558964 970554446 53878234 862193762 565559972 444426788 9464534 740982532 564652386 806021302 784522870 374037464 122295918 255091788 463373362 442588372 353084864 422242500 556824996 198160884 58280384 993054974 737347372 266961454 886191462 24431398 935714510 595061032 668508538 874663508 309098986 395819186 568924296 127226000 882768068 877812562 250717484 388483282 529055616 788198546 317316116 583520794 166190428 292969058 87425764 652077832 720868012 7950710 869341000 515601056 568252186 26631416 692647600 47010786 268333226 501174792 955681640 584437810 196614598 743644376 185311774 874623992 128226944 606571780 179046416 778909402 885385114 685787144 945221236 249702516 553756076 785905804 952816128 582197730 107532086 699042068 574763274 786062832 473752904 482637472 924763698 811154952 622177086 857350628 963906452 496015822 826374176 922599754 420370622 601763066 838242798 943555336 801219834 548038862 249193652 330578072 680523866 468097152 30696956 584250722 731421976 889742440 450975080 460047030 839963150 237567948 705666470 479382004 762134380 263715360 127135750 684230430 522770866 380985964 648519590 827641048 992001488 727321062 987717288 779765420 333990376 588769036 498818004 423981624 259561094 884118990 251020190 678244974 351995398 66551106 447888176 694660398 16462748 854651658 628193944 671615474 690200360 229123656 148622394 878394580 790304650 683865238 550680158 925897592 816116458 128946618 395681424 507690676 242599602 400451604 391872514 348472796 88802302 457787592 690181404 275361684 478404170 897438586 90579930 605940132 224508150 446444236 935218230 368749894 220620128 729588586 899124122 483381762 864444458 598429272 705965354 461286200 8159002 924853514 841119996 492852386 307659530 173746906 863668062 27826538 363652086 92794128 514492076 418348298 883180392 144497792 647203354 687990370 631869084 889334674 585391222 101718176 285224596 636730534 784665562 406873592 656661314 777460956 812237348 421824520 111566098 672284198 372968648 915143740 857694422 24972426 428864418 787514204 678467456 477571736 511337746 627000236 716868460 612375696 361212376 409366836 292661598 30130590 448931430 285174478 32359914 424730910 455540226 118963646 563317796 873683042 641293374 717491188 430817640 171239264 25570190 24491356 704008292 737990186 10439970 850149714 761825948 439146236 129681924 525131276 997231564 275035946 893238374 626715930 383407218 827779090 685455778 746426906 535907950 942148338 554127156 819866050 810457126 939857062 150742106 659098640 851534188 35422192 437778188 524187260 662222244 307714860 203436992 827375026 759648862 53792070 6456418 385935806 417080068 281474356 567269494 414090204 640377690 269984556 11868712 62605930 140272070 748360738 737058140 431807368 271494442 392121634 841417994 639724884 415660014 729813368 344009626 630469092 454102208 618281106 670393616 139228248 247788728 248257780 283443986 866406120 151681322 436867172 845914320 540367932 58703020 873175834 663577194 704724650 190289558 842898178 140937106 838498614 231347854 187672804 578943746 683285714 486568846 723514960 598673798 160108272 855544502 973491960 574386484 858973652 296608662 357755794 315975024 751870064 844900030 232101890 737399318 592750472 698570338 512608800 175777024 629477958 718497180 491977058 879143380 974737448 758932122 508558572 453687170 151643624 947107372 249287848 276487332 602790106 657836676 83926396 363631742 824382878 615217562 518936258 286776166 727494322 502684708 99173938 99256750 835624036 272089982 422055542 334160458 921972128 50086900 912208098 510719592 430511244 384232852 167816298 861536728 226263520 982270210 717847304 594208538 76503012 33544162 540569100 630807030 601885362 609551894 417433726 242342108 338071748 91814162 840371554 503250432 267521418 664093614 331367126 95966616 892790164 445863902 343030066 558077726 450095680 351074526 77015108 508914928 215567302 521027824 17707362 321494354 87909972 861747708 238603146 301303878 301752602 997908802 529223600 951508396 870897916 792719662 311750564 830789268 789377552 340635062 163645006 268484920 726505430 834034724 886117030 327138514 547852920 774827524 211132420 700911016 277031700 565541036 170554918 773873724 153490086 566067912 429757742 455626316 466896614 188429430 238214624 602497324 38370632 622754270 279116240 206595354 775826664 627909104 650491854 682537594 710012992 84108468 927422908 316608958 308390138 777573390 491485462 138563370 822975596 398782524 74106678 811234404 715794494 364652280 517181606 841060882 6105960 421411356 253020070 22080800 542651684 972050220 34956368 839320318 295976006 357440170 712137666 753533826 125846904 163852330 136032530 274126770 627541234 846241400 428580490 494889380 274019506 958392320 822352404 840970008 610792388 651330226 644593354 318823978 868167494 858524574 788064902 359131752 466368604 32383326 911525466 616142470 552369320 69413294 761869698 58753148 150926120 889057642 41743398 335774678 846285642 957457684 996558620 863125234 874258346 762054308 112176552 270368964 352601470 668325806 728864678 286909240 403742468 167060164 780651494 311037800 891092536 166160396 946104776 569703956 994879776 37913802 225749988 83884300 32949312 624179850 367952994 178793568 68523416 169736518 835294662 605372962 356009974 258640474 133717556 808805310 157097614 963980386 824341742 929906666 234616344 531966948 405775704 925458762 172468796 348612452 939621720 341531620 39280210 502520594 851213998 598478052 173504142 664896174 548399778 155139654 654516814 87768922 828202548 471905682 216981498 529542564 173043072 487895884 257966256 807246184 821022700 421550052 594343446 358537130 82595368 286343154 336466424 258899548 655751184 144452410 279480076 647182946 693505344 344535708 335111916 353864620 505413700 399860368 934391534 757921400 526903986 600434280 697016928 251446304 162366820 120996118 884316934 521550736 574960514 948614170 571556300 147110262 228805968 212959630 72903416 390027980 168522280 871988402 514934004 540806838 692417826 90530248 311681272 652283286 110748666 638909702 747345104 562458036 879665538 32613730 499067760 151592832 298173454 592081862 467116418 238649244 76804476 608761606 44263340 809004904 769316274 497692838 351097802 600485866 914177998 624946446 22062914 825860434 714053784 853231600 46557224 242343934 333684232 114386412 607815926 942522838 519382132 620869840 891684438 456044454 66959920 558611988 443057546 860471750 38461334 381065798 733117898 655293168 935276386 779925806 827948782 78281934 138872810 37378634 565014704 279828716 786715266 451064160 671884036 331731922 888245836 861925628 743506890 230355706 872680440 318942652 797055114 809077680 452258060 362437082 38264376 230640056 10275008 360171156 3360362 628896722 138463934 572366836 580502102 834628276 422555484 581678744 971592078 873359764 353951926 512202976 516864524 785576428 784842090 701113730 568188918 892750804 990112546 853117380 902293234 20682936 639463848 627293856 616193410 472763588 513208402 988200238 970337756 220288308 561563650 242518892 787793588 930319370 722512236 977255434 276565300 660570908 931836742 711389588 575255944 318171752 287669476 562924232 680754372 571119188 409700548 312226088 837511226 934782524 874831070 491509828 452405796 238995178 635209956 910075662 625742362 454319210 574814370 734469634 434586858 446889240 303813692 332413670 387421162 332795868 329933374 612554900 634900114 626138306 809635076 604806156 568107168 152695758 859539856 975109626 150943446 199844592 243415078 235017784 715455472 107673746 754435540 168819776 703399140 327154368 185925612 871176078 321025552 181886594 510563292 418047590 149012078 990337312 360180882 222294666 603168656 504875322 952098002 851020770 373188346 996860576 326577332 257084288 384079738 845716030 86805600 734496334 716101774 764893918 645267720 782570520 761050800 737177838 325934948 92152922 258877950 562729264 497737674 578615866 411725476 63207352 269628586 115985792 90937646 839115602 955183894 803104026 179147622 587643866 887098392 392028798 249850324 540146122 536080530 785452028 872057440 58541588 188907138 716510098 227916666 755799420 925694208 681729772 286237152 509889808 923098942 819217454 590266116 283214896 738235516 317497078 707241102 827466048 835348068 748428112 691322154 699074226 587450398 618975096 241902958 937653828 54954226 368179996 956986722 43973394 295741568 96850990 2206098 729192932 198077900 875627244 934122770 820415164 178554090 825597092 895100466 714633458 740770966 300246890 957344444 320071048 969062008 791814140 643994796 538512840 481653912 234230266 706146264 637674100 817233530 164905690 706761876 171992440 407368254 791850888 572408070 462874314 240087798 215945702 500091678 770775268 530759042 362522574 831638588 662223420 66813226 528543718 922005416 21497608 339839868 345322820 370333344 823616860 69138612 692420596 898913322 561498496 242583444 30028270 699892928 537485590 711034522 392740376 390689860 468382538 659550126 339595048 378403852 31019308 845741064 781542326 405906414 302771362 488894056 759299666 567779368 229894776 722704752 99104386 951172758 398925774 82091370 451571492 98000440 881397184 261649618 762745302 982531668 940294126 929866360 897544514 358253538 670447476 100252044 590131790 666399670 425923410 296459252 943121590 476077348 197662390 625717886 161965722 956346954 358061324 532672544 883352584 286549010 943663858 847281718 656350402 107705932 192933386 797485026 678187278 274463484 14007850 186467352 937035952 249163446 717312036 82485730 651100612 286988308 375009160 686308180 329351380 289641602 189780938 673013634 722896830 123480630 156844200 731836446 326686512 821636966 221422008 336902412 335882378 602515662 160953922 643341112 722441304 763590228 217514056 683856680 285113446 951364274 442954098 84961862 785471542 646028184 470552886 940490838 920464792 546182026 687269188 996438914 543683820 494630910 51063146 279104084 99072582 444634602 173244638 804748270 805674702 658335980 783944902 647135644 889140772 118034314 560869972 524568956 67573066 780757144 557792314 943526316 614618236 509332434 963194244 455808116 926376414 153144968 291835926 436238600 722954196 920821252 899899684 469162244 408346922 248967354 641495142 807039952 214055304 609546600 517492632 775872276 925223840 964871734 940509052 202039574 335711590 265215408 425495490 247991394 826667504 98281828 806952106 461450914 302346378 418311712 130002032 7234820 388242698 117935684 141612248 911529026 748326040 792452758 914542488 802570186 921052724 230260894 641085146 993122004 43163676 356808604 206542832 879731776 591894058 414893400 577907906 699407072 217345046 672437328 17832950 601367978 39367662 495397210 571302506 661287940 200575530 248188896 482602150 545392478 837616462 148958384 511230924 918236870 807890262 749841322 936828466 226218726 905917066 636128800 470142742 941765516 396391818 138757788 305276414 269466712 306786638 101117504 542599002 775407394 972910126 668328376 856547912 362326160 503767952 604226798 56204116 12325560 534482196 599758824 801017404 343220238 638261316 944249890 78517170 762130524 136964570 826919226 603036152 660904018 613678516 349337160 984110422 309247702 575227134 654815282 263365008 250720238 366105066 248077420 238423270 194239932 72835618 117318154 278237430 764204978 518030576 913735506 129816338 216709414 266132672 492655612 516126060 588079422 329482502 678214576 825972158 711204332 315703902 578295050 784411510 409264316 574313862 739151400 882694030 853568324 869662900 808130930 710026902 881681038 96979196 909809052 177736706 950374696 83388516 478697146 773241614 871807542 341614162 736594136 981686480 573996076 463381236 178099868 356916554 360212834 551289566 29494032 279733198 938822352 112943892 880656572 990475008 912043382 684173074 50121356 294809870 249812114 357934352 642434818 848354502 801363194 977030226 61996590 186628170 515085650 231422232 368197584 116094860 652649272 377624668 423668548 601021064 385200026 387796636 686457354 155140306 907061694 809796216 471660586 415141250 74225236 773321370 804564596 423195390 596809840 163707344 47408332 139752886 596235046 17311626 691183540 719109440 437146960 736193956 690065724 337541306 522073176 139585680 713248270 835338328 297924760 373178752 723385648 505259728 811086476 983872026 732577494 916007790 613078360 641809658 24438570 134543836 191542264 984107492 845579086 630150760 449892716 48116814 305187008 119844478 609023026 335320062 87728346 254969434 637719504 531071370 464711424 259604888 419604158 270175782 281792386 659351322 376846034 248568852 230877392 304114462 407541362 655759222 875038430 980215096 820203544 281357312 667387478 947125066 364756904 436298740 370517672 857373314 937179534 447937504 487775410 893084890 211468202 569733262 572286832 829889126 665889440 698337922 888964670 694536374 351473578 746114490 254160306 929284206 894650182 484048382 512691928 175611588 915973320 567962838 70393670 945439876 665772056 819817490 891596182 839210040 240100840 800096628 657972032 765671860 475668706 302648274 286944938 265328086 259688726 440789448 534220272 3664732 33148588 251297638 502587346 521406526 240961796 40467390 914192752 382876420 93751800 479957896 562490234 693674194 972000298 147520092 14651054 205670232 905354736 826577808 953154714 138422744 623782574 20945506 739161870 399892360 992164470 467941142 258127924 972526572 728292296 321199718 292975812 615361172 124101486 361415836 667035846 159154934 601811348 205121400 236583540 99860488 465882300 668955830 533255742 159151920 963742366 622027668 436654126 844125514 296824458 568139406 201204910 877145870 201487640 557971498 19739340 453494668 631578082 11300610 369414078 827038000 506080708 156195888 673418830 146386490 590292654 718778360 570328910 628889564 36708282 345577142 202794340 395664464 960943060 190014812 366307576 686174702 325984270 194846160 522651126 429262578 442855898 786892760 337964814 525355700 351844700 649351214 563471468 691652812 653609394 156355744 265387308 315542102 283626390 283059784 113458548 848776014 983282682 197952176 209444326 690765156 736482762 64352894 971779450 361209210 244810840 851452280 606600220 785714494 931523290 602784776 205217700 857098884 784583998 505697864 931107204 202787858 100580586 557303282 733702432 156858210 778944894 916446132 143097542 826343348 427879062 693345632 489234388 652333088 161851460 139542480 184648432 489664754 470235810 927130370 174148756 624703864 57391020 930010422 104399430 817646116 234037742 423212734 886496842 969714228 283892360 286710234 90402002 317086950 249950508 620824772 174761056 12825858 474252892 56537862 447714734 934001720 56164096 872067190 280205108 915610912 538854624 518126034 98510836 34252650 770669770 476435454 694578884 23350092 696160544 8803180 538734310 668994198 733607532 155297770 847433360 827297086 535873434 553816928 181715792 15399006 826048490 505141402 512396606 815894436 522025110 4947892 226456916 865478078 461137374 79577982 990238432 120420976 841612616 180033944 753746684 487376142 60309930 578982238 46972260 794860778 365574590 567951788 474353016 815586492 163940942 786472788 738452952 449635990 871922840 847003916 98047526 491357846 958383586 521591102 174974924 674896596 443760708 909945272 125009112 635564840 645446726 208322312 756112592 462603530 797407688 223917266 302377374 48631264 227242534 749035974 179203986 823628984 450071168 134308006 852411748 660220226 269087428 125622344 313578064 568216052 937050562 214776888 157855904 855389478 294427234 728458062 252031628 504995174 944724258 571133364 559217478 622915772 731216858 595676588 5354740 746063084 93399996 808806554 309571890 817135254 38412140 723588614 992709146 295003656 497186752 814626118 334506198 127370442 565129088 246559652 848444282 119950300 315019026 231779816 204872428 630214252 975384706 985219160 514995308 498745716 523551616 539825390 946163048 582487022 630805676 314611480 724661888 285315060 814364558 565346590 473084290 283684740 454494354 239561456 550742482 884579016 858945890 761250260 532495262 32025472 928377668 687796082 153158568 398601052 980570690 792634614 282785236 994265666 173732154 855944902 850205424 285831412 618920876 238942450 253158186 407988738 368427324 28213626 264845498 272748104 665566606 386292038 461357538 211092092 574154270 769192076 505958334 423210826 870315960 477454962 153005426 66896786 903226302 773028522 264286150 995527618 47555792 291865026 763627302 915089384 292631588 916077756 369548860 230809004 194728532 657782326 33481186 76435256 875992118 234479486 821884676 720757180 809823390 254360180 678829264 913711318 325637584 47382974 387572440 689616326 907214810 947239778 413676304 791858172 937160692 444617822 247170428 890040220 218795212 296840572 186859564 566078648 266719134 199315478 725260040 610407600 922201426 233074776 183817100 899564230 924322046 105367132 439303884 552941418 434648034 241170944 522747580 339395450 678760122 236811712 550985646 266000264 9887918 124997718 435425090 987446660 539410740 95108656 59142522 243041520 828107332 681832162 995257610 477437178 252581494 712833808 496621956 483645326 28032142 797792250 166414190 860888322 717369674 773270488 458557020 352992006 5929358 885447822 48093666 316259342 722718602 961540220 148981606 385440442 638641106 212416012 257273278 264905408 156536498 440294388 13854532 651779830 44504810 49008062 827834554 536296582 247602228 355886608 342460942 669601058 930330670 234373712 542881162 762001764 49171156 163518490 808480858 471359964 863650882 14453390 502555996 99488072 564210022 336614006 677837720 294358322 558082990 25154904 774771360 799080892 304556136 589579686 921137502 533696016 243290732 986989168 955546744 723155210 771791664 928183990 254430722 253333992 810695354 649272882 856263044 881835558 303671882 892535742 745432786 10892834 857060896 578123896 807125084 975473486 953496640 997212776 841316306 965903660 37780112 445158978 167255672 598385228 159550122 888376276 682657700 212047994 109288302 779504670 247241262 603057014 389853984 66056326 419753556 914747242 282927614 199498650 557339932 706346042 127441394 618197534 622794424 312898726 175046276 209639506 850130988 3961740 390969742 658626810 997902390 672963446 397002730 767678098 511391656 961628874 82290684 532531856 197119756 317321526 760176932 696710374 21979648 531653264 42509190 360716792 638903572 478281752 320382662 440479930 198479028 98802578 336907744 211961016 457792760 859692986 503346322 447872484 529197502 65018290 761861186 229081548 226415896 442775204 580004378 747972010 524394806 754535560 224315920 300841432 307014792 430026264 433103928 771735220 931895374 216366212 715082420 800686036 611789268 636375346 823717140 53732922 289364666 288247446 146149994 554142618 541376322 100158894 935922664 755985080 740326850 327204934 651251554 209502574 751497630 847297610 786535584 163057528 962847700 962770252 100521516 945832686 762797104 286767382 281045208 574727694 704633156 953119906 106812552 13044370 326861692 824038060 248058856 666442782 563513044 699702950 644409338 390669086 984794552 254005118 691438586 682810236 595264438 978580710 103865302 415932666 349302078 328010806 452730156 886988276 887380754 258207726 509104992 869397730 919778284 41551404 182406640 664520920 956221608 299482248 834590494 736525530 329733064 485793568 231821898 469246458 724117820 874740468 277923540 18470470 235372674 161172172 581800454 339477104 726547636 445024926 59390646 706272142 627971186 300157146 923299280 985656940 349148948 376549954 915641638 390588826 322907596 29029364 565959916 762003952 569315474 982326474 786303716 260202000 985107388 22917182 985033628 834193344 717117460 819543402 700552452 87445552 280916500 331755974 655974366 707897908 813968814 513739540 849315486 246178284 488112770 251803986 208774258 287324372 840934408 716357764 304553978 4632138 807178888 137197070 11999518 967132022 536737402 564420602 535112866 278068992 449406022 476995312 113488956 840520782 198882412 508274290 841088414 494299212 878411578 495233330 563415014 955088138 604642352 185281160 768342176 345690098 129303798 996700612 499583182 765081498 693869502 892078788 186469312 567633422 128279274 38167176 686871042 554995524 627379848 525405520 447130186 371504108 219774022 354173810 697395092 10832512 640153758 957167246 402789908 230376148 21387244 941649152 996261294 917063966 715532128 571325910 919637396 52103108 80845544 72011976 632030016 201479764 48489220 771719652 927645422 460906560 762815070 617749004 382768706 197288912 161272074 526965600 506032278 815889072 251717912 648798010 800145672 768983314 644530286 412514920 62598902 244829126 199284854 239970626 291607944 237751870 811635958 178518614 657017862 122105054 495342626 322338892 854319244 926272794 657061008 769008650 366920580 767032652 389760372 416758950 461202226 354866894 809482964 509276732 188177650 496980538 336889386 481239256 384660184 796861212 622683908 764257574 799451880 886845974 963695008 997986388 110449918 874637854 171764302 953343804 484985816 759662878 558854442 634854482 336309286 834232660 666121374 93700222 344666280 748058706 530471610 69246876 348728002 71584086 553515914 168809212 537073480 888754462 407144896 527141666 256069228 882679650 668018270 356667740 753416584 159225386 279733134 534792412 327613708 319257096 348868834 223800362 930637966 813895934 317529238 861311010 492708692 471305520 412253082 124733694 890014036 299715158 973256564 83887114 331215894 614611238 173435456 653356964 876187840 590380644 302736910 598369094 351168360 863235628 469726920 856362964 854767948 555199356 256675964 263388854 793791754 212143632 75901758 689486916 130414786 50018020 361726060 934666564 477359632 304959784 46504358 117055386 166426126 216982260 854123422 334896508 530214534 634565942 878776752 991878174 377155822 286503210 109136574 572230672 49488352 733067200 565754228 339054920 356149480 340584164 490690576 178838054 874381896 378992124 941614292 420156040 629346740 943697800 211914320 38851934 699679272 242158954 247076056 285023716 715801930 205479154 206433396 472404972 372336696 979145474 842540550 848498030 831565270 137108994 866251438 307778962 558944292 720712508 363060084 253757430 7809466 833431256 815128712 50251652 628723728 685144 717221912 196891534 323083380 300414818 634410738 258452340 173931074 965506666 321697088 120917706 849555056 421000766 532711242 889819746 570083264 576609072 952414398 908575022 828755376 665729288 602389254 781385906 538682030 189422910 208930848 516672116 17391616 2142328 46768582 843151700 942747368 605680588 216530714 302218232 211271274 892286428 625860098 627578632 390945956 589408378 479577098 366947654 265250146 632200948 141665596 690783550 391701540 872692414 571089066 854253276 492745374 783017158 734377414 432764230 239061162 794418078 926421986 222864516 78065138 749578864 692334844 582388460 651330256 106038050 576734338 773417410 806528048 511334966 455001664 514495804 323125082 386623938 350399882 57115236 358777874 918246786 869199584 744400722 203368670 630415928 151384892 362215276 104955550 275624336 963337918 451837446 703111630 120639898 881210388 889349830 4017908 954005684 944594432 178014280 767725114 796358836 782647684 651248182 293427064 450832702 342197112 523388046 599019886 332450908 238712186 820387442 207282808 144787944 821037902 294821630 153573990 577537586 849462042 879707126 602293206 998907222 694464660 754282276 170059892 666690948 664143136 969335950 69778768 349687704 584215684 591060262 548453232 547929766 563919626 483116922 212025902 326008126 470527844 824201652 940152052 125218692 441296110 310870290 958146574 363523948 341497488 424169506 719761116 724217088 249831298 756292190 605480396 858959202 669839136 662994152 250304308 247933570 61310624 509833246 792816870 344189910 539317562 586747462 266798736 779088038 55361588 782336988 776478482 996125418 68835692 493050616 56851180 359992878 174582540 155702968 570437524 724720130 914232004 627267836 17501936 663564702 482730970 309046070 524638382 694124404 600840030 335375388 456076432 601032084 603178356 236174348 884550374 723563580 225969346 12241922 27847868 793793268 318951924 550955990 501683986 98114996 791205228 247666270 912342084 583926404 350635128 768815736 794099240 466438790 961873834 320435484 134506386 492616014 240985314 138638100 618284484 684659280 473983560 532662560 52118926 405561604 617750098 437455432 857535218 645056814 267951218 962295948 215007878 375273982 984506642 706252438 234823218 630666336 789263960 717818090 692755186 693607462 431901044 110308302 496876170 868735492 944211668 155348792 996968002 492277062 939061816 319609940 649264724 703285296 109160344 308079984 480650336 259029232 374092934 617144838 509528872 938787964 486162094 927190162 708559086 578439378 223429554 610115632 362711630 514339714 983874168 108100644 533970852 688135732 981457436 647313844 752802610 183916730 715004032 812818506 762547230 839854700 212073750 1438864 533956024 639666530 235008830 844057912 150975540 920032468 310910960 847563274 793638340 962267340 802708092 64071278 854217550 855996932 152634210 695069368 273642870 530938832 69542246 747096748 744161696 331523476 846831492 786402040 31523438 191411350 626709480 849706900 844834360 341693400 928315254 324845820 877303150 182779542 766315840 419128392 471949004 879767638 210739488 712340038 115962090 14049026 982550290 581642924 517287828 835978170 23020302 820335216 996558984 662072930 161318926 587859096 242977240 743466458 164086654 7759692 939879148 13955866 753299224 271155106 341189900 900039504 782365194 952289992 133053422 586125478 822510438 302023032 869416708 175465054 371639152 586136564 519608190 631081030 195418658 612178580 737355502 612213094 13803146 648002220 588137314 83315044 845076906 210913152 621780880 338393444 780485404 36728456 617577012 348168444 756144570 675587248 831469980 660202070 494044070 234714826 601550696 981061034 514003006 751331924 5101238 404725910 441309514 496106574 41309768 212895444 777117644 442824368 256250728 227956868 386133050 222733734 820506894 86146094 420898302 859887752 835366464 768838990 993522290 482152164 307553458 569903896 282240106 550873304 797220150 817497738 576928424 182777072 175446026 549711248 65791674 221377596 206473786 341524352 606347066 188987342 939217480 310312024 480247878 729786538 210233222 611084466 362608794 597791132 22175088 52455312 356865046 655056362 369401778 805519432 583179168 962046258 681660422 956181092 270825642 20008386 264377336 669726322 592093378 102631744 497703024 906191284 445683984 883333760 220788264 286437030 334351494 845453696 350279888 644223796 340624318 264783270 295852672 281360918 197806956 704494288 822623548 205261690 282592320 646531542 539643608 186604378 585815232 904250444 57841930 746763624 75544938 176862002 393686268 209389434 39616688 690150808 137031756 813585562 753540470 311733394 535068868 539726954 808849772 116540176 987074844 387748044 730564848 767842280 21399222 614705270 537845584 662281188 872923102 333360374 909963930 830373098 374399462 208039040 879405900 910940858 565609058 604929956 75436522 994162698 294624094 671999394 452109896 541624532 186628604 571722148 696108292 446321990 99475078 549952024 333415800 85755074 558441078 404467546 552283806 906284548 131535214 195181058 190732566 93090830 517667020 609934968 202076296 350982668 996832646 989433748 608434940 368672990 36825088 54262448 363181260 667893888 60739224 7402160 112905788 359958560 358614094 718681936 690699082 363749630 805406646 573470710 69453364 222412586 100018540 697074814 709892516 157506726 792948784 267776062 349834408 679766832 833643946 299640038 645065668 199153810 290603780 558125648 350421380 784318686 304597456 755089634 288202356 963919012 191074438 239570448 322906146 675913578 242692166 74304564 772423722 910938836 61762452 22577648 892061540 992654982 182247680 303438788 767643846 205267168 201219532 134167114 793947844 587646858 521226824 687097830 76971556 410007936 231578178 404237884 497037292 15712796 396921768 767958654 254213382 325628616 581731384 727388332 662835520 970628438 609032368 384818002 147522010 509539724 461561266 322442424 112347742 12311816 19360214 276210132 544922380 144642904 68747034 303224926 823692874 840732306 554732222 711318088 400298432 616616142 222304088 352109030 876568408 24208178 122649494 926856708 767068912 795030176 760871866 123025542 781548814 263442844 958776738 774045164 8006148 848271382 514224080 50800800 578959204 263326636 925138442 418676582 807252034 612678526 751566326 612224442 364805174 248028364 56245380 863525662 691715480 850661794 173866062 45367478 716319934 614260884 2172734 659271088 458050080 752010166 117031122 725313344 367021386 85220356 986549420 54776274 962584700 62585380 989407422 411309292 525479654 832092134 941855842 503210976 891955360 706267422 140789212 77168708 589148986 900025446 998671190 148555686 173389650 953728056 55089426 697465160 657578654 328319484 55012936 636059056 598660158 467038890 461094460 843141636 557354328 252592922 661924630 63851612 870963936 372221540 781192626 217212950 871487856 928443778 366021176 910931340 125190642 465986484 642313560 222443582 294073994 783847010 757355738 859691530 776525104 434840042 410940248 388236162 941662330 285283360 373131928 995020642 849939602 186794992 940740432 848653852 124396848 477086786 378650082 861555520 689295824 727816410 78602572 461479118 188172062 639464862 16750 97908986 528607252 684092908 393146058 658681112 365310802 924451214 753579802 485274382 623728804 910327504 834921654 529448658 405223956 636751508 239683912 701014892 358549678 919431182 955603278 212158680 441923088 926734728 824992676 470211936 736296566 426707238 60662246 353156870 265025704 485723110 581647294 63605946 541335592 394911540 865903132 827522242 610751478 841661314 756326390 755417750 428150654 652268708 156310530 806083742 58802650 585036860 412572856 445235184 782151968 706620576 641992852 986558204 726134080 585347960 881013960 185556754 339167528 540084782 593688654 347632382 926261746 690253680 298737452 400465068 844860242 417778454 975249272 72635600 955613924 849484744 852749604 81672080 190575314 352650578 688910244 867624874 75575312 668776356 311679266 676256158 751783054 187272808 858041880 526879490 806401462 270062056 741447720 613420380 207504252 173517522 191404596 867608204 413180498 638600510 633204702 319518992 1919860 244117728 340807352 430348496 58860756 662343610 473293762 215425668 986875966 586628588 374513038 43599210 424693118 609722638 183615848 852494868 83655858 922272024 622557588 698638242 293690668 981962272 996719376 770561768 767441192 425065552 284599278 620434376 808082454 555500024 421817126 949834248 649765352 5920346 452570472 207510304 410074442 586603312 75086526 922224106 684763958 253899474 151964498 440473766 614367080 449154012 486387382 736216934 53018518 738737368 108815522 386248102 204198502 125250502 725154476 654406010 336033680 897752758 582660920 288418590 552730994 427679508 761333812 177698418 463357242 636791476 595825652 199752732 90304440 513022676 763545242 774172132 279496784 943671898 570248782 637538914 303452744 991153356 841514098 576012910 781366310 995787438 473818724 337771188 752567972 388831674 260711874 144351308 396429116 701455060 542764438 607314558 505974166 831834888 6101174 82159098 278639038 132276978 302131390 738392118 147684716 29380456 69871370 525582092 227043546 663114906 984236516 404408276 704455148 483084406 991062268 251604328 966234210 803717160 472695292 883865700 105338870 892818004 583279246 64661988 638248024 638981148 544982202 757961218 135232018 657902052 105010556 780763670 575684410 691252830 166450896 415534296 415160426 906080888 671529962 37282774 264031034 557608372 68896856 199469100 754379020 527909576 589556208 438756176 437537500 697462948 307615376 516899324 42255624 785133634 671882228 849026682 765810294 894090598 764984504 782757754 67857748 314336940 837937284 983316084 735387548 122773856 651315466 534489650 892658074 366897618 187307992 404507810 824583158 426559170 883722348 84815264 535297628 514812220 165467532 530439392 75880116 566609866 981323462 875533980 652838322 752215954 81401744 943531936 402421346 31152778 717535322 521369098 712348262 740556558 271500020 875151526 902006614 658977760 331587002 944178470 325969438 761001070 555619276 181385476 81816630 730727354 59965650 220238998 30678922 717936304 843142344 279699566 941265980 629037766 944434360 972747354 822280016 542957542 712401164 721074410 881034484 240336494 120546216 715424770 829363160 527035102 657513168 929664536 514408550 192805172 273086062 571126026 853974918 855454182 752754642 283089576 41892922 590770426 34193070 962491766 947373192 832121220 825750344 190442294 899559770 290943658 354280228 195887592 563820634 565175434 559066282 81767576 295643222 755980866 313488486 128552262 747328574 142471212 75168054 80753388 124254252 722518658 470599566 69540032 697411902 895553378 851034852 361623310 318366820 441383686 55381322 788999212 274506142 736332712 762516164 885747424 40951866 960276456 215945936 876869354 640739160 442316118 884639194 748844164 769899860 66927946 467809534 234457870 172298886 277527648 910773380 608010888 63338250 146594328 697641724 655580646 667909270 327047520 873155642 339585152 41910502 676658672 844006392 583543880 138229588 86277280 378190676 463797392 108986018 284061684 671785200 952147938 747433494 421409010 616172466 307703416 876892820 817037730 354342932 896225574 704325474 460312142 508582972 350849144 816851470 936072306 837255216 235978122 876413600 415744378 231830886 996491036 27163578 440318400 309970590 744308030 325757502 108502202 991576402 4380286 640281944 150352006 537051406 333388280 909863032 936324074 460989476 881209792 260951046 741550272 288087638 929314264 320343082 998698252 244929504 615442162 582930458 714722092 977438224 261960640 163321572 397358864 713366686 511186820 482930130 891679520 722139974 734609564 894450640 559300990 467786280 389669188 69265524 993442764 39065562 727650416 828933854 24371862 709139282 304835112 548482784 148888734 588613744 572412248 897091164 12424226 224920532 623505444 562830094 361116270 213078486 532990548 52572262 272530068 171930424 991290896 209697856 26556674 327982196 274618804 404004962 946442700 642083826 600186928 67418438 929823450 287050236 209679538 590039582 203431274 608628296 319229170 285744104 157202458 731192102 581395550 637120686 559741714 516783604 711086188 744116392 354141034 849170780 785638998 650818464 768153690 940754120 866406554 689231382 875333790 1060152 767010810 865616856 216200822 11276606 555243242 932990158 868054072 605690780 287757544 695254332 199741834 700930170 85442470 687372322 312264908 837869192 539971056 45555208 215674920 212759392 641247996 83048754 57303826 183093154 503874796 865062180 985292934 633610008 614997682 455408024 779802164 435134504 163800760 546542298 439933582 6262360 902638894 489513098 252215130 292045008 35258580 9622368 989430748 11889624 129736798 826102508 192401748 225286168 819633890 963596170 103984068 518434594 50621140 319025804 125311330 433269948 746781786 768770894 626148082 424690870 346116934 600429096 990556598 938763498 206158352 563982288 327796244 424651128 608664884 253964980 586308038 240952016 562107336 19088558 695433876 584665416 156894948 464974874 79080424 924328862 175876282 93538222 234487846 215053898 271025810 843097518 779730544 412147540 296834340 442210730 402540700 893859946 519728812 972339068 722283868 506415824 426754146 71132236 643444860 348031600 85793186 374870410 583311822 603068702 573963864 355982106 34629502 703397244 554296802 931087170 364405150 552828274 758201146 652878202 504357772 718183772 642021464 992461252 145581990 64449824 737468746 535995846 947503060 157331186 109725866 275630144 939674676 3477972 10177684 482682406 950309422 324739226 499788152 927640834 68979834 147319362 582816584 670727394 273732840 623581830 955375044 314093142 384011824 89252484 925786612 302843258 443141328 353602594 477542262 566371978 381988576 401019238 585888780 453596142 861659212 41988460 589304982 60317036 465403760 564342468 466798428 796962176 8733752 589397492 627572190 547723266 738394928 298328472 148109048 701394002 591245842 545885782 570374634 576703706 252192290 738854516 266146172 616078002 253642746 626502764 14249318 39058294 815053836 377152838 153816894 572712084 859469228 862879990 85337012 366607868 902136718 658613510 194512954 264268932 557105662 329359998 699486154 693177172 257199282 377974586 225521780 801139048 899350762 175299058 639924086 709411066 61080300 479532812 956953450 794634286 513171798 865765854 424034440 812673442 706407668 861300350 329207910 614204268 322454866 757748954 63562084 577884066 365301764 68389268 749093100 136641614 928452490 141000516 265801604 238236796 399639820 761624878 208571984 647748038 186202126 688395202 248523050 667673286 785760568 166821808 594092648 335091468 826111000 137884944 227807330 215485068 688943430 671517678 165123664 12668340 580954748 495197014 734907206 85029100 639751380 706707452 961010738 49113868 110313654 377151140 657490956 762369214 180467134 180756506 553459860 69748152 691006120 731125346 591691750 557307512 593339174 895424538 629749958 562218302 772924460 654490954 842564364 456155266 397174848 421175282 727243574 19727406 537918760 227926884 461939224 108739264 660586096 76971782 431523448 275748230 687727576 421742372 219030794 935392304 214530510 267504738 312313698 788712164 945547654 537372530 664374944 848322968 8917880 45229708 282044012 18028754 659504268 475736692 769438294 321749388 525670786 884481022 62135572 684783366 417608194 37946620 5554970 521969838 116832522 440395452 438960952 617733872 499591482 631050584 135463068 477463472 986865690 993379210 9984172 98265578 454020380 163494472 475399736 669614656 450402052 430211982 65124644 538926238 369400148 204898906 263756666 943500298 198546874 835635928 386941214 120030706 779797684 553717306 543120628 347364466 654108688 474954650 246294998 523325898 856202782 139299194 388549998 820846028 628907900 913047144 3972832 957482420 780422032 572020862 534258496 862584966 697333866 826593216 82387530 127487538 659326130 174490406 553760628 334605796 698830954 495353106 151747908 819194464 264016720 438477786 417234628 509716504 175443232 800205782 222152050 342234142 741195186 949106236 487640018 348056354 629314114 721851320 122383654 292590050 234937082 633635278 431857728 793693238 94536934 681008244 920770044 213934910 208823294 401727428 606858630 947548500 743853414 495097110 606576350 685795248 814289878 450220800 99081392 2235128 809285884 982558982 909540416 248129368 972200520 563768928 434469248 42889734 577413014 163700626 635537940 276786782 121543452 752260870 243627034 954237646 198454014 834005240 382606440 689641388 562580618 191259742 638098840 177036256 705674086 751232128 12952858 434977210 969538626 116439546 917536378 393340586 561418538 516612972 574492220 547817676 547797032 327565262 699693542 724108876 459503200 579941466 679199618 382092678 277289008 935517068 397927648 702336016 35577274 414633358 737297448 776685338 511261014 625787016 483921350 167176016 265868858 602577960 434540362 924631944 796473958 783363292 632112292 166246902 740993378 648194650 452295042 869383838 726591206 385013928 299668340 729232814 253103058 80791486 454021618 189544330 464910478 432639758 714964318 406774018 77855318 598800104 880794726 721275160 893539378 247691044 182709346 79759430 375091296 511241598 571408416 458353314 715147184 956905224 756457384 751946356 998663572 627570518 901538432 628899192 253854306 271029930 281335314 242910658 988594130 920310430 50189996 153969892 346021090 63709294 281746458 555277036 82411468 72041794 41110200 579629876 152339182 904931880 866397170 686710482 793786914 257052772 324926680 649616372 745712710 420372832 574130128 498355688 351202596 488711924 503239412 150674132 98429650 887748386 915709992 285079382 475377948 547522138 807081676 151224624 106290358 4676850 484447404 788473948 586316690 987407986 10463196 163935746 132411870 632207128 207020576 83293490 974946642 110112342 35547700 926353222 480501036 463437364 251559192 795307908 395045478 295953866 364089066 474046584 953339658 399632976 820665282 655753388 536252068 922411848 376751332 775437026 540610094 739290100 490864062 297922630 242141178 498216738 944891086 242750904 434952438 499212776 58470760 477993846 453527040 104129964 492622814 410601866 708083858 830715542 577753632 87472844 576574228 929812856 195920230 962602026 163886818 907440870 981102484 804964494 615349100 700465184 870956832 441321970 338193618 657697734 265212292 519993130 304080698 3598710 988897926 377077550 223825406 298557298 319662628 462897558 143727798 204513814 510171568 852805280 701311154 878660264 147247674 701261934 581069642 919121686 213347338 904611532 52266232 525565094 582565108 682866260 951445280 636527352 687897334 832720886 775240250 593851098 710505948 538351842 48692172 729214682 478577876 52875764 801729976 216517972 413983508 402153180 868694754 805351816 351221666 263700224 707375378 760891094 516428908 912534392 969287778 472513380 925574418 473343646 157442758 992296538 320579600 754686172 128435976 258309604 766445260 432544172 559300008 389251668 150881162 170346190 995966808 40690516 906344420 547804778 374745648 464075410 726926082 577267728 686372560 20491026 327424146 59154646 981806606 168466960 355813950 551952408 430316886 472861286 106697656 935000936 890926844 223028586 8531636 894604308 796898478 983172714 691626748 578809876 155647074 886286398 813472048 338819676 759788926 735164934 154722920 620908354 235995860 381581024 180222336 314703342 245891078 430372858 765365686 735830816 931632784 330888772 187664688 500316562 795456212 890253282 642298980 845780650 460687576 913966512 639246780 973076240 367485756 863712184 363377686 42548364 228131694 281436860 459935088 612336302 34354258 363371090 930118748 2053736 150797310 107284024 864231702 740765638 95854158 223912370 522509810 921921458 958765124 940700002 136845112 877303040 670469190 263305402 109341086 834275950 750572060 643586346 253732090 527068152 984437210 92855320 634495260 562381170 342855972 482811662 436507638 774428722 668272320 347867730 900414574 741536408 562075428 589991542 125201464 260292246 18974250 210970636 846302668 519757832 366409572 968067468 326263012 927206600 227912660 406077602 565881454 417046334 571193840 890868312 22414596 801219466 867880568 681555584 626792104 531726140 250908360 112263754 171531402 653576304 679559884 745855252 558461748 283992 83304144 125688684 904297280 830907032 734956642 492517208 291533072 4305916 393061946 607133700 390978022 422404024 135383106 317016648 203046130 555281354 765089802 963439078 19781608 168223940 945752026 237860202 195731246 719798128 96790060 803949306 554580258 841069444 891102800 657160538 596426354 445329280 811127874 216810616 166454210 191854614 892959520 637501790 679821436 76807000 748440436 619464856 49053884 141396384 73875360 148831140 483741640 264020618 247070262 625397662 948245476 816806486 522489566 458182672 114673294 285789488 643686020 443193796 872624278 858974264 336057012 864063334 326452156 239541194 173581084 361394528 373408152 414903006 728609900 498028878 697411740 978743788 423837192 135390910 850321312 690984474 817322912 277645770 647522632 414483616 328831500 992694604 193036278 527384042 893389212 621388586 682429616 363775902 602787030 907879358 377673352 255299250 693783310 888189230 254533698 465672982 992856256 433811570 905994246 702870952 861124544 866279624 915727960 781283906 659868006 811031722 343717488 554587844 316461522 213902816 577427238 913566484 616387630 360484932 616635300 605708484 353378948 338839482 966483058 471492340 200735250 430300516 845638870 192765868 151182062 867668774 957112932 831111388 644715692 645141438 955890294 100741954 954784562 631861040 794772764 668576886 364322400 993834322 218550426 124958538 581520356 769805618 142539368 683676344 776001578 131270408 679464620 13807278 276225976 671176324 112454102 507668976 642363304 152129698 736276672 763430848 215930268 207839766 569768360 802171216 424118344 505192360 566424912 441297738 533620204 46226346 293889294 25576648 573652658 888245554 886362508 530950550 478425926 323405894 106504464 701945286 168073756 390304516 668231748 132403756 441368676 220537924 52172582 296902016 182890436 530047306 107328500 149827526 531947988 107898452 130756594 249870960 930369136 613746994 866495504 858799200 421335852 925892460 822468198 793417254 594175504 736719282 361329598 762240898 668372802 578346512 584164128 335344482 389429486 469537622 950620100 457946612 14250728 275919562 845906930 838937592 356006758 77129084 397162622 731143742 87230886 268481384 30115082 132481600 283545696 767594602 348125206 392445318 126271590 882003348 946904680 39963478 459102486 316552324 912109326 594972220 231294878 849700614 210937180 171453792 91535554 182941360 401066770 823057824 46469666 273776422 730516480 268066648 999617182 492411688 240042146 680909788 546588540 657159364 802855496 849454644 413452410 808656512 131049966 868439076 542193482 878827276 113474056 780037534 190637336 267413854 152778562 902895688 315682442 986019732 783782124 969991692 301238034 833866198 918412230 663838924 978154772 217352736 262153642 262620196 170639470 730765452 282112652 647640984 938017176 744886430 920241004 856080076 745086084 342704710 389475598 470683348 712651418 945464288 851122102 782718464 493755140 53616286 227736740 523456132 193870638 887733768 220039902 539453176 230332262 774663300 38099932 398436326 24043306 887431182 974008664 613956652 317854298 856395494 478814644 962118062 380033448 523441762 396557814 853015108 121298952 515408542 20177646 907828582 742307718 326642804 449982348 672405186 820866602 491171738 332366548 806267688 852883016 464056140 834199264 800618054 102561312 602557860 572815672 371560152 33232110 51123724 564880116 644603678 536199978 694002504 351605688 500263678 708489684 877973550 227206634 771421092 791123182 353750978 906953084 264805010 699483814 894246100 695127498 299526814 877081426 654693362 915501160 358303230 247153084 888424520 46885498 913042880 445914044 289547752 329799748 568942246 495857576 870054090 728142284 150359914 656532496 331191996 559927324 745410596 44280246 735763932 914478146 723649530 553983508 403886498 343054100 84102420 799365418 229634138 488207158 96231604 103584536 819559792 2651810 818107518 911119664 934802270 280135574 571130122 924082248 766590448 82649606 184552674 225342748 935832018 680396246 725845538 916538228 572201984 948898878 158022790 284061892 871173984 409811158 889505832 449350780 609800296 541305888 772379936 683851520 963091284 252129938 903030950 498863548 875077118 137609730 526813944 396276322 531206182 278073276 25507516 97797614 294438368 909235718 369914754 97388614 917078484 472581424 354002126 839955652 778298880 536392380 704908578 99777332 955535500 326281880 438360180 995639820 558664662 819791642 15003044 782264070 29464754 177492802 583259662 770921722 670156120 387615682 157345476 96399006 822037390 214816640 911568334 249736236 846204782 167962892 751265362 155662592 678573896 485863584 968391990 528091786 148188570 16660052 645559736 396612518 767702734 731661952 703070958 66284818 388073348 506565820 528973358 29837528 513872966 761264102 922382648 167152008 599790838 228082338 161787834 496079682 331201580 160165266 979587098 86882084 397203096 614136540 983530806 819828738 20290680 953284714 959024080 903240996 53661664 240564630 388340004 470637616 380039048 255211242 682799714 634897822 579652164 590190134 153168202 403839106 387978110 31461134 351755686 196826746 920066692 185660656 225179898 800614840 55109008 680663186 317855298 997248690 607693716 623984050 686199092 500174760 13361662 245112702 816233330 855189240 388479368 186735786 348902940 361067790 243885034 282738610 482571738 978319502 552423216 157501854 827007876 633411750 631758992 607292984 804157754 660498784 992464506 881079684 502348530 702394988 967969256 404159316 367778886 552715554 487931698 651101650 216751456 231177560 37783618 550702582 454272630 631739024 322730704 334009962 168483570 742850972 305560392 402891374 221697746 801173926 384336748 61713682 132441022 371497286 540060344 200486506 453021734 172964124 570293474 509907612 437990048 914013938 785721938 818303432 473989376 180273880 657472264 702423744 551748996 360302948 815526778 490237642 488901134 28987988 708597932 970573424 953806474 465350484 152899522 211808526 986418476 673574148 385977532 945658020 603775166 66984728 223761964 140280170 526286364 633397530 249345592 87012586 433228276 518040318 28502982 788654382 90051074 443313374 615622976 952787202 693973176 839980578 189467056 432977524 322133490 762196018 852277666 612270418 769347960 720997276 287276854 650109700 622202520 201545274 690189748 738664186 335458962 946023688 997324086 857186150 501560620 53268012 547978210 664364514 874140376 213051116 767011452 379511802 791329224 500235714 788116964 843598378 766144734 242795096 981084988 10126164 90758818 805263940 404568336 77091370 204219506 283791580 881828866 750084902 100914970 780694156 214096970 500204204 430101580 919029716 413011572 210551086 499169760 747732052 939056508 669597186 385884840 796820154 151920810 466125618 39962738 225529952 242487522 306989844 975235728 382530376 197027236 68882810 264216390 267861280 634864026 533002082 63956986 180027868 277122964 247237916 383100048 181156506 25083484 454012974 829898494 288027182 27835542 746580628 242664864 492618420 600966724 862944784 286762614 700011340 899380426 509659470 590233840 251767982 688873040 816525152 377119124 553004250 832019922 448853152 608584554 46681126 521269014 567973294 404349088 668025190 307562302 772398450 331310024 961185990 476130876 274562540 615450784 144716072 468446682 863594882 319961922 487989932 370656512 463171722 774454252 94158762 438936616 614322644 284209920 505203990 829100542 301673352 761978718 190793126 505153360 19190356 889568962 954515860 162780430 812274546 986477752 672103342 603809488 300960228 346650330 587250346 437798442 893350770 333024220 801750418 37865520 310989664 900820720 782275402 317143652 983613452 836014752 890210932 574444722 89701182 437455332 374947492 146952302 907250088 37468512 815979678 664214210 691754974 863015156 724697870 897977948 431945094 253667016 843309264 908450874 299124822 161212780 889300854 990731296 37323602 606654768 212556890 929575814 398850206 572448602 23199142 332453280 261911070 256606162 802736564 881844142 641890746 231160466 904294272 213475022 517484580 363976628 793166714 781235702 848663544 519285212 990975146 120719242 132578024 880624734 166709822 435299824 207996766 597610334 981341392 278244516 759099244 753067358 73543880 645739048 461471454 115952886 51041578 839127516 953877554 53630160 881523848 784594486 865259002 93394894 632924048 352162852 214695796 97050190 388932622 49985216 452227686 218782510 55203210 420581454 108724850 322762168 798474638 156485844 504643428 403090706 650901042 964176412 624298572 696056314 494358072 807775042 192055382 508979354 33152952 25882916 547762448 950311654 79952908 256403412 506241164 325891268 477039180 902586188 667848502 710026956 990872872 88359080 134516058 690662286 669787622 762753754 333245344 295350906 499852280 269548322 898530420 4612472 334388738 923167352 476424154 535535826 838644296 186262858 316769616 907973600 958340790 179911722 849471530 575176544 576056746 361513782 9887992 645509846 753796244 83007788 457228528 988408164 965528432 52488162 195315078 518864314 439084848 428951752 245262928 223969292 237504294 231993754 782989028 748565404 754325930 691960412 913944270 21185878 949379672 502874840 525931976 640079006 34926792 646474856 836620118 734014300 452872088 145947300 649660418 845879420 584998534 67589738 686642346 314593302 63849086 792972400 775364848 365050974 145911090 857229446 932307964 65833906 73415082 559552746 912285758 17949726 225864534 142116300 587643060 204592736 947953088 646699344 178738208 218161140 268224310 231187978 86873178 271369072 918533220 833523154 736574852 700964972 40329366 241511076 867357862 204427496 849398602 515146656 248915348 717599162 429007608 490886322 655967816 777809868 704158458 415814832 372455620 324990284 862202378 141852362 388534834 454867238 937455572 340079918 563515846 698996784 286224518 729891222 855642166 656372424 738862760 408003374 406823250 45420560 328412286 475607870 547867870 341498342 700305302 954973088 899035064 197628392 412408424 850840152 667739096 916192736 398769786 710666446 240807802 796700822 964191192 428284550 918530822 351721990 694553244 876981776 440146624 75600676 632092118 298172196 140228070 260852450 437807672 455925642 106982892 81669762 1111876 991083274 987292498 184252028 960818808 249845346 652341754 174575718 656876168 864584288 63747038 747345050 531459910 404943956 497785422 655811750 592043110 670685254 197719362 232050718 699169114 986264100 385504312 733703716 620520612 862433990 889425200 811165574 968872768 404480144 491520868 874782600 445358856 831580722 802706570 826973544 156476828 890837368 708442778 552274032 795822384 809331406 876662222 807891816 896789610 843526456 741256824 739097466 744400312 967516906 51942622 933805376 947251732 433951644 777195564 730591336 277042190 825310842 115626490 401252474 740146170 901585348 721582038 426995124 218773918 326475164 10927050 290938732 72999218 187900860 767821266 198105158 622838254 732978122 255301366 800630808 645896332 66541430 878919676 164725974 331460358 247676450 414470046 377432530 783023880 498193412 656269682 505623632 328383912 678357174 97874670 762235968 998657062 455183666 599242294 981976574 473601984 157339520 309549340 447045908 170981830 63996666 773254844 249027944 179360686 750434570 23488994 237818068 198155840 725839528 860156146 61124538 783769056 800292002 158497512 851722790 358565400 870205244 671373034 588796950 790685742 161302984 676201482 867776238 925385956 640000620 13402662 724140610 18365530 224748696 287863434 798029358 173729118 500634386 396473114 417741718 403562480 907417470 820071804 449056586 30302808 404846796 719528880 587515108 406836042 105690580 352952466 853964 768920738 368071232 724638612 57222110 736213176 8743806 105680960 622380690 396924768 719276628 312885316 613873560 281093302 326432448 168011818 394538380 970915476 299240718 378157566 857979884 864832604 226925698 261090930 60182522 711082130 730378618 380714918 322699402 325820320 523312158 305531416 539963704 822874044 946986778 167788424 408085268 269888856 131147896 651533546 89456840 885147914 62064510 155840458 617222776 691125648 373077308 956932078 573576408 344606688 572567340 955625540 900396602 197940118 206742302 908573642 985683948 335089730 98098662 654133378 75055982 565591378 543483322 248228296 363088350 544347746 624182294 174052534 968673912 944913328 980055960 936334778 81332974 28262678 179485304 670210052 409801880 43762056 368754362 744686360 751590414 352971444 497412686 81934440 512253646 28124180 245306344 5076346 359332846 783161370 573794492 201090758 815391646 311378848 477696044 196044084 587220974 322573922 453725280 206148020 620721558 79377270 134695082 92290962 689585968 694879570 486294282 500567784 650253446 539891920 942685286 796846510 682859850 177198494 764349458 796686116 770347842 574386672 965898326 203633540 677897910 252992676 44371846 39763210 159963156 800317814 896803132 933280084 816273668 202954556 194766654 769688246 629145698 191540078 623404094 538171076 881614552 596743082 994962236 350073048 304757980 431478430 527103226 348656828 285349116 908720934 975166612 885865602 22026988 583228780 236905292 795456222 299959360 216669072 682583644 834223244 667525706 590745040 715892500 363309002 69011764 835611892 199064904 835293516 52522364 154136762 347942180 304899056 101535868 745303566 632319054 853994300 503878588 177313156 728807444 65804236 532805450 275237670 511308834 592726086 696103912 835164414 838180784 10157624 67577976 973037586 523559590 803934806 306884734 265228508 250992366 876358448 790484194 632247770 624808734 21723584 497651364 9052816 398361636 792827862 175712 213648080 996796452 137132970 695847306 445873670 884326528 785846914 581376306 743901798 462279604 744572594 251240108 559090930 397636014 368535214 574642982 673711604 730008126 828452078 819741256 658183244 694353074 679624184 142060870 80985020 61181974 664802480 540771384 233609484 255766866 145294012 211375660 864948824 831095012 261811496 45382140 275536816 670315792 812533678 360942344 852746604 537855026 845137210 444887450 561500218 729114420 868724096 174760734 8859622 756315932 120165778 877051458 383490306 975813156 989643068 949160094 616151058 95372052 941577508 486583866 311624034 725696912 993057156 419969950 109935338 748757804 969625112 827910070 888920506 202786784 944308360 311327240 179873034 198107898 346374948 233709554 272464420 648087136 913443714 819879358 768358996 795983810 820063432 154212342 555268016 60576622 331737180 57082838 641271702 200094140 500603516 26216904 740923708 956556568 621504206 194972162 361372420 945680168 763138838 819737542 570209186 884253462 604229880 287500828 236235124 146909584 258110884 51170080 39246316 892909566 886558770 552415548 725017830 401659860 203530698 246484596 107630526 154847534 355084442 489278476 830671942 702018454 936609806 119238774 74028834 572525976 272260450 836002504 423147314 556204366 220009978 696732124 7778816 266212950 548367094 519432470 180785562 518833654 290606962 738623198 433150316 344029608 264653818 923073276 638557156 708931810 618286196 88446780 504134574 611105792 548780762 737382178 196828034 13562910 476153982 938697556 324407702 823898698 391389734 17958718 413786550 121057228 708394070 12062896 932679570 725069038 113936650 780253436 232626990 445320442 722980458 779127560 677133778 747811140 649527880 980897864 103975798 396440798 398335230 564465356 362490872 828788888 201922838 345015978 334504766 450026350 449924146 275178466 134337252 781058802 876219980 43050076 918794334 548849334 271344152 816431718 575333190 326977640 662644630 72139760 485030698 774051800 756309118 645154756 729014430 120070120 847005952 13298216 333982964 799789262 784340746 871269300 784614596 837364174 768578428 859839504 801977696 250842874 931940500 521429870 889894288 912448210 531987736 439599998 203923050 167394662 951809160 412170062 192037280 755718280 863681444 836154996 515021050 997218782 572659364 242941620 471748964 233149266 37622470 97460324 656271240 235851824 997788418 150171942 25111100 49904472 426450354 128181376 11984598 186176738 50136168 486215276 22233140 629635630 750480882 873999468 742136042 128038222 67440746 980022888 898964974 430071454 889303410 236714276 484469910 120096504 100621524 650606244 200737176 115649432 587701704 180450108 695274038 61897572 551765158 981552530 534250668 245485192 187804828 880798864 55776138 198780402 480546590 587383738 861711590 439748614 523854724 308775130 525751294 847383258 748223954 146823644 604275992 959973298 750519300 750823328 501920998 58350744 43668922 571146854 666994416 892690102 932965492 566881538 814652984 697042068 767952664 742523632 299478872 921341142 953384830 845275382 434439904 170800812 981533914 619853522 125590384 762419028 910642406 726026916 599956818 780003900 445938878 798699980 258734298 823158450 78147876 851867390 690921272 627508500 845220172 243874420 287807318 226667234 154958808 244728032 151949222 58671960 670787924 439399322 855628248 321131944 913092076 103948668 838592808 997454626 70210308 317067542 982697468 847560286 134754990 526432850 212648988 695773054 197820822 642196132 921820062 994631328 414730092 19656172 966369316 856590624 940641838 939091912 837304352 472893916 355718938 875063302 449384372 309926468 87838762 190446186 56151880 677798330 476910754 263187832 61939018 779369826 339300646 443274480 981862016 776640692 159282334 948317792 690122492 215826276 133657262 833150758 453081854 539635018 692727764 647856302 970939756 484426956 945954264 262028438 113045266 11057720 613597344 302200630 676081776 942936180 767607894 165558050 629495348 708772558 476062416 320260106 509085798 431409938 956061326 697158776 664832896 783973454 829267500 986024106 847773954 920760980 647398200 347209578 985949274 647219270 816189414 942641860 755236408 843565732 852954674 783613356 236184068 867806332 671798970 872503034 657246424 366093158 499566330 843269456 184985150 915714262 447115548 84555852 345850244 701699034 996706838 563185052 499171332 716017674 46182798 971285750 425057382 81939458 634470538 389247562 83936144 792902214 375697726 197927908 578121800 862849358 417450074 607369660 925556974 826655300 808436182 246797480 290779452 147501112 944881672 945971736 777847216 948397834 648812584 877962048 794442834 221180464 686557234 802798002 111773114 278495644 474699056 406414952 333882432 160095620 593403636 744223730 247800170 292188180 107045730 944458948 567212494 894444258 628350850 438828644 574201842 256924066 292507210 864197232 46645084 773468150 464603924 844032634 496383358 599495470 567729080 70159656 353758952 875827676 585264602 823038742 616356718 94275018 598359944 861056450 641824118 354404106 994466692 419164222 781992478 265796286 702963466 485907762 297659004 133034646 628958722 251296432 913853632 17293312 758700694 570188186 72090678 569169508 485542796 177142248 855767156 177111104 726656352 669112674 461142 632559396 193251596 865469766 669480998 224456628 334343914 143360826 53081934 270215730 543599658 416916958 963830648 658029282 87466298 297817874 674190700 407995332 589573110 607216622 944357730 662043314 11788124 650727994 168969904 358851086 731966280 993379438 161576832 223498992 988639628 205363408 16769134 404605846 588683672 153241698 743247688 965391368 536696368 858752082 696350402 873733304 634724568 124092790 941201298 914926394 477435562 72640932 722528044 433456836 71607550 929341344 337300112 26553230 734685602 94041344 269441758 684579176 416067406 598389266 72719830 150556896 141717136 695094462 491723062 408385024 775136292 608301422 817122002 400437120 584610414 74840354 382134662 12640946 567224216 91372770 651295164 651540292 659331612 956373844 67914702 580820336 661353322 225606686 983930412 521401334 628738964 787024420 7687002 426857602 441087644 108973434 205902404 732807142 840855112 11297542 427715862 794214092 555315950 674161380 446920172 357187008 146524310 948080316 636287106 504780814 568530258 46240942 45285048 900366706 958767122 984003700 500792250 350372372 945782270 511597810 854725808 991834812 244191266 665061800 430262000 951298666 453594838 282609872 295041406 135391312 155735916 789955866 502621774 290261390 881092070 78976004 673450240 581924014 286258072 423540912 84500528 474454556 713514878 291801372 386457176 206250674 806389816 787277792 246887942 933261480 330638308 436551236 30042154 198291850 230352300 404264232 550251284 669682832 338454204 27268860 824309032 670010540 354575604 568652124 375855800 594415076 47370054 853650132 852656854 534543902 454942406 201644380 937590538 456569958 438140340 252565986 198240748 482314648 940016658 725779634 201726118 498785020 46909344 982468360 693094838 437028658 799775052 1008762 629992116 500499822 775272948 520102302 720599654 917605452 831308334 157601876 248881186 796685552 967366508 513627432 362641046 894173098 75111542 30235266 406657832 947668640 656283764 342310512 606697556 91488774 622102612 857658242 542890516 326642566 747369192 967128098 871440244 719876654 164847052 725041800 945765374 28589454 674397742 81456946 624471432 762454888 867652140 782720150 758838790 608768768 910548618 866460476 111017572 599757726 13266272 502190772 699403096 466298376 641771686 885070674 937459684 678593242 962186576 412878706 523801194 302667110 736693064 146713172 232523490 83677274 828650208 771681942 932331290 165209818 937074306 41615668 380992124 300129586 209201462 375658810 723382450 985975690 942308668 145636904 976881492 772299492 18954626 404369344 490074882 926536250 342637932 353477122 152320424 874566238 307676754 844947526 24325412 664858834 943207824 253971748 675959774 798614276 1894334 578536184 241561882 720108204 547176390 498102938 304128084 430856404 349536698 595977436 461937616 82825120 102637906 122518390 877431012 73502774 214898778 377616108 729362692 733218018 883761898 318326754 341059382 738138754 789940148 887545182 224242790 297495276 736577400 591905198 278282236 133582258 246962792 561376710 582023866 699486136 248275318 711293226 880222360 56641712 16360900 895443176 972353902 146849692 670390504 334852032 304035348 709006564 683181872 341978142 890701292 458320136 95852680 268205696 761344010 17234074 55168520 705124634 971622288 674598214 353392780 385799868 148182538 724730338 43462190 862674304 130796920 435241836 93396620 736632844 422791252 372360676 146511034 726623472 169073712 932216350 54881692 38497956 742043392 767373726 231439398 606361728 955574352 657446738 353980024 45392694 584596630 673732608 446270792 490932282 85808404 125468682 436698976 435888360 286074746 503135994 255347450 666669210 574677610 284354084 716482850 129389110 769449780 518814348 32014084 21709952 320650064 637890642 312099686 685794710 586247870 383534318 716086770 236868040 98459314 476226878 755466592 128823062 302186998 664821196 944277342 150661520 491143300 615848500 945823136 666814396 691283882 324214048 733422486 765670628 524362350 332589366 233242080 833549550 752380370 674291888 709622366 192666772 665217540 211372750 514260046 397236682 604468330 763904694 997026508 126863992 704894092 629106836 390236116 732005448 690754990 103560846 111389666 665818876 383858144 223993648 250979094 326454396 46199244 489783752 336958920 739032694 755178386 957790846 584689458 522373976 489651604 111140420 256069736 833698088 64830320 345835314 325575080 882667960 859567916 62755102 966934246 236046390 758334938 126059118 60677992 938879630 191921972 209364722 80346910 639188712 938165954 290220790 602360960 568145388 972663060 324786132 977515184 601034002 53083956 114873568 190235658 573061606 29003486 423422146 798210614 72488258 224243692 852334256 235713312 468037330 513116966 424892658 157551954 248082692 334085412 539034438 545442834 909523746 879978166 286331970 657686920 807399480 403168140 64203286 937088004 908277918 121730554 368187786 11034232 247000714 626621906 638248126 486567586 332546490 492060056 267520098 816922774 331642818 687426658 307948696 554280862 717921170 357002222 111882970 262129358 9202228 163658760 967513462 571255052 857894668 887462332 357761616 968844272 259413050 464678846 924502530 43929360 76255068 625397734 302884050 244127688 526721414 703065848 8960012 47681780 206236974 698456822 765205816 172716302 70336256 525382360 905947990 225568950 980134324 902072210 656711488 965360722 534834850 517020486 528602356 646985158 889150234 728128920 383913068 675483652 686131730 392187694 802220398 622196864 206448212 269451480 539104310 232072274 596468930 639608868 826241992 825678110 349346430 75398538 31612816 764916146 282793740 514894584 428813066 816482648 567518488 383557238 299103402 779696414 86099040 402753632 892861286 436881160 536655114 121852590 990621308 458292540 592334980 738670774 367767508 812760838 245327584 840084780 791129338 831254238 676451084 666615816 147024166 919701310 5486746 681111482 363578014 603139390 465676406 631009054 841726090 929869578 626850532 364892720 688439224 125133692 14135212 827603668 383992432 796261894 581739148 122256242 114686678 907339242 989114884 671881260 899438084 697677414 641345302 325321960 641038768 591267060 821544470 992259416 185317814 266386500 298966162 802625076 370384290 418515540 403638830 771940212 190835152 30143334 46660398 504296432 82325904 751004222 792819466 773000216 495010624 728130420 658594068 755193698 256627792 498604930 162984416 119082816 242346768 184390134 304465614 307502228 711915644 302897232 762419180 962390552 858075878 314699406 650190912 681137150 624858970 577046378 437479222 304244156 367966576 799732592 911615362 888809242 464036454 447379868 49518762 270274072 621640328 87704056 631203362 970967160 167751712 707985216 425192464 499759028 852414014 152171466 649233750 287694546 597884956 291932744 397530212 954636050 260933254 560358446 745467578 763433080 531157134 875154132 271448698 423528320 315936382 791387948 423713904 289839862 403094424 230111412 422394074 839935958 587132846 422903946 336427834 600867962 519524854 48889690 223006660 403401858 645418492 138891296 295534842 339046462 258867794 269423804 772431026 748807292 44938576 427025356 138826562 797730026 192680296 448582662 245860132 19776436 475204562 405234742 189635236 876601858 523805398 856895200 202841984 53809568 303584544 963866884 888272776 594375796 329777894 930107598 123683238 34561390 148772962 595248910 359422826 823700492 408647514 428058220 587234882 414445392 87633650 254322 248305642 89554734 433789232 188549358 161961316 832249278 405804524 319530288 120181374 465105786 142197908 27781804 774085888 862331916 173764400 700183662 182130786 738950682 314018610 704147922 305146128 371268412 565302886 104012580 145232792 653641438 850650378 1158454 353432914 97847808 580615550 917329194 150477144 27310996 562026148 823962930 142113720 27149944 946921636 842925074 81823762 814978204 10619402 510835092 863210020 520883490 929936756 35102152 297922084 72642768 41854186 110581002 969680054 691080228 389873338 154201358 651136140 349787330 462498948 420124490 943035850 251788066 864431408 465409710 732754968 77292162 139973488 934062524 856084464 646466142 908807482 970011622 278289482 284060536 435311280 915011632 128950778 504658514 421908512 542613642 727688916 467789404 893708602 157885358 198806724 135109984 982106148 724521764 855646190 114320950 744424998 491940662 148904874 117589562 174549878 488932584 777091452 605241676 918698744 855224962 578658192 185906224 879172556 788371296 819017862 743737846 757461688 147650 698712520 101737848 642273682 79683584 734961544 780665708 515331948 974490018 952453872 525920064 647857804 190966556 576359156 999081244 396122230 718923850 321755206 474795080 954212160 125654602 851419110 384492030 464601094 717449602 784314048 335005134 564592610 847993304 543575144 215973822 413900984 699692408 944874694 417915098 755397312 462341842 354521166 658825202 211106850 633741772 221918472 878817302 630648572 588047896 622458842 679807864 889004934 72717522 327133938 941006686 777908006 821844178 744439362 33941102 250973614 480978588 875768216 855825338 691002640 157985380 978424678 27482298 539050216 233262102 118586826 254751298 921039018 747042136 595742438 929593116 939946196 636562484 910817972 322807470 72828640 928826226 837785486 166504908 830428420 535589542 399827772 364181516 835449368 366411454 464270804 740917358 907547586 380482402 951967520 982982190 812048198 270968528 952897220 988734580 955047854 443243360 450373094 528925070 470443038 235237676 203513664 528302716 430441158 962153856 452904522 846545288 958461038 562338684 29696904 735218932 948377774 885166744 170825626 247555262 322391364 482658496 258713882 115774214 921647194 42676186 479752384 670729860 668190964 983794660 419866252 940632490 718912664 615499532 124007938 457334086 775830074 428349168 326430314 136642630 777434030 919039772 291597390 186525858 379440618 976356054 224769614 318293174 212116134 635057588 394548826 812868638 639124156 606273510 96627248 711040238 828760274 77611436 324809662 609402512 269030562 814442858 949312566 222685376 871733730 162336676 795832592 248321782 433039968 486180198 417998006 540616400 458293104 389016232 848889028 838087876 866690560 814730598 961857080 668706400 435383216 354735744 822468146 214752556 244050952 128083136 10395948 211364716 779692098 781768274 210703336 84186644 449843240 178599264 877484970 351590120 248792576 816324238 741947286 497317148 881169520 10662586 255917888 788839628 383909188 110010874 87967558 279497734 982672768 660495162 40946254 590115774 657908882 680147540 267736694 329984056 850315186 781639102 188994180 645621082 327623360 720700580 936249164 153867588 563496146 403796298 895150112 498054734 610243416 986285684 778946606 823275846 243040610 625167446 178598362 414404648 375092084 711588564 388021506 993693274 688025362 660709502 169401622 636344694 849578772 214883584 7674070 653813424 476411620 645033826 776971130 326998452 552435486 466985286 865214488 334191304 45632574 318422654 268831934 737749080 212392540 896333560 481096490 281883868 109237310 455391692 806353446 959468712 854099404 127623914 174753138 363298562 221148802 537390862 410640800 560881300 973889812 538421516 859139792 700906562 173874612 539227598 495796892 650581018 73506138 18468214 474856172 577083808 405257178 864443692 409403644 17095966 802283686 946318776 213047970 431721892 793098054 614567800 722836926 806711134 292457906 973397462 213895162 762936366 85447106 984528824 990006014 40212090 45301672 519727712 405606900 614596338 779218254 264519002 41429492 461068856 369373674 227115088 744653290 962659538 745562962 140251164 661510004 310120574 169319582 664443850 186802790 536930614 926236970 717113368 172394966 938576290 474863022 261127086 540395010 960503594 652849506 58412176 285412034 730818888 971142666 281725704 822681342 236661676 183597018 749018098 238715854 282174512 812284450 706224884 20809172 452703276 838190444 123268020 343292166 605993360 484115822 872373038 472675346 791492518 430648206 635717456 313870958 727050382 179561068 512010970 429144098 805970992 633195808 800381260 964380938 163735134 124139190 768939808 767188956 84963928 286366888 945036244 276653486 22330436 547122770 651782336 630721596 999296506 86883106 745561210 450625962 734716196 918013250 230144876 293007094 183910572 859601392 512917404 990036912 70206760 619753298 863676576 135646302 139503148 223918314 607497016 491961976 387018796 449958736 506154620 591008456 45923630 499400836 319733824 843133608 991453288 734402570 311030740 392205070 87761014 428429958 274271954 139675224 633407634 754100376 381624486 824684118 278661530 82670246 355879838 523370662 839808126 564712610 625636032 794668478 563348232 173820452 717104484 531309508 673886818 699658742 113366976 739096940 150535862 53835800 345903340 792020026 884809810 668040110 983964424 339939388 478994188 621202402 306232452 246802190 99326364 620506106 729341540 267114018 280401710 582853676 668581214 121290138 605421790 323159962 5244854 632041810 163536170 796663814 331835744 598125064 608016510 105412436 507273918 890660188 223072666 550256424 843417032 885390748 356952658 805713364 193230608 302582756 298572896 27295056 999196054 146329182 795291184 991829712 606423764 625085634 666220166 211589186 811933994 244301310 661215926 94306498 557460822 483916046 825834680 556990572 21083412 992196382 565942468 700235594 238720144 927454936 536202710 232678996 491761778 787592228 599979528 226715318 628742284 815642186 13743614 228037974 35784874 73015916 943730938 593656218 148214096 52810414 589925070 696412312 63596470 2585902 732510956 786830682 584411294 693180694 159068474 127484840 194417524 576923072 552503952 112514146 25349230 765860896 593694622 519077334 474345572 456389126 323075756 721286870 438475782 488048284 338198420 898144826 898494278 999479022 18234348 563905768 935337062 821110004 125983300 966246794 960535040 184068724 447498232 696895788 253988794 893772466 45730126 582293580 64418502 844272626 742215336 866073072 939850996 274542872 612220060 757510854 30618854 768633532 541311746 676099416 898529202 537723324 345160002 702061444 162709842 515840894 650232220 802563402 946312008 940199992 292316566 847579808 593488884 4191208 647101980 388194514 214144560 963976030 777931546 618787276 48015280 429252884 115186420 69007512 756190898 446603368 273387930 684571734 341317686 880745618 331542018 492657076 476088494 700128388 453153732 56135604 416432046 549031782 645428726 803959100 27886808 104541754 903833472 560974768 471575992 79193144 804006344 525989934 90880428 712442248 152081184 176416142 979172278 554264324 941613308 589251998 273952252 275564332 247227824 791105408 870046754 426753588 37820658 284263478 637674726 245975598 892278482 838543746 393081854 437777796 129326320 487131692 147832058 17539174 770636198 114387702 103833580 101129546 773251828 381951758 271671056 699581970 201322706 241852792 82598270 218691122 114839872 288987880 541575988 958188874 761990346 993290022 827716632 922548668 840878502 340292286 137847684 12764888 850190080 673504548 823334588 632245158 581220904 727343978 283986764 314638716 567022474 757999674 407890446 767378054 408695444 891840828 848378230 713045940 399512684 79534864 267429398 134898840 322562408 321108260 123823310 803226080 259537504 989710370 665420832 135147704 726789830 781473612 71025286 286401368 253752278 492005520 585489376 178822852 924941158 616169884 197002338 958010924 974906660 715519790 927310282 168580076 489017712 101371862 190134770 142102208 464228022 477542190 837978812 397875662 438864634 102760136 728528216 232611706 793920372 364254524 632974372 699580440 293198318 460711120 723640586 210034416 226796390 783253498 960815802 816997772 220669142 449527212 808355778 321955830 828886204 491911478 836751254 415289288 362757970 846595626 428231162 104118134 606611924 316126052 925608538 429876676 340142582 104964738 914794672 789086140 103387514 498265354 228016484 663562680 301365730 999858670 16368746 803863872 60288056 8295120 200541366 652653174 736021766 720033688 330467422 977992000 878172470 227393164 113441012 611388750 654865722 848669810 177615654 18464864 400178212 554815028 714657040 757855552 203038280 624538660 460977802 66826382 384170988 105254362 144956730 389365348 681924940 30618042 204989960 698276608 520886764 616812468 763634248 506891798 30372924 52348066 8911206 223090414 427490510 367267692 369019672 35816998 517140488 322162460 261207570 878011508 94402682 381648350 23511210 284500260 980284052 110957166 574953780 673195684 616536706 893199174 357786658 4386346 887401552 544601742 256819562 838272560 608480330 53042852 504394492 142317924 32487572 792013390 140554034 985659188 554943586 820583856 42766624 547802320 775517658 894412268 856932700 496054276 799320 680915866 716955764 969469494 75938540 401032338 718618660 705535804 459466144 783293286 424305708 283361788 494454156 77351182 966094996 674628940 465419564 397366106 454303076 776259808 285055222 583424376 723758714 50918602 386621898 456649222 466004388 196218148 693634798 853822848 563627262 747141522 181720038 535577234 355136074 736231302 650008336 618147132 699356534 600938274 208321674 129415088 983456904 232354832 959908708 23542452 797350870 78864608 904127308 159592068 888717398 223377770 706359950 890779826 917257828 912100204 652453728 384587340 720016680 771923476 170715196 598090142 774394722 577254096 590764786 841524084 103834830 352826562 67946488 981398196 764320958 955211196 941476248 268040888 693261710 56734830 832591254 268020872 329875266 91575820 147204422 861574354 858866352 874321548 394079370 994761964 927105448 169138432 982565980 763136764 26843696 451975278 333911518 156467208 797295370 698470128 803261656 498806970 591879234 327967076 159405856 935296844 729438032 984336932 589957132 73022688 300526456 159690210 296730020 516476702 105543432 61044154 949432076 582153840 444967630 320482564 740140460 401510486 792526370 664851524 533120120 639473772 813550582 113126178 900588662 379220306 94702236 579487534 742152970 605091616 147809110 598553888 9328206 186743350 577854516 933644236 559937834 192215006 548108066 335945144 403445966 73585826 722182240 797179002 754495758 213381016 549088078 339203876 495383832 911964580 752918024 802637054 774318100 893012298 578927468 839941992 566952426 271377882 526980296 545895536 798882918 554294586 960142952 441245274 480240758 777848332 413530350 394253758 938476722 60280294 106431666 184796490 559369276 991451556 418444650 473376708 760107990 612957950 694421280 64692704 456790284 278597046 926493190 511430206 100768390 964342232 663816376 760343184 352768470 239066242 225551350 147999480 204003866 785117120 487362640 346396904 5709986 947496522 379838780 54424734 753905844 740720292 257112744 468229724 424872670 672334754 31079256 41328326 504455556 700249278 223754650 220990462 165854012 923664434 966451594 578869230 777025364 128098676 727403694 7562110 35859304 728211346 650151390 87775766 108477578 399630608 291204122 901054674 239231772 8828986 49705460 584183294 797985312 881801894 192859768 513215372 812482542 407503180 715899644 907141262 398267194 385080602 550492776 439991408 935889756 346087160 575223344 585584604 245680428 456555066 822499928 996418994 514387112 345790880 367794190 977104200 149620656 229284542 567537820 329637642 313120166 379935562 749815320 123125972 37586210 823641684 755881954 435824024 653587058 370369162 154907964 716626004 35196350 503538104 467008942 555480180 594180360 217001968 209186716 271127570 812036092 344440410 974850766 457941880 748195338 55707590 857496748 67289838 126799044 787290704 856669672 901068570 327186164 340441426 957304286 801434852 96764374 905223676 873886764 477725868 657420598 716698410 244501204 649927504 476128810 880767870 660721672 706424188 504825258 448655398 726328566 654681118 881628374 773297330 999645512 208797998 796210104 733952498 195141596 579666046 194259052 369488160 979828264 899180100 63560134 187283114 426533028 720836508 197310434 986007902 752327410 37602018 32105760 864823412 118266890 621335968 293928312 542839968 243995854 394262364 918386522 62124786 264278732 982276554 934654524 662982668 677315376 179361114 569265988 570828660 55635338 871662942 962357166 182138002 245299184 301721856 223422650 186634236 719779614 122431324 844538568 186859284 303847730 671751356 852374148 341810330 876869744 777633220 186813502 299497590 983143540 414974910 975079516 817571172 817985640 277227740 842397510 795944952 600711014 983615838 784417436 135052914 467755740 188216378 43576926 598811792 66854100 29508980 536422370 775549804 825074718 797959590 116250500 387810480 912900414 439372004 900920130 471373080 492629592 252981062 760144304 203781178 490338436 894620246 12738554 382141288 224957234 271877710 813078612 712791314 741308366 699464916 789843290 694399632 722209010 746840304 943220374 195595052 176437740 669203584 372615230 314364872 441228166 211178610 934584156 120284818 474784350 153022178 790455516 805516176 672825000 531172760 490306808 360515092 275112178 473352742 482145670 837814744 879031452 151278106 881598502 647305476 495913262 673288364 525710808 639811658 760185810 552738684 611977560 756027714 227127034 985422526 141052028 437538984 994989008 904670126 859144346 518698864 392823706 717349044 360140902 415759412 76047362 759786914 348966144 111961224 881483212 681040242 763934832 919290810 285893932 712767280 886058948 38430484 426183864 550104774 480987154 959432064 151403332 494618384 430719294 260439310 995077560 367454388 75034212 42803594 140798314 114956788 814785112 857405586 358633936 743746678 481676258 192873718 416441234 287849494 681183462 491025878 921889202 162962192 513643936 131428066 270003896 256755860 143925730 807461238 965254666 177003602 726382184 307435314 423687796 694950094 195467756 324800590 337762482 964064928 727480666 56530558 361331232 260305638 981519596 397184352 996115072 974268886 172844432 44004552 864386308 264969494 171843356 29611066 920374322 846982782 292197178 546396666 50061680 610209984 86375790 979327712 677208770 497211596 443530648 482517682 565154246 860364616 16421356 652815738 875969164 726701296 299665874 201329962 291839232 358411478 541960242 172038102 32125262 197052082 83449746 810917534 361276070 889831274 728229490 578112436 230397858 279133504 865088766 168878062 79643554 793793308 24415992 874603500 237672384 650958192 909972726 290377990 906188740 414552110 938728232 983712540 368656128 958821516 836405720 715550306 303128282 457320802 615002994 864258512 306765098 137173070 951036036 116029962 436817768 250266918 889280498 888033060 934901052 779461822 867722320 676337684 912130924 14681120 653958742 305253716 458632256 621781868 716560054 792282608 718407330 70207974 912079856 767978160 695714570 584836230 394584290 228082866 409283068 917020266 623871220 356568340 845178026 148428362 95471832 30802426 622684240 576207220 818050028 887415050 176545808 442304982 916078780 406922348 214661774 171397020 216536216 88847054 464369352 34536692 923658888 792337820 734535116 288907466 698560268 340886820 482679332 399257204 269008776 192880086 881314304 399626126 111582126 190568572 300235802 893653628 506283372 171624348 824307518 663136046 35260096 436769934 823126688 465455304 46318296 141413326 944252074 815957924 396877488 713926540 917897284 308543248 824716422 695647274 931693106 348300958 633795304 578577730 708282068 32780204 873860534 575244140 137319064 554485478 240313686 765694944 953770144 861092452 61175330 912271912 473665360 361790116 102662858 418088460 216521592 472637488 246254060 435392252 807253612 305524920 306118228 735419868 433644774 78292866 942252566 600988884 248710374 587262298 524061318 280027152 895251048 1906450 51640036 523094142 772746072 859165600 742965950 600232006 176822100 233231578 340903330 295465718 394814216 328588712 806245786 484218346 805340688 956746240 79282072 405652858 121605258 115640132 530671912 596033606 154985956 581253384 15069816 119385860 812239374 341761060 391964470 206710522 329550748 607134646 114829270 421639690 455014728 4374226 799830292 212795510 117587488 600602748 736400220 96128604 704143852 984372392 668370794 308085464 562713802 376586082 400182840 707087092 317971156 618763166 736043228 644361208 956384502 639932820 564521806 482253534 763952528 911160 7258402 120305990 51654586 13251550 378480268 593223230 885889540 627158400 49124230 970332450 847796118 604880462 90332010 458972796 621124706 232069626 216747320 377939896 143077080 681105024 802946 676470600 874654710 384673510 349408238 168909514 707053796 464209190 684290080 993679340 992918182 607534372 623876946 715150038 69231900 974207388 158103178 477077228 573109492 470087258 623872062 667328536 401749120 737867782 442120978 18637304 193151938 625973828 244039546 86365724 176970718 607755396 534301124 517793214 917025984 570693368 325733114 565406862 800076412 637852832 407125578 276758482 506863494 83337648 289202212 548150552 561052978 893748602 565214012 423267806 604246706 467636702 783043408 891664066 163634848 274347726 29510808 695392474 628336560 111161810 403814860 414132660 342641662 301412772 592647016 875767658 345680862 540454 834812966 232640764 997352334 931596760 898138174 999844404 337867004 951882322 355359776 179686794 890148966 532729372 650234916 453739966 339433682 591502030 762012012 188713430 715956464 932880242 18119768 211966816 871149394 927717606 823336888 104389816 92658518 298866636 701435984 541109862 613372966 184071882 444008586 310042776 622825762 831631332 418025412 473976348 165569498 699856316 307852628 625566266 581979386 100413460 182572002 593504182 242101540 478954974 322698214 124926042 965982564 637430966 561979364 365113826 978986532 792979382 795709204 149084234 12589984 167397174 940870232 543413534 640540542 380667020 197786756 161096080 396692784 25699246 343045412 170685446 609086200 864240438 963570176 927647914 756304008 121997128 924838624 276401828 549955458 865726234 891103496 805111676 822952114 288052610 342477780 266374338 206751830 838526336 129709124 481010506 618188506 186991004 703824848 183405840 418921772 636535264 550603006 512339182 369856866 120105992 867380336 964142484 40827398 42488722 73684680 864570306 317982654 409015288 253305780 103921066 715305366 451111316 717045404 788915258 956140062 206549604 317706282 611278662 694614610 540477634 271654648 951290764 963922734 714363498 16647936 886979228 113503482 381153940 757634156 581493714 222987534 667787196 270869360 219240782 884963238 778073708 67236568 20302118 981146376 830669164 480087652 196176652 97793184 89916344 529547954 472007294 840447278 672504692 140506976 371854698 241399930 474245390 648685646 788863428 38742350 165939454 469959332 322631098 887686056 968742750 945849896 163776478 170306732 135173112 459066772 198143228 624489534 528986398 724599618 591065558 442433386 917941386 322297934 584434772 152775532 718631394 139405008 112443112 106765494 961242862 131462770 651306022 639160450 824027688 527671552 979382016 596160110 208558788 184754904 402601770 169631448 206810850 612535806 584616674 471279808 555047572 704785754 47398064 292396288 443397122 966934578 443146330 786650458 884777670 591818 759525960 974850876 744809416 320308190 194289398 405333306 107689412 252022702 727611880 861090742 185523822 684883968 281875434 940424244 801430734 611298290 470298948 84926580 84053122 893214090 970295834 516635788 202148834 293269036 930515400 891163564 819800880 314928088 584508316 545936526 535060786 293798274 649845880 830510750 480084136 558516432 149030606 363599616 681374640 702283556 747993886 391640524 29558994 194919576 282765366 355181680 494630022 346025098 168018716 356640294 160708412 299593284 235522082 964849980 908041904 461165760 381374060 723718650 724560794 509117618 406347474 241518964 404103984 218750072 380306570 550372828 9599168 604914552 458330220 223842126 258444324 477497172 382108468 201796652 136414576 223362384 583749226 49861798 334956176 593031956 512391610 911303380 48695760 428223490 909147620 220665784 203664330 232311908 943058726 514844916 291842084 549918426 84721720 798156956 775509380 707613746 37704942 454333654 607462042 744632604 987123560 28862234 308642778 957205488 920026348 254606932 855196342 769254394 209003364 246165114 725789150 522369116 823171114 375452734 821630458 759513574 950520376 920575180 895647752 473414932 833042968 231106470 486167696 285185436 175290654 603169712 816108776 947639020 438320602 750354330 816711646 106570 62533298 441837458 456785000 470394444 87730326 945313126 896079940 771627998 670076358 902897438 990774086 650533438 676274018 868033210 78342294 73028790 557637594 507535798 655880082 817112116 219923262 765710432 643288988 535424164 442574720 221644724 72872232 153173998 717873780 426850186 856125672 979891766 32699770 517492290 77892148 505232716 941379764 589310856 47706782 641438308 125332182 383746596 150586924 988222662 683368796 757807078 164375812 114600994 216058336 867745476 867609648 169400990 86035110 348636944 390858776 789143058 526773670 896200488 934824242 929260358 864468324 454043344 467627188 498341560 584539242 951673844 221260974 460647468 976166008 766087366 118629610 797818784 618160090 21905200 146538546 705810186 670653492 414075496 656314470 581903052 489493206 74488010 763261586 475164208 701620174 496554642 13891456 757787678 459739548 479014986 355689838 749706992 313008288 500941844 991928810 229081626 436575154 36850584 492675046 656536026 705196714 543638242 902468452 167250498 137544632 553192542 419907302 20234042 809535966 109100144 932278824 798111678 783735072 59764740 623727830 348005670 482983726 881562244 412387036 127972586 989620588 447350282 936414474 766191546 688679250 735273388 341022884 59635452 648049788 955462308 370975694 271763462 592940678 368565452 112803580 789802550 556094572 299187144 89674862 445947622 626283086 288190574 715224200 897008876 125924312 336388500 600219394 618955206 227819050 846608954 765462210 22314228 706426652 569943868 204981678 959358700 988934822 764108006 154821710 672235908 975862850 849491232 660549994 374032106 285114298 628480690 688412044 671487170 313310586 352588582 987792408 467082424 532025830 582010268 792638982 102049334 387091112 715483516 266742178 479431148 685705198 180134740 6246314 398477020 914927358 25594334 527710288 15812550 752513278 541582290 497583258 359156306 135720884 155492348 619385928 838221284 123414418 280654196 19424294 719569450 428358 60531006 970917428 897699252 838961096 287202322 755181438 909097156 835683212 407975620 62552990 968293578 96290270 445068892 600084712 347700882 659250406 672863278 970360130 744852016 837911280 407811254 832317492 695529294 204944142 112805030 25340730 588889138 572837890 471881604 779333888 750361954 767621792 536920330 806479788 266875218 480966562 643748694 634797992 139755750 673394406 299263684 20045902 441782292 724932136 966102622 265100876 232982044 282493508 997438350 641246472 795251870 357745696 154729986 372943560 911849446 453892774 265076678 716626130 944147654 681628818 840157404 751829246 896251282 801055666 922104196 98198892 953217420 582786106 818252562 253536444 194089346 134852540 491444344 827811990 402744582 163548994 139029766 743847152 211244138 705364640 208518544 940659258 602375274 38515346 841361960 953583546 794623660 691894126 536657120 588091926 985342064 168517524 935014730 949879100 260306856 43958974 375259358 122093554 27977604 252723422 639325224 968870770 200732082 16895400 790615732 141907704 281765436 94675500 847742594 265095508 544835598 821394698 706127044 860203242 342287528 661223466 944844662 935213316 831042248 207969414 560805634 795818524 391987336 527388002 295555252 741235196 546951034 524477462 674142224 376790780 571799752 145274830 407551838 105604364 556685274 361640716 385197060 258507032 211609728 274255270 547835032 433706092 605844920 78436598 620325004 907335824 488461068 147168958 281394410 301277728 925301464 55693524 389794326 755765220 546394360 610350206 493486646 607508574 852662776 866208654 214028866 2917652 537492586 223153780 751774036 517450896 265942266 402380048 618214144 249759322 3691548 905289478 280085672 776091946 293294552 777098742 743375380 933574280 478229532 579856868 383069492 57496878 372051962 184531452 816562522 712559836 752190642 956051070 985414982 668997130 375549882 765254500 421043726 951919856 25096778 298171864 305054724 509999024 407206972 110553922 623938610 811852018 918057734 576855006 185878188 932362504 59207948 582259338 963844142 681731300 390388454 926592556 260617580 987400724 112599698 176443876 633074376 558007032 430953828 828680468 969460358 656394184 539309870 428093682 180822862 865575174 763167202 262302228 335223184 641135996 182765074 431399332 273490008 587290302 455529340 850385322 292852882 901607322 588762716 841157682 420313714 289240798 52383820 246814008 925251044 302573298 528214440 719398126 544272576 5282486 281758866 103453784 463286788 635143102 718272160 325282688 1988640 914232686 199512290 970735140 993210606 791118500 305206494 82872872 877271912 184182472 759300152 227263796 245053334 878759794 151239080 728617448 187432150 890763008 650021930 34289712 182163492 288302892 724905834 758497834 498514692 782649566 65381446 336286980 103838286 124252008 201147580 70062636 4078466 915168988 565858276 499422610 39790440 186639832 256834932 216833550 847686210 17885464 326082082 743751152 669865990 929604128 519015756 918323788 190783842 627770942 84511980 778636812 983176384 962472846 921125166 796177282 404093792 447644344 551212868 414624346 76168638 506778268 462230802 167601664 826393616 60942982 576087026 437928594 765428536 247257180 79903112 367166014 252369086 196873256 488699768 625292576 337890046 785958676 697914704 745610496 912596528 55816328 573529334 774463938 942097140 519590728 78903894 834886674 745240512 137963782 755303218 414481268 290479812 679604296 975949750 93128832 523920638 761687618 883401810 868815184 813218762 26076812 488916162 965951194 314599980 267603178 70356388 38978660 499207924 345272332 28430932 683397978 289048122 680889234 30009918 858299912 707023620 728813816 164377854 245469314 50299676 401120692 880723624 718216942 896427684 266488930 830242594 299947832 779039036 382111268 168972674 407960914 657998636 49628732 617092532 254638534 898646740 221280030 299045450 90027044 431568744 830004976 604301038 290254162 10366982 620725960 641461684 336538322 354806512 434857864 143122878 343555804 591406318 171069442 125886192 417737418 902988908 554918964 405012272 602523722 1115190 678182718 824839724 861743426 819692480 368144320 56588620 747524970 784437060 670539568 273300820 491153348 67922464 949237230 99762528 502004590 461913078 121510802 231195126 436800500 485195394 962575194 648379696 49496864 859214930 940035448 800316826 232741232 863989280 384863076 132609632 818205584 617154612 167841494 443977322 78841996 399306644 399889656 161547276 491341142 659164268 886881736 819728942 447074436 435302856 591105936 754211200 586345948 919165712 453838762 666412094 817168136 623947704 971049278 958825678 673201902 792952630 432282034 803905844 729594600 901483390 153514198 772775186 810232656 752683910 319922810 292659038 267339594 402157066 156853712 573144480 614498298 155209988 892170180 195507658 755696526 120056328 822108574 93763954 195613420 646338144 964566332 2616110 331416394 529607076 81816396 460990784 363533500 698560796 447454528 135182306 244035702 360613884 120661430 846146872 430221906 11370542 341485882 949721950 392685684 356954520 889554608 742093492 939860316 157714022 30630522 978681486 585411946 906251956 803182316 269102002 393472952 403141494 16548544 312507100 252680792 202016848 956603766 497216308 849371644 331642092 222570938 452144620 913628024 519120964 959592700 455362094 196977074 256871868 434629726 63913386 731547082 619374340 356502168 67471896 715640592 730518626 310787834 713780886 232018726 865701936 900986814 729071412 624598596 273616784 455013780 810733860 337361286 197744976 907987338 130929702 355953166 822154722 512114846 946242006 751758732 349992118 902255300 492827950 719026430 859399888 53444328 554514668 30927998 934262100 438335046 640775334 61723266 814145950 674606056 817587454 161070554 9747598 301124378 452829830 568048182 98142176 95555066 676236198 938904718 184757808 727275892 470465592 185724604 801133798 608435470 835314254 92522088 673800082 79620194 878441286 277236564 867977844 680192308 180172074 520048536 796082906 977560038 952927386 547172092 329246832 126793178 875755278 824353836 480246950 676594316 575484754 161726242 438359892 464475392 797601088 3818066 542826782 786230284 598739890 885119590 665466170 123169606 766440298 313625952 517839796 79272662 850448950 843837368 660517718 398224198 105811628 370229660 837810462 462674042 600840828 671408700 686062432 962260252 658460574 193299116 477425172 564264318 409701926 786922980 449917964 600649142 422088234 588963662 670442138 27252902 682344560 138697930 314204266 628245398 418178468 250606110 68939304 244096228 672790702 710904120 662237106 106800638 94167734 414924096 904300630 387853148 518522762 408958384 83212198 349266340 881874016 415246750 310579378 346610996 465939076 926486158 9702480 431670328 396819532 938568516 335365608 802147648 359249386 352540970 996722908 378330772 835524228 104060636 232123758 264720322 213035208 948023016 846536618 343861668 704312974 4196752 704139746 404019564 552312872 916365876 992768244 111955090 166838 636611972 402779700 906933634 923706128 520582692 325620090 823474058 131090816 100392694 474699534 548439266 558727028 634158606 515978112 986694228 676870646 847311594 166808338 105631288 399868932 515595298 282194108 575605598 211310180 975193576 271331752 44821776 560081594 414927792 715720680 721200358 179615436 101979032 370149214 639669894 993973498 477764396 427443408 105684904 585613372 636447560 308690786 235631814 393221484 687076910 236875284 895705300 132348118 359376946 683156900 507706666 460951542 792487582 935006972 523424962 284792408 74220864 382491698 281214222 372687996 980698412 53473844 517877332 877975184 828066140 675473164 754517682 833260758 372904138 489517776 500634622 833406852 666793460 504996964 548372572 103356756 746970768 234742396 96469688 115999236 67287054 326529132 598362104 336630464 551147146 129218464 637813274 860652762 113635922 728779232 74120872 671628344 589527464 181369660 273984886 31217340 67016724 341187834 664053192 116583260 986836728 19331742 896470590 695854962 961748198 759435268 187698340 351224120 493815414 215836318 70462584 482205520 204140202 240784162 782399230 78007656 906642124 897414212 780580764 598074782 902864926 379544338 462069934 404333724 488353944 629282168 806324252 639455446 350843312 70518666 77314434 421163662 423007044 958090270 473606640 411388848 963932898 907557066 916010488 235375602 139313126 584819920 937377042 160982722 278102520 178554996 119591700 380965912 679506446 768923912 740441502 194050708 832922882 818165942 400933162 811018702 479086642 319540178 109992128 521865072 994305230 442613280 150670484 829463734 386245634 604232034 28179660 150647084 926348802 724852386 534023802 902169288 420040810 770875140 324094596 740698602 163970220 811568514 423977426 453858502 493980136 867185928 103744946 458921632 274376416 475682462 204746410 640451906 820859052 705639202 862174894 488086160 724828446 283533622 458415386 320032426 569199430 424832922 651192084 294751514 274503718 814680942 789646654 576232738 792667190 336860464 701049414 493483818 126705638 144432668 237931868 42596934 608383144 191888328 366550272 179150004 670802278 685634338 942620458 244695500 430235922 277109076 893628376 395417686 987950138 135943416 509928428 197221070 904626168 923753768 865546674 251232156 18459316 456438872 797758306 24702140 268982958 838479032 615396018 107149800 336440826 187059628 400499170 52674486 993113872 724980068 386645964 813463496 197615436 825193070 977850786 292803046 86327034 233374890 73962304 232942072 568591986 739400796 698516252 14502556 726087580 332732130 46417678 32484004 663211828 85789072 276064442 942965504 282048626 812540442 803729878 85808000 692486540 401216042 78928954 576618670 284012658 396847938 938452614 169205680 41949402 263451146 509840594 113319050 815321634 440370386 864116118 740079298 506097192 46206054 868629344 74755258 254898638 556338144 935587918 644062658 6958972 868857432 984532322 228292086 196927234 412485288 521450378 117590690 118880186 370581490 290555226 151817678 250767838 72015988 967609392 644640150 850945990 149365248 453291150 464856370 821047756 255692948 465186634 996971970 542187162 526283668 791477318 333924386 322180204 452730186 989157272 630378060 702482722 868593020 184889876 159225138 643777146 732539628 6573286 663785990 31021056 236558204 853337098 334133106 359871684 585307258 446641774 166166494 452370158 572678476 935766554 784494484 733995716 540002612 120465888 598116996 955002452 358440638 574127980 806620666 103568332 103492144 192644666 340000470 818667474 382215534 84519504 70630170 815952472 710386708 932083358 738988752 179472522 157791202 682000190 409566136 659644486 308831264 953845464 860347652 783533878 51682576 837387428 592065844 804836672 63465096 990298278 635252168 498120928 752812402 977005188 255055442 667950310 214700806 803292008 351042454 623432402 945270150 232254244 563756810 219713876 71925140 979047300 291791226 338146862 381780912 205522294 128081636 117452962 209897516 116524046 886013318 569646668 134874676 321158728 962197690 969118250 286683888 432366620 864435228 804875460 751713602 735709996 680407286 758626212 305767084 412926262 229620274 127685740 384093200 819894836 523461614 364830490 159767892 256203296 375341484 976884804 68600396 838685344 601696166 897235830 437660844 681518294 569044342 974581032 405991420 210358124 525085642 582755456 190584642 332482978 454275618 66506802 918375074 963702474 314032022 308697914 910976340 247434900 384959108 284875150 681678172 316848628 165964598 494632896 493874828 853416112 339518292 302826188 178180098 393008474 121392120 382852116 666600646 28428626 626977630 862604978 110095416 692180410 484695780 944753948 245863062 957245436 65151660 940647976 938267532 621229010 560575118 358325530 991973164 108732284 295383346 912244310 472969858 462548352 680863676 873102254 652743334 269913238 575954236 564604486 899429610 706417394 985220920 114016092 794560648 106143498 108451422 264819592 237511458 896746898 110599690 396898046 876578238 263077142 349682248 161586316 581809090 900440250 831648226 368495416 773010652 181079720 652591502 116120826 599538116 543717294 820863552 968763016 801277778 176184322 984181090 65142314 522052498 163477938 872388702 318000178 689740934 29735812 427200428 68520826 605846676 603114534 471194760 467077714 423047914 180700260 308592464 236115552 31718422 545118290 738795584 749963006 74533068 953393984 848511800 193514948 889853786 662852548 767433720 285838366 172655286 221613604 620457694 86449684 282286052 437043818 804776490 235977450 816658948 264751382 873871832 466073192 3484236 199775514 544048992 975529188 140590834 748764448 141693160 531754084 431198234 229241998 264573264 517101416 188011552 185194816 576094712 460920268 685387320 318349050 538303432 955843624 585454670 638261948 604649820 123969106 623029722 420920254 619899030 365554832 17998552 285172810 645561780 817588160 839202328 241466304 8094832 509325256 598968586 918270640 612393158 496734816 73099602 666175874 221152706 551207132 231278592 873271716 377236026 572530460 213183992 306691780 447512956 623527308 127143228 180406216 624045870 142537118 432086372 366107202 526818238 525666378 965160460 225236862 219442540 527427106 963464388 159813248 104119944 837714144 371445734 335107648 390324246 739576834 531487424 941367090 991676732 916945926 606745712 829317866 524363262 919316714 350805260 526223352 480145496 159360214 111940162 631542116 730936260 97805144 128974104 254197484 842061262 987712022 497282854 642510910 724473544 297287280 921348652 19668638 600277670 919664846 504800396 585210442 472732922 946216378 618243898 513743874 300055336 169432886 927014714 356843282 875405514 993112798 161209342 234616004 193112940 953177176 308369700 215640396 736544684 556398106 282563796 528013274 102705490 768282348 93543604 347214822 861188822 256746676 898338030 299741120 902431812 878471512 826894138 304072126 294544536 505738794 514904712 79373622 294496228 922626292 902818608 537545056 915591246 943809904 622835528 267163232 460366738 911647936 291719976 5276532 565779054 147350486 882218804 2247200 221008550 994952150 435824430 360636554 632833274 898875886 6596692 539631284 627165574 359806696 514971766 237574348 228657140 127328536 827551726 772388360 503722462 685274782 696262118 712881398 936715602 107840988 466759682 158156894 812324214 295985212 980694426 710189240 69874712 714736042 628457128 440710796 178781370 756176752 422985502 332023950 368211174 499952674 721821388 190446868 850315186 324675772 116155472 189193934 856216996 215563152 563209650 265391648 157251780 295310306 536886064 200165090 215033080 503724210 450844878 637921228 352302078 50578842 667667174 440689966 142302630 442712440 520055206 78662008 175465570 118087666 950349792 102404860 187769236 471691830 588230008 656433812 155841120 907448938 683927444 626993560 565785592 465611504 285663370 553766006 939993208 880878894 936719026 535294778 387957934 7945390 332991764 247345366 56356310 401277166 739662290 743981432 614502654 885161322 546128908 2620564 177494318 117307132 796800110 139042840 144662922 504895274 776308582 954981712 612485166 629621582 524069554 520943986 393307970 133415182 295569608 279723408 860780632 952559066 672632784 258833250 410407266 514608756 857629526 236336162 974697464 22299800 249997584 143923572 110926418 327481728 345316086 637838432 31512698 799495582 529347060 445619730 664358304 969644168 87980808 124545930 59390418 790901298 425831206 443654068 729070194 545118780 113249608 255747414 39732464 331629530 637196888 908884682 383247196 960025350 270938610 84249418 691741936 706597746 150296380 416194826 76677534 658696684 251043378 919670828 162938672 604667692 563542680 472553622 804500106 625037870 214174094 689313892 907347796 891412638 223541144 839510178 151115090 321383046 546822422 819312764 245621928 864985258 378205628 945361770 685046494 169077574 313894286 520748428 99897970 578634472 419302840 42874100 603395422 480714706 135036640 848937512 156128414 48366100 173160976 198404094 584629144 104570030 5042282 494756488 779695820 81757654 86748830 180191850 987187502 51214432 916226270 400101868 757993394 936787194 366150618 284251384 973839388 388162190 529045006 972062484 491231928 76522214 375889798 4873960 948540910 767804106 483256866 990269156 62529718 464351194 434487714 243905138 434566160 915621178 729896384 547502728 127145288 758537242 790572592 187942874 49860824 571063844 123716512 230004170 152292720 830192504 538206422 726632320 976704626 59476128 271119854 605691178 545980558 607631492 354034368 337489710 111426036 486886996 263256376 472391064 513902366 883207942 135033846 74266106 502377464 762529498 470416960 475682766 270097868 148412630 691970876 168591476 691637682 233049484 335914666 81555286 835008196 158008208 960298600 106721338 447753938 773644 18265552 537820158 994494002 732348456 675745172 144382192 51734726 952060764 298785680 681808680 495322548 406650668 252974302 641487810 72089652 835253102 902044686 544213134 638262428 205901622 149290490 469476248 752708746 795741988 175202074 457986554 721594388 252996596 605744166 942440494 773383236 148983032 533947976 138890728 608112788 39140038 269158384 196901188 285210464 374907288 448341910 438501882 223748400 33438224 280385466 711747076 303472436 972813374 985863672 501359398 357039928 524415464 709076168 240095592 918912284 982140912 419332796 866813180 429438530 863582056 730243882 127529502 294458162 950502108 643040176 19465998 437669466 659474564 608701882 316453238 183756966 442657960 543229106 492177372 901366574 112580880 158617658 898120396 726561522 241126952 168704014 639889680 544019312 854658818 328185754 15117254 507187636 321913680 870039830 1237206 745246014 858026636 347663858 693507502 391615480 111367532 363054768 724114066 690293256 416857444 672687956 772204030 823073812 723490716 735235326 930523850 473262094 294339102 878181010 71058502 211950814 125024206 759060992 628167394 875704572 252415398 782149336 338932900 494465448 268637556 759290396 107836944 813548150 770936748 381384292 776339874 340503662 790117190 467599656 905789972 514071976 692843630 943034924 262027394 352741944 135394586 467456000 467020036 512671878 218085278 727404160 461678760 8797644 897636860 184661150 367589796 853341526 349187890 23379310 932049648 57455042 524766690 422552998 882988178 428677088 658732804 59084990 242305134 607622602 918236282 663478746 423231652 206019948 406944622 404540212 314666338 144624176 59619114 598327490 599335812 743999772 675934768 52531500 1671008 680257960 922300904 672750368 385040166 18553006 107482094 674713506 475856004 119390508 533498506 608273520 796779260 357274488 135123430 963127002 266348140 714210792 818555036 97268084 570127494 906784092 88991344 603575510 86354180 605779168 344687914 32369850 967125054 638316438 666898692 920905906 343499924 882720242 690780914 922183994 528021032 605385270 315090396 352768222 28867424 793038884 503559774 436708026 734806416 728555664 108357288 396762998 129169658 740529398 525424036 549980450 707661300 369971304 216414886 939207440 537238062 524295046 426400702 555050668 273677990 263349738 181118712 238439744 987678566 970077390 956044274 275360322 992909252 523382340 285590292 657314660 818044854 727919182 78577530 299062706 804816942 260622998 513838440 620940720 802132170 775225382 598451080 360259518 730428628 253341754 701133432 30991004 234552710 531111502 349410740 305410438 828041894 91616918 644427338 248398290 401259968 950465158 108472150 477588640 551050326 231181992 47675042 125663008 598160734 906496392 835633444 969672240 217347266 308555524 428680490 428957738 917666042 233193764 460240414 228636890 50073618 289555080 667567496 543145278 947755884 529527380 73648690 422410594 525646982 240822548 698124084 657517314 866952236 902018262 931331378 33350606 6736712 945327614 387826744 630323522 89931712 179916302 733085162 143620568 905944294 496329090 749536314 174820532 66515654 298388110 580608540 520122532 530244246 715552546 294806640 560993448 840015748 47138356 708532352 140256556 910376916 685503478 97375492 102023444 790125940 883740516 610694398 764047272 855119316 700286044 173647914 557034152 343843288 322970812 170480116 991747690 769906614 708026364 772003234 942292502 5478290 197908466 187437852 239684462 630440532 791717178 998137470 844861726 225651658 888988076 439994250 377866206 19099814 157346180 35057596 111446388 821899724 206248748 830991726 957910046 76078510 99231762 312860582 64232804 726536778 539163668 872923440 174132728 715311768 390687678 657914404 220067252 829566670 352964250 152221502 380707476 117326236 292907354 518970438 351531580 35592020 535958094 91666724 417574930 424080916 850571056 985370344 111882272 670898330 912919692 598510054 713021458 620912956 64382506 852994318 833455672 931448130 485006654 562678218 691136226 84179280 67564802 587114700 16030960 60946104 971020230 424852560 714051014 686533286 672337168 25371754 737992666 748131710 431044002 494737968 998770776 459003838 754066988 159003084 275733530 686459798 862118132 202943818 323974922 815803080 346846780 98502760 350561318 186744480 858175334 966523026 756600420 579331624 528993394 36236334 330814654 687680036 560956522 92485486 283614028 592977424 982333240 451844186 288501782 593524642 180896200 529187336 915603426 507049336 474993430 906014464 494303118 902954370 820030190 766922768 620436842 855052522 630145284 105047084 404181018 377941350 297305602 388479048 2077380 349331230 685727400 143107020 727990288 897387422 42486464 717546088 600999576 704479810 584375362 14383062 578547196 745606456 513026726 143133442 913186254 735855086 784131174 267777136 953563892 349021186 472906684 799862854 64636674 209010244 151452844 801071194 794572122 529809720 491609238 276433094 641292898 417508118 551367110 992078202 160808824 161856582 360189772 454056522 812010380 735393246 729772696 942758542 215485754 353070492 126258142 845815220 118812052 534210630 357904456 513274626 406933796 905465332 421023250 808561274 440436956 253406872 296765262 166121110 840714984 128520292 242975794 764195612 793176404 552170652 753518998 125539380 945909074 937939488 636704772 137301234 578027220 514950040 19850426 734706344 316085376 650094418 141669724 838334502 80531836 300292748 723056572 838152172 115242330 853337308 967280150 842400790 448750644 157326990 72941134 453387250 95718908 956736366 898375604 856633486 628760956 217676960 880420894 862009392 212753490 721496528 177169084 532058922 147819240 177113878 195070316 763126418 36623834 465572428 34042420 564100564 893417740 132402322 316730042 473384350 101941854 519197768 234152054 240039660 194990122 481876374 496518278 997544852 244326650 470543740 534367384 197465538 187368548 784142332 757446976 94726488 265650580 792065116 218899076 547352106 397039778 86753134 632168344 523721038 850904194 289967526 464295276 293412428 959983416 277119130 937402862 441205446 509692062 981314410 215247072 27509792 275545988 228365656 259000750 842903012 388597128 579757958 937755452 673107300 30354720 586301112 453652358 836061076 195496018 466331516 174673308 398911148 867273602 575653016 894432536 586462004 73800980 946849056 831534108 888629668 333267104 888513484 719784692 591698346 656044224 379034052 282664090 463285666 328981464 118919498 740466902 162931492 772093312 660657112 332069698 452927022 318159134 102544972 562736736 737363420 544070022 426181462 128370050 407305820 456534818 68215944 630259394 882815154 761973278 751752342 20303954 338698504 275631020 214851788 245672518 647894612 409683506 790202138 89351706 626992246 420598184 591968616 835067772 660578284 688262620 928588422 647392498 550826106 652565972 506940226 525553062 617906454 394318610 553460008 448729680 296504204 822511212 898469746 735118148 75919530 217753082 718865190 653966784 188429914 439539108 901874498 91217552 367446970 559983344 494666548 175338710 786969368 584984026 460161268 776119358 777258104 967876018 457253628 420155274 10507306 107886224 982267026 404226626 758995972 80519276 279773950 199224298 842804152 125753810 328561524 664631240 10117216 293371160 379806950 782980440 272552786 963599376 302491332 701032114 807185024 506533964 923775844 530012420 522034692 374978200 563680728 625708326 393350920 108958016 138885488 414057300 590044820 733137478 111825300 351769862 667568274 541521498 658000458 690752628 951842596 358207016 25685252 388094196 289576880 480321350 315196426 182050676 57714114 681916796 709490480 786256438 942815402 214172710 340501078 996728158 137010352 241913746 204513216 784404132 291816306 555781392 104951994 374850050 58546928 372687888 521543262 815924662 675253168 357887776 832985202 237872094 529076594 726930490 484088416 52647974 760586690 856212706 164040678 586664320 437599606 97145992 413285852 242439874 221137154 780106854 870514058 192461318 826166290 231688768 782201474 138690174 744619640 412179198 100856916 451728948 626684142 940604484 376895930 579053964 642414162 85476302 579995938 803501076 127069408 594315690 881395906 221780616 829312568 748598462 681492162 621856324 732759342 408194168 903957176 826350066 262831908 316281236 63507420 620569230 428827508 13917066 464861510 642754664 803029858 556140176 261923796 739485434 32813522 624881342 753137070 801772676 884186828 362566788 759950696 108336800 837723360 48229574 298995620 859651616 998876706 48119226 641031016 878531526 584601538 241753160 961760306 553904362 204140948 512042402 979058494 864997700 779239216 376378350 355897238 115413874 985012758 326639574 777266186 656124372 199244348 626638884 533636540 826090478 47835596 405748468 399843734 448874190 970235022 436624416 986063046 238430288 952461000 117998050 453581648 81658408 575821914 278583530 826404260 164346686 597088472 420311000 421557962 547019418 315067946 8502784 851147076 929109508 440445146 243639100 771468158 348921230 555111204 947734050 43071470 572228576 904791192 954740606 652140408 876808568 654158368 150313802 801496488 288911178 121054684 308804648 201018036 183570786 179183070 671760424 947480930 522637604 937580502 103335952 907271992 754095306 177412692 267697744 196006164 811290622 824929966 304510180 593246170 247450054 186379034 880105592 608360906 909361368 951942982 108361084 798394974 973280160 999504098 304688578 421062068 273197610 336834518 657412118 389281246 615835536 518226656 727743290 737124112 890386010 355089814 835484838 298595742 384926530 286250972 495887402 724355134 478625382 662443558 916666208 957994866 667073760 22621326 247223952 156416050 908004948 271567230 648743176 414995872 598553562 846908958 620782068 235262628 624284594 626649944 572983826 951215622 954925018 561718846 986635086 237349200 267171724 351293162 49762992 946526068 321638476 793635796 204551456 147951256 34870192 431783078 121907056 359438598 995681044 418842354 33719374 900158472 384075378 516203634 420786530 409546592 543272598 381574792 70035042 740810624 717615530 869861940 566599228 839474928 268186090 263758772 640292756 161881906 562604002 340556124 636799124 704311308 20498864 126378658 625919536 586912826 890063250 284493528 818221008 244940278 806115228 307398364 497560250 311478738 269494982 130686740 919917108 566007250 414234654 648783016 843222786 830998536 565652916 113871936 331836218 599635284 889396948 931540618 222178892 567956612 257796160 706628376 40564538 727749434 933955736 704299700 251195756 403176608 463346510 773941432 133329378 19452226 533972618 545164962 168066240 636031966 307544686 957626170 704301246 997693454 136445452 760132996 385043718 974539464 629021478 530047664 695946554 995864404 398445098 422341624 185683588 843359486 182828618 577783348 778908348 881339338 393203170 154133360 208436522 18349964 119723108 761757680 278103452 860815834 583478736 135443098 159707636 872749072 4758352 904360484 973959024 249589412 181067918 239927832 457731670 525595378 6912204 904662670 862743546 588493184 635726944 673589496 58827106 599776426 825037698 337353254 740897708 442383740 288990588 19131954 193276584 795130524 749889658 550423960 913556472 649539708 937395848 746349110 363363668 62894818 115736774 309594650 644991672 385055754 688080678 378518870 721804766 332340952 333409444 575164308 727974570 85714412 32917610 494243694 827242572 872468468 665744176 653494604 455405066 460688224 796071056 612962144 647279786 460562868 215932266 976137438 938463712 419902238 729844150 250778762 130600838 482211318 445841916 566579550 678840952 96789208 134961446 837462828 525123278 553836402 948237102 335637280 75756506 260651020 210752534 895335772 648144160 20172348 558526858 568333378 508760134 945392246 163895028 898437230 79072668 969894308 347776794 944909972 152347508 526478518 40537172 27393132 532822056 372804582 114461316 956694440 726793314 990963526 814625274 794421930 422570990 965732452 385385060 728351436 135468912 950452918 791941434 339378314 29594792 688027116 136519878 817484174 453911920 641286166 675713446 874468640 889509390 296122612 840630650 953062062 192297436 38363366 243959398 525012350 832912700 267194964 105754328 62088114 733209792 678531332 98501226 890495578 923432684 733368824 298189250 622249938 190619542 837270360 119845602 805852076 950081054 124092708 659725198 927841960 778386408 489612770 691219476 374546 817888950 528506628 222857922 798732632 421692866 539407172 606168582 440611856 472513186 331890112 435137352 2774122 729230274 232681626 754259246 261048162 684100148 327071656 838073654 252549084 464222906 315443812 474904622 431022472 98848418 170851712 900266132 578781604 298270642 937439344 739652532 304672938 192655418 93931194 297487452 468664022 231220234 515886320 87813090 928436336 32632524 544329284 401943066 573207482 21479340 749180558 11453728 632240822 437683562 889645262 570983836 421924154 184183420 943991940 260258644 428414518 498132778 351261026 678507602 259215110 185143932 367790080 799188784 743593354 846654062 989418670 794123882 301457552 331108368 729109754 74935128 852752638 962149570 361337698 411637122 985640552 652513298 795182374 590080688 707139050 147131088 941131226 724805890 739636298 356695582 409996742 779534558 912957200 583284320 836407876 765873542 444463292 785597252 873869158 346270850 42138860 852653646 854293766 575800910 907121580 315104998 850849458 793674510 692010886 555990472 569095474 213007480 180016320 152979444 901679342 259376742 957291628 360375572 355892600 647188388 20151486 596972290 948328444 181531558 391735186 679986872 191480866 633599458 858717534 157102996 324996058 691877866 368561862 732501652 533858342 488325426 841359568 882727298 215343306 505922880 594164294 111259184 306871774 891603736 87274100 353154938 659126872 679954454 4379564 383111980 73925610 460662038 491598266 472921802 107597542 489955282 416910534 615342846 132887666 822494782 467583594 380689776 22610842 818222902 363941892 166165354 256668788 189828452 935454266 409791006 832027844 9795402 840095770 249683416 318412564 793056318 855568862 999011208 431443044 278565410 302494552 809354656 722664088 382856716 225055846 429977326 536170750 925405712 464788018 585500144 833491570 209551284 275692360 206696618 639031904 70302808 112654466 951033046 152342554 338095912 441688660 997344350 966318522 532426110 697316724 729476658 6343862 229440082 824407222 366319726 205967630 530970062 602877934 891647868 607033548 477816388 182800476 849792206 443170212 351729314 174212770 643747442 70136730 171355012 782000698 691745214 855897380 216239172 246705516 776752006 529802618 69027710 126481368 432604732 963826666 607741930 931355918 916984232 220802452 407052142 796735076 870163770 939076618 459398484 872947952 692226784 28396734 638229508 770583160 977434228 62285944 426784276 89540732 296264548 403801096 300346526 196114176 533301888 964936242 577468730 396250452 758994384 962682892 433822518 804121170 64576040 557169196 120552088 214535856 67584218 212872034 395734738 813546522 416084990 796548784 75631602 436741238 23504776 871094920 587181892 712559456 642094140 588637304 937398238 791829776 608727448 684495400 730538172 402526442 531239282 149072 472668522 478256460 27873346 675363158 562056688 607406940 901080218 992460536 59238514 53979640 712149532 316007412 795787768 406313656 259449164 459593780 306091210 639314184 33145560 877619144 978604900 20185184 719428970 460351544 469499382 928885908 617730792 810610166 912747832 641792962 341110278 367154314 696944192 923377998 24960176 829995480 363922256 793258720 747333818 494239748 103911580 581877592 573751772 355404316 531881080 367136840 799421230 69183194 842621898 689097440 337795674 662780754 497901480 281670266 251595410 199230002 495314104 146927316 264076328 51580788 649052548 904493632 326117242 279737930 178387440 420552794 903184622 327063200 737080180 353438248 37926364 718937804 990786902 718148964 396951734 564078446 758809772 595567762 969292138 619940532 403473758 124864178 783567194 778344320 470748940 370009158 18893614 16624132 407695202 668884788 719011412 427838250 363271646 312225534 968211392 36597774 939408464 277878258 498970604 675789334 363583588 225766766 637410268 958355490 543169546 555101788 419580854 911239212 763196936 554889564 256191372 143315020 886359222 506790500 382337102 963946976 553930330 370331560 745568500 970065794 727631306 48561274 558454144 612668288 668475400 414786358 204884092 755980250 872095160 390851038 8784958 226512766 951588038 538554496 472752142 907000830 961658102 851257884 800612906 75248348 325182646 792548474 84861208 564228614 151479540 71939532 883714194 334720972 997817236 542516248 37744606 369616224 364896516 117317284 554082876 684735044 231861422 720367274 511196876 612838276 105152282 21955398 16058756 826370400 139481300 995135064 700213762 435843742 273840866 137270354 495458212 138284696 242824386 249327798 58918834 779137248 163841104 405663966 963286454 110169242 301760174 711341284 501365504 173339058 562016642 424360316 764471326 505802484 811302236 174970270 447111088 806028802 29114658 363296030 649880202 213978680 832278840 328833298 331250760 19572878 106644064 512607432 484308286 576866718 248863612 413488484 112069732 159492032 284636512 101548808 889273182 773212812 33742914 553395336 265604608 564871956 725195616 751613080 334824664 186182316 471313546 343603096 504863084 380946724 799381240 680383538 274513256 745100540 616786106 669935756 993786854 733993834 50844032 385178950 296338178 579214960 184034328 790154498 587064470 660469590 499328822 814304172 179811274 356237912 47132348 375541462 866149766 791728100 491271390 266927170 219729602 942505594 422168700 650853884 686962968 163959340 429319154 128809178 689770906 947538306 933010784 595051806 619180030 218434992 426862850 81598350 959892686 209091148 240805004 75111250 762120438 473633378 518422870 939365854 482239656 461954526 545998904 912860928 310586420 889973936 499084866 507990198 798562614 903251246 12223390 375664248 511687220 411723660 800142322 683304078 890518594 637208196 331791596 963123074 346415006 855379644 912239750 325943850 355466060 907488544 592620840 220678152 287252390 383424084 66616998 332530902 349187290 751064534 823910184 188113080 237746666 325097598 130044372 180259706 927309362 758073282 417830030 104536184 845119358 947241874 659330292 908545700 995170932 698770726 10407662 471629090 53045936 432106920 59666696 751147322 981560336 281262678 438118632 949587666 407835302 595231488 784047320 669448622 613106982 522385772 423352678 879955900 412815638 953435420 108271956 290070398 209704392 859322386 245254892 719752576 450708888 861870324 957482224 335233438 33770278 361916596 229834720 343396646 33651382 868578144 325878604 695813512 103950060 199214960 584500728 735089948 572157556 842030866 226269760 823081600 528654440 395859300 870066736 419154684 636826578 64459186 309058686 115884640 31486668 161126772 727437072 385639122 466032176 327077498 81390540 810089140 51894020 639822540 898900700 891452006 675789194 818010278 19412164 551209616 315190216 188221912 780919602 80177036 174933634 113581696 644608598 433735056 715404892 541581600 326207646 109042542 184887628 916667322 905171222 554032008 456330920 164890298 408995656 834871852 561943846 804807588 392515930 698616118 326362420 973822228 44233586 377052918 431809100 93997370 695787122 527415388 85299764 704729348 194645286 158190860 443015706 515303994 209782096 475033632 104892992 509918000 252017914 213082488 246054044 334949732 131532780 361836328 32271710 463777870 772711914 363385628 711185260 208236428 17232552 219629740 681778202 650110308 839339400 594198652 60896434 624269808 366130360 35169752 531807892 767630380 786130318 519092768 170259760 951608730 671939282 186053890 552166164 506403168 989003530 134301488 651308648 535648682 115565594 639450096 53925812 679566984 789025526 213460862 902029552 903690650 247114196 253420970 46314976 299401114 17670520 863756904 197371944 268223332 607375410 248305932 915651958 620167152 640164992 969498212 570474128 850773248 88452254 529510644 921013346 612262082 200056668 456984232 960248198 140541638 416134368 428261314 478216762 237058560 254857102 215446184 657036094 566450800 649331486 209342012 412977040 37568248 700082630 968481758 180305458 382364690 801555648 661008618 672089022 906875158 77983062 719680778 481324518 624628114 273414648 863024158 59715416 410402388 737613724 941779316 425812636 649300284 31393270 299934420 884322322 226755766 542631460 624684896 36449164 641282096 379076178 726179374 816193738 250285066 458905128 618370 431205910 230139952 684644348 275040750 323211778 600538180 172744862 706435338 507036196 204916752 121921150 325227742 993480462 470988570 820818766 981917070 190855872 588984286 532122634 908948826 577914816 58379170 494177738 296292680 73278448 858156926 592817220 147238012 221000514 694077838 880344886 533669718 906332700 207299586 943221616 543220300 862045928 786631094 920616540 479216788 713360466 678392848 219777352 76727760 641422894 753790756 107396566 541436154 298743342 194944682 701190956 715640784 285471446 727058332 781439070 927690786 193315724 567702026 190448290 727558976 580629314 233003974 275370830 708844048 432705348 955733706 383918170 975359016 645408264 943460628 953686284 551578360 379869298 419667218 547175538 565899470 165022158 262887576 294257392 876454592 111472392 431088578 74592282 253176184 715032256 730390146 214896748 492155072 975096764 151808394 246107732 398173258 477929598 239886148 647724436 975004424 752714136 27477700 317449974 601689044 54068516 924041280 823021930 475826152 986769420 550894646 603582498 761200490 937049822 907042600 364780612 451644582 109731490 826222074 932000066 971488106 897324646 904323258 49494292 209472626 977618708 556511570 925736658 901240676 575460248 458074146 168055520 810919068 368484388 823136910 324549248 929309566 712582790 115340374 419739588 404995766 276295224 300358266 852643984 504244554 729816928 494487808 198066058 858936618 499536418 577988918 868473688 521813524 983270100 910493170 797228292 613199764 555087578 425953152 345528174 576055524 502576676 600112084 543351556 189146454 874146784 253527566 479787736 287395640 373098990 312947460 214286918 801215788 605813894 8316670 763982498 437746088 793985484 251125472 228647714 935615316 181418164 463386132 203724250 646499142 337348648 940783640 268019286 909632244 243901150 898804246 48750958 562076302 46751410 73405376 523836540 357259170 370478404 441352680 470693518 389049378 744782696 536050864 863933578 109662808 993748404 476941714 797396204 467894468 871405260 979710908 860405940 49314604 635217538 304805812 99981376 163357128 172800274 730851010 355821390 875934570 761724346 198160682 87842048 732037504 314631702 111942996 267941644 922332738 344843330 385207674 225087072 349533414 204305982 708861894 458607126 135761610 874101458 829059492 137652400 199143164 549989756 964274006 273387308 281910408 420234160 42856096 230030340 346532416 395135342 288531372 121173572 993372692 440340402 252555892 545004774 829182474 634190430 931687680 803335784 406431956 562279906 939414710 60867192 566180138 195550070 657825312 941961628 536906288 159942370 250589640 913341242 43398184 388531370 984289778 109593372 878915138 272653358 513595182 274475136 303359936 90229876 771853942 184807776 529771188 14187924 217965294 520200238 503393796 364691834 908166486 678972024 469288546 173272812 151636890 78692210 791410770 486254406 222766766 567751886 307450894 6577578 803417998 396520234 856428234 876981900 739049708 830148698 400607328 72640104 234276578 727964440 697406478 144192410 311549544 588650582 115574416 608289640 784949030 732741326 406745772 252682156 403375612 329922878 531678340 32469598 939853706 535409496 990892804 444729678 800263532 663076612 980676910 625183500 994519330 910375706 420167562 620241250 341882490 815613688 239316928 999229442 588283798 128723592 357888786 325852546 937026224 989904282 758412860 381777278 229523474 68549666 236187426 134748838 653617312 534087572 850992798 593820470 835581992 48220878 223313890 314070758 88500910 768788550 622722448 703802522 621593056 267710046 692906494 664728968 915748012 161793142 138939962 69207198 34316972 156628144 24467228 338444994 261272834 502390698 910225754 290082782 369212108 177290994 232607754 734245678 401065570 895245144 22210456 22944414 549456930 132511422 476787468 986797000 446315074 512622068 293321038 589360838 899357494 143454186 706118318 840290380 262868672 690135696 78514888 976620240 69777944 650103552 129980488 419953974 877967540 743526100 435959116 927990254 353051736 72323770 984675984 420931602 95473168 615725814 704470546 502605102 825847432 421484796 399426558 346956036 796166888 23573806 410209796 702111822 298632990 634050512 819108478 774991950 83021032 618458800 447468722 421118888 882785344 824510496 549697894 502003786 511232396 270058296 639007980 285274576 468443272 455957986 383840528 132779408 424770232 690294354 174736114 290291412 398844712 802573230 453807452 305629330 208922286 6651276 34457660 130083980 115464624 50771294 319848410 564002766 261676896 358715852 514669364 440622562 243480942 580892144 791754812 564537118 702495490 340059766 683754180 813396886 770946564 773243504 809659460 357164152 27803810 81750316 383436942 95772104 4995066 643625482 353601926 614752810 824389954 455924462 200016522 80475282 290547484 303691008 462220576 812965070 417364296 363131738 138820722 296833736 228123448 522738462 132624592 746743354 416179212 455871276 228507074 597761214 165685632 493454534 264939434 443079446 70804718 744172696 106713858 347120678 130844086 560931794 345218520 946396768 598407062 634589198 415869668 415127606 511404428 239071096 525463906 111536590 669858748 362704478 765798210 147984192 667566422 143837796 35385438 387866742 731021058 271107206 817372202 150439450 738472552 617717700 174846532 66563934 409778920 456345602 80963770 498285282 262418220 770495474 995526604 364411914 216824318 588491686 434223462 80169272 178333560 121621496 434800822 70208462 580045754 952475468 812652464 416493110 274864856 402212712 432298514 68149906 417186736 927248734 493534178 229242148 637685632 940838670 333529388 225443478 37745334 96950900 870102178 753141212 431147976 682741238 861227310 938858296 309536664 453167256 476591302 958963570 11336612 90687120 941194418 798306208 36913788 897921982 941009296 43001366 330501866 57171684 607925814 899496032 860151844 603275442 890360438 455032944 320209306 80974010 659455704 533535000 148254042 149508486 427737502 518072998 651865258 104586694 634535276 261425694 908534642 193102400 449001690 602516244 167360494 407854578 171990706 693047616 308811228 266387666 640600472 617280820 946090138 940386064 43067708 726623764 596134602 604498438 505187478 62908512 531601524 859675584 404994604 682333622 179111314 343276052 587131260 579866648 65213802 584296662 198185264 27099456 247411044 963559124 784497998 277763142 748352510 215413566 380952546 601579618 463494396 356172720 406468426 665031706 10463928 837008092 265117754 834347374 472726302 124824248 64395104 615708230 313190902 917038376 313171972 845100920 242188894 204641594 193649168 926676738 366999946 813081716 512342598 955187634 96422630 988025850 217612024 772150402 475673470 786328296 544770204 373287366 998578568 845528292 865979390 169199454 205620434 342223812 402246600 977509028 804927770 581254036 856166210 273050008 758600556 572379018 928219922 631707488 351476878 202189864 625390428 559627606 779380404 15820822 7596396 592536436 452696282 527540240 32470500 371937340 219904686 548336030 720593774 991162016 528733168 88037706 462872708 262378810 803611690 172094300 334521708 424151632 55729636 93259676 949038826 101327166 619426434 368814864 228194412 806591332 308826690 61346092 883958446 895068472 653529656 677541260 568065266 806928058 960474728 389755080 688068538 296297634 39458178 853284362 984718280 961804474 971210352 678228838 810011474 919353322 445737174 11462038 436607052 827333670 871253082 102264754 285239194 822794440 743703080 118270406 380447112 686428894 94309306 481813158 349744958 508283810 445286370 993114806 880616208 212993830 412806890 678805488 779300404 482377044 267555218 378532098 268072332 442334508 252698058 753507988 364785278 730495522 112752278 445395840 29063796 507144812 908436282 204206458 162776998 237543262 8557356 954994878 688113170 272617488 754322910 906055050 866148116 248088768 760649248 804275990 806283890 452979768 884717868 898768044 743229022 806762312 684253514 646432510 455114598 801617140 900455312 130049018 200572800 491287788 770060002 357445418 638905856 814166140 78619516 122202406 580726432 40478588 896863026 654539196 556121422 980109604 210663104 767695126 861147678 570744898 673598012 185413138 727124854 230158198 677727758 284816046 175396528 65878006 344654426 111864074 960551148 190000240 701203042 251541370 445395776 414363090 932312704 516817808 650427640 711666720 65549376 95700136 815422718 800465718 409652700 513956952 279564720 478047766 517015556 575379706 707587562 924380640 762942674 424360976 599578742 534807704 893756128 991862610 540552438 605156130 663652198 418754494 560500818 262846234 327116390 691370298 875877078 979891128 444698664 522792182 828718854 108394726 997177112 463320318 400036054 579874034 478957070 806876228 808089126 131523068 308558506 244850320 171726400 637400680 63853470 11704458 373985192 208001904 348971734 112429742 931792660 727062242 546416114 891124202 465045858 574859132 628424476 684746864 829121492 31495248 477267058 847829982 106587114 589974110 494039984 135096278 169807052 946486872 737298612 67213378 93529750 232617594 31974246 996385460 354808132 450012584 779828712 604007482 516983982 672340002 910948198 319131160 700291600 44200588 455575848 809268238 541898818 104089198 200429206 303912790 634952428 922631632 157014426 144092860 535702022 845797032 323495698 475498174 107619776 957242366 165185664 177953776 476997612 729238702 581473432 576988408 676177614 911574698 664531920 17575366 626371078 250069482 480404572 336381096 690303428 948407700 533057038 883235856 507170986 604579574 517987598 111166164 838984924 594942324 84253414 80202398 860885508 571643166 29391810 385848914 510132868 573656098 7712260 865403942 630908750 210495334 568393000 50622462 280286160 284653268 838872218 801276024 769170898 384878118 56484462 464659342 7083036 3443966 829571974 761573278 607650858 801301626 263687848 186960134 875799060 79914212 210365344 676333202 493007694 214630180 557725018 706714208 427745844 691430224 33738634 759397140 375794316 188515920 711554382 500448942 414402608 405169806 40934504 622803950 874942754 144344528 580307744 350307042 310860830 102894982 457124286 246031978 289528804 889907738 495094730 302878432 156502036 809792902 954844086 134420012 486790004 329672786 120965386 907816960 507942780 99942452 250870026 646608780 591660560 361983128 150635748 196364772 773967442 23004820 809934856 639880362 666152430 654362492 789711372 645886628 367943474 948047102 285444590 76375894 273177046 150378600 376438440 276125494 28977306 730928144 460350964 975817686 454727520 802389446 650399022 409431284 361085884 494291278 646781330 425065522 2035876 648097754 843082852 227255648 542901162 504027766 610483134 88138220 468096632 316609706 994910246 426791784 688957206 337695760 373237546 891047790 601270610 14958810 878915036 482582574 885104512 774899058 135293930 634759528 820956556 716593916 386481800 750253100 796260696 515781032 551594028 285381932 179432066 40506726 384325852 740612390 591852250 523886584 692240928 645769750 290568618 911808828 257535492 281330616 369118272 753227534 309337722 406571946 742142450 933752150 645792256 718142446 281220006 438804514 676321598 446817166 88362830 542344932 15217948 661034104 899409982 950388942 282421634 502964242 70620060 880109738 715882390 629569736 112898820 145246030 131094134 23776158 166065846 233814236 453955008 990878804 483445570 762500812 895904630 832060222 379133074 857181230 353213308 652208062 194536864 598562932 847651222 788519144 906027210 880448092 971438004 46030532 708403416 868123332 909259408 603777080 930012430 910420374 930104500 871395818 17323628 804934810 616148202 367566144 494998782 124982228 296194326 163445142 670353740 186215892 634590774 158499188 197981574 391336394 838261932 645252906 673982562 245226106 288836474 135795612 752951900 891442258 441176520 317502408 211685416 720523584 24613414 737835268 989367362 914663784 676006748 181767908 807064520 931062320 870296996 992217802 802610500 590307970 414915010 253905272 634072320 183737590 841553876 680462712 38278386 365619352 863278966 375636246 423594364 859054520 662480422 966848106 755652152 902496540 53263584 451918974 207672708 887719020 11462948 710969636 746450946 163639294 674259498 920860750 84467828 901590620 189457992 983604202 588352198 593952962 536358968 783043190 79330690 546642906 87756634 831559352 834244344 16667248 59599538 882901026 563241404 793229300 312803214 980805634 634841710 112461164 57113074 813425426 617272306 499864398 935879258 42938664 334560170 324694668 925583964 592182792 489535674 102185680 262465980 196614520 769516582 936633188 628488286 809530758 566963062 854528440 730596946 482501396 40153952 486011488 632896092 339601300 599749738 448400464 612882112 467539416 696341126 244632758 854102842 411669364 450485596 834998682 630660100 520654114 738522526 635618190 717390864 790344898 244536412 314512576 808597482 1291820 166416294 690043450 365589242 298169302 941748842 91345500 810141358 241403234 740243116 231833282 350689936 804846470 481565974 612040580 939183266 72479222 731894894 758649794 923414974 872373680 667180528 943047446 208552168 17449944 107339442 835364734 546609746 565895660 212147630 101062122 676206838 701860098 974592454 486675610 210666742 21592356 903035830 29038974 738872710 236672460 251636956 145132238 870391938 880004906 304829122 868231804 751070672 826347528 106275036 558043512 759022700 545962904 957273888 997813342 922242094 167203626 553567868 546392204 80459352 482974538 216423018 430194842 289640858 658070444 221417938 166875204 456606974 882638970 678246676 913867266 746177804 754710942 58846962 518653436 645818012 514939826 89291862 984981792 473330574 467147400 563996920 223885134 468555300 63612038 759620898 775966304 888117212 104119006 305752336 32071008 237394356 424881662 633406476 479679558 857175378 517806234 218648064 204754570 148944418 914345676 420185490 740740682 853076842 400108234 642436316 787847676 540211598 299515816 275948016 571770786 352036884 836187690 770262594 448366280 664416716 810069990 715222116 627543788 786045188 292871086 115305044 101064274 259270172 814036316 626915000 213775118 725922612 785445668 266783930 782878740 128805252 464714876 981511392 369264576 492121648 781888842 393859232 491151968 868854014 199849930 996693168 192897018 646173870 859990328 532200652 538228790 979560428 922536892 848418390 847734456 885993638 584352976 534021518 125602600 259818586 331778822 528614462 861887562 208277446 195291254 103164462 663100978 80757970 718166648 404052478 72048268 436256808 278526242 744891162 260803786 672006358 99672218 244976786 132230314 404599454 591035738 644762380 591667768 710264072 410301694 809559406 743573668 34885508 795382732 965680926 145391340 200033370 607951862 477315268 219587400 917166938 264462402 549450162 803221030 529888486 64635022 469635796 365766400 694782370 206918226 255200812 138401358 726850740 479697248 816393498 577126244 420919122 446389960 859429716 43441782 450706050 597031874 828367178 179043762 60521010 887439940 423611914 287304164 379766356 383530844 37890884 940844924 421274000 545429228 207475222 850518342 766661114 910773396 402033592 191082856 769190350 593953524 864769990 504650422 594694668 53085946 705656674 21076588 935692564 132283776 6759812 861433744 898045472 180853586 655839682 249268040 523778176 270308100 40904516 237675354 623651368 627834492 987679640 474850408 830140880 106826394 330374826 150911808 969077266 991587336 948754398 160330114 579796534 582235960 731611614 710304676 266621228 747675974 796751768 346656372 920376912 557858404 394816218 21776330 173128650 262117316 846683676 974811166 190425634 305108666 715997602 28284416 9449090 644275636 1200144 362708068 530972864 226721404 669731336 670122274 579282210 660180148 166079284 489673096 346368626 991112726 938029296 359098360 796169420 591297580 393910796 710902426 494551592 181134516 975487792 352227026 566595492 537478946 54404156 262948892 318472148 15644126 208366758 254022506 986080154 296872292 616151562 93260192 845820520 638773620 311844560 176148892 421265116 117805654 689368726 60366720 710097200 700646732 540967622 892818396 975653464 314607718 317372418 856091892 942130464 282183146 699145550 399795056 72218292 588530698 252085738 558194094 954568848 659906822 543175016 330593860 772900694 789607022 409774418 699962084 377975842 41174692 44243810 346853442 467873360 429643278 419809670 431915790 353358564 414265920 449494392 189617142 925068786 771554874 861985700 238692926 301903288 432084358 494539720 59390186 356651686 624136420 510210212 540607274 418791868 127551898 400318354 306575478 431867130 320567300 966631648 390968670 248348570 996445094 494817038 588239604 348920118 527019332 362321260 809231258 358434486 496575328 830430690 193442796 171924094 980853744 66286796 287451542 368277920 377784574 219943834 489411902 273113592 810742920 212979276 486568962 225836202 928024114 407681988 989211592 84577792 753514382 467441944 244882586 621460820 543435628 746082954 326365160 523805402 692221028 569021718 882473526 873143362 266967492 926275640 619558678 308038208 566107906 883734986 959971600 630819692 758815292 46564556 490544204 210531458 420321986 533273202 910210632 537035284 735136946 380985760 335667444 756606248 381908124 950759894 11479492 777424118 768054638 33585658 9949122 204147710 376389884 452996362 750434342 204506756 256146478 314314276 412751006 387430200 768709324 405921082 211339990 489719870 882849938 223263942 386487754 460117038 744063704 179934662 956950184 485067624 640252604 474122210 574365080 230345840 374738322 947677638 700249650 258537728 150216306 763679520 643220646 508841168 765915732 725211866 468532524 337274398 120341992 384461704 909365778 166498214 480260346 719933314 932196832 506527244 950777176 262536166 334279890 479328672 374319410 265228908 154807280 823409480 622688414 715578950 181713086 498935440 483086010 601170716 951399990 823047914 642922470 678868806 946643592 187160128 889499850 796146152 711330566 345648784 687295096 232079918 439944816 811007872 674185168 61580940 573384136 137472464 376324084 19099910 672555678 753695422 650766106 288876370 117037104 899949630 54844820 206738992 788716140 983301090 530313104 596792760 128562386 955359418 705924726 794596458 690238358 600499696 37442808 124548812 278849970 604763406 298101592 631655288 844448468 274459950 251729996 920520188 388384886 894286242 245784278 599226688 494827164 655172624 653179710 985855004 459938956 56588036 155047864 675867002 433769222 775543442 140375486 687628094 635010094 530625014 441685814 209303948 902268696 798666160 516105702 882614170 425830628 186937404 976187366 471003770 827131594 347253328 43851274 550851610 781907222 656133828 802040388 599544608 184166258 183654278 873336986 496854726 637396970 556982312 880990790 645740530 605362030 92728162 179466446 15393976 973602974 474157096 633500370 819670468 141496080 367616598 597575172 249956098 725419882 797089332 211980266 16796008 346682658 140165230 637558004 475570888 146716804 901001946 524895914 742396182 387902808 947734298 6167786 441817266 786026006 518617490 415339604 428370760 271229644 346956774 710651232 14789464 696712878 739303428 826670710 749182536 968825746 830630708 449535186 30234890 442206248 853027724 201870222 945249756 506248712 907776658 270009526 247020184 900444796 447356508 990306046 248059070 163993898 513717406 362885636 118965756 57639652 540371526 629451424 18663216 206038724 722146718 470367528 87783486 305957478 521936318 63768714 251888988 524513902 311722554 12853290 236979660 540920668 570064958 536685866 532898330 371203774 838999418 545557336 731883322 377789792 744503076 384620676 744658342 718973122 277079892 986437458 484243298 672840478 639043710 974586782 146018092 542581934 454640526 923984636 832261176 132140876 788676548 459550950 121312726 528096938 815916686 990425930 957975284 83315986 278056606 445113336 158999854 519093196 382574284 579696892 218541086 375680400 520143276 366179916 894429150 416131056 883559266 584583978 615395752 516447288 319748632 169271544 5685628 759383558 490981932 604157586 852406824 870790332 776364334 201273778 34940224 145352276 805381964 358473666 114401406 482534308 486357450 122163688 680633570 123039208 224019846 965963444 570159430 462095164 544503578 754967674 356320654 625442912 734323972 228731420 500800554 917114858 84815332 42546940 14373380 979945948 88677078 655353818 520405248 247370636 448204496 946103952 778805398 34095896 683422644 899452776 717720870 805885182 593362362 985967678 480685428 413823390 977421732 207543524 108401218 833001348 431279732 16904860 278841700 827944258 913907620 727746424 885039730 915785822 85469292 78413262 991253404 957990440 296466096 163560724 290991422 574572616 593912562 317267026 918954488 445797990 41542874 901866274 273538958 715342808 776051740 565508688 336683748 940796734 771973912 166314914 950842318 849006318 48579730 868318952 593244086 20736258 175428890 695172762 858201668 767151986 290650990 200106366 935321340 455605908 379673746 674331122 22417358 14014748 390972508 592721624 19477298 383358892 685410142 144921300 433087286 941546878 78928666 358092626 819876660 165869098 165317514 77840142 324406574 561133040 67920248 893654214 842260942 382720834 451907744 387897248 681796288 473159402 504988954 369326976 956549582 557559004 659948710 344986294 477423564 881583694 191496646 600632702 228204158 180680946 625242406 979830346 925950164 182619402 93026012 344507932 685527622 449864782 918597912 800879388 269072932 745398746 600907154 288130080 672817036 131351700 810816244 911555284 206834162 661772012 289858244 944981868 879929736 645929946 557030016 394770612 878860754 584254500 92129958 557245928 428940296 605658822 257211050 62520706 77547576 439976698 689563826 254196178 20044872 344237078 866029218 209686292 968874316 702560938 355730432 69844626 723740676 210121314 559788020 614274362 292040988 76702388 253230072 670726784 207294928 951171540 244158474 607562492 752835854 300639492 775695584 8229236 983186250 917707628 244527530 941196316 340442712 682491410 850250504 819546780 240869380 790056136 972839182 285403450 67291170 66958540 39189848 813786414 803093880 483298536 273247824 822456742 449768198 756356332 170257342 92681112 280627740 493981882 82344600 225441438 131147888 286193478 846444326 17639072 544385602 80637640 299521488 295891804 776967932 829118662 609384532 696799102 776659378 455591800 948156318 655464360 796629282 588694014 4251346 464613080 89170462 443073446 633067818 359606570 168012176 824328532 25364210 3488444 803148030 79191864 34843340 304292838 4026442 406656518 73118964 334999472 959856770 662064990 93302542 148732016 46465978 917808706 557180298 101827388 944188644 681259550 500387914 125723438 852678858 806379644 338786518 112343562 73171370 219967114 439727202 251443442 60491530 933400364 111079826 848706794 491588366 13994304 175594728 690465038 680684968 369086390 167032200 51213264 514763980 434600000 838311328 340234828 831036370 559265956 650546824 158672142 839069350 264219710 798813078 432490236 773946346 722113120 532786834 568387898 510348770 704500452 531870596 887355774 388193400 394022182 988547884 54745320 991877292 439818090 70935526 420732410 287927546 522448532 354200320 246275268 840601654 308020936 989536942 90662564 623249568 340516446 795315680 68380118 324628746 804742214 277214990 908660386 386590268 967379232 446207422 737726698 851648882 90659058 343627944 541186508 499204360 265125300 681045612 823568110 62375864 175056986 626026512 25343864 663757218 501078594 964905346 484972124 714242986 103778932 625446944 305102146 991681978 182471638 908967682 926574604 29838514 214741342 705066394 691683514 613376294 662353346 121193492 201493540 102848716 247416056 808702978 298031642 483673696 541577802 26994812 760811894 99153362 178850726 384984132 77186012 132047238 740290592 270881892 933634414 400335470 70553756 927655196 729209780 555051954 188418286 781603182 87634556 472192386 943244794 405685898 986181386 872744768 744108418 732360228 839008444 288961978 319076512 343228426 579484592 107383670 675303708 763596430 359297598 582183066 350039480 498203458 488279068 554266808 792864100 450087668 169706630 851768280 895507518 219677344 455912132 855253298 646302456 11491204 697283100 435031778 697560716 744041466 853203878 512557424 49562036 828742448 700113940 21528224 169462980 769512326 704143678 935751718 703181312 437013150 888013308 155695558 267009428 798846296 703660240 97599728 13781090 331883020 546259342 30316026 805316384 236060288 276490142 83731200 601154938 874686296 560933358 954328506 173497396 110251892 891559078 671921940 431051136 288533150 515230138 356104204 462310096 445999382 755031032 655714310 967689406 801968044 869073248 482075172 966989378 70345118 353159402 347737610 694479204 686098898 369944182 926966152 963643920 654877040 362690772 601329916 688246556 602752228 825477044 268381176 653540640 988678332 597346026 559499150 78121800 723338502 806533540 685944440 697749438 853030636 157663974 555008914 545570530 56224644 949136840 916606580 256173114 245880790 234744150 772629636 523945046 343424738 489149572 884927400 968862228 706352850 84755790 669127374 938074466 728241116 275259578 580954322 541734332 24515806 242717918 871915198 997301056 272705026 830413262 875557042 882367982 486056042 604353482 914042654 860686728 441806598 200957116 365829898 328804622 439137754 5881908 111340258 764647830 997602914 283439916 10364760 473074884 852466204 467795978 733628014 964797248 309725452 393264954 256640896 326054894 228979594 114519144 807015536 930373908 205807674 252060784 341390060 157992272 226667890 410725972 426200768 886945292 920796200 964130670 587078888 430486270 672064926 589784864 653471066 656753094 623903622 403005386 672912438 311453078 171931396 917812600 405357444 187839190 485721616 203251118 362451820 694579884 614079552 130089268 54647812 636722030 889293618 447393860 353932042 901470108 53579464 918561936 609373086 114340338 151178472 975423436 386916678 303947442 212677650 755377636 939794682 422833716 42476580 608901018 366060648 57555624 469522748 206354792 663059236 11678828 719379746 243072970 231563462 556835990 305215250 622060318 265849552 46255610 805588352 528738148 898942754 949941948 455338850 25050390 248014292 234022678 675766116 5805656 179445292 319297658 678026974 654865222 523820768 908832408 742432652 93784536 948897230 334899010 639305402 562832052 119365300 479270414 705593074 571217012 248479350 348483412 281646766 22051614 624919094 511082956 733371740 289377382 113554660 823612234 84428028 747932838 166773550 466444550 924524838 168282158 566231594 966247452 670088606 530878232 257905862 503588758 15472324 306685498 370399570 490495212 604830838 782161320 602295008 612043832 685672580 836903566 206427224 2607636 111787514 704440578 81854476 747903996 516030122 998768076 189184000 661267158 538361676 29312180 692212588 397723556 822210246 765465682 863947714 490622144 608949604 835328888 824893970 862891732 426781488 907452102 95504102 176246798 57576026 834351366 379245196 453733618 503656444 648140606 276848614 918511144 522452394 356771374 150161884 710283608 296917972 2821198 215332990 794137852 528964228 447318880 49133022 2834552 900577578 919936 533002926 211172148 783221368 633697374 445032324 186380466 957306502 543558066 557521652 461125276 379575068 312230450 177129818 81309538 706258456 523608168 974294406 259980568 496253758 867300046 196174118 908347438 92470850 271356804 277840034 51897124 389498170 759054590 752309630 387872292 26330380 870507236 97685580 485156068 944383582 410601648 376942844 147947186 16622336 249471834 279254144 96602116 425632692 589284956 388806070 786994460 684361448 712457982 531521148 595009048 682732136 677839284 550729164 353133992 595649874 388793274 285118034 786174458 610232136 783480974 99012940 475256692 623214628 970510776 941086030 57914084 429275980 533057312 690334784 166085370 181694822 205899592 873664146 536819760 836363434 756354540 522937284 492707712 75824568 334713662 651754312 970419840 41912468 533114728 612066846 793200416 911360014 325245506 241815176 555949038 209474334 220427782 692649454 555385724 70898108 667140696 25711514 982582736 568020436 62600042 328335664 551112894 873856154 937533454 577421672 579230998 995815696 761906892 160565026 357618246 935551862 387492158 85405638 545036076 297115214 971798546 799389968 843302474 646970300 663962924 537810276 365790984 878733086 476602116 342984934 917055062 681398424 496955648 541302916 256744072 287146864 183688424 654466382 788896148 700877716 499923748 876365368 700150140 144983878 907998370 448746330 383197768 210378324 120058794 614897260 262885528 381079492 876338716 441034716 523275258 204903636 701497006 449705038 893226724 667620408 94188966 401268844 214783108 650945998 138935776 965530256 505391620 12764692 241563910 148681092 826262018 52949482 817509990 162038958 176026520 587192476 995007412 666718262 615167164 981801152 176143584 767473924 861578736 62090790 814792472 506482212 110648680 48567600 91757298 77217530 220135670 391971774 401449902 63970400 320780230 763951594 580249440 768689026 152728552 482133114 769234832 335832572 604576020 685689576 888057068 52199620 296006014 733717386 286634110 46510508 342942884 635912976 78296754 54069052 411512872 409761930 548975202 308107072 482095092 279926028 397924704 964986174 979119498 171643556 884444036 332694652 891800860 645634214 500756294 814476248 6260506 975901906 516689780 920352630 770689596 969761204 583443250 606619902 851589558 545918796 569449618 602069174 490099170 268438456 644759518 682387690 280475508 774346620 968593218 44673176 406779278 184172180 80776030 277805986 512528110 922306760 486534872 616589496 394429340 290578076 486736266 891370226 972660042 995680756 72274886 850812366 337695824 791940254 621535498 206861622 377769820 407545870 549712924 149396456 280759388 874325340 953869782 140041094 857176344 333516488 18104606 103757364 662068556 250128792 873092740 710092244 64697212 744044346 190649570 44863628 741916792 530086742 319197378 556235068 227335442 437306544 516698830 704456572 643636758 811284848 81995702 59153510 598915366 711881828 932578108 100817396 970138862 770344966 335397608 578560344 934562976 437965660 869694734 544177722 877230952 216993966 559541128 114956444 254844408 228817106 286022740 538816408 199155234 335002592 88731576 773490890 397240106 568593646 230831986 964396292 606652412 647278682 889146010 592020956 678553922 757894412 797159304 916936742 92224244 497607558 530290046 543637084 91178044 127518708 955833626 84547144 548178204 193614372 754593852 986040710 723146524 432442962 329851994 988260954 306590190 903664660 56193274 639916608 634246106 878303748 295669460 948209546 65178332 245885002 312305170 7125934 924027854 738799766 79250736 907458330 238278580 724212918 532806510 214124948 160242916 724495274 817370056 785228662 65491798 854431244 713079220 555632660 22347652 622797358 111182860 534092330 778642184 756283744 493584678 578897724 677057896 507735884 823684038 499657916 870789238 278228274 599947900 65210316 944270100 52736948 340987140 420182688 104993650 757358190 441165332 430951242 667894432 461796396 539601678 133668220 395951190 679065344 641157770 829483444 794797550 170796496 891306698 242637904 203975800 31344620 818704840 916029012 146135456 143470586 67525584 338093202 399619266 372647242 504428466 812346362 845521108 455731104 488218648 132887882 251243226 990054850 213911194 457578208 550028630 977395980 131330232 783229568 676064772 293275136 936594772 439256504 312967844 149397608 12365848 352784562 386749622 573428516 80755196 187434648 667259426 971003686 527730396 984828836 848920566 250417348 698778388 203574716 702974890 427153602 470186396 957345332 514620404 35934146 75639276 960952446 522646644 731888802 225984862 324656890 439758344 320228154 569721628 543344694 275000178 641200202 411722056 838934654 961701328 214145424 759679878 781167758 299871254 852472266 749644452 233442232 303561126 324094848 176346394 835707492 815469512 228583904 259856650 388080244 235135846 579476872 823710874 704075348 408290894 880284298 452030740 529660332 166037782 317946414 8328198 898774688 507527738 909817066 511397936 451782776 820581614 888531726 141886852 883427430 445912050 392266830 971011156 97897988 356880844 339499876 159241524 514086706 363554968 593567152 147989690 204766386 845071690 721357136 529970604 59423606 727940582 415584046 90318068 490763636 951599938 788695196 646586460 93187380 576895558 108894332 594256582 735111438 284410808 525574938 931072422 778367654 429456812 145426358 135714774 556820760 854985842 529138126 548029302 634295508 668642316 115545394 694898774 755189640 483087366 618133808 575585448 193165046 612923828 956901596 527580704 755005252 639783350 177495940 977702910 647411392 47059598 845983966 726206078 237790506 343490970 287601002 992327376 916720026 629196850 753235290 339747168 188332276 546179692 199398330 51724454 137230192 434453566 277695738 425937850 569780918 191571988 910884 370325858 188171604 210391344 257237052 420629756 5758312 319862520 857669258 362922804 23799938 572951198 308181870 663340212 947190874 40200850 747874766 340263822 632220704 396060628 31306824 849409898 394374372 307401872 543893328 25800642 871153588 400766272 165159056 6904064 116296508 695149444 91093408 431179144 504299616 215832284 127691770 373495776 630342900 28369354 934008700 800669766 989669602 112507884 626473292 192854940 687605738 680432820 919448948 527841540 111943898 334312368 969085010 906748652 208862626 44096952 825050812 189753116 813914236 227489674 837052696 744186330 315477846 486052448 610693242 803543546 55534500 184446618 269540402 184712360 200225014 239740882 41901940 329259004 211113154 399434066 817043048 456807098 742180050 630911880 976830930 235169966 535628706 712912242 890006824 631589034 105391394 243044464 555839420 649436322 321511384 490583852 839172120 122270996 905324318 109472186 359902 630903110 819471144 580932914 273202264 610226278 608905582 23574378 78425756 214748874 520243084 212111430 277527914 117620316 472881402 739076964 124620332 996321182 326806478 509866192 289282856 182250786 851255730 839465038 120000002 827258822 448603360 598898942 749320216 913482832 209284948 101826216 372806768 979534514 804574178 22969862 709084696 869452404 343675074 658264720 279625680 75495660 616210934 416636402 789394308 831043832 525811470 720063816 494586380 459062574 623290920 713701694 500320016 203743852 896444468 353232258 142287516 309110366 741138884 640894170 913652494 171424402 669075926 666515686 711184078 300975426 383593894 116277800 545266398 609804860 858157338 435073706 969174850 924992950 711847110 781890808 248845536 418211022 97991076 758820216 93207594 877014984 497636352 335054518 131083432 69478654 580847958 931389344 486004622 601240188 999693918 578125492 434834874 474717982 148021316 798615048 725725944 762991980 343916520 616520248 578421376 368977596 297903936 302436518 359589182 134121094 35153162 298643814 752873422 562241764 447624462 953968414 183571180 606134162 313555482 920776774 515792888 504872728 365133732 732121090 642901414 654980576 861564630 175054652 44483744 698895304 214016570 583326964 109586848 113465944 907693964 681567374 932498348 28443044 138575136 382955280 116558348 967725920 625141692 214078212 632440488 396918976 855931524 876146024 493778022 730869846 700711554 495538876 556891464 204269360 272609074 973823150 327196228 919618228 323167540 609154808 106793680 966197944 153115576 68724044 710868820 136445814 71363790 973840052 627833538 363594582 584558862 867559570 383804514 31106296 56972198 671044384 698742958 159516652 117754244 391264738 835590858 593410272 288438450 762067448 696691784 298520754 436060774 683271060 279999432 81844060 179214262 957891160 115769142 952616054 360284660 829256940 935564088 726572304 643342824 651708056 878209048 385266804 441806544 552157802 595173380 216928994 318787052 146099376 76865874 373869650 617461250 262625554 808672574 873680988 544437952 34100722 892761632 537995526 414534094 718208338 12534342 263636746 486138122 984237122 872168796 192968526 966769986 46940490 309989796 29165346 90391736 309528776 679623498 848197602 845521362 506060212 997420174 458763018 225655092 972594544 278729504 549070032 948783332 364585040 910295850 215368560 644594732 379746872 363832698 922467206 531728154 399349210 489665302 807580834 825858334 101611170 998301096 80894948 873477824 583800324 736624496 60809850 851373104 337430422 730048080 404032642 395953352 12143036 313100598 362030386 906000064 717105674 979864886 934907576 920733200 471092398 439108512 750841804 741396846 973151370 240888706 212607126 122790090 298311880 31236046 996794068 624194428 742775022 288285214 709084758 538553324 711967148 587503974 792563134 510591366 646624494 768343184 307220552 428060014 449997728 280920694 755919422 114577104 281714716 535188700 56166830 365956774 92053408 547963602 203037768 838209368 472510162 832440042 832333388 916484790 20915314 964928644 342318204 151671186 423643636 858649516 467850400 431566702 469011196 828150766 673761496 630916764 511333134 320697850 361666980 991277932 381107336 81879026 681709296 832973508 543399122 940106672 194097100 769350632 408973634 527081016 496150878 220000230 777343742 650820256 209081134 952919730 34698940 367390494 862311844 846391722 39520698 902105282 144127786 402380064 245702190 448956614 259293950 804719568 340553828 684266600 846085436 327627780 912045908 118459268 129011182 587043876 603419754 995196602 764686048 679723888 576173372 179081090 109466896 807664038 770707434 493132798 336070914 51482626 460866008 94395596 722627084 323488998 679054590 803288158 77220982 177013964 198223388 439911884 343001240 543873608 124807360 774576014 840047620 384540968 928854970 600983768 912114404 490239346 73524392 618403620 440661994 542130606 53120282 830269662 679405502 902618058 646742228 822827298 235568590 978420274 318421286 181890930 355790950 88406442 913921282 852945430 435307222 454637674 109902050 590373032 374411262 558521962 436317928 370026848 554940992 555923890 43624928 754435424 761507406 488963976 862578588 183039820 860930780 679808434 638497170 225621492 973957966 764769580 97807476 32880242 562834110 511263458 246129630 179016622 928265456 590123810 5281800 495000516 798810850 52343878 284057598 470344638 789571176 956762712 932640660 770784806 664477768 778366576 716893156 797312734 709162414 888048132 320392436 44705768 373181806 372177142 848402930 94558954 453049350 212099720 477632446 333631874 874042252 34035042 610558800 825216780 66927540 83637914 800963596 352516416 671563158 41725364 260719918 41731068 857506056 31769242 784471020 821733068 848284772 675719710 112218088 948924626 743467360 769421472 432052108 958192228 762982726 387125418 752987214 554873994 464525770 113446796 356834018 741996356 210573560 981071144 17499694 771573256 809057184 893726806 794811898 641253452 816416282 775431932 957237560 415974964 4498394 380479906 558668580 770890120 282623812 815514658 826075778 401692894 924727964 484823256 663659618 740496578 772741930 89678526 782280644 671954226 56464590 865100484 423109004 708433414 549168996 991494758 413456560 790971512 41157694 911139464 530715648 274534828 952824862 940073116 687854910 897126090 410692720 500108596 858698732 680675872 214650640 526565116 207284992 323988360 930799166 491093340 92918984 847935886 872483630 386715204 698924376 277228916 487031812 431839432 683566012 634441652 473498834 778572226 540187658 584618376 657388180 5560078 115798576 217830838 546299684 536906796 385316464 537858808 623544824 570941738 736523588 691936226 255702228 315598524 830226412 643917528 933160518 656460656 340643892 907256364 520039004 975918092 627643862 356172436 681512486 18864542 24837178 249676190 707991270 165385122 926311046 586601174 338464426 335375892 826066164 873876820 679305930 930283256 155592982 355857522 878361906 403940698 36466676 709179700 975213574 27032262 20618138 867830880 328969454 323665684 363357240 474980382 359450556 178512272 854661804 463237486 702581684 377889784 753396656 280736054 24056136 833874978 526173122 303460510 297661292 227586468 801830642 132888486 796942484 433738342 760351068 438088386 896079652 600841122 963127318 943344370 494769882 991873950 964537784 254517068 84665584 950047642 5402526 151897898 101766994 309111366 17383302 627714386 503327950 806050862 359387346 484013288 87199712 169905428 489904806 982654542 728550294 597455954 482135304 7533866 274981320 932902196 152021478 904652832 521276512 510401910 214707002 241754720 805374954 505555730 600489058 576831634 566313172 374381940 489268450 967205110 91832586 929262016 335625992 507215082 470186992 289690688 419042506 272799978 591663864 149911820 166487172 125448360 930398288 861185390 846339754 897874906 288536444 719352472 515534172 144966242 805516498 662475052 919308744 700873368 137859816 110835460 504780286 186006796 926979770 320872496 704157128 664218546 807591804 489166540 226840518 362007216 68174644 75638762 42548376 37213094 958340742 39441154 919675932 920723416 519156266 539892874 313395254 189388428 410772410 120075692 834055766 882578580 279072414 51229994 77361764 878040130 569904754 195942742 261547206 137477260 634803776 440251660 784170574 501131712 179118636 458821678 46279208 486656546 388279224 88967164 967075552 58961186 780604160 911416680 135525732 645888548 980487306 12074486 928644340 578975188 450904144 454310094 772607158 711534044 827918234 742540060 995848106 99270924 516759686 873967368 486320358 996418660 687056446 976077880 809309002 324096882 184116464 633848586 338019446 368688918 95553372 193077702 700272720 456060890 814071888 559404102 788460606 236784274 45154670 703060396 690725440 410021624 892694080 923872294 592798868 805911908 608078594 459481750 145251368 230262318 138739136 486904030 404492228 658620574 969080776 823399506 286878118 222969580 515945286 514391648 64099866 510640216 83712922 662243510 900373780 395690620 992713800 250530984 367218270 271975802 347162310 635854794 758030354 426038168 532924926 758515912 20978762 772150266 685872388 490486080 650662892 170612282 943920986 322735440 74411706 739406934 288755052 830855358 773585300 918260492 525484076 705633690 546445428 380273960 752298058 294590050 966707932 302450250 935886084 18149238 88318700 829733088 869711706 796002542 911703730 268026332 246872164 531793546 987556808 724877942 524632976 548808372 850643476 668599066 660492458 972370882 577537638 506487426 465649098 249746076 512970374 844509228 351915038 574853222 533698280 441075640 922137486 9720308 126449212 360384520 653247150 164900520 82873704 582208258 651304644 879862202 253162010 708167210 543102856 60749314 141967004 632393636 284871200 636905280 919652592 385678720 615805298 603900888 474094162 566964920 203182520 786280684 489318964 813300702 485189688 452412604 353681168 159349876 862655570 154940988 226747582 727795320 132787906 202192892 65989192 454982550 466354856 525471782 969951770 498280434 54977630 99083134 127141112 999996326 278232510 465170064 512678016 513830874 27433726 891906510 515268018 179583146 206356100 454160718 558248684 963221912 640135740 25856030 346519346 892380456 792812444 356929650 60321212 739084140 12984582 949753446 466695182 418384884 294542028 387797126 859952072 971897676 689842742 944995680 72718776 119269170 81238148 39661192 622319880 820398414 566557496 144607834 144732186 487894390 966090618 532141534 415438530 339204370 731353278 187711878 486142908 665018132 592447072 834513506 374949264 608531846 936174202 481657572 860599284 217607544 21081278 810332154 603493436 140481660 730124528 849370882 158690992 389306766 368638562 585588262 475368262 528392498 473609278 3247832 829352966 80267226 605039240 305222020 275469266 603638118 777990756 425132044 331264546 542662702 27152880 189269074 378662642 862066548 84612524 603183908 943542 453194424 487365198 485823224 537998144 902998164 208258976 923178 858756180 607679442 20601964 744633050 306797236 302358718 82071304 185115202 902888168 832646664 326617584 17747242 331614292 367954116 222909680 479178498 473565278 234534188 685358324 112896436 909448152 326609132 683049594 395424788 400458036 918655232 997988158 928342294 576913410 705588440 793059922 234561004 484305822 285107902 819972874 546397678 697076946 328209166 526422044 777321482 172758654 65049106 346000098 710793394 838192802 589868110 929467934 523924278 740620186 495230086 389624370 271920196 995224866 41891292 793559040 143886966 487501334 599957658 961593682 140563904 657376298 751411960 160189982 705341810 664529322 85627610 504675072 711422176 148734560 741917066 745983042 982188586 88627938 726497054 161645620 717242824 118614888 433830146 816648574 192031106 979976820 688410120 329064200 175275116 400850608 861487468 546237070 416157098 955310754 877046686 623636276 53075266 755926090 92136022 104266252 675737648 679861304 967946846 33152932 718827898 441230230 882665436 703898108 961374108 984976646 207245538 995232282 470593806 843073826 293060084 248344658 3704398 478901134 420914358 748799114 747814818 992759160 522750324 556729422 205228728 367837098 683548162 88719040 57652330 189063072 627240170 861368990 187225492 308377542 632163708 116824578 488731372 755772266 111949272 866842406 469280474 690416608 532363410 313037090 249889584 273339978 860535432 760495362 552482252 546834872 678818688 771186008 379547410 676374310 627238930 593476970 868978920 142703860 574287170 81930646 196715866 659629984 956663052 615742784 365408680 23147364 62542966 623712056 200033694 275859206 687327928 150031140 254351780 88323380 744236536 259318216 159750804 742074092 747514090 974508556 578910680 579861734 520526464 918780016 571806880 982296650 984624772 558696086 767234604 621892956 429057912 311263552 87015054 884346196 42120210 684116390 788748368 599786830 995984876 766625968 632753772 77440150 974028818 815640608 880998746 357765316 475545368 427548582 278817326 671883690 368100346 313656384 947888218 577367878 511494934 393589644 826277344 578182312 742320048 583253514 683393354 407889770 103524090 467793720 372042836 45795896 858129904 221930966 352950472 502326956 585697736 465115272 170145624 788430360 505121620 895773114 339339930 757779660 991687538 210708146 878623396 61188988 281703154 964460088 845330816 6981016 489405644 968424414 707782448 653308748 529856588 191974606 57976958 813765150 808107364 811742390 768709144 720143204 961323588 519638278 609028004 909478830 531680046 296903114 882260270 404698894 826830916 571512154 478813062 67828684 535923966 13251976 885909604 123882984 982916888 610649490 53603458 619317930 391392364 369752550 893520984 643085746 814251696 549812260 761344060 207967032 70663930 126787500 743399808 642990538 16388112 20121196 515709632 510837968 979047898 964949212 400885470 561270592 936012740 670060032 212309556 521275860 549305960 406063394 594653470 744528286 364875328 901392384 898331020 604771180 8470972 536849684 895775710 80566180 406490198 526188058 180137584 133239146 582317916 121797582 229580466 170148744 385034032 108731240 874281222 300588574 346242222 963903896 410808318 251534530 107903326 239132204 509051330 929877924 636425050 303565024 698658162 317544264 375131476 884489110 172738058 811769386 220468068 320620644 207928156 777474650 671878078 693401130 920012572 171362456 734602658 582576284 992663226 444330340 31334116 393668314 128956648 213496500 349949784 669868166 851730326 925713342 737108414 408291970 89786766 738156744 612023496 804801792 753729080 244084242 227063564 222653988 821500400 995571264 960989178 260604018 147479182 348742868 582684816 937129572 591318708 660655060 456647526 819464574 597464600 84335078 64823328 337900856 637320024 499901564 899691248 829343224 874381048 163619440 632296982 423466438 941711314 748566504 791625516 877396568 679301480 165818118 64401472 804214392 641441368 766743326 213504652 877603250 344238350 270548650 753086448 151980444 452854628 821578894 782988300 543020784 20832214 972346890 90759772 415045878 992740316 920975998 604886352 414335692 752764 486048584 390245590 857279120 621161936 855713568 329411454 411265452 161643536 183651146 589250714 422149242 315891324 601111166 370913302 690117908 368618240 874474152 292280846 602137156 947696414 20399918 250019508 945331760 921961608 627155368 343430022 657615170 978849466 204712822 279034390 299822938 904803524 830102998 670874246 20868202 402246670 126803450 41904048 959452968 19389082 560545450 114932456 560198632 532585808 700375278 516610092 706501832 640629730 63370324 617881182 573135144 252266692 938569146 73397236 391365038 737167112 923561862 266335490 144058622 194815856 995518206 771660800 594720570 774312894 55632138 51340970 55417424 961029290 71009670 746113344 719768624 771139974 973001888 614813422 271429386 730365418 335319582 86908664 164745990 36424516 314161698 762870936 236675942 343124194 586528824 395291374 70556756 312301756 891136282 562407736 983556990 130134200 312564546 583892100 468547864 286924118 289232748 823121408 298106044 756719764 822939334 391779762 156820358 569181644 141802816 727183658 532527498 403495776 658464982 248304246 158637544 672206780 387158246 515972732 28432332 166636574 902816702 380792356 949029118 210160436 790996938 467148058 800700558 272627094 865673860 589008028 633689318 737345020 487569232 297849178 954927756 33916966 576401284 415572876 525623430 14845500 283020998 67045680 337089926 982368326 770629490 641476214 307557912 409851076 960475158 785482898 699284246 521442112 4620984 712923456 533156692 724390082 598603238 772361600 483533096 637074634 765618852 299018570 261973468 877295326 798937578 983791758 898457850 850613284 735108602 993646228 489175254 475808688 795641946 546956322 297677094 641986994 812324150 242789098 671811540 871280900 633286244 529101988 980199682 581308340 692783306 335861716 262518360 586217666 379206482 847348964 310856772 313950468 881686682 793660472 822214214 9944468 725166906 78112672 706963168 942248530 800286496 417587918 685838604 145028636 298048792 988996878 719446844 103766864 302189708 316739500 836948002 220151042 472381836 470955164 320184390 821368086 564164864 434772278 304132746 50439132 50894948 515534186 890885886 289899018 613631458 800552440 608476054 7363430 40354952 97187104 117900760 260747040 440378730 877936484 483011322 472115144 460656802 629942806 121210878 459490772 19948170 977276146 941069150 663142164 598804188 99313544 18107736 124360098 924350078 823749536 120820718 698926590 942278606 876129266 871933758 743939606 547325022 953260978 963835032 418338530 417620586 83882294 847572202 869240672 869716978 859789352 395309426 35843104 114477014 422041632 813235374 198845502 491945624 492848688 212990950 692306242 859488992 778210056 6520710 724428972 915482634 6647536 232677746 149314938 704734306 957118602 870325940 324461328 463458210 724349434 600199604 956956136 268937214 496644494 779569054 36183520 308634802 520711978 474039726 80637152 64092904 224312522 988574222 809734812 571244932 521336320 221100232 184942326 891856986 274027920 260130196 67699684 334867870 665988226 612119808 323360046 760206072 133410744 268365040 682175948 874973872 931203894 58820382 694090412 838830250 846502588 841306734 870719626 66143940 314177756 833173396 680931976 111040040 745950442 79320026 990143514 223933450 471976152 551799322 615272850 174851774 92854004 673718264 387692496 258058184 752367024 478118808 317930710 707189644 437648260 609772832 470464356 897579282 355796036 804373462 383682696 432524098 685028204 444417950 255076306 103066904 755790766 468541816 297314836 620532718 684934084 852395982 910463862 760217814 104488928 700989052 634369602 470833734 489211454 834813540 6631996 449754724 6124142 66456852 425606804 59796426 886352166 55480538 898571268 232101572 322587778 66960430 149478628 261879574 528415064 841920714 742891106 469993044 27067846 241837800 355409888 433449172 816442208 566279852 379491322 419110660 542009474 351094568 582594940 295329818 538359858 528496096 638985458 291845636 798990074 178295562 698624414 243943386 641531688 70334584 34226596 386092014 118767070 412053944 651680090 550551238 428821100 662713062 368615468 890068986 750307896 805507932 218638722 53661922 216645558 88547624 470948062 207023888 245420796 639850668 486145758 977437210 702199404 76157666 300270368 915565368 274266706 7309924 83546352 437384112 558378282 923245168 938128176 430443934 730269956 297515962 674809186 81837814 262644902 621926892 965137604 778242740 636148290 873829550 365685884 211025090 765647244 261041844 377702548 45908790 596561292 71036554 244613298 894918302 359598702 642873430 461392674 508929204 197119372 907713240 399731330 495329968 908234856 454888092 729814374 51868316 731055296 47056102 713072134 626043008 373946580 667109084 542878978 422635312 392435122 145438378 714351248 540350142 468053862 346484624 582359338 625225294 124506812 151646184 360379956 335077300 185877098 633041810 312734094 161816824 702256440 144582840 173239560 922388116 353919074 586499884 833541242 954231920 747250258 887300052 91278292 804290048 139372624 923230180 750335420 225334410 161241262 451999792 625698956 648559890 27994620 40460154 75675766 981899284 838923868 511067392 123814404 942487464 262326580 916760184 372330108 807115788 510512444 896539836 865739894 973593238 231958056 56910524 110535934 31928584 386011468 454302988 962634144 680281790 126754722 369826580 638851754 265256300 137982972 812059484 258578890 188259700 417452510 977001206 651651404 755804616 704111750 917648522 399547956 827627804 813067838 679304400 280918338 186116862 696185496 240729688 199476876 924432560 558580806 573964832 139730904 203034538 118382474 628996934 466613310 725039882 670775154 423906088 715462220 326307226 697245728 551139574 571410920 238761626 317866478 449308022 192325580 302775470 748712162 70902178 572826944 714429332 154360788 202582090 418763112 426044316 934289532 729966634 986853012 92975470 355727256 292783872 459317804 806323256 318039310 861470292 501013010 985223546 86935166 838639710 545359774 721110544 873711998 923772074 385442724 254572022 374592440 731006922 613868922 366706380 125227310 754166734 471883968 890794332 677126724 981759328 577714198 448279744 800946774 138871494 828510238 704291810 948888284 383804332 275694892 388552484 264459712 50189540 895294002 578829810 202862064 268703316 969135790 479379516 34147326 665412202 506845772 237971286 92345180 22606720 388129658 657415594 441279130 2018460 653786922 255175520 305197392 677936602 661705330 651004918 257388748 111000926 517376880 327105540 374110832 565825540 595136508 134242150 894592938 371029364 553116024 701206944 515398032 752351430 709708032 682676952 994131012 182654644 748292778 77909040 546177004 174176150 633737368 97209782 211628880 542102714 50745778 894564840 959981286 958710990 466019478 778131140 393177214 475261974 986603108 966044500 79350688 619263248 980702744 288764296 29672554 215467914 849321274 988847750 880024654 75137876 659545144 821332750 130776726 341895662 18290608 509951574 386220126 844432560 262440902 569970028 195988994 280604128 172871576 30105524 319477638 560152620 553197912 836596944 417049772 42241442 343128966 90593388 864532656 706564344 572514470 476726570 593831198 52379986 967809002 799957442 343070310 648678988 738032564 59218732 199282196 209897540 360321608 27547754 923873666 730263940 677710632 944072996 842396080 603795016 953426334 820818388 184069550 914734558 745229748 660344612 891202250 810736012 495510250 301808198 845862584 519169594 157949214 4166454 503510678 666997192 101085894 878427900 362095776 554222250 737378600 99604738 912594776 879943152 627652482 166273928 903985182 462274418 708444096 301527114 405567160 628850718 765744160 421192284 821013938 735353032 475323288 507508322 654243468 731318558 88613390 185858640 196360462 42850766 86803616 441987938 377138198 322882124 579696282 614747720 479984212 533387884 94796342 171191090 983698676 837192064 26642302 463646040 452848830 161281658 59808172 107999868 70120636 667703348 568662110 69892184 837079270 687031668 725017964 280122158 292226406 266054078 532860152 140953956 476463502 194224814 394180960 751235204 637168734 147994644 703387526 835060068 753771140 834304380 900715064 299571418 633201756 537075020 55094548 605175702 600532858 713258634 393466932 641481056 783950736 762838916 289732354 474324980 42401360 999516858 512050578 730900714 245930854 568684006 64006130 289858856 764966798 20002164 149564786 824264960 395171836 294301376 401501308 965293540 588945798 820859856 34575316 170859412 241215210 185174102 247186164 634036308 417393594 176630928 195625774 578928096 159898920 736627040 760114712 561360950 878198678 316486534 601729720 12016420 483515592 333511868 842370240 67976608 33400736 631587888 301547982 347060870 530028230 966468252 715141098 386308864 12257656 250654776 386256526 488335638 567280678 475828594 420917874 621256844 398214082 614390036 771491348 21416494 807013100 462064860 961693944 48321380 635907958 481462120 1354618 217188886 432390480 263247250 400926794 914315350 862447596 694083648 109996422 897577444 594768428 320604712 885192734 172494440 841910448 851490232 252737388 261609606 843568380 659090888 394468062 914974430 570142910 549352926 121962258 894363314 207831818 357029164 429501182 542697938 121648276 452814200 765690852 801233166 836196512 755586132 88803526 361643932 592675430 187572262 705796278 954576666 480245290 372060562 174572482 633334878 30353504 412898850 835587946 301455412 424527464 660822578 367644036 562868072 420899176 737301816 47973404 516743972 183644396 251507532 660552600 584273172 495960356 600706966 436603606 163829490 658102752 804966012 394290036 789109636 56424576 722803020 152538700 16213678 784729666 385815568 370771646 516857550 229071224 524938390 736503118 155787998 245791228 40349880 835668996 67671836 458457076 652912840 301157200 457249382 811361524 463138502 227101166 508091104 317666974 882969166 971523020 75624124 150418678 424093016 958612596 389404370 364344426 271807180 501516482 501082926 398680854 446289688 219791056 739716902 866321210 891272246 509580400 352550810 478870088 638842912 261896956 700308132 996332636 319775406 65490252 329240270 309581346 515242604 178922694 258746242 401176118 558656570 69005102 101787744 220648150 602576612 664287768 349011672 775468812 885002074 504994788 88353454 84880570 724743008 961448748 301471308 985894272 716871208 560366154 767509252 24913826 725486918 340597622 468033176 218018938 281142896 923626680 355640672 130870592 376761814 369199878 724487052 818661006 883872718 914963166 754145784 599974922 107852996 729893264 747482052 692197122 263689188 723899478 384160232 721028856 735799780 99207120 904782972 848990272 977319592 847333434 704833018 673571226 948720406 255147260 725657276 773757052 677712082 294770466 402734978 271272038 353607194 271332396 505636678 748716698 932537912 848309348 919195446 665250292 641252894 524451056 961323574 394274806 431289982 107086900 832016200 608001504 585190516 933115912 82327062 235735178 168620154 210651500 196998698 884412020 550297200 524195578 205341728 895027476 889304506 852754550 617140192 704760186 971224614 723532900 628092690 585746610 173992176 495499632 529601944 434162010 441491864 63617060 363750122 761897956 542592738 18036156 817844150 767231554 719431434 807595606 130861748 68808704 47633092 334528926 909961540 813879564 156313222 533827104 954210524 737279152 917598722 768574026 346114584 970907150 837367240 276598216 583624356 93571970 604956478 740544230 398406172 341353628 37225314 78106172 388491388 641308786 281017892 447827838 617339756 834442688 156002678 23776680 898056746 234911182 952157724 378841988 449610696 897185712 307232622 328942458 662818200 976565030 659426664 273477440 221546320 164415924 967489694 201464566 758390608 96106366 461136624 735052968 252040146 624000954 47971894 475024928 122334620 153376174 968045830 226164180 211833748 311162424 788105342 581022348 940206924 57097144 109554308 755055934 82613092 366908890 305794142 956903930 648629842 56075846 81061514 76910536 148152950 902182532 202598152 216375044 519105612 290884594 550805486 903102686 932919688 132788446 173417318 24806300 425814178 282834690 311574088 50019912 687400728 743437286 673813214 825724652 214959536 705906050 425864622 647968958 817131140 176479596 304208782 458443828 627317394 403379398 546299680 267010260 881209400 586799830 146330896 88828114 271077772 744398086 201061724 672540250 336264614 118904462 119421364 774038612 339331454 794363648 280690330 894189462 72473146 705657376 259833736 918856680 732183238 647850118 136608350 890506608 310088486 89055230 991854782 371521424 396058704 545047368 523803718 439378800 420354202 676478508 203412140 779363084 478578416 462593082 944597848 679960952 706792698 628399660 846093004 973878538 787226410 354881170 347184952 248382210 473990848 979542274 712340124 923409202 31969098 703359228 624478804 707015376 377610918 901770502 496053462 614440834 84884004 58841406 524776750 147925776 668313538 441706306 264784608 12839500 369694970 486881190 114867066 10366128 775066932 464592822 719534944 924697192 567279508 124741812 827852966 306220064 588039716 428081182 390586358 822291072 782807948 313034838 846495766 837911116 139040906 273163050 181742576 147825398 601132218 490906826 829963218 303424878 627274370 985315018 410170676 454985670 704751688 521517144 717179222 33756550 229600064 47280236 459737774 29576740 883560596 62264566 476514530 965583930 380067518 238264212 326939388 235286900 685126706 304331232 377438722 857437302 828143430 232989556 657364722 583765024 130651468 952678932 238807538 863198802 911086286 172456296 994623780 68951836 744122058 367595988 390158698 177845084 625370352 331367186 182440070 678542912 121204580 460144866 105059196 302593092 398089428 270884814 463745350 495930980 898243090 10703282 830447072 851297096 803119600 467679012 710635584 930880610 106393096 779305378 585916496 916389690 316259048 117613620 267999524 890439864 628335938 572182640 921560568 617543932 491729042 225342836 316353464 505776596 361696446 319967388 835385840 363507280 509783470 925968724 214357844 6945772 154440266 636868880 470730162 576294170 750313986 233661628 527064610 28060824 556224146 144116372 257657048 239643142 255262326 94920260 904335550 570678252 631457694 866767734 387233020 567627102 466653624 220158076 20231092 866145654 626685838 879971484 121865748 169667154 900315864 38736676 452244068 86606452 462569976 803492024 883927526 977753394 95647048 428095838 849366824 223729634 887193526 591963436 529020238 206968096 268549718 983490856 691307450 219442664 676704272 208898678 68352328 643148332 332576548 518530702 979196962 690997688 294982872 561934710 948496920 939119600 973251834 582727998 666406392 681553126 997899680 87855808 368269326 483162598 394744316 282741572 560180604 811947800 590718222 537565782 716021898 891581114 12352132 592263446 783544158 853929630 506733306 32119720 621054394 377841064 606572180 93546510 729807088 175230212 175150064 455163912 342428616 701150666 427867000 535094232 599396614 524931576 130597112 524771152 609489212 719120298 174092042 849211302 67216988 707221744 38131466 853634668 676965862 791438384 422287834 570182028 977559810 671500330 205813806 92263856 721793158 887395250 966593068 993375022 85899878 600320312 233690388 179704790 270934694 535474734 745534120 408500080 139778282 125269936 620530222 35271436 628062338 54831484 663340934 157694322 469359468 167680780 222819932 169692718 570249196 562694996 154995568 654230436 212829212 939288782 236113350 671524596 291757750 262773716 604908112 851616360 86354936 80368374 909159844 333382008 433096580 579268964 966269606 912702028 784730402 944277268 981060476 449564992 322211260 683252440 279088074 366899054 946271950 399901180 511997582 878910246 131981864 920647506 192479096 592990892 430101674 453367468 848474332 69468102 558848906 805859680 327363442 957362150 199393872 725208328 882035902 830913482 336916576 810428794 307027212 433757664 170406620 929786578 452293222 209700248 586366598 800389436 585012122 646128916 755369852 431283526 571076770 31317836 670540736 724285074 650031372 815483784 81123060 360464682 409964810 445001798 238321780 212234798 823730592 116634244 105939808 7055092 88065162 916455398 38309166 317561606 549930942 789705584 642329394 906185662 897925996 116453750 823503830 26524150 295605042 253145878 187516912 602898392 417716996 244447418 749795992 986532520 518767932 539054096 375263212 310083364 229178794 198086044 588209750 681743074 247017560 268021962 838121288 763403448 957754638 623612198 108329900 269664068 461041708 444721514 906060928 767279512 217139452 40641874 927509058 616181448 135340210 641983832 149472248 220314090 649054906 528070064 547862222 68685876 780555374 672866014 194844736 69868044 173540744 688713098 879136924 969945880 400726938 208609882 14377584 96730526 304635838 208787516 517178898 205773642 172037606 635277178 733692216 384577052 83328252 970189828 534650538 322183298 943371238 174521120 922154064 651846882 899265812 995310002 544783484 530444058 314944044 103293886 116032910 145252572 167630494 598960938 518216728 388801450 581126234 25287204 175395688 215089340 356311660 396467906 353669684 136552886 39715074 509539766 544529188 398734702 671956076 816128598 843639098 715500954 962423316 145203858 400912154 733722644 290437248 742751974 532286504 905632466 139180126 549454556 563007204 166411648 867367304 274669912 987903320 298854388 157007510 840333374 185708872 520327060 430088178 205075312 638663932 881903216 985988798 710048442 861143794 811879018 30901526 646085770 860547056 735438736 215368602 961657392 450278830 78865404 933904824 289094744 845532036 137710618 238287718 703586144 219258752 635086112 421877982 876958214 15758496 375552324 363995428 128655122 813205832 672322128 150443390 402789106 562396168 806258164 528615516 392218112 984745384 529196258 84377588 384585974 793333332 191720136 134198140 366842734 600759052 560961088 107155290 665796780 377326724 245611302 351241194 308129986 969129574 723964568 256981410 651819800 825079266 2562266 572530724 310026514 497020286 451464984 949248416 546030846 37043236 867027438 384153156 605394910 880955034 343756504 293031184 805605018 119257828 645834860 473840220 972853814 602524488 147383830 980899888 154400738 419466912 649947746 722145160 215113330 521742344 966629108 598213920 408031282 955666860 737614300 779903332 557387450 733794938 22422262 87897124 55890044 887596744 625954646 479026796 462654036 633627310 46286056 74480640 983016300 819195170 162978980 647190740 116782886 227900142 170627404 234617966 440340566 492622632 461550454 811650170 570437814 756052378 91793960 236749944 538989774 286622836 47992516 564365700 7593496 472998148 816275350 315644736 173518894 692092234 894048588 982211050 795825758 988450050 98215372 557516528 548198156 736896700 248187558 838458622 4110230 746156304 1020152 919725208 966681794 411324972 840437434 607398182 573081188 697963228 384181888 315386620 198344878 299946532 35150016 880024798 694797964 654481966 377666588 937605744 314716474 764037236 479981730 836245838 650174654 749886568 92543310 704552132 721768296 510445338 721264462 873345174 123835046 883528658 129640648 710920158 853273822 15560850 505900644 482544416 76003794 525298088 433578850 226371418 275384282 265636518 909334572 962409234 833280512 226496472 841331082 876605320 411543100 60531280 492846944 219641992 590427702 329234080 600201696 697439264 963692666 935976216 58521734 130768484 49690614 624985598 812457450 352734450 283253272 323038328 435556804 383213160 441545544 742348474 300371278 805087426 309800460 99681320 580202708 171907456 856525738 928913912 211060104 296254788 212118926 954155630 487245412 531736760 199912190 573383100 676787852 259445810 165231264 805030278 502364200 432700630 2381326 937499546 966822946 158639366 157143066 866185922 169083440 209063402 212901136 320940516 488244268 668615492 410196708 991989318 521852896 326964136 449613802 438420616 599484118 482663068 720527496 301304664 332132208 15310806 917544876 282206760 73126252 639652716 406253514 134273968 769319928 617905434 275589484 207617186 780756074 606796202 321238380 173487238 610288292 274715150 50513104 151048104 344373700 990707538 863901006 207499914 293454856 887015042 456976014 384301984 932571480 469876880 229467198 591377932 386573320 120839974 8102786 679946460 785775396 566546526 680239134 840547494 1507408 973748028 802671006 995399874 247333030 628624478 289596552 753294448 377297604 657551992 567946318 160107386 554168196 618799100 410751846 782004254 845017246 895859814 945454570 491269718 160836344 761380790 499289526 740557078 765280654 172886634 197591346 276869710 828948922 765471418 377622994 683508808 220624056 728936540 152938968 195929428 394573708 463323632 354205234 195766670 150201860 448609084 79765244 914923978 778210032 675666042 219203142 448340020 110095728 850726670 552792642 790585958 200586114 282512776 373448588 901501244 477418068 716787562 9806234 959165528 583401466 379166686 758264058 767365228 737441074 671169550 348213328 275392660 760858888 277604516 554732366 511963212 348219434 299902768 60106132 192733232 780706044 667790526 420975334 183012046 805300000 73274490 699894212 988628016 355667694 533781476 389940500 890832950 341044510 536137150 781097792 679379646 574902376 237458728 364805466 963567618 162963480 708352550 8304590 566588088 646568480 487156050 832468666 47266156 446673220 703893720 48671686 795739726 200429452 479519234 670542306 945965248 847591306 148934272 586128342 851329126 548468592 984016254 642418988 95028746 551643284 902696096 270903388 118680636 265950034 284351144 427252626 702295658 15358058 84826598 801272460 344799122 824153526 137533970 535226608 226080346 336096224 141491712 734094890 655232590 341184132 117232234 853099090 569379840 828908064 52245118 971865780 757071046 285145524 138500468 14332476 378539208 860108384 319904094 426657816 403776296 380405854 926618830 201576638 259057140 792180888 203450048 567157724 333839062 169170736 618128986 178781396 302950636 994487976 289439988 840275846 920095504 320048772 438448010 446615678 512914156 916191454 678203036 156219350 528141194 33731666 223385178 460845590 228522360 467665174 753130684 590812878 896357364 122837868 728629180 126532338 682268114 873882294 798052858 202152046 714033472 326580138 279804328 199530004 436331206 19736734 659381494 457505640 17147672 224132188 108624616 260473840 403501960 801873328 318688784 224431542 970790754 724514260 977757964 589880210 873501978 798249986 443172746 491485306 401075348 470391648 624841290 695316760 559902374 707428800 801386646 530381862 913246958 769408898 502049718 264186376 856320802 948690050 186733502 681043132 527021538 109617364 632539640 407113384 564857772 638758814 167335470 560763912 254946048 836294280 778791130 325527204 829519844 106355064 116847502 633804208 731342676 16925546 465427060 899462926 567675330 25772172 829355152 12667638 546974704 344153280 751353414 476280196 19428132 193089782 810780292 126566704 292466028 934873218 199696902 174669902 281209694 473242318 234596944 510408730 897095086 236844620 646442804 995348116 246625524 924526748 346650274 873940998 64416686 885485316 750814180 286920130 654989384 457006700 978395560 269309844 49157868 27167530 27752474 39037916 259035184 891697678 903336412 640829788 103614502 131869378 891116990 441449488 473326938 642947176 628971854 105010650 977693618 854645702 734896198 485432314 575924290 879654804 421266900 60310854 397315352 947647738 808922208 564065144 406112042 984774942 781425786 896638678 193563152 42436566 122731848 260260500 986030926 543371522 85588148 578269882 688070206 824269710 849041432 965184482 240995030 887154202 925911748 371392534 56160854 139947410 738679520 375660926 959841278 673525634 865442862 563828292 180643642 733630536 117275474 651417822 358028248 99397366 674062514 46679614 950335732 751381838 480298698 815879592 214191018 789205944 406902758 70929572 529591216 920890874 608806828 187915748 736476442 597919130 984194144 346830784 212874920 166227920 815922440 509288032 534972298 328834842 751230214 706476354 72596252 824952582 686589568 789818982 39414986 688001304 163200772 647215884 826202 674438778 450422832 835831334 436514034 451215266 964236856 131748938 248583420 724203408 876047518 481474066 658439596 432573888 523274998 841620876 163695676 659438430 551647530 299427252 149323344 22634306 610358204 567626654 772311028 240406126 33886350 50569674 702433720 554035620 405210340 323628606 318079022 220651264 924373498 876348872 797415356 318932994 688444132 812508204 890408324 297760784 209661590 408296108 125732694 367410946 779450392 331363048 321618000 853795920 718721390 669111904 939131936 646214860 87654760 112427582 537122914 993116264 866845328
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
