2
200000 1000000000
55526872 922665986 772164104 289037514 931284372 494719008 404088672 424401874 411448180 288133476 740131368 581274496 365590356 640690592 479928752 291489088 286569204 762890036 444384302 862569838 99547010 599504554 449041362 31188552 615819246 461701504 783070984 196962546 273893432 85183016 832491630 540995960 812974546 12580430 537648652 756272290 803939506 382574392 323522422 320025464 626655790 315807418 691794266 619635844 379476252 818573278 589272176 188794338 208752260 607425130 141280666 106017188 878187424 361657122 330097908 346834582 902856774 744926666 28982454 223509596 153933084 262607396 965825586 385285938 400400482 113358860 89450902 815864246 785632262 175920832 215637624 792829160 660135702 252964018 115400248 363220466 290629300 161110490 404260660 480064256 266647160 884739020 558897818 622292792 392145684 14142714 15205324 40832476 470735648 83359516 899592648 436146836 663094450 131318168 913926506 21003376 245222422 507576900 154835690 686144336 72071152 815964592 496061142 127368014 523677776 305044928 885326342 926186268 770820810 333894480 935809488 258461440 774513550 494477058 555960508 650666562 693937166 443041036 827151884 36298188 842746770 433444852 263297836 327980594 835698818 740760564 502267414 774119530 82602622 88950638 594680586 779980604 917175394 100958844 668844350 203856442 110494860 884067914 451407288 305400852 50278508 571936870 189985800 275167818 135213496 100158056 966700666 335547484 868318416 735820998 898211868 473289100 756716342 509667588 629031498 609897386 841135672 944247142 699705440 741229336 383100432 875330002 974682644 17858666 251462734 856699356 305182820 972960176 435849774 599243422 786798344 776278954 311784504 744134804 757768408 416208264 598048056 969673774 230058394 349819518 276581242 61145964 397739942 7790072 345680014 589862150 858493036 645050986 999679080 679264850 845743182 662085128 254000302 962291304 873428050 998492520 232368534 387721200 81515618 341372932 923956692 738517242 993528176 986209628 562594158 100127630 754254136 435816178 9905900 653931624 672385072 310139218 357840520 195899260 325719046 296401976 421440282 609556206 933026690 931717826 910147064 551047088 42011512 774972602 268383204 525098106 896427328 408684242 550857408 209153878 306499220 45933196 857052504 509041090 759300204 525804256 10970174 122130760 64149134 367460230 965601378 998576800 73482902 814795666 263735826 207556332 80435380 470738314 779740310 818079968 459499816 184014288 627439372 810605840 335756582 158283468 780978670 730613376 94069420 709112732 181269402 537504448 963565470 152981264 262973326 873995050 351359092 2665870 664130930 738737320 328937442 478759544 857110158 666611532 381125224 481705790 26010304 577697480 861618740 962194360 784586240 816030358 53597610 310585438 523049694 25581674 707809862 759207998 537780576 105551420 659692792 721697936 63139958 404002920 88695394 51277786 164698798 488105332 338345288 785953772 825096338 850360594 506242478 649747370 725820288 961601416 719924504 350471362 491393262 529100224 474866292 901587112 127260746 399896086 635163058 640334500 627002726 600248228 670599206 60189106 20474338 465953902 509844854 894583680 243547616 162949226 736168990 290857430 60227922 451376692 781594614 558109098 837742320 229165520 91650420 772708682 919266312 431874686 35867862 365296750 381972516 877375502 524244564 479073432 419291900 845187924 412166812 600346680 159297068 632784040 264765436 822049156 216264056 752386754 563641094 104228132 552381372 587494750 431053248 894005492 976784196 819074868 450732176 234829990 489545370 283353874 72667134 327876956 412419264 11202652 942879718 549214452 54666430 362518670 361725426 903055494 532754788 566735916 816579426 64608292 801857478 312287396 867711750 921666700 174932024 262275054 384091980 56481512 599676178 961371296 505430908 771211690 137113296 833415234 536431768 705312944 721196064 216451050 422418146 340443310 585316464 436577130 950739322 432217218 570242822 763504952 147881112 18870270 199792980 934874670 216464678 77798868 429504846 938353476 916249806 422078654 208389092 903811898 227536676 818851492 183733146 422432676 917179514 82202976 864488094 630978332 675400036 509197336 141321998 326156300 115256984 193002060 614336320 867431068 936435042 564980250 507576624 376946598 395713470 853170900 695094684 545333046 474549498 219480230 476009728 68235196 193105346 456025310 838141718 941377280 55448900 734707388 707167002 433779944 421800914 849330426 999152334 803467856 481485916 240914080 139614080 950997216 124631820 168035826 192948554 798665344 977486416 245664274 350726836 754385996 961364182 445248494 950592192 513375664 524222398 681074416 814262428 400325480 146051500 955971950 348028170 69890946 384343578 922782458 54065222 890554202 388835574 66654102 783667806 547954648 409869476 643248162 406008122 468999008 33087098 894070026 352712222 866291216 959393320 388917514 140888854 994531010 274073880 152570750 363021632 636486062 459064492 531704 423091462 697674538 748879092 875640476 762354672 61358122 339263090 680345608 870524542 239969988 605307092 578383126 557516446 39118880 367657396 143594270 423207404 917363610 964333280 188922900 550317006 161875944 660906008 989135584 277995474 24614406 77038354 78590954 888964576 157547142 707429110 38341446 813009936 85996190 180539146 865245418 431394692 486036540 911384616 313866980 165161680 987432910 984929998 975328256 160303368 561930176 308289228 317998276 838758130 789517954 862085208 446302524 554378116 202584530 773904354 97253938 297752822 914380966 277971374 474481892 896182126 149073910 165747146 692542242 44125902 371780600 580416654 806311762 568790578 841710264 976649354 971912878 558980734 198063296 300985510 813422560 271079180 506587472 600612222 376772720 503732256 75598994 994502564 400154740 109036214 875146380 973197966 459418302 589567394 442428726 492527816 57644348 98445154 785332468 904067760 973605930 748375944 667275970 657488298 438948692 854616728 162878332 728780424 903440638 19884828 755053764 426490426 773133228 436334670 249251162 913041226 534437006 693508874 217619380 226475606 886468532 915437548 826702968 890537144 587878430 281372456 688938452 68183082 422087578 874397278 423713896 217783724 199497948 886570252 864040804 447960922 497342574 747043714 711388022 355737534 641785420 362397526 567251314 446469162 281495024 328327032 999876808 821476262 17376646 527947284 540360052 914473202 447412568 463878638 156826508 59329366 572975146 1329418 632683972 42180260 231854220 519859226 589777494 223871640 884139472 248582446 525656690 191576404 495148108 697087854 384002496 442065772 234379918 28042764 349558670 5329164 228693636 259948104 75448808 489747442 181251536 953325638 252404212 430776530 908812706 335438414 224985628 658183344 456892960 938064790 210706640 380135802 767495638 966016670 512464392 520115774 322875360 423026916 391949666 390015044 327926266 133299982 435797132 254942740 316856724 346223536 633083268 441468678 982600648 173267996 701945782 240040086 229485520 4396590 629269846 227455790 155511192 986160640 581406804 225700088 946773954 622029416 257500198 309195054 369350842 707427118 345889586 276597656 40201768 36583390 506357856 558116824 644011406 758095012 63137722 343960420 117030544 246710980 806403886 689145820 8577682 402163390 754519216 913187620 990594056 584704910 67135358 114937812 75135208 335761808 136643152 256910788 3196662 1205344 952998838 372310046 517076876 103005806 200388868 349343582 175707024 329078792 90631792 240604416 387975678 962163954 925455786 616633992 472120976 22595782 452694994 189442780 158565820 448228876 914738636 972151744 364797232 301013874 851448040 586848060 442756544 306147444 103176394 659296572 647975172 577744834 976488318 781052862 99611140 758456252 24230250 494219918 231980236 850839460 698683232 53228 447560608 203893504 515594496 955747590 876509064 387045788 26796302 941334982 516627270 534960872 825294280 873055846 925936866 916647512 348838554 706076722 152319846 2419324 950259406 197932326 646739310 468207320 226470564 628010868 946447538 66098918 663236058 857882930 110044226 978799480 422448790 14902450 587549058 728730866 718534964 663248122 713686340 843755898 595849866 816168088 964099272 989073508 34609994 798186206 602744354 690667616 468682608 144638936 557235962 80169134 762136194 547993652 108289376 435043378 240211942 658312022 44907166 245127188 700813984 351885466 760484950 824391228 152945254 218719162 26712014 591229630 760936232 132376630 256049100 4570956 700697534 613185810 964068260 163067548 353166914 393316474 72313404 45942236 570033648 394038346 272086966 906827830 611596392 119296994 711242614 907245266 792712156 861416388 255742320 607465518 717106220 946193674 429422766 990590416 496963526 207307662 31599944 984007028 982493882 644747936 556766860 45703570 912190162 443991690 304028290 500582170 662021500 919420824 167397342 783239080 789183630 735142532 556993836 742537482 859221720 308333636 130071386 906718338 765904348 911478182 751956774 426802784 927399506 470922966 816486432 839815802 853796076 92991794 719227104 808044040 754810890 88350316 574660252 889262122 85086574 106134994 334194942 375873880 942737786 187431540 592085396 78363344 565105468 352351318 474601262 291908174 379834342 123282782 88432996 606132064 221434764 88206582 795477310 590670052 680117002 508435914 6914236 428478766 605901372 611251332 988849542 852442556 858160770 285586210 147065536 488245956 866400516 882096522 315568278 371800576 592166044 102453670 658169306 150090828 436636664 322546094 879849866 279485310 868295918 260634982 969535752 636781684 159978420 508783410 706935044 517436180 255439718 173326416 572648426 241827972 487478952 233775636 331202014 972223958 437309430 899787686 478909576 153085560 275691046 750569174 195489704 779219850 623597698 217032384 342994154 597386368 486341744 968684814 828908976 606911056 6982452 315681164 264064278 975508566 186318098 344717012 993428826 571636814 176876548 807084492 164355756 683576516 417760108 16328714 986013488 18232282 560512216 751932694 470854158 75480502 904311210 323632592 383334200 6880042 143849312 27607568 758093878 483954968 732089160 877326482 294978332 934944258 433596702 34546642 761833572 704307618 419954066 549593236 815649914 332061848 619478152 803948740 167599484 808381916 314505374 946457692 999004140 36684590 964797444 482078362 98486534 225216392 881918052 305793782 953696460 694598888 36561652 9925326 538205398 107277400 948216048 888029038 835992182 836163230 669800286 360280824 633423298 662592824 230167864 700720950 514970222 92268390 881618372 257608888 86415544 250113786 473455488 580819568 55103388 49874032 801385286 780309318 861359410 494606524 570970678 51765488 224650018 574900348 941940344 444359702 277141048 495591434 809345070 273179188 461715072 574418770 700712494 64287522 3322078 57604550 894684054 369509296 999570922 734072778 657113228 962468798 39273184 899548206 807364184 169246108 2391826 352499416 424745626 91945350 181839374 987810350 53190068 562749756 890948582 682972468 974911970 870036134 355443240 275800604 985519678 731848952 536100754 880234624 701921384 415112336 251017404 686951840 957431698 932444080 740569624 712885586 55256566 542493170 530964712 93500710 402953690 359961436 549224404 156273378 890256896 333311752 310080542 158722518 277896878 70697516 865244422 917539274 787954742 326771202 196116952 880701782 472442798 587189368 253980424 875272702 228575042 803320340 748539246 327470132 665656490 347071768 123291946 461580768 285369138 584377516 523030830 235641066 957380610 845690712 284005670 535160094 771839090 316110660 459913744 707789816 118748016 440198868 648038484 51291586 561715080 366367600 658373238 822500678 603522068 21223754 885596192 305761188 155024966 533273128 192219076 12549162 740112330 930212806 875215866 906791756 95546224 169907628 784844446 402244268 786937192 498600950 210007604 166762654 681364396 371184068 718278850 151717422 491405330 388545592 33387826 991577938 720934370 581629630 492888778 124266930 719605174 149835690 126111758 434196676 11023472 193380620 127601170 954045710 638856858 613995806 551244246 48191176 235657098 671142920 895561234 186648890 17851132 31879620 990882390 922280976 222385084 623685052 586720664 251246928 276271270 598451714 11326846 283990814 927430222 922611014 360341018 454676800 97935064 182805628 710624836 266219674 568181258 368976000 482822658 492636156 890896430 434901154 261830130 3070108 896363392 239001558 435576022 480418628 612550700 722245376 441705910 809520210 959195962 610288178 346754950 585321236 607380216 815126372 622774826 533268936 442837404 267310758 865861800 379912270 589122204 419896782 307744146 306221860 579677594 929477506 532165380 949744410 566332074 631677792 691304302 789916730 2989892 140416156 852378450 359481036 707570710 89090552 443327220 799597440 357186298 317611930 709154792 103362258 595607084 544470348 456350426 924447386 849712542 950553244 983179252 513873668 245334902 840614954 9518234 87080456 708892422 295757000 912164016 224708660 193386456 947964994 25527670 541540342 790637746 549193826 83826576 398344118 518921956 365043902 137419004 132053212 550281240 435232028 223090964 756899314 779863984 284149832 123882932 51460602 199548824 301921042 891638302 443103370 54050746 924883864 29673314 585684888 554098342 69476304 900538090 434077010 506708268 118522728 781703008 654941034 396142304 262568160 976986140 564881630 274390424 402944582 895612660 305957538 94871924 435784248 177366246 275490404 909282354 546090438 305480992 184250538 240141330 797332676 378590764 614039206 226166324 810987792 954699344 182394390 919267262 844522094 653849714 877159228 678269336 566448902 720557434 294187358 516860282 23020362 128224372 25611122 831831012 407270178 942178020 18730368 912667446 310705820 694175654 482386486 806839708 8648860 909079772 748371776 35318550 399542322 351534450 305900410 934207334 705910772 821484158 980369418 805999310 906327032 366123832 782528924 83232890 36515876 551070536 276742818 881731886 484685234 499482374 534218610 709755950 964100320 257361568 8047490 856109184 351667288 138695364 158314654 33323980 901210006 43430922 620674848 694380450 905056736 118097554 866938936 788954094 854763442 835344486 424948654 626865976 589464918 962439652 508814046 741388988 26750564 952541264 300279072 725740144 964895556 300049296 475679360 65637676 570923710 447826202 356952054 659869346 92664332 357855100 39084354 294442634 35462980 225611998 514810030 781291660 267071058 391333172 720088480 954953962 159566616 570649736 269794598 831631916 430811558 325441738 801647640 926999346 698419356 81882968 65751200 366669506 943643110 894682322 272346436 493936404 484367812 257487950 22474274 883567598 550061216 673309088 275857772 444867606 363314812 718213520 539869920 719822070 758057862 986321686 390771416 800463452 749353270 166809254 319260222 370452114 713561752 460648250 202902702 742139722 945505098 483711894 102792094 391905494 679028174 395627210 614493320 278373516 510871164 174996504 940631940 100018420 964571608 975196244 377970464 246436290 194588272 548332608 629667570 373378712 707227014 115218936 308832840 352457314 831512984 281136044 170891014 416288924 756485042 597878432 250763372 103847054 730227310 698609350 24694688 116975528 456866532 347094706 39719074 720920196 181388438 391588294 831698560 408224478 894779818 502478826 894751322 483590894 362434098 445435164 571001924 584147296 823326098 177959886 268164712 194914644 759821204 896520440 268983852 898677978 949004146 222559926 127802540 259998338 312730556 201785346 849055714 504617462 405666034 668372960 209359240 224942150 511393632 38088062 888585836 821151054 208975630 504885446 967935666 202213574 230490470 698044188 154193576 55782948 991073796 462913540 967774604 561724832 802109712 671524726 603314718 298223994 790596698 429688182 223156164 838109198 840646592 888351104 219994874 516113888 612232688 384172246 273164766 650669420 473672154 868791426 498437850 594391554 222449886 31896286 276444456 469786006 121254496 403378142 942578884 694534700 127015362 841391356 322209736 892799116 914938280 311510216 54545178 158614864 550665326 650180944 212418074 580668414 94544626 290725086 875904726 462177866 671594014 960238854 297006980 139569794 729748852 377570758 578411672 206241218 389148352 386241740 455380392 699408500 610901348 194226246 824464554 714069782 4531146 202665012 186953602 76176638 754295800 639989510 44403884 247408518 670042512 193353446 433392456 439804764 147478272 517745216 160839582 395967612 374975864 395802982 708552558 500487726 826615620 600559486 7517888 708114442 715031766 373550720 724843046 96673376 29734526 721147728 852606534 215440852 771705434 826271314 37235006 8594650 121202606 630256928 835224758 960256556 30453134 927404600 345384930 924307982 709016982 324968768 639371514 997027262 573011964 401075188 102270844 834490670 803075838 65223240 933826066 224568314 827032024 317208750 341688024 374091618 388619966 862075202 85918252 168920622 631906736 281880972 171380930 651172744 14675930 524703008 934462408 216637914 814046966 122073172 870098008 313097338 534938994 367654730 794401096 817195420 600761504 342588130 16272086 328708726 794172652 656747066 991579030 204846766 403976120 49234936 901950664 715238180 197494364 482672344 678803514 513918920 681766162 25247052 115655052 960462026 613991250 702045650 832870846 39493036 325844850 434076778 705909990 61216102 43139314 84641856 71736658 337862524 263908324 682142264 20202572 471386292 181599736 692190202 641161406 918445450 216967170 194922666 336087590 985011948 433479670 275458304 562653376 993711168 14657594 383841684 656387966 393781152 450449470 355910124 788415182 711822844 594499864 328962148 239047182 622892586 41380710 830435336 773244136 209326772 807260872 981121096 272627252 650382576 829744560 346138778 739399704 380264492 360781292 773309034 143509550 546674894 161958308 465379776 66140126 799421748 833230512 696286886 234075170 820607662 422401340 971652652 200253254 338759034 288844782 215160298 79412384 28757264 579950494 853770092 715206732 544800288 780639648 446643404 971027986 530528596 849879524 33958858 296148874 799721102 528903464 657226100 352965946 426243736 717319958 28331686 52647830 53660610 414701340 228006470 791179408 988327602 409843098 37703492 357790288 368360112 735271260 515328852 572432260 331601478 324131738 104816030 472566612 127001970 895398768 585370562 544989078 127989938 235530088 606982252 474315632 242943086 433440194 770257532 840167712 390394386 673034680 477725322 99831822 22689450 67362810 880933632 174875242 488412460 974060726 474428256 196150776 980365098 124030928 228036500 479898020 935834506 531943650 207188716 695110000 697704994 438567648 383367728 498697032 928852446 558775040 709819830 517667652 27095868 611116456 294841894 632440342 672213062 109677640 806944564 448533464 619716172 868043812 576107828 349048478 790351588 94631324 944052186 933254748 615636150 620715874 479155500 368823128 288908380 481398402 986996222 130159298 387973238 545990562 439961340 16556176 761863968 291744532 742986462 156463626 667557762 759514394 978529772 202501002 16337670 76647628 503745486 625168092 421721918 973898576 112582458 621630170 422555406 209147936 325389776 347333420 983422008 697643344 629706416 454589316 15435782 20612246 723008216 276744808 781971250 811807476 873629792 380153098 182073222 687248196 674054066 324724130 675759784 89230532 285207496 266266986 498810200 906060092 944458340 333760196 751949592 596615286 157520232 852137404 999735196 522591654 795937544 598333336 536015016 504107550 373410878 560081070 382877362 1614942 706371918 929756672 189083268 929978622 76464666 773399332 657441698 620222992 210814880 390451116 210367870 384050002 488721974 407796114 476022860 564581222 95100992 264753218 306323356 561965302 960088682 457457694 204279246 728998410 304238986 766297318 480473224 655792018 526478270 412671374 672408432 411748906 780534834 966023578 685971382 603946290 613508772 932056674 573086252 807857984 158594776 469386012 144905270 703611684 49841930 215081806 849492902 395534210 400830252 68040790 437558174 358768466 37186638 262016026 587895126 853886090 257381868 863378340 119276490 392973048 545964414 598897534 576715430 48415366 174931228 267860960 564105114 874873202 380730176 534355800 680850232 940795828 650296098 611454866 573922592 555560810 484145220 869552528 635412458 18403612 875368910 710030752 400089066 224631528 586574808 920177254 625064594 394633312 602955642 734323616 985038234 3057076 977967640 839695122 202477602 832707400 463616810 925767704 571346648 498249274 320032356 411881054 263757462 304676370 49871254 4642016 913967210 962411188 157692042 779794136 400646024 204942530 499395632 411819380 566289812 936142118 937947446 867380274 880976924 156353916 77908184 485106480 262157596 474617442 725549518 504339302 910991932 874563650 916811070 784672048 2106660 419236136 340479438 389840880 337823300 599561938 634111318 644163336 591403272 690577392 543225830 728220850 816810368 322743292 263519712 885359690 945372724 300213930 111075132 207391406 389865206 12879462 549274532 19213386 634455462 284128842 850116752 174848470 83906054 207207292 926476932 50141058 732579144 4261700 485052144 890454102 487439310 836035410 443427972 617335970 860493284 556079720 651649376 802884620 291611166 588063008 663450190 791585490 814131400 560696478 979216726 297147500 498058274 940066828 26284854 613381930 919458902 940119686 819684070 703991890 779515276 576235252 366509644 209834878 83065768 134874440 207152790 768761724 431381412 494122162 582151874 189369574 827110800 965352558 437425840 875309378 619118144 338755540 337363870 480746376 132821870 630948958 141132314 963078680 80011678 925980814 393594682 484556966 23243726 289856356 882626832 220427842 439521992 906326102 779473694 830325960 874962492 115040506 530808624 89329798 59815552 349403324 139299394 801160312 799293108 409465144 258630010 984046176 299909488 909794740 405050970 742379368 664872870 607656536 911178542 539791166 888204190 896411274 57101826 530027916 246233526 521523202 600925722 105715182 23288930 985216708 105176714 469906762 17019456 898414968 24317966 977531140 44080218 151887548 767613354 251277356 229957846 355437844 880930504 371772942 195805646 191188214 70426114 767193516 772163266 100183398 750587068 849641214 418076912 770067904 646507502 537011150 878033070 23890440 169133734 455385188 482037674 167158902 356373886 339314072 706755846 372941258 212985448 648196202 981482562 175475854 646010142 801547342 865834676 196980550 110957634 285467612 946208976 242635262 208434034 379185678 528179704 777152098 941595802 888232132 275493664 917152428 858566352 955550370 735788212 421257204 697766842 108644770 680469652 870474292 329777970 582921720 757948462 83955736 813633444 381978374 77159674 888186826 167920942 211934726 953141146 536216504 651085492 403915444 706511534 678124036 528920028 81199092 890596350 546596524 781978554 913872648 203985428 760129702 600382066 413051810 906125420 827714918 266633866 416495098 105619470 827171228 970571472 930818348 473561196 229033468 640492728 363395100 499413028 832784744 952285032 508139588 101532572 460812120 881999928 620318262 671641222 646880546 553943202 778100610 875500044 635596272 599256886 652439784 250589726 147115922 201042414 92589154 563764090 476483618 717165666 492984416 360846624 661495666 34870466 346291160 580148146 990685270 912376588 896035944 17795416 726727998 957426338 275833278 108287664 512414616 338084368 754783550 323408130 632489852 415355876 587684452 296058880 187047612 234399454 724823862 224912240 935085844 535257028 779909840 36243520 978633950 672981940 617035616 484281294 661591882 577226410 940862924 752369144 266150274 586200776 427025538 772969454 946107812 178176604 502428924 98322884 213635846 726736554 437900816 13024212 45531484 812458990 930140472 638660338 372060944 804085886 783900544 75504528 996969942 879712652 301297456 192811980 728779974 209230776 455123896 986882366 399733758 185460710 165842052 25349080 958412584 299960514 562704568 693244906 842416858 511991866 516037286 458262494 222911762 732823702 658831378 171498640 617093892 612148410 430965260 24639500 120732678 78252 99509320 265835622 620533758 21241000 204286970 659863822 608723560 37554734 901744886 701260358 716617760 560173856 183293284 490416090 236370996 493618164 498699468 321316750 807776014 640403514 950226934 827252806 852839676 478733752 668542582 503843892 368712198 223188328 111397516 913684510 521618436 858037546 537892058 246864996 493723248 78316970 59432258 868237940 141199212 405897318 438187184 714622882 313019072 657572656 37929922 463888740 369921952 961672690 167510386 375814704 368059426 671491212 498652210 425627696 669960152 552474062 679191654 438313842 80055358 970620052 512878752 59012182 688599804 844262884 74008804 813356314 59769794 65160202 853945604 479193202 647358214 627737564 415828932 823002110 530369606 479517710 778230504 899883918 115212878 533312808 163830216 599793094 908040666 898344286 329465232 997760592 340069620 783686772 39236466 259542374 965506278 463482812 571524578 921019804 155898886 990799032 904977256 276269438 370628602 92629566 146359074 747087060 358833058 183517530 638553916 536278992 937955468 514437628 327566126 429874964 871928642 254507498 861463474 162068994 705544270 410865558 789346158 800649400 295893104 981993858 489990920 785612934 779745876 786988612 23421716 324373756 810741918 89382112 703617228 375661770 468564900 307533076 440506160 425985124 590691524 170932316 536747674 398993730 185573736 821318094 289936964 650415950 976537556 491059024 301694352 433633346 691448922 604378706 436424950 735284280 128557118 629922466 709120742 696536302 500885788 115909138 154015688 336512302 810417614 901303794 670238704 973030072 724414376 321353866 166866562 548957774 68227352 636866922 924540200 766954588 696426418 883046158 277033272 759187030 517403288 242600412 399577464 781490600 911468268 859322928 939650790 916520610 480999906 833882246 21038592 847123046 633485528 426700428 773684594 330340938 766888748 814114056 909175948 135434462 85168468 333887970 793588596 584543744 54046012 507736472 255382066 805844868 337543328 157344252 183010844 211103738 801347454 916579146 321857364 825120036 766788236 188049166 714482938 3973824 496323906 880995826 510676596 937635844 115328772 722576190 782798932 330264106 436019016 893367948 63957566 875802470 657900882 991693526 686938274 376258112 128695128 952092166 923353432 656145290 697652 430135720 194077882 972872092 138092432 832864388 98866026 223762778 212304652 368354472 17599288 995535922 382720602 503946280 970630286 35106314 539444440 6497760 164859254 861664292 305697400 625096264 110458598 408275706 251294462 42689652 176453414 754989568 493160802 460161616 259384914 157186528 549477238 59432056 124337944 174639244 376808740 140648918 931873606 836687850 558620018 991697060 176980492 527601220 933901742 893741268 778182328 686815786 578154900 473484334 71505796 204926412 526001732 456519822 434899056 331342366 281771204 880735498 421945328 983259046 150916848 441109626 374538938 709796658 459173704 885869960 598693420 393123728 28544496 575004312 923787676 582557980 199148268 144984918 528501108 879121174 563063122 113760648 438933668 821008432 711941620 29763210 924956616 387835134 232269868 933115596 747891716 824210360 593761488 568614144 678180012 426590502 795897080 644753084 546638140 776710138 371352192 873288006 7198242 250574466 67825994 150139330 899630440 411179842 315332338 502565164 999199536 315604462 685710894 397502372 290510680 33688632 469165516 568170040 433032446 178150050 915997732 206567932 811348776 285873532 652909852 744714778 359312926 837558174 12108426 646843366 868207612 21279728 560423896 468915520 722818394 702359674 779022680 729533270 277478288 362396912 316673178 168224060 254407498 422241154 248874724 865488968 399382122 941079862 799652814 851496160 478962510 764810756 732440588 766227924 10355096 283724714 743646528 279725538 735387362 531907996 181261054 191879106 778115464 799238882 611205462 520597636 573640464 743132384 781591312 352903296 231113576 86093964 28091478 3925156 647311026 684651568 300355938 881986984 755627744 810690594 656589948 566339256 232604642 393138278 297046392 815157694 126527104 824236942 736857910 783990844 538741594 130632494 638607152 489872816 432866668 858773152 712174900 557498154 913526016 343911428 946425714 916222210 365625038 81229858 685034254 695452844 677272180 609378148 254981440 776372096 77747914 918231830 451105498 261236286 917845414 813479284 554416498 710326098 828306022 705089292 134070064 882713996 283204924 933525298 804214618 436174008 580418164 643766772 593896284 926780226 717017820 22152078 300789178 965630750 446148414 956486784 653891624 807180012 422118128 914226782 353967426 566139618 639047202 272784288 129998394 549714258 958677254 982204396 373118032 783575418 253707034 731062474 359256922 254275588 736503902 62674882 343264484 44330704 835277462 397386834 717163086 927786994 987980854 184433778 643899330 590087650 106229930 959056694 178759384 84460366 827334166 668416518 78279460 68677164 719258200 638407214 880173868 65987044 647725438 251581078 510839824 619511752 204619444 147160746 500164926 376568972 529212022 640679904 281854678 416058512 95800122 473976452 316535448 292406870 286325736 714094654 224029048 928206180 214463786 801379372 977356114 938119314 406041448 667248748 616642754 683248674 299602078 724156564 877302342 60507658 965933770 667259150 437620196 396421508 27642862 810733162 337161982 159711958 284981382 478209266 171756114 66311700 593550814 460202822 147749014 642041604 935028698 116486158 108425224 192227248 111722770 470181278 20548850 904963734 822131554 324496882 693426292 866964172 478971424 839402760 446773008 978362748 270749438 248057078 250362754 403004534 749413844 400951930 871929812 648607926 69281008 526187976 403649560 88591410 615553654 427976862 667347076 757433242 965566984 804332636 338365910 271635126 418530252 274763212 584203852 743959242 263268854 514020478 427060660 283054850 691034594 836088822 498482568 840098634 185793472 130101922 877554400 638061944 981287816 259770374 825351826 480246960 412421994 738767750 623829686 168824480 224583930 79447026 681216256 568103300 101295270 402613408 433080016 368816954 232704360 149778506 331571150 890187344 976062820 852562470 335426688 960878714 265430726 963575178 310486504 8631588 451350932 980032594 667389706 594960362 660070274 331618696 892234958 581808308 58476790 696735552 361312080 511244992 205061980 668755656 96589380 30262144 91194642 108679008 965610362 440373144 991515596 582625010 444037438 592703108 97098048 291509292 810689090 773265000 140123460 609276782 505760166 997703130 573104686 308268508 135971290 556366894 292779282 815846156 883917770 237553970 931424770 926417850 488311634 541080844 741664554 460902946 691476844 10551660 125066214 420574600 82203304 633249816 673789668 692579712 468855764 506681136 756289360 265687170 363527848 26243066 606923838 392350670 857601846 210215186 707482600 393245330 125710960 244712470 218836508 790452726 386505048 791389812 144936820 439999152 636811230 847999178 764543556 855124310 989075198 36777074 954647824 172274824 288710120 888354538 377083314 175754620 638414234 54916792 96427628 228242682 633120844 68293746 942847958 884675232 93077264 762155288 330049170 136072036 893610682 86841640 947421002 926182698 644704584 900180984 490564662 137516286 88763364 919462070 842663640 683542958 764239286 243301052 302255032 413301272 507219588 984187258 407808756 737417194 757552122 63746526 177007820 457264510 877041354 234774096 442715602 684879930 843434814 817418958 522271532 300730768 931677100 484495700 428306812 612329072 902003730 435840098 682180270 724479242 773946852 849517134 125508176 170147990 858917280 384734746 591490256 176810176 928256262 596389726 419768988 273695016 687227864 655510180 625389800 752969324 579821862 937802882 631795934 943985418 688486774 10316098 365940582 978326346 790149288 35188150 641164718 655357234 214521370 528104312 236666716 699341430 925513644 512887708 828716154 534399784 223187888 809907064 542305614 852365294 253834876 438155622 289555980 362869760 672569674 305277226 512051242 185350000 473812620 360831298 668885102 683005410 508443370 604982790 313027002 215599704 198094238 934594766 675790102 549721530 440092612 482093434 148080802 839303312 121619872 626949278 199633922 969865932 235446020 819824224 895159454 335515842 97912844 810841444 287849030 491440130 177635390 171949628 791210074 529912292 846980564 912141604 175367726 445764364 714715794 849996878 970509936 514034428 794627284 28300388 420277854 838502312 659619252 458983880 375842410 463847130 140499698 175673686 367149168 749899374 953978314 887305106 457824958 367806310 308346772 123772908 961365588 895923758 608058574 148435458 228769060 752363804 123033380 415251174 263086150 480404460 365001514 615745984 413353456 618581576 253966248 795477020 533459750 978615780 881172696 744658632 641886780 685885716 993449814 41882322 131832092 476099370 61940456 216561850 186920400 113983656 312559358 236411454 887541602 517043594 996608244 690679032 994232308 780243336 954492154 529648056 549823760 166465788 898253956 742490458 219189224 674591672 904673478 470615418 124432804 694898412 551257790 2751926 782758980 614229740 762339412 784376140 28401690 464783504 893195170 686770720 405940418 495454528 459153738 134184130 705682444 653013996 127253792 214154544 595202462 436720196 15447740 35296306 498950412 154712932 337629702 572618858 967714818 356620104 749597430 803559630 282168182 560335014 436420252 587073542 338321818 510051280 25096168 583475072 471146698 762887800 201878994 724938902 763796616 173099184 379050312 546714546 566690436 497109134 986069874 843994070 883821256 650864082 873083800 404665622 800612864 719458492 668084430 44085018 266729824 457176312 771244574 278017772 419146874 481466180 103841416 16203110 702229286 932471492 131856764 114927218 62057984 707755322 593846990 372465028 384957988 657085140 285420712 581972384 712469996 439857212 650646528 791823384 576742662 766652766 26099282 668524716 797148120 150921614 497347766 358758386 503482106 995871348 250391914 184882778 303625276 245853276 842532072 860379070 883951080 309548242 268349746 155367662 501594646 434097740 844493754 943279710 36435900 921296108 944417070 346869058 903903374 187896890 626921710 596951414 893188436 700550326 541576626 5534832 484877598 973550562 901048124 996959018 377548510 825730956 987784938 64386724 499466110 336555216 731497122 593395298 488023400 452248776 210586212 449675066 122553934 762853258 779849952 973698302 363108494 484570480 18880342 809238678 842138374 382135630 694817060 808158860 213110102 127525170 523127466 642900134 957084338 779115762 807039136 359284244 489875790 748895732 940808200 838979048 959763472 935527134 938231746 486042686 710728292 346986956 243230480 862590742 803202048 289436230 589944642 409428554 509129346 643640012 594147136 539329430 204062578 69207986 832640370 843397452 182189450 989720136 98852718 400092940 989189180 361942360 399790000 59886016 576990354 259029082 870718578 209028638 455933220 959646768 10529612 718871046 8152220 702358998 982181608 123085612 843318600 524543046 692337960 586092484 681737248 753895396 365734596 896081980 19816732 618304894 486162702 524472398 168379506 292062974 499080716 403082274 902533900 214016604 303090878 730602922 309067518 790434374 205053364 858364742 603155198 200208008 771466260 988554962 610137306 300946204 786683430 903900494 769536964 975849134 460007476 400764108 700586116 277997052 913199252 457428634 725832854 357031274 863499818 908166480 441661696 14449214 910326396 31571868 678424486 22321560 161947790 421444072 672757404 134071462 13932858 928881170 653660730 608801286 604654710 63484142 142471616 357534914 79249402 37045968 562480588 446932276 247186206 103975528 375132940 610707014 868164048 853385914 934849138 823544036 258974912 373906150 237501348 543155550 303175408 205599454 953237314 415891460 840757908 178983572 545610640 923422620 361435960 659988352 120756032 213163578 958821298 843968996 99160018 649369634 80560082 137408964 210155378 166931856 5270602 273821550 882745036 160262800 80386752 612971710 714685562 694257296 98146022 118992924 595014252 320063492 444360710 415864782 235523498 985191188 217836758 212189580 800745828 456115814 420091592 920681038 806764516 10557280 420428978 977388478 135545134 302002266 328915044 39802214 458639794 80825600 984361084 189253806 727376046 10903952 149984048 157509258 397845220 643478874 667275500 404386902 994886852 688596770 809830680 89814960 96454190 285847996 210276904 451160962 981658416 798300392 429752788 364168334 240628382 506317888 443990688 25602178 507815134 542242906 114365454 626285842 471173750 536260380 48405134 18911636 703149142 550406178 766816572 858082598 910930086 341100286 572881480 106817746 124880108 974762180 950011530 518369928 827659442 85862456 680453520 600977946 332715454 998771854 50930860 766696198 420869140 550353318 391929582 316846926 784836656 848206182 697985002 879632604 175335926 44961822 392207740 775704230 230335332 356251460 212043896 458563800 101514268 1041034 286879452 512822406 228579978 736599784 780177724 20386778 807084084 865173504 706549198 621536676 313753082 548627340 674761338 145226494 718040190 136556854 65365336 391891286 35714618 452408026 136410026 848838316 380160306 908497604 521265760 165560924 812092096 818703530 984585282 514558656 931464884 291076696 560265448 643024636 686573414 582264486 219684914 157044908 816745970 128666280 572149522 579778852 459348644 661187266 986876496 54579106 60515822 195532130 186802834 320783156 166416772 26377072 812302696 542375716 882376800 168202892 293075836 665002988 491337382 7320140 859846220 599613688 620071384 429537446 386969576 938382250 972697344 487367092 184253350 226889688 709356766 146673844 100513262 828761370 784117702 293010278 722293694 582121342 920617754 413663934 273093030 578727480 956039466 59251762 346753014 935385282 603185628 735110298 94401852 400563038 136265586 552799862 305640852 151862558 764703740 242242302 266245138 323601354 627716168 803665630 729367500 443266628 179919946 630088174 707870874 943559926 135141556 31313372 977339918 792016206 559377656 826316122 569867408 101968574 375868316 189205922 763450940 591052540 75988166 436654510 189629642 838043230 70538154 653777152 740445560 903876612 876443260 6665712 868435156 678657360 823069222 298247968 369534826 183698942 57143204 826141670 965526178 292840166 603816874 325525178 177172438 971859754 273528978 66625650 878630550 387311392 314451704 15957016 633649274 325624318 188565864 552209002 974842582 267339206 376363452 346982748 339728958 924650446 623730440 570523246 610647694 524906892 727049802 692600292 230331968 428186996 823088468 803110572 570064826 106084308 25389368 743091102 188176270 28967130 544074208 465545070 554356028 988738354 280203200 728768716 996763632 362841098 909653848 517616094 168058908 461029184 724214438 224285084 798372142 382709690 89253400 7422394 443418060 351596614 485170626 596677154 409343912 949612354 514176794 48169222 409622652 771191782 421472522 819536364 305142676 335591084 908068362 780686764 258406268 546945838 192314412 874600880 751001434 248807300 768160598 647145502 918879030 950753516 708671578 571527668 786490778 704220394 136585386 612458580 204834534 190580694 551485810 76545100 60319340 389934092 887652528 467111682 863163480 24695504 60940738 963179268 754074184 772022200 172983108 919063116 973692324 487581986 907946828 444723702 313096596 833107006 766163370 167093720 307821144 558626236 643283502 500094556 540632696 641049664 226338714 722265286 909273306 819839984 333063684 430335302 631120130 889233380 302930364 131406108 281271530 586765204 573378728 825144062 635588746 922899284 183377680 966695640 408595832 386091958 655770936 491573624 668857902 113689470 978439616 441909258 273734638 195658366 47703992 412139144 40857602 266569698 82983232 289804134 636673200 949885898 846190156 902993336 298968586 837612340 396998062 190054492 76984826 40231464 567146202 427717770 510814770 962192156 92142586 608496298 773286046 868160702 332691148 454210238 204126380 454733612 972307022 154898174 427005820 28972376 946719304 805758204 95674050 434125968 658106410 906036008 814717986 947229394 764354306 466690472 602992400 446775110 917217288 969832840 441242450 737465600 723169426 988202774 465690984 805737704 784995972 103091018 600259792 81764724 746775174 334437706 932828166 835046308 786551182 466458466 224731404 78604482 287400386 158932672 104595084 397632900 777573964 405380284 702504376 869490792 582806362 557325244 320206382 416742722 124849806 884786238 427165340 253868396 254888482 556212194 972925936 202573094 636549368 503173946 656753382 847468860 282363966 820640614 367518310 265453956 202065538 569410028 573385894 766209332 51708348 585501550 403940508 452275970 330527462 661648404 104541538 429805462 542043608 271552754 473265784 103921390 939634462 308637544 7678080 272998164 572325590 894402040 669222114 757658818 783509980 71065472 50264354 176930304 403866356 650327248 565199732 414503070 499229446 266524958 242837822 336451754 910395460 660129174 818854190 513427006 947214058 11269208 858877730 394036776 237290802 658363814 960781930 270907410 336176846 530150748 420654986 686873664 733385810 157446966 668981218 734042212 915603478 45226744 522453620 773703300 660949604 999018644 925788256 238484150 347057890 225092580 37199930 603144528 50628868 940278208 362292166 417265682 144209762 424430868 121376596 117552522 559549956 527800670 878361750 533297824 741058194 618987060 13909624 619291010 563859050 66713982 979425144 694090256 669671974 292566486 111838746 290877872 34216630 397869436 270694664 830775816 363146446 558908430 358045524 765235610 305753838 339431126 444865378 695033966 175565776 974174502 452424968 348044582 862252284 966179698 447594350 804542492 433683680 335199968 791961898 401042972 860960688 451049382 487909846 748669468 937868718 107718588 491470438 209186856 506485392 694927642 891143718 622145468 945941410 203734968 265374240 710117442 197643720 421231730 569369124 472238804 248016560 731471670 131878284 624116524 950270262 739200380 948776942 698980406 425535486 43053580 228264502 740342030 914752434 851175676 955656436 343390910 976774306 756048426 421087498 318288172 419206660 413490012 554677466 455830922 711695138 803659424 597999912 88385496 571213838 675927444 650510234 175015720 363479592 510382428 46241332 843448438 428803474 572513196 333937354 213440562 212112952 443013164 469795456 899660698 525261102 773402782 259690936 961629798 899919244 970071598 845950558 204464318 304608678 925994098 384345592 752984034 116197826 387319456 631003590 244033188 708850190 516423832 263930138 328364392 275492118 129423882 343694246 166135166 84892176 381511978 859378960 279478374 441647312 610647096 68288486 883718460 725520480 811296866 7179086 59970622 804464032 64830972 217090076 727445976 338894128 358533874 84664344 776268150 359261746 539242758 11793522 394906920 598632292 403432804 424543638 181516188 156300342 917885510 560116012 781794248 628804664 209727252 705255818 861594542 250423842 748275248 870955442 429900264 379978164 972054240 244311056 176833482 541880166 633842464 748257490 714461934 398028358 23523136 176086672 494536804 25526944 23381062 384795088 608769304 926356166 442202284 493387432 166089144 803150184 303589130 931935906 462396228 297100430 301085124 101273012 755137590 628637730 701827160 333004690 742403724 517129858 48024216 13756704 510545478 772551468 65890924 935700274 516098 824222532 885570568 843658842 735036724 866539758 546749068 382296420 619557100 659137352 62742014 808852732 720982566 31405978 174775976 825015868 923765880 192598712 619004706 876276982 414740114 867694602 15349288 544458418 153588290 164675002 254275226 120429836 602431736 475589804 17332346 435716820 332975732 927228226 961380086 996080002 887875166 974613560 441931966 170236208 948456630 17776046 274378638 486327260 884532922 538666656 728731948 297355948 281633306 828468122 210504608 345113150 807006928 97289036 81572142 11709950 803336844 623177550 416373760 414972954 895228934 967995434 757667106 336671416 861500304 612631744 919042868 673624300 283960438 726628662 373844794 557267110 548939078 361125004 909434938 310293154 176288020 473295016 441173184 738515020 946190200 11677566 716653788 340360372 590043202 826806380 411143774 59549406 497837966 105882452 886108918 167020018 34686108 39848320 850286560 709573780 209122978 328071126 921350106 907673384 868800108 447444494 655948906 242456566 908178052 524161826 507305960 926470474 338362996 892927176 116492332 581516332 457537242 218541128 639898854 695675784 617144676 249840412 772456382 185091748 868997720 273241708 358792370 637850888 234732986 503845612 263391432 626052114 736441922 619451710 692030002 391597760 571794968 965385934 527288114 492533000 108702902 375965414 323483394 378635334 554617186 352659682 837486270 203133502 217935010 353085380 927177610 988359574 287548452 160803494 276551932 145932304 303790660 429902394 797629476 958404708 171380106 655374368 454251192 539803926 450396482 916951770 814994196 680369900 997601120 705378716 475257756 729083294 563525218 188457358 810118946 809701928 188135422 512759058 210941534 208166792 537789712 190485106 125267970 81673346 453635992 636746572 282293918 204774320 226077324 822483940 977048744 326726000 148360086 38869244 344027584 80925544 237789376 920015432 680263020 34762196 806164476 814712514 764588808 495552630 380651026 203024986 885913996 430357876 530782018 820950222 764378408 897911918 352434176 776005374 128300802 152386666 175196682 28142048 290663248 467438508 969075662 919656166 630716514 916647142 589608916 383747476 101853024 823582566 203786096 489054812 68193714 908035800 805501654 299950698 275878860 654034410 205413804 797641724 962843240 873783776 367365472 10825560 939688374 216449694 42376054 629010574 938513374 845365784 236223274 629963222 270735930 197475400 831441032 38985894 485927856 450442830 7474144 814178990 599704304 323370028 129080670 104615642 897972556 516168086 119102198 516890516 889564032 806109834 710070278 305438118 606451894 124702110 784749928 86408236 108387986 598511090 768588590 464693946 216329114 243656680 638310176 964314792 981608220 7652680 212696858 668695350 868138890 107241830 497560848 909521032 551760788 54111556 508214082 954418556 346992108 151224868 826963696 280991650 331002562 853834918 874774004 48405210 404461916 58424694 279502232 546590792 757960000 470844494 316604572 987750480 843677924 207401644 608510354 201074326 792113672 667722950 202369664 294035860 423581520 84940890 689375944 276191428 381708200 695073532 690775946 184080358 678245432 795362198 417975786 423133274 289393528 392004910 60553146 274183360 809303130 170374508 483913382 591248048 123523066 349934772 206069582 219510980 836179088 260832298 893206538 559324492 85838306 122594472 989390250 458180952 342305492 155430680 69951518 434786598 383848614 782782478 529315380 385574104 725994386 544083034 426496614 481330648 541018858 720887074 901970454 981321254 2260796 367081126 330525150 159253852 790790870 352017088 743280326 734443430 4750812 461563336 428565460 109484776 933731508 26128412 190363454 658584850 602836910 748553476 502671930 736223332 750615622 846945154 272782616 828292532 258312854 71038906 595567142 999814818 675660544 41052026 180574008 783985962 141613460 443754566 914246398 298993288 441814154 630876574 705202570 943512716 760586572 965382020 166880142 821557882 955638846 800989954 699703808 39490578 429875134 974274058 583660232 264326734 187524058 276992176 398767748 344197584 197117886 869052670 212722708 312756532 303516630 602201372 491819668 181188 191923500 87913018 893628508 491361210 767038138 929542532 461994256 769322536 601354136 154313252 942363272 564694568 290999960 540830582 371091126 156965410 391845132 930280946 757092484 832968054 462728932 820101264 177873024 813467226 474452294 283102998 253549462 352284490 853697166 952784666 741219486 908958838 255265008 760469462 973585406 117053638 191386706 243825618 972799624 492928534 10273178 400936122 819533290 354967084 828766388 331004452 490303862 958484740 970572758 805714 818690318 568543094 677706648 495703116 681362154 611004440 491358532 755805770 634405934 101045978 283212930 687408238 214776952 226950868 922558088 499832340 468974320 426380464 247025364 306121194 147115080 381017950 363704156 972805436 658242824 284949218 592623524 286845554 691329502 580730594 147804616 271430752 90008794 766827232 430594304 648582226 121889046 243378100 555449326 281204500 259200266 564624408 463625236 856663506 274662458 747071080 405269696 221704142 368603858 798112492 902172070 917783242 680371928 883230688 864668 456687672 773840964 674710556 209751160 98027656 207648334 246085464 279836152 233515310 950504102 894165802 872144654 65003782 45474978 128546738 359439404 628499918 35362978 423627012 676818422 179386826 423095922 626531180 787874778 644077752 560828112 930843730 72049038 391247344 126132546 551186562 868459046 349696286 688623546 545462822 379719428 97510572 959566474 538387060 330845702 514967366 893603636 797514936 402120468 80600094 115065800 678305796 631348412 392327620 479889714 659739918 519505518 987636786 759179520 852225974 232219802 707346806 518158476 889206148 5157042 79837676 444013436 10068836 943580556 204785316 120480796 972175158 628231126 726997996 594961326 27545598 995282640 661477808 141863726 543326606 1313952 422526982 282851276 187311868 363178618 30065828 33401022 310876908 561306058 265637468 524924454 743475666 238630480 852487852 350125074 99892828 567905798 813337378 372646312 346690392 755351346 976218594 432072680 789781344 16954352 695797150 262744456 575967640 837100128 636825394 334654676 392934646 368675604 747073438 183414724 75741314 311917742 330824986 778163460 564179450 163483840 805294058 928374720 716082010 582544190 757134802 110002314 735859338 589207882 510885590 984153760 59325480 943919502 503049982 419949502 83983908 211134974 393584962 364437342 596882356 508338522 775333580 665362296 492239684 325996348 933563782 325710198 975747612 197547532 200807566 550528374 706504604 402661862 444663178 27620534 291331262 674490848 516981898 942355558 1516618 288027322 702315730 576476198 31251832 838978586 358759258 195544444 366500258 987808242 463791764 998564952 727056400 202228254 387288046 228992342 803320820 25021178 314963000 811093542 967567376 837755552 779111824 513940814 19991960 9871850 190705428 856197010 623301522 29780384 553080810 718836004 315311308 295186084 592798306 682271212 910305638 167964794 882986584 156528068 412770750 568464470 440011036 236369204 52357100 902442350 968113354 690333114 388513828 189825952 471757668 7443728 867598704 85078470 617687080 47734744 304922252 31309942 681399256 17927896 54025974 389056912 619927006 538329232 130067632 778637728 13902428 404068974 650606488 60111802 9416612 275501562 463144534 300577238 624335910 800857366 646466430 61936846 483638464 497558988 977825738 269145432 622772680 199303044 749488978 16399450 543095548 309401432 382782800 940702814 137270888 268257936 607453212 286859366 427775060 854395478 354410490 175520268 422441740 58974484 503798734 969374172 126290278 512085736 280043256 983716464 852998000 397301146 175840462 858755890 204065026 159985462 55579944 273143342 969400342 365017064 471639912 865632794 511586192 134125192 638783966 383153406 573654150 922674776 115471182 571500536 117669982 815206822 316025558 93786254 95108074 735372590 771314770 454838658 923946758 400285226 895307184 952495434 525997960 699331868 403566318 611912936 112222538 786554102 585948188 969514748 998555226 697645770 305501870 386537940 861264118 204550272 531477208 410496682 756679070 547925754 461429562 420644072 296192610 373423560 511567766 141034820 931978232 639543230 569878896 312091962 207373022 946909544 702215938 374108708 686614442 528145488 623098968 670904798 829543988 641746010 492097186 487695252 743813240 629863564 278751038 186822912 97179636 930658736 293388956 845749084 75451114 464541088 712716310 32406168 457799298 259840344 269740430 356518936 633583766 707152036 809508088 322962922 585628348 785026146 988108356 618354892 221673378 242110560 155565586 658276222 919208448 804962464 258730970 901182988 904038590 52011532 720493714 331895024 599431326 626089992 245299514 562238630 623123372 830552182 654033690 608169492 280432586 36383000 661415112 792217376 903742614 611878964 774688000 228772884 854670658 695079152 686322646 443780118 963392668 707528872 237342058 740624198 713243556 180278114 148278252 697746908 84865040 385543652 82399716 644107308 629804716 177480324 566861742 203334154 470494638 446873676 437246724 308738090 361731028 113528992 489102166 732209684 8119112 243491914 28201028 892507950 309478712 944764238 814714944 827822404 227054160 76557014 206165106 847316748 740751712 394664374 428226412 100883500 770216700 75049578 635200730 299956598 586035610 867596594 343732794 82179118 240236996 369304944 57779664 636476152 406849400 809856858 728031692 278206808 636975040 398417292 667420886 833428812 504180748 369412878 668333980 771464910 35837984 174584998 59639484 566288904 186627566 121612754 960423276 546577670 158182560 859133936 691242544 548041922 633240396 202793214 517791288 48527002 93418158 453046852 203991488 505535264 122785940 132717900 921230812 362575634 224886898 305775908 427667752 369585166 568635354 586783600 279691436 890537552 265993028 683764580 658913964 343103636 326336824 203001806 259282404 432388750 51541218 679057122 974008024 490590464 140413310 130741296 13171134 651434364 514267388 113903364 931005490 514108760 581613126 471494548 164670928 770416228 578842116 28783820 866424072 424302082 799431412 853802684 179619400 437190446 739764320 293639090 412272158 240652952 980175070 222574470 844336074 550437032 787736686 921039446 527383148 424113630 381841518 488489346 436624700 819674396 715409806 390070214 555953072 157577194 594855098 733551846 598540260 507866146 292057616 613485920 332688790 629108012 147691608 649740434 478144476 470389626 28972878 323312284 395134532 660262602 965610476 160860072 147146536 303434738 495694204 123280906 348139234 11340558 868489828 814585688 802137828 941339952 221011288 28217924 452699010 163924142 375389390 92281426 771787384 856940722 852710162 277524498 760785612 505429522 827636262 511200058 622980526 741295596 514596078 676739054 102124006 693692490 431230858 205400446 258454428 67687760 995126906 441908888 108777136 819307292 321292334 408825560 658922264 822415536 61474428 709679758 30175282 44868304 141749784 116500364 879351832 312020222 745978742 832843314 554533242 587177130 953586958 941685376 866622404 953714890 905365738 8960574 843132436 508348692 519040762 629315490 159971452 647969364 121242472 917263442 143195294 872780532 574907834 302490952 759151108 152599974 389346530 436715718 485425958 422632738 486086488 667695282 139542122 862521586 337037400 422710420 479342864 646214388 604464056 716212558 638619082 739392000 442360674 751379804 131189136 920833462 358911902 520533228 157658656 837955046 567170244 792738844 33439052 30041464 353578380 953900620 845870654 25237836 604030762 493647300 334924648 65315072 410870120 676235370 904088788 931750280 784581814 449172844 513625304 543067160 248158018 1416160 414086188 310962448 730890958 234222308 752135920 854819960 314262220 765467928 84943950 456384270 627379830 761411010 731463590 93481042 613525250 659384428 134314004 602669188 638624822 225622980 86039368 358668910 176902072 828078158 555472230 617891672 524497288 739218694 54758656 891033250 823590820 166421498 667267174 805629718 877199658 113230574 476793086 624848614 857704582 300293936 146336522 942352342 391200086 252115996 152435858 231252142 237811424 334601276 209697324 85812828 657002822 225490508 60197606 91620048 179807120 102139798 627716268 713858922 521371958 262277480 763358880 130535242 713341512 565548008 533695450 157573974 351016212 130021688 459703808 604740172 356604256 294150848 271938412 538578308 400469792 912826198 160402616 261181428 437711070 238799636 385543822 379245278 924035946 910941364 910963160 629376920 368320558 526985614 166473038 827972636 795939120 544142244 186449382 114328016 60362446 261319730 610367516 209068122 499560462 273728464 188048882 956898426 816820626 672293902 816046742 557627496 584285316 302335598 477556472 256749386 489252426 491082292 7086736 602756388 954420112 720029620 444836504 240919164 460861394 520767312 152675412 309123512 158734588 96810218 827469120 466833372 146211562 151437162 628645632 227606738 381520902 997290798 104034684 725674652 802265596 630462444 718961590 883237472 421401910 750938270 340834612 493015554 207249972 599327730 123463434 800202676 113114026 848527784 735818848 649410392 819753184 950772382 331660810 753671604 216079182 685882746 505899012 932598760 264940174 683141194 324999686 407429692 974011916 589635142 843561562 437441252 737910806 366474678 525740224 85246526 867844816 431509906 573490152 160389018 571962876 634280320 102310656 435592994 9832942 706310938 141551652 626833912 119542992 515041682 823245462 671837678 921502182 36470410 72574194 525093578 386307036 203828514 859283990 371181144 734675468 707929940 158792760 529848880 192959184 820333646 232040874 350642838 732526806 698142558 15953358 369527166 852035326 471395962 646227126 297281002 491988228 610938242 606396472 99483090 91993158 477037448 749227192 257561700 432523714 295932096 34363622 471655110 746778294 94127496 645892730 250627248 997154132 446906234 573440804 278291520 421184882 2309216 500310086 929656264 916051510 460085030 53336686 101854980 69433566 841942622 756366696 616748538 56745020 586211630 723442774 157121100 683367776 361131000 249066418 186801142 50391770 327350026 72049248 814030608 940370830 662579926 506983560 850328502 982844602 608153874 402115636 415773348 483893468 917371924 628616130 503354098 180926428 169285760 436703556 513134736 461882882 517966418 268266826 979350696 776070928 7211116 386585696 335975824 808071018 358201446 870640140 652442696 484565308 356596710 871356020 324748086 707085318 309386010 189762908 94648524 562661776 368023286 91740860 406277758 886457106 888816316 426755764 24328300 728352896 262224028 996995226 574303070 327200930 165959044 313368998 590205336 188843888 725828844 91376590 849449192 280196098 519050650 811660474 373138894 709361246 320595582 794219090 833687868 644353290 866008494 280866826 362649030 496623716 241968864 618204178 60175574 787042666 116403734 807785320 103949106 615253276 770734492 396314760 917013036 246891958 213765796 508484742 13715524 397123520 20757238 339340734 70639146 946559868 238904036 542989506 352155356 103353948 654670742 751494184 273682462 980000266 660628486 925267324 377927066 969878248 825113434 821221044 599149700 442537164 967222572 592048720 408129848 710457202 335625162 12492606 84063626 145206396 9205836 787795010 264048476 723604136 47320512 776522544 166561756 420818702 266497700 418442816 318024602 351890514 40132460 496922494 746222810 71060532 543879432 324035206 922906292 606550394 598474234 809631666 556585122 68277958 323292768 157682078 270318078 975633878 986630620 135876934 651006292 887943436 103598220 622985306 128039998 875776954 574830518 218407012 381146118 655143618 83466640 280540474 128113510 95428820 480796612 813711198 115312396 628486032 526673642 852571264 952317750 908989762 709113786 851342232 965483196 314647310 122280048 621944036 927049002 904206428 434772372 281528492 174299536 604469862 862127922 26467712 417978758 548597486 778592838 731585326 434801660 682982730 463737586 881794760 959423128 847522722 533298276 722730414 141064340 700783210 578104826 68817684 454597300 164411478 567921512 874817176 673375702 980280370 659232112 474156500 253926262 705504996 167692220 289231734 731627412 62879078 475495330 563071646 568481246 810197350 624076788 270362746 221937070 300620816 350844516 317144558 130868094 678017128 850556120 156009728 295105090 429099038 877054966 261796394 225285790 109881082 971939166 278024330 155030776 238221788 776201048 221885962 439815908 697812786 154442704 272076540 911734482 718039406 640267046 11091344 49487414 469896840 10013366 620235374 896657454 493977644 796717756 414573960 287523814 907389656 19584498 421612514 815269424 577018108 868868178 514606102 107822784 60505056 548754422 844451236 206763232 123396162 683929298 352953554 349712784 75901176 65904082 645900594 146299952 397945386 522563130 907031640 509295908 750992466 417618480 170592904 206670146 549890792 509930170 7335286 201154104 625546388 830987320 322054888 950727370 673962272 650958516 362261122 951274598 773942790 492606664 764682594 529215068 267703208 423348636 784183282 944892570 145958328 600178494 235988532 474035104 487860930 460159710 59549314 884700846 779665224 417887982 44617234 133475478 939431604 5024594 61608454 26537114 921312548 816005234 922038892 262345306 757620020 810028176 94115078 846669370 995215114 758926572 352889514 471722002 481589512 888887160 878197690 268475838 904608502 376031578 905095496 673030386 46393844 535768662 445290736 116397770 23113308 698123206 145955716 132171296 755579430 646593340 762302154 839033724 420886090 867101380 129628488 223092648 705861904 669486476 711880720 128499444 238126238 456173406 870973848 233603740 35303954 989787300 258457138 911448392 216961130 945000426 447514000 456670026 353836104 207061490 551610554 391027374 935993848 615094310 424714672 394341430 204036072 293855008 940894202 667269924 804404120 935219924 860672162 307864642 7745070 120115446 813341658 578293350 619241968 614839248 236410884 527534444 271138568 227906442 14571248 312095476 775026374 728609550 837701194 610437770 613714314 579184064 675922140 941765460 637982326 600962092 353855846 732580412 330653664 358109948 810724774 729940272 645161394 336501686 394241418 214492768 847668622 40805404 545913520 998488938 29719218 739497694 34909466 223661462 726566558 341763018 749899070 61810730 999115800 896477920 902796134 308727206 825427448 208097126 66795238 465777228 617093862 130965372 199648590 545294938 391353440 508968504 684006464 561081578 88482072 984691672 745497736 587276458 547308848 304631110 472791802 483896192 116390366 261843988 451898234 39456996 225023338 724125772 758285376 259315996 297022862 797274280 588810942 325820204 339275110 507091946 606890606 694881766 244937306 892594024 647266426 628565888 801103204 316698492 722587456 718009230 234420578 724335896 55988104 347877956 388909284 831202344 131917566 953889964 280276156 22758906 493630136 172554818 468083436 302808632 872133738 316491526 382041554 303769148 663817170 574246836 557872616 839300514 173513318 630772464 811199804 351857554 334198468 428609482 449050482 844965038 369979784 489972864 733543348 161770100 703552734 118089106 473833936 471844362 744007868 825291620 100498522 937981188 262937168 530480326 389200804 232814412 66772126 966233308 746873156 252436698 83010122 423554290 765149778 84422594 86892574 942364884 503751894 194334662 866253536 901601542 884248788 867642744 198317766 753198852 919775668 559676018 955579822 901818070 307014620 95295468 111602052 730983612 69834238 330971330 44240006 36511914 46650628 324799984 665899710 296114754 367864522 523453572 608221246 518919172 588923246 95432986 720589008 361228542 373147276 643681776 921248346 974583028 775802968 171801886 253108320 593778036 346625944 950957926 430005158 56110372 983989556 3264638 561747002 815488792 604103708 324613480 956605064 637861406 10032684 702362958 805669668 506389998 174456162 127114936 125020212 869990988 198280286 350492572 351193330 482447566 178726980 459854164 282575506 810891038 530412642 702441822 360311002 441450592 161553188 169393800 972210412 128575100 435854062 382420134 46664458 497359322 292902562 13867856 5991076 602888864 270777066 340391268 982310542 549060130 775172326 691533970 836691976 450048804 592834526 107380658 869700728 830983150 357577804 533678916 697225598 214184766 848712816 257978704 896623640 352413170 747303862 755067466 536828684 271818368 837848734 456987878 463738594 464575034 608809480 861931318 810384884 522730408 600072372 204493990 342892438 718841772 122408246 744397084 815993686 146655886 381397772 728430642 953413034 340330706 585654688 635222054 413521884 345622282 167990704 654636720 785370134 774718748 65610254 13594930 786484362 310794964 991915044 677196892 582866722 274626996 552713254 675456666 364972282 617159592 498957850 190769754 421464174 858322148 231867592 384991284 372448358 86845856 527169438 455566088 349683850 690758860 7604446 435990790 377129000 559703678 496684752 851659044 156901670 739076440 868804066 531148980 80805180 823984550 89053298 725355454 743749192 614969070 608686708 763964428 615979762 573909898 310585496 440648132 228198460 352440442 241945182 335492462 215788182 223580240 479594192 40189210 170810346 13704142 828557238 855881814 314947942 27346558 142083256 850645880 169073948 308287244 523564998 242332076 404231416 781020084 117775454 173335464 982767160 640142240 974789710 548771110 887858696 398602412 10100820 285116698 643354496 765460054 534583266 266630302 68914306 470324866 285842430 213264118 78905254 774076270 489164714 642555094 29413974 817395276 3434978 72713378 152470456 529201106 744578106 77107926 578671504 391303156 972825580 747419922 379180618 416554048 934561110 511862658 902633456 238598396 885087748 938958688 620495492 8766578 786007648 857623140 366489140 480211124 790558758 438194972 512897818 700390376 248744900 569182056 844494734 181709794 163552874 455264776 935046370 480733866 49897368 664477274 353616558 952170732 919002222 253518404 493782346 895405820 862084224 15361028 733274820 901763686 562198186 271663468 804094822 776219024 341625912 488133928 65329228 973857554 139843988 3606886 890969686 684636168 20239736 816386274 36083038 312377454 635764446 568284044 954588764 872638480 244749028 626223666 673581604 763307370 486662610 512945198 811291198 171050276 972875048 629793930 204538322 445666438 222745916 341452812 377473756 527619926 797724624 699623902 605956814 90901824 154320206 460259992 653227964 668635802 514719444 319191770 16545748 115769332 850402914 601222606 552691402 817457502 205380556 659985506 184838110 62773860 494810532 535394852 701049814 204064742 181841606 958020064 162301758 523024904 300266820 466956280 827513776 292451576 189945724 257787514 666113138 776795846 210415098 209663666 45429154 936414568 655534126 574499014 434537238 4609034 31278588 227344990 567265116 51991992 830392882 556937348 781597574 230589118 620209130 182843750 273941966 932502602 821409076 419432548 812752116 501866280 99625582 807105798 213400220 89892712 438888854 100779646 525822776 329676906 45244210 342409400 617585902 502631488 768686434 829915800 780354182 755703026 769447978 959000578 530317372 790250048 254312592 764912148 26976152 99967202 143820352 950024142 437191554 155177906 109071620 762691896 294581952 446777382 580343816 886650760 973014978 524110390 227395510 335853660 480826338 708260662 76535810 901903620 490419020 93757758 402589906 40433370 617072048 512547762 121526760 926201334 896265542 850814442 482960066 822700564 115796228 731175976 140521458 55955028 799826152 866560358 703212140 529777466 794532742 116073840 927160572 516133212 505550286 186712780 937212816 385021720 545631458 133497884 972858332 459741332 535906182 775350076 49402716 471781314 989050714 392622040 935698810 701516392 79505092 876082186 473604696 33057620 982264858 154591306 736576984 811986056 593475096 326481774 449396496 171489514 49022538 989503020 445338852 736114908 25863672 883656026 725804758 12361942 838370330 479557486 890455208 793962968 268525576 154778722 995455122 804209856 762371446 599878566 83446150 534583492 467996606 220205480 688753016 942870300 935799986 561173730 915771062 895562350 40590052 978413052 69610250 90694718 311073154 602815918 124673488 689190242 366547378 7027944 574994324 68259900 187071502 908830270 367769774 883139992 161899482 322370992 307636424 845145238 267997350 499565216 73217668 615644110 789903304 624848922 898145486 505131734 415523030 383509300 822747668 968122420 823497338 372064492 886801054 328105024 731042122 930749846 385597566 636292058 599722460 139257190 470793336 290978270 466555152 769172606 353835732 374093442 566519118 998769728 34914262 422433660 357228556 929659702 110936416 11967876 982165884 547864950 765307704 995697820 902733538 955325164 759752688 690091654 577702118 48899696 25147934 473616180 330102508 675732036 226572298 258427816 843566856 510080938 796313124 840360000 546879448 595201218 813632364 975304368 37128760 197918350 137842016 731289568 856346886 422796994 564468232 257779136 829016576 847697626 272244860 252069566 361531638 956727500 16747344 788432052 501181036 48117860 226610984 87033396 938146380 681531448 542564164 294173064 491607976 938740700 298962050 974314340 689209346 648163128 4235052 898151192 39912242 319633744 556077186 810337646 885030282 460824418 160223908 795431988 300176856 513476898 823848798 675333692 346631818 69258442 580490572 222929774 948653522 824930782 599454882 618056440 20158502 883975724 906143732 244336436 837016848 657241044 950301148 887472842 112772702 469672604 332118444 895040368 666096710 73456592 756398548 241746928 306538816 920372624 248100746 356892490 439225504 551043400 781892964 300400230 621489912 811541552 716892398 490493670 277623224 723782064 79518820 138197554 338055314 62589640 815978012 327511182 267043700 142660992 435285424 843609084 346954736 24891652 919060632 678891932 952919502 191827986 337467498 581404476 897512948 358079820 247938750 895975132 758675896 884265362 705534342 925078228 296785988 238113116 197952164 192861638 50147794 736412736 545031050 460877538 463188498 120381374 815331966 134683954 893864698 896638392 77916367 426724750 409940562 289030046 154493504 768024980 408716104 312259372 836616526 129034308 8113936 620562010 125000512 706865804 611072154 681797914 69636270 140726930 580458294 178580364 43739330 299218776 848211210 738331678 464300662 405814762 8460730 778017462 826328788 503206324 575700934 437892710 481777308 438814534 382359248 131754506 219726504 497942526 327334410 501993368 494821942 36167564 253865852 952132706 308144218 518663622 498298492 435904510 742019162 851739022 979347594 638365758 642125196 577808862 903122856 73564652 657346298 528713720 276924098 599567138 441768016 437040710 929155412 355679902 449133340 541359766 526952808 993602084 260900730 52638816 295658800 968951070 868153210 819541586 244270784 394234864 322837014 515030722 797955166 905632046 710429906 924701574 459567234 938992082 868066022 595593266 266169604 157415758 912918816 363902220 780971626 837971332 609893732 855648296 519460698 631384528 509488282 558700048 346458378 704592482 303620248 305161532 705457504 937484734 608215588 17324342 295818704 684716192 431169574 373948484 460981412 156045858 910884448 885383824 402481390 329365042 900475868 770466146 738195854 295871298 151548840 689168948 678303388 723746268 805900936 150037854 341854844 542774528 117426962 790457554 234238290 151994856 178146116 263443158 499749426 159798014 852049868 851713582 626037612 505967034 648453674 818328412 167754606 146125050 792331848 789447690 758522516 634996890 876658718 635966560 531901048 297007818 435070902 413120882 210121962 275595440 107111282 642483966 391225304 7345126 444131438 641884042 358845640 530757314 719009490 224733320 290056038 455805966 866480148 157037832 459004918 893134228 65178696 199250728 536745728 143205866 758777236 502817578 275046148 695972444 110600150 784193186 633236872 630476544 559394252 116085320 860450138 597759768 397242524 201549384 251275338 989230278 423929208 905616034 972479808 822757952 442445590 102628422 804681188 766527646 534792748 781490264 278371100 743124266 359442514 952473944 433964078 503580724 685983610 607247910 187391306 316353674 343886670 764225380 110518960 709842114 877605160 396078876 505156682 298128074 331699840 92210794 606704404 916719300 427591642 692202796 934032838 604405884 971744320 803053576 102158262 288339392 44858328 958058142 935235790 678750840 765722188 377012616 690551268 935647518 791224074 233676546 591747490 156569370 36076142 494076820 789694234 598227284 796542462 155083650 386946150 384168424 792283216 365143648 172455160 683561564 611157120 847956398 561027326 946698188 256656590 275227786 627028472 383449152 241809892 519834888 41454232 27360862 52155850 744742966 153454628 438626072 956738444 362387796 319959018 371043582 530433138 111154300 672753078 106323780 875964342 401533848 692013940 466312344 885241860 741704972 122803830 70941782 552278472 670753452 376306354 238290872 441573398 922502888 930132610 666187538 439154548 198870730 886903616 149833018 373189542 235004084 109079634 550237510 792730668 329390464 961884088 287952986 313630260 522400206 336932228 936677542 561872668 31841326 84301604 855507190 900148262 200651306 974154970 722303520 173510808 991992490 30540120 682043036 323774894 414485996 627610142 509969382 751793672 926668778 928984780 287296816 481513952 254741892 702348318 726155228 739275842 271593048 928714924 231183188 135031248 543921028 103272910 930899706 792524354 843420534 942071290 591189812 599800198 637383966 316990712 155529830 808382184 410251554 81678940 883433020 945544990 770903076 873430892 576413226 784145020 256025332 207815832 138475146 878798264 999995936 557784812 146949752 175185918 411632192 157278770 221837906 736015150 260520068 801530846 428678072 198700654 424004534 423122168 315195340 810709796 830063290 898192562 772623776 526100248 838096574 436825754 761626612 697140652 347037998 680497294 85554114 134385538 113271700 787771578 45899976 295357984 136052538 588981298 165430540 882019854 943782380 153700188 357366802 372772226 470278780 803223470 695128040 679049412 659919314 350272974 115402990 938743052 784983754 767514720 84521366 820320598 952559172 816308972 591732910 893436568 704963824 684439712 915239838 466157656 432746814 345409822 915429464 268518060 573657814 770977608 837526384 558556080 132362564 259061528 580965506 806493390 717114126 179041420 340871596 593801742 566426276 63946160 390998276 489624096 452834200 186589262 288954890 43737840 847641544 177991090 643995990 280407232 184457796 201759462 991655484 401125714 34122664 334946320 766660758 306316626 769774558 655785638 393472970 484329676 140766282 736839554 365656280 591511290 123673500 225051170 922704814 587874350 458009916 276981332 281594774 702792496 234284332 387085858 78647840 820205528 350793330 468417274 857665762 24201698 997876206 958767098 448277146 31416740 745844388 854923442 770664882 14122350 253941254 719233618 784163192 77879192 175736588 426879506 590894556 495212980 11461980 381263796 894637946 742905800 873405548 585044844 958031642 161863382 123874214 971362376 47955606 782186110 681969120 990244422 872691140 382024938 985397248 261119876 483341426 191573150 8485214 574258452 234894634 390245114 411173090 574215590 145782106 490299032 103763890 392097216 770715910 328153350 339141808 893932474 304758172 187726574 252147636 483748572 38119420 237874980 480653970 586950626 904573164 191315224 353487328 787098696 504063832 941066644 525568010 422579064 141496832 530259050 57160072 566149086 570350744 831657704 717057320 641833168 981960150 977064444 189754126 440546214 695687784 422941336 329212256 407145882 509520898 691129832 212783314 872506880 699933022 806955272 102088492 899577672 470569058 787246080 232600464 993440680 587089680 473710440 694060102 386293186 882103582 696444984 889077614 767176886 239538772 462369546 169562416 287836852 135252694 357582984 531192698 697947142 549078070 216593286 517995490 670993986 850954676 471868530 402737352 911444040 40677984 358260798 163825818 438874240 876529182 248586342 241826942 583620022 833222698 323568822 770703884 546056844 687276426 110933278 42441082 843975840 298099960 260044076 326700328 134300086 809081864 124060246 147904520 636015486 274836310 554008602 527328656 355294998 813780952 120495514 872720920 453172428 634905866 191693482 970814388 167883254 196299718 109633326 572815428 201790780 714922822 922705754 172506566 119833890 343108702 735924784 787643852 902189736 182556748 390925102 922663498 601667318 234263276 905509996 497213998 309682260 713420144 507071900 147312802 353664438 875935596 93396528 418241944 971778696 343032306 286996704 493558660 387741760 814447524 89403926 669564472 444021096 446573564 785170094 956227774 832827418 951227934 712543304 105697372 485047762 603035482 983268358 515079590 358616896 984889422 984320608 701893928 668309564 167209604 994092750 577043870 95169366 413740672 36049136 988870898 205140318 920192598 328155524 838983964 658281334 850464746 730211390 632896602 900840836 904196786 583483686 641513250 696609682 804413166 147966218 65848556 716233002 210116260 34638586 875410974 929905992 802973812 584854616 236548128 430808136 389227400 462812956 202992758 221511850 663820408 981062672 650354896 193796166 188372878 388164876 667890392 645830434 749872764 492040418 719439838 456915148 477098834 736568050 398090248 635312510 983334542 452767932 782255898 493797190 365149914 588853848 515313764 540828976 264842294 754212238 481951742 480526872 271542884 106333512 234331754 830208408 545182950 559458794 384291024 572171188 943936660 304521654 841228212 626612864 725990672 882185384 421220406 954195818 498617806 312915866 326928872 282321098 135975368 237351002 19438360 819451038 120394052 441661620 355779686 49943752 101610490 865557192 881056748 641497220 467701274 912412936 807706028 5251292 482947490 383039294 442741926 70204052 164613060 576625198 403640606 328581454 320370130 314970616 574236682 232823512 69194540 13113142 842776634 639227506 94029548 180250648 12856592 808151114 997976624 519304106 126317528 915935818 38891742 310364428 934066758 608471710 675520882 885946850 112111524 104062238 162535172 60327506 575538438 85408128 910470708 570046730 108843400 531011768 623014238 425716484 773944594 809749044 614254984 88480612 950861136 45841060 886978478 727132784 719665988 637993880 14390244 590746940 465912220 34149386 877847858 598233154 580180040 573968240 257157652 346026370 467185232 154152856 348937582 750158774 738080974 881640260 112194008 824265972 708120620 553149976 295569434 744037850 906731440 388674544 12234008 714003454 35031348 665825234 327819368 2872882 956772026 706908736 656304900 227532556 61340994 927094970 331022338 391309130 569966638 958781536 563582754 501603482 219667672 92116124 746020204 940873076 928234618 102188256 160280874 552976102 324410166 950585750 736758748 810377068 642209440 418362980 185220844 264346440 123719766 590708966 638828536 453674402 669147194 782079112 361579922 921615608 546511426 25902928 390466856 516235810 289939866 958031382 701753284 937065252 420858300 506649218 515609948 740362292 363169434 797316976 930651714 684089266 977548142 279964594 728271386 239709960 629380824 709785836 990234106 329409890 59573936 397602318 436614600 636158042 548520468 252830758 347970552 88990690 83606088 773553128 413428510 906569300 36644210 764829494 663750706 435659256 997048492 173538096 965575964 149002194 204861110 968024948 928340822 739437810 482492274 723282004 628771144 423554774 699177732 744578630 647561926 395951578 822298170 220444696 763488504 572404416 424099940 977777914 137914224 527608340 654922078 377461350 639676412 632293390 325464916 478430878 96316250 241424216 893921908 945786452 470335976 115044886 216981456 883344112 885476060 537377104 398007592 564936110 940883872 633264606 821784572 515832142 445615096 665709584 75587394 902113792 247927270 378831910 195132446 750343896 510226812 416544116 970991036 893051112 75567914 298168184 145058072 722496176 477951608 656877918 973016974 273130380 577649068 105637802 873983248 744408156 170607406 458122464 588997160 528946092 956951668 285489746 883642594 14052460 728532724 471970978 433089294 317621772 767559022 48868660 881545590 818931886 261637688 249776872 689755998 787824284 609956372 577995776 871564706 778980536 842586046 940750766 366665570 557018334 473188324 348637980 415221632 572029048 145165996 453398752 489057914 414122236 384993866 87150486 300503736 441066608 993536896 16114690 704573258 469344642 372877942 858186830 152994592 267261538 945853664 359495542 61732140 380212700 338991888 505178410 301491290 553299908 141004970 938436764 986141914 23311604 771369528 333646266 925463802 829084988 965294174 456789502 474295592 976860690 282120912 281241636 739649586 779072618 742443430 455694794 668737100 571375704 816228384 92588996 706479688 146226188 667857150 893651782 467241708 76673388 587927780 744024910 572476440 975367074 999374044 267386750 455795350 72805630 105007404 496650046 217787762 503436084 407927398 129843330 404039002 663092710 906232872 533033994 969694028 515577660 134094132 520087692 758016554 637910330 598509474 341264032 674497282 321174410 562104794 894344328 988912066 328396052 163258614 296926852 9749578 535034710 892152002 223623844 463081792 542244064 139787866 150780680 543613046 212456440 393881904 779267628 308525086 651290782 745628560 48701308 960104518 473313394 204252554 208167856 252197918 190297100 732814052 998935980 801036326 544793702 474847252 720294038 707973916 914266604 881371268 821533286 643384880 661379612 459880238 21922302 879118348 280577608 795539266 291851930 407708628 996780136 375296082 725732686 756296594 704729624 643164534 73208134 340597170 153683870 820311178 101680066 353635086 878769584 606805398 530544790 191904026 120064166 155252112 708610270 250278146 121218192 853446040 456728644 59218580 62806622 85608398 597210402 446701420 672937306 219024258 419232968 953342242 470701632 27846832 21538306 956411186 953627034 452749828 965162478 134366990 448463080 366622122 825582438 756070570 540005408 99541998 4064290 126525130 543418964 367446870 807804246 510223328 174300882 840791100 380744164 78408246 571183848 848486888 287577746 589085124 491447842 215749362 477481700 268933700 839565282 699258402 569563896 917394736 521667366 691788132 865926304 136486902 105648572 1479242 214896464 537618614 415345254 524850342 322419862 3606774 634642952 715350824 450093756 367995226 451889722 636522790 461725236 654218392 400950530 885466206 624937626 679287432 68108972 36335012 120046206 867305480 953970498 285846648 360300988 132832432 354010668 255136028 267623562 318068654 803262136 129816552 434969424 734044856 99051448 64113776 379004088 571649738 533218970 697838476 667144608 845311468 905013884 335132156 796184990 529827954 626961202 930365418 835800406 585909366 22619160 803866462 591924552 3076598 629436192 211988930 481502832 961871674 990922322 642009852 408280208 994123504 187574146 592299492 782033388 598040506 277986794 729303144 886081660 265020846 810662578 796530658 148213234 199963384 51015142 685590090 317891250 961799294 51092052 658007592 46459938 3508602 891774656 482497742 63351038 307936644 461763186 804011706 387979978 937510862 849621908 825383458 436319456 975775164 812903312 808954020 529497118 216276352 570572672 223394926 150908738 800755254 931719354 75024258 463678594 921349290 245770848 942201912 788065894 323100064 35364874 892124994 150057982 987678138 771525206 315543104 97931940 476424668 539200168 2513300 544958832 463066386 596494018 564663002 79672298 439449532 480605952 961705268 592410178 365164150 972526322 309008598 77454456 135232592 309820064 93366732 90421710 138886478 28444282 812105762 833995054 267306712 245563762 690723208 224402930 857790650 518743838 2525336 107227466 344031684 58279048 565028802 51063062 420642376 600159772 77651590 111037672 329525586 452846244 107337522 919915122 917372304 248261088 429982036 949072910 106847542 559833574 502827184 286359676 713739750 797220414 906802322 435061786 952230080 41530622 365470526 980322256 611181432 349508248 963950614 143184966 998514848 825442570 387945320 288224752 411664018 656873460 408009682 705216804 986004476 403271904 980636588 793420544 868809906 918596044 485615616 206581106 936752274 389122756 554764142 105084646 423589840 213029772 911202820 235326768 930148386 573967672 779694358 418323978 907472770 941997426 836414886 43622594 610239938 953875740 253233184 562229710 744743570 180050864 669590474 268570468 904534162 981876318 63575452 236617148 779999442 156322934 496021942 263693998 851869222 499205506 112014636 61953482 958166706 588208456 245697076 652258664 467628072 257822976 720956460 38106364 541730422 888250848 803175572 496539080 372272860 643875818 849596280 377420256 553224032 228524768 598228168 353524858 829513442 746016370 265466986 81089932 601439804 706024952 330501658 83481436 863791914 152513194 537158248 526029060 877696490 728862558 987441444 476974510 133481866 439369728 909295690 951153086 88707388 305419694 84799308 768979394 694919226 333523454 626993734 992056532 302994978 856284666 394654526 547002388 866718470 3432996 371545874 558568174 84309902 16392476 793699100 206435494 536809942 356939514 324509926 647035208 667992280 959331096 359110264 539557662 598639812 466078996 453477198 419312266 676765296 892930556 46090088 946755074 597561650 726812754 236502190 993200278 558944356 848884674 320061490 595465888 764922578 335568318 844017038 629496864 471830742 114173548 931078220 899298124 580387976 636313896 584871254 115683008 731664134 729895582 654642450 191080390 412623130 937081002 95983982 802992308 267921088 668820306 500315178 860742986 876718112 249275248 29557718 398236400 881087914 404346504 697135158 633429994 991571804 140405250 353727568 711381554 451941396 589383448 755069072 547325602 818811742 155976848 440774466 481033292 280904514 29556558 313468904 190471432 538362040 753380034 728239596 698322140 642306734 480739508 26671592 563354446 449917000 580276626 443032494 815232706 584468386 900236502 516358932 532148912 985829568 256167784 563651262 654173974 219140046 824534974 311700982 283166352 338744618 357158472 337917130 82045590 284923964 373139450 697058992 653483548 430944546 466604920 899142888 84874118 491794078 132694828 833777480 261386596 630961998 615485292 542251042 176076460 222854828 155856660 439412182 173996100 459989712 81260712 485150002 435853822 749363460 212408878 38364026 745416432 581279314 475055320 89314288 437019374 202525178 297161116 876072216 834448512 283264570 421815230 474718970 890453520 783850840 275448748 941043756 529532280 614089928 827946468 807485724 504332610 991268064 990877268 208040298 115022172 244820474 362369214 397553178 940381260 728411068 790890866 624091790 687839552 959117342 114235388 316546134 361564854 306840986 711132798 439667772 540095654 920442848 562185442 306865314 261811120 425442228 987101688 588325738 85114002 672968966 489322064 995031042 608793926 768945526 698066282 436915030 918308102 663056292 384383378 596920558 517183840 861681452 789811386 729425982 167645766 990301066 18662940 300664992 259754992 413449776 338641064 350547042 314819642 909380200 363366754 33285524 223533962 889846178 196546774 410742156 633208788 216643258 553008542 837931212 700045156 133553100 439616616 42162378 652123846 894691598 851089062 240865064 434811528 701629318 372989138 276422434 135053642 540184814 677772608 454112090 967541850 389441354 110331130 480292654 839029088 624401070 39590090 989807580 856750602 424621284 90735344 135402552 584502590 640117176 484969262 633083944 244224544 213540218 241919286 639627458 951404984 729868890 407765710 786123398 148576028 646309746 909006376 791213364 231161430 332469246 794219308 559938124 26344730 335372080 830725330 854818516 116779038 470879120 252290382 633015282 50029234 351446662 570894790 649019754 292916640 9820978 23862684 983648394 165063938 660671334 678966452 304565686 882202386 833205410 601363264 19800664 530562256 582507300 706699828 264290176 384061828 631906968 578176144 842301228 428177298 65755600 950602714 31591460 457501572 659033186 120870434 605954512 224243170 769923198 201766432 122266550 34327144 216469978 529730558 140482866 381686208 405601812 373969148 436852602 915296990 981503272 652954002 759900224 505652664 695764466 768080134 100564206 560844854 71301006 195426478 802174754 395496376 462240612 802000328 950485808 674378810 804855194 602255886 158941466 655839710 309159194 524905100 149466922 202511258 529207182 522576542 556036946 313504230 315029242 572875892 536144974 762074302 606234574 286002488 671842068 503088318 734114496 837692900 168165298 36737254 790144092 449975434 908448958 442293160 394836102 609435550 293441138 721805022 59185892 802423976 905586694 269596472 903650358 946849540 995942358 724413362 994128576 741300748 909825124 485909140 982126366 795190522 437569594 868088978 452598906 567292174 387704658 675875220 405679762 969116308 562080742 489279916 893232148 216672048 170679544 234938078 853539518 911329206 510727406 350277246 366468200 993855384 520251748 931221124 834619100 482145240 906831792 780228770 203151996 393108656 519984646 993488926 835438172 194858528 245001794 340946684 32095104 805180162 662823862 168017508 274019574 258358072 258358372 719213054 328438280 961515428 709293658 34762242 477060486 586697838 593032802 519629910 935997518 786780192 779054992 437540832 716432844 893462780 478937578 687708920 889975500 451288402 473861678 906189640 271489356 895120780 636739046 389083050 724407210 193090706 900641558 774658276 263519016 75044312 248224464 483788348 555864582 167724284 731851206 304860376 691001610 647055776 349676854 369889546 338369740 620440492 792477256 600657614 811913842 772607316 719691394 32581216 499419216 472802514 8900058 197384980 167194196 577815290 755005138 668357492 872602488 740533028 184220946 510077700 424923754 900929074 644032614 237311956 254393498 786058306 583884978 187529306 423004018 664526234 726858538 343245748 996389370 655593998 294127708 253607718 181062820 840848306 103620092 90097160 585950590 121802706 20529780 454990312 633067750 822105638 505071152 120157044 216180668 48501796 178397468 534981006 263224346 530414098 179672700 429307650 958076548 384342 38448168 514583654 258492034 427648502 476276940 930678386 237743242 399777564 112192244 316953094 759619998 935243748 959796962 795240844 543237602 982762954 462713590 456346466 545293566 224743830 935821096 929676568 247137240 5840104 852195856 161043174 240231810 648193038 298955848 512790954 203420204 967751408 561680728 302358212 331229304 878427580 721139418 109892676 957131256 187380698 362004114 633218114 358588646 442970830 328780540 142525274 855567882 99464236 94678218 89872068 639015462 197410304 420655106 561455702 573027914 917241832 909264226 287135468 139412926 376091250 671493342 386860510 532065646 562205080 912039128 900212474 869471010 811915714 773982378 443038238 357163918 317993092 152147136 829766080 916112696 678057718 508183278 9094692 395584732 924222464 37484418 346565328 292353218 77746276 671764012 33623162 125925760 318416376 299752796 39673040 364750824 710469682 688782282 922828064 644627270 406126156 247745294 781526070 167516058 422854480 761652954 9893548 191781128 968879256 594792410 113649518 336788918 795764398 907245646 870485018 684352808 352122604 878131948 954580656 608953830 676839740 144676100 920086674 172299836 985873184 771643666 829445166 505107342 496693918 817779144 18496266 398913790 399318786 348714020 10261348 423706894 189584196 395167528 420401016 40204736 444720502 733351124 741985170 868628152 472173318 546536534 680605748 425842928 611273092 103139976 861791900 557286980 103182068 456044458 322502364 759305070 359001060 467813530 588450102 782283724 741454484 834026208 900645068 979236650 888537992 281173478 808315232 972846970 32372410 206379826 407770842 390145982 658272372 688906162 294760528 584993742 647347598 247836056 438300264 876882188 878327978 794951340 468950130 726220916 610334968 191706518 804573832 897393552 223461276 791233586 421118566 134748856 506239810 760701068 232001198 287132658 21167232 470392504 550365022 950883976 379557238 491156036 29531888 545466988 217801284 260889524 257187200 807431054 834442702 453987980 512834102 269660376 613663764 602755922 785855458 420543594 787178146 679751180 328580586 732633888 562990096 863843416 233650094 374436288 636274548 193750400 400348586 709253560 984730702 527606450 840158774 216135046 744587810 23999142 611727382 62574010 225800038 604475024 696020220 506609862 641315042 140624114 124687354 550065100 172442898 313811314 52244488 48153538 179838756 827153502 661393930 297505308 839279124 415596658 560647108 432777826 482769880 148932128 590640800 293362442 216142666 726257246 75637854 143199052 750487222 944344456 237041552 844500778 614184498 260978962 501830832 961902644 305371174 769433698 293740598 177490530 909865172 806702278 196820976 965726968 323821622 504528242 341674508 959281496 41210922 568216278 56262416 832880702 621121312 226737824 527951214 176142704 195713390 423312512 608317370 298515726 783701134 863685476 4959418 237221156 423059292 60990308 236548426 576851010 770253972 746048064 851028384 906946862 417022860 756662360 594238178 43413200 344186902 746961634 344659518 526104482 188382916 346937938 84084502 80573348 761674776 88955902 470683330 77252512 779388122 776442326 442409634 574358542 566814950 964501706 589878216 514140012 338119456 97891818 744118338 84904280 819273018 969797252 432793472 174345010 634798686 478948918 43495384 641824768 970116424 2670062 575591940 83682048 327651370 918104996 600786532 296793946 463465758 173942200 440394492 935578148 563029802 718321960 30007500 342350068 807943764 122854424 841347794 338696946 151066098 707798380 811621968 268106698 836126676 682002220 194153298 229697934 438718860 976339280 450747530 898574404 564814586 485125884 536872464 901834560 716503274 658083412 149524416 847478946 854375658 357511058 767448336 512588946 82751070 491574736 566695040 773876674 788919462 399816020 745694814 189883628 292549402 368363924 244785568 478800126 636057548 9178846 750420100 772259350 246006474 401015556 72754956 25417184 541493504 590844806 865263034 729220046 545629802 963227466 557163988 982504252 969662558 339136572 924149106 496119540 732180598 423547690 392135442 129698774 780025842 942516168 506313320 166438130 312826070 707294920 257223796 299337728 467511260 664223984 237129860 730539246 278231022 713747174 541867558 96860222 774764144 119604750 393634262 627802250 953169518 338452512 151322626 880097748 248474018 697439128 283026378 559658478 227848310 272738650 232990016 779600608 121341124 901106480 832264318 980545086 791420690 622706900 307105776 427399806 77946738 636725624 552127326 766119546 54289464 126117882 241381524 967908536 431145540 876561082 846286380 517429722 350592412 71105824 786665748 434980612 403338920 741821608 934499438 64711676 393034724 167971182 68357086 444038240 155328928 722308174 783911522 437732554 184074256 839892180 839000532 653765540 849495916 503741394 378060042 774927276 867781978 790377380 744463568 985866610 939721394 269767820 970681442 183620492 818433332 464551522 118828016 923383566 267188206 560819372 61577842 710296358 563598702 406567444 969178240 376094678 97642464 265903792 565687610 320687746 890522932 884570222 767941162 276495962 309696446 383067954 503407928 564366832 593863186 377763200 189820882 125445922 506685214 76692142 342648724 815588538 258859426 639219010 211997850 236110602 954694310 165584046 139016002 682320898 944197542 171973542 509837480 238930760 208558240 295717974 902691046 744070280 123198380 258165138 677203956 611176782 449385298 505468742 88549458 451372320 451599666 812126680 992501926 492122140 2906898 966978942 940945358 46791540 565666058 309670254 424525054 456277294 713750548 926547110 941722702 399857954 312785648 66879164 458367360 509289892 295395252 218806862 842098922 102073312 148323132 112969028 346146914 118025618 268288508 893388904 993343850 305246960 552049854 701148698 428010744 553437916 487124414 751693442 816366870 640063468 412647152 292290600 213938440 947362332 735718688 569797540 891021854 383687968 488229072 927038202 747313640 170621058 224029286 276257892 160432890 668902870 18516032 87338884 261859010 495516834 215904440 516565032 823741604 639454768 884265140 563705006 125746080 122994198 571466646 103518824 969166686 431383176 993867876 332412278 976685124 156683358 961040044 376996594 891839340 142855124 835277134 542904184 27846556 983166570 212867728 67069014 83975928 989167450 344848698 215514780 835222522 105575770 19981344 501701184 505032788 275063682 714169632 717015638 885676550 995265792 490805324 518339164 241810210 482535876 588391428 169176762 530360740 666497494 330217556 21544084 733749382 982143330 19836638 629474326 379760164 937658404 592123930 4585632 417295908 217492074 294504158 297965756 211233252 795327020 267683412 963197204 41381834 221998912 450249516 701443362 292675470 229773670 821463696 121205012 830103296 879869536 138246390 123815520 313457888 381061398 341666808 891482816 410889488 447313754 9192860 725429514 870042284 672512088 692185284 605724988 553416006 589903936 279743298 276059008 184297936 289525608 84868242 743785838 145955402 989300248 151733296 584261090 54655836 500918726 390357090 77568120 351356888 967952430 628825630 530219482 453072296 402321220 322355964 620712042 413122388 999163820 61938602 871130752 692597084 282802816 997483054 280627892 468337346 450160282 229533996 727489392 990990590 913432096 287529654 929296948 636260064 639692022 539293352 956821050 882542306 640925412 651527018 973711700 756934300 808832876 827065044 354472852 576337704 17445586 632470968 550080722 15281860 437012938 417002938 797512770 529381902 781233692 385952312 119810362 325602674 793212796 875004802 501813890 140165948 316407052 245403016 534509022 211376344 632895434 717952424 446766570 931424790 318744834 321311236 80879026 433178932 487775548 668395064 456293884 533863488 980122300 695118768 302375320 958742232 541508460 750525222 829818004 260406602 488399868 569977510 139749050 236164172 346321098 334944218 389197718 711976420 966954686 478330504 395215704 20612980 770314112 832505380 673520872 866952258 589550986 390680758 483755698 57081984 193124924 51798970 81391130 117068266 476339538 317158812 980453826 795449814 340577922 242186168 734315646 99132892 721588268 638711284 432136030 663420074 775114434 935819418 942370628 517054878 152381786 640762104 294811808 714711488 876041098 863088408 854600142 819612788 476864664 317581448 954190706 907748496 489278540 527529308 261093038 597289642 223448610 887451016 954865842 696669954 973784604 88961404 168195890 797723044 740119306 185149894 201019834 827802706 860900414 82841268 9278144 439305958 252291746 648498012 84191332 586871154 790090602 427122982 511248320 964211366 642945382 670886024 483191476 370973212 199117334 934048786 361583792 537219100 247429376 816489012 950008224 632619188 642315676 260260334 352972376 940556624 684000616 238859570 582990918 506410560 81935092 726797210 884107172 779416702 113451876 544971854 131120910 977139408 746546126 529016756 647120886 801125320 299984614 153606974 560251648 601798468 670426274 129521034 591323362 823751122 718993774 69999294 160814488 560608574 600515328 914900494 658377370 248352382 681574120 103882252 24403304 174637084 365196358 449842536 844395904 566978762 496604030 656568228 295125644 275247994 629751458 664966408 291614324 770639132 437085312 790914852 940000972 265838844 881968270 992948580 982100526 139337474 609955530 698487848 102161664 663649364 301212046 748545714 771013568 825232720 11813310 196776710 660825530 474639482 761755326 899570210 130836786 373037950 716385110 697748676 756258828 925678466 947435998 309115346 838761274 334672810 852350836 188006038 57627964 774209786 692340924 164310204 387514396 144036426 908729966 761246862 385479112 863477754 610895320 897596476 258591434 416977302 986232786 645681532 994443270 534472032 89249258 519522342 938226128 370268478 899621924 86580606 209443430 356325666 338269790 564516806 636428302 135183022 311973636 290491756 212147784 222285362 961520354 626986930 190056912 209826296 228741464 33405862 754577218 501989014 193885658 262198386 447317352 552974948 720778018 277556344 34667538 19936872 36976152 82133176 452730620 742009722 338175922 273506810 76826000 81852420 372256182 421460106 524738114 172086714 917632908 854898116 975272296 28139646 157091692 417230274 830555452 361717958 878911076 715212166 263675008 233658506 54486644 46519378 290499850 753837090 449552048 337556562 561013244 868241352 213974430 936512470 748151680 341021656 383040976 640256394 669355092 356288534 472810906 59435830 186424574 711808228 173575960 432698702 830611646 496096122 543683738 109809056 240700886 406663848 465511368 531583556 525861144 314474322 350878208 577007542 35399422 594447566 68873786 959002690 66274328 537281954 297891864 126864452 840755850 357292930 55959442 221115798 888102676 76858452 251719794 842502818 318963870 588192574 154488794 242233416 137621880 251454102 960422116 481609328 738781220 124524496 530836858 318399064 823230702 553331828 568883670 257192410 414622190 328194062 830401000 117409906 958334806 530857244 35102984 557181156 465227420 139101640 274683226 55679448 896875042 162025784 256391240 303195336 776485160 461560472 859653206 71745014 586478648 749252488 330515942 892168636 195062502 517873214 178904600 282263010 50393340 658429794 884117224 482721948 604233398 735291678 700860722 363416594 472090858 910911036 567082550 982483816 300137498 10023518 688233398 430070604 663322852 76508630 376892664 265067602 875902666 25520318 657465802 427362420 324330176 191140370 592056516 332911636 604735008 46736980 100344260 312825294 973810170 526067656 162434394 692359098 152191832 371806000 302932312 864675820 316768240 724456164 923678368 532983914 575351904 747818146 97500404 874412224 57087352 472283348 636977318 855176108 477174884 53390954 119645268 69846204 644825788 769087568 499451612 843125320 413505526 937374636 206745276 722595616 374829006 751440924 120458488 33164774 557067014 795278982 180876552 35722800 833510456 535475448 417959536 556124450 196533136 831160386 288138982 234919124 119033870 13780850 362278018 43242182 197429338 302154758 472304000 439220308 723961326 601913072 766856458 258429734 505067598 116836818 469125102 179867490 96388940 639280016 926706194 674453624 231330678 588014512 642545566 924134864 61408158 934935510 452775460 92778740 565180536 835436556 661706702 612395312 216277606 874462122 955863996 599348660 870618076 17492002 156184870 129866108 853673986 599599320 284132064 232157726 546351634 923162968 751803420 365442428 446920862 655088208 351373518 606977960 799821564 514229510 970226312 667082352 671443728 594731514 694054498 931923974 21190324 725344162 99228004 41824652 508850226 39970746 673933150 714098538 827439314 162031406 768794312 622200918 479962662 178271014 689999432 878713100 97984810 151335698 234252386 990737946 795306288 113576946 786173326 540265512 137209596 190737602 36912978 74921658 640019192 780065674 384207568 698526432 535718186 871291806 906202862 246540310 894187314 811261036 405827540 704363676 721283968 249453822 170799350 146085638 546367210 938087586 338143878 95131354 42631200 665188596 993022866 998578070 917898290 851453400 3713736 760776880 659908082 645519056 959978920 671128120 985467704 41288862 479985814 452281342 509019096 285119344 544263874 784760386 441031906 243845440 688568384 824053180 792687366 601317958 601477290 903564724 549652674 523234204 672936140 388765680 482819396 449913204 111818512 342458582 376076184 202931530 322347860 46807184 508550072 126009338 914882186 692507092 869210714 487436364 12336458 316886506 520189480 103442744 363552632 657235162 778844356 323947306 429991996 987426000 136010306 382785054 688333560 495727250 672750216 205128980 855456100 771218438 342599244 655784018 280985864 335953678 284656326 951261994 773252882 59698538 271717748 559379834 1469740 304537366 58298956 918803998 667088926 947459144 633945560 356429292 529715944 357003510 547175800 565865696 940848648 595329238 545178788 828775506 442239654 685325256 294281074 492559982 643964522 590485822 670976184 475254896 210447302 888498878 915184316 988279118 190523144 72319880 212193122 547248258 217894332 463393426 892568686 867923008 447085626 127046452 626227806 304036312 767022756 483592784 535224008 413865690 677596362 628989712 747601998 959541538 128862118 459437738 924064392 427816704 129227248 266771902 414790644 489542930 259860276 486412660 376483914 452352654 604570684 790002686 727728190 77907326 537457086 447252968 751641340 554631644 705197788 779618766 481589026 593099948 35506346 516710750 321816586 1848514 820660042 313946930 903008114 460503806 721828154 57142192 590235474 918084688 930951040 425398206 805242408 229760756 101404244 693732562 507702872 138080714 597271528 842271996 162771578 280098464 867054438 968173156 952094966 102460624 865429772 97541206 7112406 141828114 559063028 322655004 96908786 390842552 881130382 784121422 427567618 941306442 807501626 727809704 910264538 231104074 143646114 959009184 86995658 916001940 102179868 640081406 799798568 498146652 774268328 890857882 554220472 183202748 227039318 326095836 80462954 487152102 297817488 495593314 696090642 763834234 215518616 62005834 422462390 313203562 682535776 98933534 834903656 780796640 195682130 420789878 842272068 28477200 986901690 294482724 244783946 601855276 592400478 385408528 71763628 24436868 192779356 770918544 412478168 28186150 168279682 231554082 293918254 231001368 785490764 439769746 797877690 443037752 46871260 496508566 845499160 824629720 706675946 40788738 55464734 908123458 984592364 153298368 122338630 916112758 670252476 821426640 8579704 84712818 488727972 401303384 823928744 239157134 919085120 129428922 386209922 429209288 407953382 270869648 173221926 439237686 421323586 138340672 363801804 758170802 590384390 942634734 189356858 425664176 106062958 215870390 10387914 151884092 717737492 845113990 842503600 508202526 907359344 422048452 979524074 495206596 297411076 712093216 89598874 494662364 818440496 739720392 161618298 875182424 904432152 663062644 733653706 332060658 261418284 144914940 663379732 690733754 11527236 161846424 801035570 301279984 657253342 463311464 82165572 556371684 878615736 528348848 649232252 922879896 607559196 290059422 198549836 828120380 191460980 178723570 354444894 166193978 518168078 262859036 623032336 380342724 398975184 692285916 194870534 182147918 842359492 952721288 960404736 724620486 402304688 268289128 287376176 495074322 553833478 624824012 245096196 158350862 707497140 368567274 22743526 289025068 486824842 839940600 110005900 38670976 781228730 475456654 916494404 605639146 857489712 79457256 39258628 878602710 137427276 966807436 24600194 897331648 8014950 106610058 183786642 426242452 957972170 485055186 58399704 337369226 399338132 899085286 836716046 704724376 21015578 686040152 559151076 244288282 202143322 504095074 238070696 654416038 180840322 731125600 288251480 50796406 114163036 367016114 386475836 893785382 826436464 375582428 921132122 10797934 60498398 608818606 747414182 166851634 707182694 8102296 177558138 562526216 546396100 398734926 822250886 363511754 423542972 970311262 892417318 759953064 839486144 293116096 68796668 60051182 54838578 716371158 201407680 417413510 190769826 142275306 922899350 593892076 736642422 364799634 206008974 732802174 352315556 692986380 712056534 288140556 976361392 766975598 65285168 778727432 547676408 318339230 907638244 971893066 784606766 105166576 219525124 336100598 555032180 968147702 127942470 885674222 206662002 693340324 848750428 304648294 795484240 781383950 123362220 584327222 229170840 898912084 674610440 13531160 465902186 543790486 706192754 379642826 189837394 321489280 55305424 992990948 433966468 949415998 117849280 622687938 790344730 769420222 137247880 589724170 45574028 210745300 308523824 89961276 206574698 598464382 987747184 50065764 777561266 222461934 438307678 413911984 913607436 118673632 328925426 125195608 597325680 294604304 64067556 733502848 570967134 629001252 661638638 302501502 800921180 978211818 311329876 973466786 903066566 835200398 259328536 70497268 718024080 764567152 325364112 984233902 293431422 938025824 916816664 380403128 198220552 80163976 899300758 762704480 156928464 742904194 668870378 448827768 510085608 613132132 640824248 527775068 488426488 230848400 896066144 349641014 299773378 908427586 383114132 863698936 634550298 456959154 182521184 202073850 848628660 45969484 137330442 477940536 715531758 258596082 482717766 553844832 159874200 100188938 147845876 349432248 17831152 860527218 227628342 832730416 361643780 447119854 928808712 783266406 727610872 536893182 949659084 815886224 88280028 979599510 373658728 117603234 911210612 423889998 130251290 516568410 169092088 665094246 640726998 528258960 395636384 728732304 861481652 2141000 782325364 999873378 782084642 268512564 569242386 198334014 597914098 65404308 227501544 980468530 8797212 44762784 931028652 812431812 507880204 10256190 569192728 186311874 101679648 244386170 790223706 189964166 528249732 650641850 442408818 823831928 508149122 177133342 585107440 230018814 991335990 132801892 817269810 194577420 269489636 763483982 826096536 329639204 245471652 764958248 739214072 828596880 519194220 394751124 584719466 357628294 690883392 600542630 968381468 407116356 382870966 30554170 612063336 118557752 643754384 856629962 450406336 498922688 824997074 571153498 829689714 868779082 169309156 464955698 504182748 824700132 159561278 143220754 330803380 38824264 324801034 886893588 595091690 770911328 984562564 150115804 899382140 35811016 734906522 234520514 718025364 583956164 743737634 667780990 683862596 841557304 935406628 568322128 194368924 535550270 189195416 656417368 489650090 716025324 466590584 234109890 526411000 170873158 433068190 526789194 561660054 189912374 635574022 589668538 20709624 970014224 47780480 989932988 608277216 716449972 430498270 185410482 473376946 692967960 420858630 238013494 56741614 363704174 918190452 960635982 773280072 518666972 891773074 169835114 891980550 670262344 904329070 635215540 38282492 671745592 765384242 601544678 998369160 134886304 76257810 560248732 670016898 474248480 496296834 592609618 795663216 105728278 367321898 637780676 22184584 685063228 101200938 757665064 621599406 985153508 133932690 364102076 755084966 822813214 270624656 492109028 201629504 447291136 699864418 563523548 755199338 604814742 419211266 945088154 179358876 718358132 440319344 873118936 96586614 228461404 338264726 626072852 350430664 156756330 896519812 797860190 751108592 526715000 31267120 423878652 74957370 384066802 560308426 701548870 550766202 704992102 279404102 722127654 415587370 462670574 999697282 234951284 13510398 312655382 909334922 601129204 798554086 113516420 990744700 897121652 387577670 646534122 905604850 241990818 559883518 830158516 342754276 786939376 537579780 57449202 640701518 13999966 817318032 416181252 614104314 157213272 752843196 567121286 988392150 870026282 431550996 701209262 603677052 933491426 715592174 966840528 571049950 166787728 128403616 785115538 313122980 777166504 540299822 729935908 967674034 699671004 776005474 407508190 830477072 82846576 608717052 52383182 664813798 225941802 88137238 129511454 171910382 527657714 952276374 761831796 403244016 350293042 59573144 140815644 630080838 677446910 122574212 292097988 538202230 971767582 480848460 9458740 449431174 783897300 438349950 905306782 388822234 209278920 24711342 65492544 658275574 301370050 630619054 748553772 71044020 560385338 105119596 171417260 729406804 77302518 953976930 12453360 167477850 780233918 652086346 593414686 836288602 355153350 205026728 396027998 868785576 829765602 959418322 379359858 386920984 712311394 228447852 711194648 558025164 770462734 641444218 492206444 333586766 990920540 790925354 609368804 895920448 356191626 973453142 809858096 494134482 637394996 63333870 252160256 589666802 238424036 530076448 210378002 928582354 722377262 880608426 464684610 505419910 967791208 770999764 707710558 617438996 18794462 285290512 451310034 476164542 601047888 299138828 248685032 328533548 253741822 714791464 100789190 878167020 464158524 72864864 180249430 693981908 303424402 948537938 335220290 82968252 133157462 823644790 59897350 71337064 809915060 507672372 416882798 892009512 742718396 394550730 574122424 122146816 355250798 24934476 271670760 188025406 629299262 637266100 507603258 171518340 47417832 236257790 267264634 152742918 995356430 477887842 466928466 621993486 297342252 598039356 915727078 856423172 991859556 290683262 796814050 177162024 133623554 183981280 773096422 607829776 232618728 658213860 824981430 40141718 787718104 479242570 217369472 433029770 472963974 75070246 355834956 745031728 492213098 241561958 453130120 68277906 99997798 822873016 720287384 286447016 719762868 871679502 40631224 727599772 544263058 549937988 200947540 817510582 211903368 771274470 715372076 32147700 729669740 730526524 499486312 186231826 738198474 401113874 535455820 721954164 732006486 499586860 695457716 580961046 973052808 741272676 755551970 76451060 685103746 329754820 97212572 515219478 179622848 708002658 688391998 822539434 744381276 108128752 500020838 740652978 665845024 840797348 370751106 430054430 927975174 785104026 514030904 134080820 38873886 380318852 659625226 761925776 972110072 24094404 973941226 200079404 797955110 976561300 906135702 332064408 956624788 374975930 285716336 441465230 329561392 89911744 392677642 86766 222069188 202605138 645029860 543443322 526174024 923605860 467670672 957166346 624917756 983203060 428031138 597888218 483529644 891849760 789165554 348812110 859294484 834249708 131020452 578576916 130882468 320113048 281043626 646124592 542714192 611354196 842155338 500191318 543542032 477717570 570478718 694753768 951810822 427047130 95925928 412936000 68343736 370911996 987770778 357144006 494455370 375153720 340939678 603395978 46169170 188112218 60067698 184718642 698495010 77862486 642754110 294304552 38487568 259992858 264746852 800934716 90634298 517443512 352319128 589638210 805418788 64548232 485888996 643324814 224230156 333184564 866518160 203759388 744272102 433165606 684106502 815099166 411171522 21111778 11258726 336513740 625682614 366933450 861013000 145586840 756695936 197946838 705146638 149328808 223437624 201683456 407249038 742018754 947201424 293663226 301703610 725680562 787976702 904445522 841178052 212542864 345547618 900474250 312520702 364060122 111535838 240711642 97152114 175063550 214924944 548222182 334842698 726755506 722489310 230990800 484534052 567730730 858389170 851070914 530154642 592240040 695951904 640466996 215467660 752930618 343262108 839288284 769654622 788683898 583380584 779460726 525845908 998536872 282115616 552343486 566862648 635574498 848781094 109193446 816335934 587045442 800245228 894069026 150040910 460264190 933352362 629790480 616318692 61595200 625617674 874117376 455136148 733208648 75308858 342859418 62697718 324975036 525883774 608992220 264200434 13506082 159517872 53780546 988239990 163154582 662733902 167839520 748541190 113573670 77419166 588100818 612168296 660753076 128742492 962712196 45069550 133525050 29439918 507611874 148676152 726213788 373615058 353927120 863648694 273137972 857870854 714331216 832886848 825172046 486897278 28477838 885818182 284608222 877815074 786488966 603119532 169484806 646828674 520772944 400296252 646170116 508360176 184885274 820766044 810376314 914990218 655213068 180718260 590687706 51814900 739225640 531652222 354884576 894915328 852831054 108476744 443963842 751354386 796413930 628478014 344226076 489683062 368584096 157807712 248753836 945121994 581234550 435774034 172975830 573582108 330953598 63754678 54474240 606175300 200875820 497732304 923530428 814345504 93853974 924405514 766087352 45227766 296055810 555826268 104051642 903246710 371087316 642968110 38774582 320157130 423882600 973950118 732875444 108905922 685054508 67068362 254839968 591447568 887508074 820125996 342433652 773231884 878744508 352907778 255836354 858236172 885117442 177889336 317681750 714236432 637193974 846201790 615960018 686661288 222180692 891942212 282362928 540992974 898804476 80156254 781833780 532260432 239426108 532307256 493635778 20844338 144389810 65695454 370401090 232674372 95975928 513256942 834522372 273080308 626574560 496492446 3369138 686929122 586250994 75026610 23455750 340694258 955088218 526201562 416897474 810678920 634001706 658979286 744997276 325743928 744669786 573950704 821457354 371793310 423200382 773470336 205463106 75888336 790299740 888113524 382507716 474977888 155721854 681210828 542391720 165965354 237005218 47271614 542244692 289071362 985253772 207924710 620166984 108906314 625031754 802494428 484930214 706806320 283814212 59978264 983487184 91667904 197756822 726965314 201003418 45854332 532088170 17741704 785976236 568918992 5650608 177464442 829740228 577721966 535579412 836699864 462678940 851418794 446191168 209689112 956715470 607098740 244954720 990510950 558713628 975414274 371578168 170836436 59458308 204145198 526713266 612709528 704373712 929509628 794602298 662610394 599509398 540196050 235804860 676567480 944695020 985414864 105600454 881934716 382483770 98452848 411650508 219503396 617452922 561670730 441956222 750771166 653094730 521667752 582855588 414762858 880983564 106433150 461062388 398912242 642938104 927074456 158134966 289665984 991108004 924247732 862795924 208985424 835444992 49690454 103466596 815368054 271946116 802208650 49400630 492830038 627142006 853679446 455321234 188013450 464990438 749913850 967179380 884952774 472122640 83708588 883403186 583984206 33810374 210683672 589927466 346812360 863061282 99027720 69569962 101916952 288312924 338123282 255002174 344085610 127299088 323475058 993333628 899051064 624210402 768742608 527270328 254480750 935399522 767582352 411187950 746739768 354775300 482890994 459027998 678134624 970325712 226976938 604067796 492195742 568721594 749099708 873840630 800750970 566775460 460791774 614387992 631602580 476406634 469192982 65866744 171250214 871303218 729127304 834919784 975445588 434578360 442772016 176364842 176578858 208849170 751798036 58389734 126371144 828390192 604931906 325660456 836314224 951094872 59080582 288742244 588080312 591697606 611929164 115416354 249768820 636011004 350348566 785595170 696783812 491667146 887049356 975630780 807197572 474389228 758022036 181041146 34595508 747005620 784906790 421983994 72860872 917383136 872143448 14271978 774037488 631687350 431305710 359429826 346391600 199884620 745253838 592622070 589230624 327408970 306689576 365703132 765319336 919980242 844817202 588211112 737414588 295159394 304208450 212703436 311605134 290030142 878967566 250790800 168347944 879954160 75805190 248617976 141627622 249427036 539634936 73021160 713915540 563934626 341980904 33244404 939919022 675794446 178780430 769123402 138685660 947787632 461952428 641558366 747302412 686707186 746194652 414459350 411717030 136009972 750762510 757035752 594802312 753472748 547729828 810656846 578554740 68146346 846608094 148362304 2062400 27341326 76537686 873233556 645281392 171928120 95581542 12644512 789276256 549042930 588119520 19060584 921453344 40069022 804760406 256668234 602029506 254561832 212265254 639788008 138177112 412543762 515752492 868198140 737758076 223477182 493069588 862217376 872755794 735798582 844094984 813061548 726496540 570579656 988380712 155553954 243558720 772454836 778427016 287763740 644444916 846388874 227570360 431987720 485446274 786455112 260898942 374523264 314940810 718344332 509780536 17718056 663344682 367375860 510336530 25795020 906326416 325993878 39552790 952981694 910075192 938848294 325315306 482049156 240924672 437773692 837053098 857873632 997506034 913844460 533012294 156538632 974106132 136003524 93698812 648662508 318959428 786852362 155957022 909714986 292969652 626687606 22671052 580816816 263748550 657284528 904793558 582625894 473800830 878993180 808111806 142827678 283326384 583401970 296714950 465162478 534774808 923600394 565510620 791681044 874462010 41058270 307520628 850409270 54452666 258075692 390264470 773812642 541792886 488972742 486821380 846256686 952729594 751915838 470077196 947684328 432498226 671000826 859492854 606226850 362789070 734069560 560899564 869336638 787605988 793205480 716760298 288861580 89998742 103725722 173438888 138678614 370165018 924477826 29226214 585419824 515893292 27247850 481395986 146390078 129835704 642686646 326452282 206770872 825838068 710567524 449710046 974072856 131255232 375146022 872727948 308388074 303862498 330792272 162716080 627154944 86726846 406834502 570665402 188575166 496448896 502310616 384134526 302543970 627838174 772010286 295033376 951170318 567959800 340523588 891667176 383660474 237803616 32398866 148069374 355340116 13686502 956897538 842304008 838323638 529526500 983113078 851766768 73117172 387969170 996337206 586073954 427722138 754182554 184953452 542054956 914738784 91507034 940105542 977993760 589874638 507666732 392823886 961497230 830010234 675240442 671259326 660691164 519842474 24498042 800078464 519681096 366019388 595038872 962665662 63130052 710050272 149429148 720008020 977957468 96695032 408173216 839918146 677285762 899438478 996460078 746146456 980484932 539010894 709462026 721322346 876011612 338013736 535244424 737082516 429756144 123976924 115544170 578490584 53442860 570146946 324541710 627286576 719534198 858741918 278234946 304739954 758295966 662258884 870037082 241093444 926978674 538628788 111886954 440732216 830366280 749757772 455161552 875143406 193709296 319284592 189231606 512397898 620376614 922970020 345675268 914669028 656358298 448251670 414897382 424567268 950294054 956492012 313426280 698197108 36047698 455109494 940695788 377940316 470783634 322467616 651339860 695400840 113341588 898164492 805569502 7444322 670029838 512169080 131937898 412198678 472080200 727453284 512053728 985383592 839460256 867585754 792231284 252775660 429547590 906060382 591838020 252864940 907843840 628713830 200999764 820557036 122397082 410583332 151313998 618736744 382617590 173140378 126159198 959846244 952320612 529437184 754065062 610198924 889991836 675074764 208174520 243843068 990407146 439506028 662394142 446271036 436564106 177942138 348773926 937325018 588534572 810704802 511416254 715958430 55798286 920004844 900972804 9310852 917052010 566107686 267130760 579612092 577389514 5373250 981933274 930674020 856695416 489700362 250152522 335645828 297485304 759893032 746281358 549636262 301980058 34223864 464872842 189211836 162699698 930067334 646041070 487178520 260195920 405677578 184274186 148672266 561313618 457586246 424225140 837486274 441188976 731956740 984301228 34542516 120413436 407844010 120816062 744738024 531444618 979719410 154166514 983802944 902000362 230480336 116877086 529375592 961686046 553551928 515740380 144501136 164803374 998843418 674541386 606095692 916040042 760010082 885991706 340230810 968704380 961266660 848492840 982867710 265389270 731949472 621193426 263898574 779277858 876230032 988769962 465540852 985957764 224764148 992122206 756137122 415734474 464027374 952027124 805871954 655835404 159615418 308974010 72586038 505782050 740909650 303277442 639378730 216405040 823696232 907911972 151375002 670339216 849161766 705122148 162263982 901444908 999928850 50843842 806739860 119470902 644332372 382479332 286951124 583062936 399824282 732085134 395255376 951924356 186670748 680218302 906492464 51599830 570008080 556067594 168274788 401535812 254530506 309323464 7119852 422704094 347470000 994545316 277865930 584335660 597612454 111062076 149314634 545121072 889029896 810739734 85796688 350016034 607071820 614043812 54843436 671842440 949242514 557998510 46302320 902598556 621893466 922425350 683500276 290451568 105215724 294563868 42112908 543570590 82156798 850680156 873478116 103434598 659486852 561339686 171970456 250247566 505021854 967102432 840664636 808042628 786014720 651690552 25763796 52806160 954179894 877157350 852305884 858210014 579820832 623717330 749837220 823331196 266217194 70859884 367967944 381667946 56013886 613451076 945196104 392900310 272860596 771916928 228834942 491637926 144366772 147554480 438163720 984716128 700681622 688447612 319639002 427693492 258235274 211063626 836399464 85118920 110758776 166135450 141883742 199085976 670409446 656196974 243673958 764834268 463138078 808026546 505295202 651996180 800876120 753048662 2494384 866856674 859158836 851289186 87938034 607526572 193192302 721892860 684046022 36714780 312121768 47674844 492694236 878407462 165603674 745983472 422374850 456056926 557394126 335047384 907958504 887498466 549994870 636864614 949497440 100831824 9690312 154510926 480839160 634407280 923517666 657087306 161600476 628532652 746131642 591202614 207859804 633507810 980638562 667846700 130771580 236355612 862250512 811206672 749580182 844618800 836130104 247301998 966846028 391368406 340991806 986074348 831754658 505732142 514787358 953062046 757139682 302480726 324775222 722982480 282115452 827443066 398194570 438885664 816461498 560959966 207903768 442994728 64591714 622286776 502833200 26167454 337371784 564658338 384012466 51308140 16409486 209155384 531078980 808600694 819259562 676832386 760889758 269870346 210075156 998089090 795116736 248545786 285166718 965771900 202830976 989626016 719475618 427946638 639356508 749102530 455362484 883235982 912857792 115255006 779447058 247098492 999206604 43664498 718592672 929534274 692444886 194989344 639462990 800459786 205982788 16809266 357666920 907407210 616735486 646742762 775028404 186996760 499857144 826877868 391184184 114818212 657280274 19277504 263064910 287842478 476407586 860423338 611633398 477595052 77941026 563951610 959560434 761758926 367654184 329908102 635509250 402298056 505888464 116546984 754223298 659624818 672939378 838479730 176711010 813051844 721281340 259383994 584188590 572452276 322457590 61191444 732605198 520519362 806107004 805330312 487143228 434234628 885301104 401603376 658738820 486169528 693405756 539594268 122217792 553463918 660559296 897673160 913633692 938866014 634953556 522359600 480372408 293875246 276441838 363590880 482995636 937597626 154814604 895673028 781349136 585171134 53549490 273443848 987786234 177166390 927936230 707211358 577973602 648884488 331685370 860866248 497441774 710139858 390040408 809921866 758999456 401511172 221797098 920317294 512182256 431940020 969730050 948743872 440025386 125837242 810009678 494389272 107661476 304650168 771400160 337561318 234151126 34939650 12422776 41163596 989165738 380169850 829754992 744419040 361525124 161625588 445618890 723459874 52806398 208860308 604352336 446200042 428946916 562570302 200321360 673351436 311966100 513201924 252135606 885884584 882743192 898314168 336446950 90612508 730532886 548206868 663848924 781902010 356488164 164236576 812165350 938514608 487882360 419484526 997677530 194210760 936445030 223288764 380186106 747223464 974737746 249357224 555683394 874686128 550829280 358474146 325065164 592582846 894542604 266000742 863598434 367990230 530157792 553279274 841514192 833740786 809603858 819495524 615174892 733402128 173764090 857742824 433765458 413319978 754442474 942319392 201414868 997035296 539456316 855996508 970450696 764250850 378015126 997462102 994774726 757320016 309888216 842776834 962594058 658514156 994213514 303611576 821049122 785446784 245051290 843001880 574136366 442204982 951707032 591200428 837534068 649095366 612242802 498529984 692580172 166023062 955024830 910105504 471723430 229720668 42234928 549077806 456268406 64247920 470753128 154023668 430736352 216505708 879827670 638399138 512610460 257053280 253330508 707660306 509817796 905280504 819101460 452070728 989244496 79704514 463187306 450228626 29086084 416770210 86349730 802361666 358890024 822996264 870365860 441256152 253128864 170825898 325745914 693398362 352070644 470166454 939155188 551355678 693190126 823008690 513886664 612833092 704449546 915004320 836598662 71525498 466993634 660975948 918025376 280034808 888456546 947717724 228925458 541926838 395863384 413966790 252872662 507388776 729480050 56730812 511491006 149624988 833120424 411725748 434946080 979188448 421625282 309131496 7791828 717370264 909385308 292454312 940145620 40668764 714425244 846907352 703653944 601068412 872801420 683971268 283848964 477658764 113065044 561912816 896720708 674623914 837861914 622207912 144423494 552719372 513539578 112039382 717704342 989630880 655086162 643804062 731570534 308329358 38881720 834979108 791591118 94723432 458843030 683763490 77390794 745743832 740484548 800413744 874952708 638085104 334274244 659565094 805134248 918079518 101335956 901829750 644919900 384451458 517070592 806891592 546336734 364601162 566548632 325570742 428051400 24439266 192429746 403247444 2967042 571577516 862550708 876396306 711396716 21566368 814376978 213868870 869061144 645160584 740157220 673110730 208515874 331313214 841481042 967712298 749918026 750917530 228310508 472564928 840026888 653666654 653154416 61245326 917498952 857486840 892301536 239582282 970210500 218395360 20568928 893095626 746205582 951258498 782425374 636761134 898649980 494757278 246883864 734892908 122102428 485828778 819372224 939184780 54132014 668822584 862391558 973134014 454448866 8944360 89133530 515520600 780485970 616005204 288917066 646138026 593930698 719945840 438444750 498756986 772690078 615541634 278622288 52916558 544643826 332200086 82928534 296414300 812569020 836742560 82982100 197772172 757532056 22191572 592521168 7474840 758224970 534657760 132653090 39227784 939709974 835802496 292695014 807130286 990094180 426298210 658354728 249052516 332313618 19040252 374564946 827881080 81349302 563868222 193153486 863000922 779665948 666077714 477295596 38236770 421187262 4928892 596224096 708629496 721371956 42522030 898250098 972433174 374936524 995854476 239422932 30809872 821705804 327327756 738405848 694197626 521050218 141235676 995893022 30247878 597246330 700962818 289145656 474821270 656125460 95451412 522294092 752023856 897363684 423443956 595419362 667485280 259266988 59037354 501483738 424215470 560094838 296211106 76432918 632681944 201663116 545503986 415603798 566868170 101301526 651478648 159985348 118359320 225614936 244714868 77757460 580967024 32108874 535493458 643065918 554493446 886879442 883556892 265909692 306846208 383818342 989327034 934942892 29871448 552458342 244737996 6380052 193756554 531084100 270210122 381104310 491828072 639338612 518998612 84089842 529857114 247826228 732125284 270330042 787518850 337318700 100974566 281064358 469620296 101598342 671422858 957910352 406071990 678638932 490871288 664800290 147121208 307846314 689724992 344645644 855040834 691830880 546187956 685060956 443656032 645025070 623163344 470065456 899425522 322364314 464273636 105841788 667448496 289093372 64025932 305571938 268200268 286688200 499601248 232981772 621340428 913685194 578644300 111350388 59948136 370010766 920998664 239351806 538900484 133975758 114541496 850452734 117772494 798767070 313732326 610623002 852105206 695368844 685202050 517635978 45821500 217734452 281988390 839894870 932697694 390837298 19313594 873954252 523272958 504003392 306096446 941899174 655721764 379420826 349535334 902756644 744139380 813763276 643048510 874504394 738279640 980210328 854910314 623643132 91996358 938628554 592798700 775055388 551842394 741458026 822092294 555059556 210325248 722203114 917971642 465606676 270122360 977402790 618698228 596084938 973636320 412528838 938992092 18959096 327442724 302624952 329273414 519802832 699661812 137121238 535633750 873873864 596357708 691871148 448828810 911971478 961846806 757728410 988346854 807135656 282720352 181764904 171777784 449254952 790911278 574987940 694012452 650163552 936210798 354955938 998164700 956177096 130045826 428703754 125530448 811591504 980712784 17649418 974389110 165145606 735485718 392624974 532062438 320784486 424926492 437347168 958271024 387272550 434945552 403639800 985116710 227974418 805003610 745955732 784884070 109804642 285241012 371555030 877899836 208815116 357579428 584413620 864210904 440229794 764682116 600093562 337099058 260848366 241842914 277444574 656398356 657029364 113892702 658505898 978859826 591001974 144912380 60095562 215586088 622743356 575004798 56471722 28898210 164452382 828292340 802783748 354708814 188963472 344211756 842613686 544590760 412371472 416624112 84996546 353047226 711565936 165674752 973964954 705122054 760967502 493350410 224580316 296712098 891566850 943125960 809857368 59410462 869205832 849790782 437643310 676675782 267231002 386534982 612428868 592737358 177135816 163954394 976945084 4540162 260072144 937306232 580533632 909501034 7446894 50906304 588154800 979574018 703144772 339340402 22605150 88110114 880612272 496544528 998476134 494566006 83334752 584791186 948079558 941941912 992885618 513293432 787719298 687050778 169328958 882102760 553074022 532176616 989183502 338085074 665416148 756781706 868657732 653901612 756980282 555964340 223192142 617706486 686335258 618986774 957499086 398707534 441620188 35514006 614936940 909405658 996175792 850737890 142470310 884201490 150298506 782360950 330916416 85293914 724397028 865969298 479586162 816238850 124137288 508834672 939053836 698070890 816614878 951885882 908280258 813833418 577455406 608311764 469334630 271860710 151104252 613871022 927492058 70123484 145530970 372630412 457918214 876407892 514434408 702975902 752961608 545015240 547719118 189711392 866297840 728382090 494241910 431466870 26551274 13561306 376001126 543079934 856517912 47301124 631066004 724031526 129660878 606399236 220482006 720488064 599588112 670394630 168044822 339189492 156043078 200580864 905860158 978033638 531430978 41647562 666224612 736791692 784601198 74015268 647414956 876408394 107492592 295239886 247180238 948692070 605403602 96130742 131971260 415858518 776231930 565309736 399535814 597561776 931052482 569307630 557198180 281894284 260694940 277697354 788880310 127143086 969386118 630615704 96874210 646639864 372598036 632405168 301566018 808750494 299197630 994025302 656347334 998612692 112191932 994938928 443869114 45343856 694077958 142736900 805118148 87366802 783081160 203644206 569988476 568066198 988263588 743151772 621503078 824715986 239509724 166934670 813185802 821417530 648148976 220999726 750288282 575875198 310625902 283758140 634277726 995904824 841633390 75764928 928238698 444361764 802167008 232419468 1481824 604929704 283283988 109207080 807282402 890435046 92043402 818639724 781059950 753604280 489951362 569070322 540189104 964712652 303103036 730829612 992751648 903665360 309127440 65719066 370993060 851437606 300022848 593275614 555309298 886029526 823378760 765492256 511235306 283828478 673164200 322750286 468516888 666530820 242123108 575554586 335247142 657936304 154398224 573840642 553805940 181888460 158053044 203432432 24839664 852320266 298085028 706719282 726873074 65316448 620430830 62732870 678473470 183318982 199145482 463487072 161204066 355178922 730459718 162816962 74830782 713183754 579379292 745131646 688439292 585297222 413161034 694570354 196361408 422430670 913000994 873247602 689372898 71028662 90577474 279403752 677169728 304050462 34483468 698819598 117513602 904336750 840789654 799976658 865363956 347792736 265430150 726561908 202941022 220024976 809246724 123461532 324111804 912555908 127388732 173119316 121011752 568015838 249921276 691211332 35447034 76629234 283700494 592516342 403574448 289739948 994668804 936649652 888624282 690139686 994659794 187812190 377518920 915750822 379261626 327741924 586627264 890672790 6310254 32938328 904151782 126808902 868815900 759118086 623822822 764155794 250085472 991586746 192649720 813947756 728213732 140261426 53215536 92696174 276611998 747151632 897878986 954051160 753333562 214516218 981319596 780966572 697821314 877698598 365830488 205964436 709455704 764427118 534073808 446311528 907008516 697552528 30566204 131600566 102832684 349599882 612138786 716788758 991017768 535393478 648421798 70054166 375545752 941582162 533355948 226487050 1672642 949443588 75274142 98050904 190975450 355703976 50762102 487594956 939314374 468638382 155910784 246538290 139776458 987337242 534840932 976007776 48893422 9273508 201384744 825998872 961897802 491606248 717523336 497427168 84877654 371692480 538207638 776292262 468016446 593314982 517177372 769905944 597210792 723475788 722940784 496333692 377163160 287310786 720570016 776082078 933586956 587185302 553393024 992023436 58811376 554398920 617557680 755841482 852741420 825184282 246383774 42474786 879235680 403375618 147125962 982274984 312116486 545151176 320938286 745924792 695530658 355647672 528129914 888852690 923725224 699102338 298102290 352309828 475839158 161254352 625724554 840422736 507613570 221138796 311320592 63458208 990557016 772262322 336561576 150230688 525870716 140881978 142079574 469039210 239235666 617516764 643066878 544143194 342392660 649720462 673249570 211942818 777405258 693145366 86235864 265987576 784302098 562758906 832540118 280862920 438911102 708137532 138716380 764325582 261421716 614923142 805914172 52625468 769821526 532248312 114127858 977068522 301236784 616868194 195517034 543101804 506653202 342541400 939873102 632250736 815216670 152757818 589263800 283731688 68609558 306610016 171745344 627194354 68045950 25702268 279802516 773016198 772370584 468572586 219087856 483618928 566177636 327136608 297679476 275826320 233253688 284349068 275516564 6725744 423860614 617888036 789823914 559878216 908075334 945157088 369469260 448085296 7988240 758643944 594849878 732628526 653327846 516437850 590367378 632104998 788262748 807584400 127872522 660734194 405295134 410005724 797404968 737780690 150248100 69051042 565493994 148122156 182113158 881821808 421870876 818833108 528113062 715474712 348543894 353032664 821987156 279036772 380265092 597866944 166495394 971748614 836664464 720464760 473243580 83940524 7202316 753748554 386102268 201179266 908681986 943692170 100687168 366485714 223380748 896249332 233381032 408975198 360959916 264083712 503022744 570659344 269925062 294731304 953212424 672502942 855453312 631500596 236593748 776704130 108799246 630220094 745322322 295648012 103166912 940403378 879129566 471712932 715485670 789679600 990290740 393943536 177070636 609357590 280701648 971452546 358583526 582978418 583900162 40477578 296532802 201756372 73859078 430671014 810176576 535320808 635686742 440982950 29432560 326874028 159544480 644302188 583446630 708294972 692480164 138265140 712039408 159059648 336232268 401995112 898352024 96906882 102263470 104822128 228744460 93468502 251063210 822951578 162165262 406552312 26000078 993594314 857046048 199896432 568540792 630006442 975371350 945811124 571977508 688586204 916361564 557109790 492372946 265254860 688563716 105759206 492381752 81071952 945725962 363890958 587548394 728726462 169747390 390097516 90552310 721481054 704026414 349969012 686213224 752314870 108451214 990347474 852220636 793167614 882232828 968489018 448687120 537751104 202188674 109796310 131707918 802992042 581847036 748177354 793407096 633878298 874456532 497429048 761664634 124310360 910277384 695725104 738605488 588206954 623560816 520571940 268419780 836729792 284063012 228397658 375770696 923578454 329839786 770538992 606806496 457421344 600002346 793613648 42376588 24318362 424607890 305821382 678403980 183758578 902645024 179055126 156667826 381740118 472617822 437697084 544697752 359707142 797573674 615807980 824251302 292903158 808447918 434719486 934406822 677017796 533417760 190637046 494953064 619435594 711604768 739186132 849273394 781383070 714366318 690136668 592685168 284291402 312805832 576797006 490261260 943810436 303162494 690948168 430712788 523046924 491462976 901017470 619650802 645418182 698300698 421713834 514038096 102713168 768315904 871413318 528869024 992042678 949463586 683843570 460337606 715862404 21960688 301212404 137294732 186259560 627231020 89958828 564860406 400358458 89018998 446092968 439839526 129230944 132355828 144422620 630590036 412528760 91194622 302305998 340161190 79216312 945168646 381629910 455368452 421631494 8500522 415111260 415753042 923981230 399369540 245510656 323271876 582143448 377344006 828975320 40121876 46633142 302680212 715965344 670429870 788852410 455248736 188573866 460989746 993120562 404691078 394260558 983365224 8682490 357786740 870390596 741876336 449792000 270157226 719305616 612588528 99391144 327806720 199823326 455750828 57308980 226372772 89030746 619082486 842573102 775991258 655341334 448446102 689037332 122476126 176172190 516549816 421511478 275122514 138991892 399771394 311584334 543333512 983343206 576824038 594907448 260577366 41525802 607764186 486297630 125982310 305508702 169399376 327947526 201303610 611120690 213611380 897623660 31033758 191194668 343867558 458715074 385715736 82095340 620581978 300441218 574931836 986876252 753103306 216233196 376515494 368629264 807770868 767474748 550831086 584450762 935960474 127932826 164803466 865606330 543986398 993684094 299274818 853512754 271462960 986894880 436954556 788482212 888668700 160307524 830199934 112408460 270650452 52463216 871135198 151466000 726984120 384852730 235495852 721295260 392979544 326725940 689929422 180112844 45550712 294954332 973853606 393964618 910522026 768343558 690904422 191237184 499048586 264550418 199284304 595083462 766508142 533397578 477416064 695688400 576939162 148967626 154225016 27313156 522659438 841194888 852671198 851968344 264815592 625934738 666162814 105380654 608080112 439161626 520153132 840936128 529807758 101135384 418144704 233586606 655010736 509844030 259819992 445061612 975768394 142401574 898687106 489342064 135452500 356253108 510507612 217561206 927678944 771637644 701181992 935306 422536476 156170934 687616546 508438884 762676042 552052688 516369850 376995818 554348960 708641402 730509728 379038778 893701920 567814098 377166118 154579556 496570526 213950674 189042574 46756662 774069294 889431812 152507344 536648488 789679840 260216644 814784878 70146608 63306852 452273224 399225428 589583524 699325832 708852312 282320440 178487936 671032366 819696622 85004562 464818998 792570266 906648238 517173758 785367534 957949872 841293126 865851410 111857256 947751340 13518138 411231770 780660446 823552370 909701884 541943660 279312402 32831140 570210024 598133018 866785298 14412154 136213246 813044408 327537346 767406092 587256308 675822826 226862610 619388996 62856692 195563872 86656244 155078802 456385776 691707608 239178970 118985310 38484566 720383126 548567166 938593556 946013068 116426922 217320302 305686412 764028512 809254324 242611436 993884954 518867124 961849646 19648706 863320956 635586320 70129952 527470836 273559370 899575476 101893560 739463038 692938186 156787326 547039744 277342224 326769182 830084934 758237538 622376592 695260984 777758996 429379596 124965996 259115362 337382452 347672026 453505068 302051812 209125710 433401176 779770770 915923732 63667092 142750900 237626846 951272572 768772988 657635502 953563268 226703212 331893322 693562444 132562374 592951112 330341994 440461848 637763296 722546746 639128364 480971868 395815690 628695174 122089244 365781272 890572326 350662664 669982200 33635812 755302848 85659350 766987888 993509862 866167170 529948734 704202944 308125730 35362860 804624200 207884940 703924128 856577574 529489892 76785016 626154458 852388742 345829290 346647360 88102918 894011378 864621850 937255760 329762012 308979578 237164396 179884198 914030582 120832656 765960354 578131922 141408200 330896364 779934634 862904344 880608670 411253524 775463520 110799036 350825588 161156068 815795614 192691890 832308590 401304920 700337610 899971620 756022920 492699856 993872812 661306320 315591704 626457206 691777926 959596464 591686986 887970852 268551742 311091820 20016310 416611316 6330510 595731750 333912020 530832238 511848028 425511462 117022452 827025370 115315358 143400650 666654832 779021118 257335728 860828886 817806882 910087524 244818420 919720702 204319220 321048354 490753612 633741290 318718652 694903280 263641130 211148510 346991582 136541058 221422416 583604716 158042084 933358028 742900914 307256626 910067180 13297872 770718134 237439490 599072536 398918966 672896704 24257784 457815012 697064014 890204576 321148428 592176384 334037578 478656530 666947938 769988454 43754524 103113986 23383872 190138300 229106348 946958774 828508910 63398950 173282062 151312004 58265250 655033236 154206410 816128602 847613088 106922598 361008722 789173190 862340120 435836536 130926216 553539238 617680044 412006072 468545174 98735584 494960266 417941306 467984910 785043896 643068132 750287962 671668314 814394462 648034508 553185298 332088788 89199858 49842958 578601400 822771290 445241744 688099580 920464536 228441988 719967606 215438872 805165544 288165578 388828106 716790894 698692830 158173124 398333344 804341422 999318016 521382304 86487456 399921856 387166196 989878714 470401596 612657686 119128126 853324860 871444522 614998964 20685972 678159582 788215476 552768728 955438262 27025592 801323402 691184652 904567970 350005250 193691824 584443912 197544634 588505098 52147566 135511604 933396984 922614076 494983800 138337528 30436424 176123454 859912368 828972822 12101394 311538118 120568570 338810148 134958604 880989274 181797846 34233590 37218710 810618954 6573876 586339762 62967878 947678960 408881282 348915128 926841648 813071838 653371106 419276850 343085086 962860818 607911688 167204238 196701978 13823496 92786542 982647606 473483916 233477514 597524490 375454084 396981172 455748582 281152434 483297166 793079660 705754138 318310680 93458332 348666066 301138816 681301450 458129666 192802702 313691036 110291008 925030642 767966540 278577218 44559408 420574976 39226710 188763300 934694136 760081138 934725650 15620804 776443570 661441166 69105256 200731660 872410894 140617478 734567896 18990848 102887920 346382694 109230936 101701704 408082492 493143566 50825556 488201894 706310826 694789950 247679788 21452090 642169016 112790878 296694368 601965392 433982258 597056394 558273076 739556740 949186628 540141046 205992798 151522932 943345062 345685968 305426228 989166266 335270224 982388436 519630544 886231996 489516588 159485454 102279904 474650962 630249744 710138920 30386600 807704826 378034550 77388862 895038868 129305692 712027376 278884220 980476294 832024932 866683556 241239090 499871654 357511924 662278932 115499010 963315372 122722714 988868490 916284944 684140820 19576658 824945226 207405692 271226380 430403196 58525420 794324030 34036296 43883748 727604226 897511088 456369790 156188930 642906366 75939724 718057892 872177760 888371392 366536520 817303654 731590914 825806092 764784296 961374136 833154198 47071634 748965912 270281966 966173678 792307296 638561936 226431202 117121122 421940390 567835970 292339752 992535914 23973344 945694914 332967058 436165542 792046522 308384030 583206966 649072566 523337064 248936870 878169646 189154268 681813096 558131722 372525856 359762940 776452138 312112428 379576050 236201866 303400498 566183132 203741736 859805376 843196486 273742602 999920180 623395276 114032056 446569122 446949376 879618662 332640366 358473444 83864772 698342896 258348476 219622552 660892442 104777610 679065894 252348666 555850948 990058252 814565126 501108074 13549982 153966530 498286406 6082586 80473356 280370120 797927990 129328924 489005850 230462198 617356886 968166396 813106978 824335136 557938446 797153248 671907060 647300104 847035084 3839234 563249016 652521498 66908980 752903406 540629976 813702330 942436898 894884932 217959846 700591414 514186494 248737176 391581122 731626782 605009394 482706376 153765122 497429870 837606184 11544114 946397730 285148160 455460682 292104790 273280764 902080086 14754850 307238020 953532072 93287124 615544738 777410000 130453622 312176362 650963842 348747058 960192364 125366484 66172158 116320856 927201800 290068384 774429914 45285692 103951238 572904912 684256650 233022664 393017692 671996476 289616270 879577036 926927424 610027204 342588448 570291692 807347850 213675852 587485914 618762196 714406244 772608834 858009604 230544574 320199564 283198190 336090344 451493898 594490838 715311452 416765536 604123862 245269798 801088388 271685238 52068158 693715350 429870402 647943426 885863432 970640278 430112610 532335978 418717158 433960446 260933482 368082722 558638528 803419210 148836168 176138676 393107740 901946712 372504870 369873986 261924094 959419728 941160830 296747998 165569938 102091896 588863346 744007730 451625516 351700758 432055140 389077990 395567930 397164394 384445902 993059616 133110524 746434148 193986808 634544588 907085398 703904340 689346998 140907944 59746456 690611188 682616270 634258780 599178170 815935540 569863938 257322644 447436210 663344592 187647420 526059880 503916432 772273934 990659412 674852958 322902626 278178958 433139536 549530822 645729940 869450888 487504804 849155572 880554528 767157654 781316866 308755052 394609688 501194130 159295344 449031094 544835824 905222446 239727188 9005298 190239080 793579676 110076612 54356040 580462224 754893882 734724338 53218666 112146406 220452224 754773596 244101262 93385258 750744018 605417568 667491314 640438078 780807720 10061350 737064296 728229124 2704696 642916220 366483470 75694276 170111746 13409924 231953170 517310426 863328166 153107916 438915622 501880916 6371458 587665718 232189258 946975668 162181068 212359250 895704080 72051862 974168028 12621932 859398062 516810560 928844944 960084226 223222102 5488334 164871510 476963650 500220956 101612110 420134424 8197598 243951944 964028598 471743836 456118734 886903994 794606352 240243192 995184684 832620826 843091578 226144638 364927768 373206818 679407616 524326864 591083878 629874762 393199442 385333816 238135274 386994056 528428096 269299930 851300360 949183510 805749578 536945152 91400410 256088802 523515376 481006974 298209962 760216912 859065918 63430466 707724222 401585076 713638828 732577892 257992738 338981288 813223130 731819320 135743136 48746604 231272322 481465226 780473496 400065272 307499084 665874178 275816716 546467998 163901634 293925530 437973484 138978512 600285702 490081236 834390816 459385626 440333114 682358124 95711620 965075524 874309978 923292836 90454932 886101934 700310758 432386546 861940094 238434326 114613990 891130108 611656600 407578714 555621974 184069626 212021100 482625342 74669828 359236532 916875392 529541636 134391026 14855942 424103126 881989580 100069010 433948326 222548512 513429094 29080782 843496678 373879268 866524860 280860 246300000 423480048 326310680 941904514 301563520 31268504 595363754 95293162 545327258 372763298 830045842 752988932 626733386 253288998 249148604 708625658 360562130 505894038 260801582 855338432 515750338 66721904 751719928 98018748 546194144 26081248 622824876 361629958 164980 676919446 802806016 125957060 844950810 159558760 71975996 783273876 322348096 965122524 390384220 723907770 290723866 483804446 137145856 54501346 534798282 538835028 585499624 618542022 377456220 758483428 610907496 659447064 175491116 549949822 531491824 403362918 914824630 877354742 422375858 551243948 311939992 879738664 682947350 943915898 863106720 87101582 401601926 138370536 526798234 989074948 946973228 557962606 731490064 542486396 251224766 101440370 426258330 636312124 39370526 679510180 213118300 437934742 843735804 187570540 91273834 422658588 817603842 113267416 134287358 306950400 362825310 770290440 962946432 6451714 315034212 588191412 170121128 727684982 19236444 327170542 388232094 779179518 44097650 293212328 327289060 725299606 606680348 49251482 2555050 204077918 616610336 95153320 799483000 806582948 809930042 261611028 618269542 158947736 178940332 258028134 829340808 792963658 181648684 109117432 512086320 840851688 977915466 703814036 682170656 222440614 11803732 853491858 842055228 309239870 169529138 556490464 411416490 627393306 968772526 511209020 765558850 969070480 937428170 474833538 679877412 386133140 595665574 270949960 435340986 933795570 777692544 243922756 793110156 814625604 163713178 751883290 940858248 286890664 32361060 310406018 148886020 124165382 567458350 452459132 260584108 307423144 242063090 472665490 171853446 117784728 886007364 498028210 9039440 956496698 666431554 678704048 7304924 325349950 988076508 756176462 555837814 450682466 59929198 379601132 379049584 487077274 886623980 804763580 959812600 555708350 707494782 501242146 865090838 529376772 310219848 324254944 517647646 567726014 424099552 211803732 114912196 968695440 98611328 653377298 427000616 463249350 405870342 335650680 842774682 526674928 617759772 878608098 286106248 500421598 665487292 477054474 29405602 595333412 507323560 541765922 970602890 219065970 834941488 482255710 860945286 149165310 426027618 111599784 908625112 827394206 872437348 970649492 715125918 92250822 596319802 864420248 894612364 22542262 169449384 438490068 800399618 788178460 114519786 856913158 32569330 821545310 482739772 421780088 465558348 233515442 584246046 969977564 701510312 98287932 483965792 25433140 670564482 806956978 808859718 958092724 208495052 479807368 572606778 307155672 295512432 187380270 211179254 541103224 170646944 831167146 924480588 74543436 122082326 335783862 776645726 480989668 553594198 773208188 299715012 91808618 201014996 489817318 307036960 904157602 559902620 760524148 88120796 968483046 224075116 974800624 116802932 840971202 696985756 48385796 839809730 180937406 650982728 404145946 686076246 84362994 314797814 966076720 752409390 244478352 278838764 379743348 184683846 837757392 718610072 441239520 591133374 355498038 902973688 614605610 110263222 510232756 914572858 449372096 89033354 869851888 671019450 330103908 233551736 749763424 929548440 469752068 208037990 461119296 545020518 946868658 462878760 294642472 716507162 281264392 22581796 163159276 484124682 655508706 44031324 664825464 343357542 791096562 25098464 865477316 361250626 124097334 510631376 822718042 597398356 706222744 414144670 479817844 85990122 504552992 480501834 692656720 503736400 240662424 428940626 74579526 673171346 130958110 770623058 245705860 108772062 512369006 240994670 135368880 496780330 344404358 597087582 4205628 983863562 423409080 331129730 977538284 253356800 12234362 777577168 654503598 240465058 305341270 971295458 588751672 250353758 388900518 795361298 508858910 757515476 414092642 902330716 662413238 450985804 273114508 369880650 956697370 513881948 410303318 140972776 365597138 730844116 478403142 667469150 191782776 697518038 810022626 828605532 538026678 657491374 231663578 58143444 723867822 119901066 151277454 981454346 495845894 605645832 760989612 858476166 767176190 895652396 403994864 798042376 439006958 751771124 625753116 660603012 182282410 518090086 317575556 536377696 94627944 665995800 191962668 655542978 83398924 564588328 889331712 211705726 74610578 273552114 287101530 748898780 735486830 525764058 977197608 697530530 348437090 989425982 264150430 609428228 8681676 420336602 183004500 442663148 841949356 648666092 339284626 880328278 91258910 445182514 189939514 434036686 415880794 310555986 129165800 663637366 482964292 133915658 13153396 143651592 515780596 686274754 872338042 11222934 347236220 454580752 556165126 317806278 477318126 803399120 181746364 228348436 6812470 965720988 219104014 355623104 450079202 968064768 837274192 153052434 420895590 146911398 229595684 288370412 175248638 488939656 381686866 167277802 747937552 179084472 997994124 605101838 594250624 822992208 974049428 827845312 669912498 437845912 149034436 816727970 972809226 163794784 922415178 786515606 904925648 643359756 795735530 144865778 804618770 75465746 428213898 465886398 124874210 18446568 352347702 313348848 807097394 223659600 187779740 837539038 8992546 591135216 872396274 146217994 597127122 223326558 846788734 100928484 148850854 574058480 608525026 441720598 309239898 676986742 814273062 811051824 316183966 694515224 227206998 957461314 886487286 409238022 647334766 364741412 137220254 639608758 120984462 103410094 637616576 693710624 514964276 383503572 187928604 433404632 678350984 355956086 940532496 30003298 132268880 948033328 352816292 719323698 48665018 828960572 208679682 561297216 800694098 838741960 886647136 877276066 988195042 383923982 584248518 18710202 206365866 718353824 318332206 683114642 844051544 169059812 532303020 188943706 789683494 321922058 609838786 763669818 904774534 749934934 557671286 352644622 989834886 883292574 42043238 56632210 597773312 202103228 951549948 633154782 420936128 717769816 533346380 254959014 53650802 759625204 395067776 141710714 896705786 639707988 894614764 871190196 7160598 410683894 556685250 445752526 464520094 900667864 836692332 182727874 565569614 79516480 4414604 214809334 869384552 334925550 268902838 174483792 997918370 764120098 157264628 190055864 948748698 950999322 53244018 65371224 726027848 586966928 2543928 157181050 376876398 805138636 40311026 410588918 55796686 172003768 641371096 605906274 688880120 50631410 667816470 893288738 983609616 930504354 698166210 91102724 637382014 118259312 930180688 614414668 774518366 848064150 344695998 516088504 300920178 991158072 940502072 397817544 341479072 463680258 483927044 544206240 56036488 974334962 371921310 139814944 190824750 312470234 874387030 780067664 930995070 896744608 365980392 77332208 568618938 527473592 32093552 270834492 88913138 60449928 89293730 473758968 506730634 113567942 129433444 427491168 594597646 26946978 234284630 568623532 783214470 147625082 407900214 415916102 324263982 778481902 870115932 431086210 543798466 354820066 354741602 50400068 299607670 25839322 50378566 909132454 980553546 681467112 594335964 644982640 588877046 56885602 87833456 253356994 109030216 739289212 161551554 256132740 945949604 499773392 678200982 986658508 961960514 621183584 72466324 88108182 19451582 742920894 562669836 254467566 812255336 64314438 851055806 102560314 620397638 177227820 170474754 143153392 988477348 565750258 249472660 600812482 658798160 639028382 1783752 28499508 722203014 588739942 101319278 596692336 288935092 372588866 379592200 7398746 92569148 405913884 19347860 439832400 383618466 327239130 334396966 353804434 608342140 835138268 672690406 109504098 481019066 982278034 46091498 146731032 577063206 759702554 607584944 830592328 82868722 471551788 259324734 623611352 25593470 143960614 162372568 11980886 862190198 514715318 821868126 933961448 617305614 186209046 831139188 848305036 417827546 776707662 309903936 894237916 432096666 644847006 348034152 995093758 314078790 240469994 566991636 674390662 81533746 310137960 138487254 473972550 490302176 518763708 103603202 343971258 880337642 822600870 352476730 479356028 21244584 266675814 273939934 31379334 78944690 757659668 483401030 580162498 244103908 717448244 889261924 583352854 348558552 692713954 269893576 660078252 742938668 558003950 342560240 907081854 583916034 860380594 917437812 23480472 902110212 712966660 474079668 398739462 518621242 567367738 740634590 245243802 690550960 680592510 195058632 751278164 395150354 63142990 740393916 92666346 208404096 424489444 404730858 386583770 119168432 707362872 11678082 662318928 315696072 132795364 149438168 233048230 859466594 654705450 640496504 742963886 219354846 614036116 242977348 650241396 513888080 601746814 934597644 506208366 427649574 694609878 84982120 676166530 803650798 463431432 461304366 431509674 663340468 386264366 47130818 411614130 762754932 589573950 104696700 857293536 300637954 862121950 140177520 651259556 498371630 108148606 159697194 822939984 184449492 150443456 156186660 148389744 193741656 896460852 881029260 579437786 371031018 890564566 663076176 379916292 307840738 466234932 243738398 985861876 23188232 822520772 401670528 823309364 853384624 548693782 784066414 457718312 558410184 849460228 284322580 995109996 166042172 817500542 480841724 663527922 811947550 732674018 141792962 167627816 798669404 372791264 886498182 653798560 472845448 561202096 536247608 376511010 554065566 132904370 508398104 202139126 666921544 242266214 740609824 361825070 987247718 289507640 274363520 476618858 100722842 391236880 954367590 99101402 257869344 87342044 86039944 511941880 139889100 858155178 867396866 375060548 320479584 149538596 924486344 234291910 289231916 305541388 343188196 794104570 217666220 57327902 149127788 779783628 491147824 685613660 960506958 443961856 665983954 602489172 141520414 804516114 106947786 645970632 542248266 465370024 858754604 754615654 938056322 572107056 410151508 900376938 162714312 683070008 478791628 785972924 356201392 492273424 655856062 911763584 45005528 334510138 963937290 522780378 455285192 623876856 8483000 211157896 63396854 238445096 254629780 969384654 882845844 645944640 145421254 22442436 497045322 794566910 196243998 925199920 50610038 749943172 773927832 796910022 670998170 397788562 270303322 416815956 640513322 266496964 982406124 305762410 896150346 294162722 250789892 307503076 281737450 159720538 972564558 848651460 944838296 979912054 360777540 864292984 923641936 989140078 606659442 252350120 733031632 55897378 556284044 217192820 387609006 462215554 439314368 446024952 418744470 102383468 217157708 23766562 752492098 7727556 974582866 464702092 884247486 738334382 936523948 681341738 196969834 949557206 237584074 454766048 625238190 331267398 283584112 442339948 510083284 829925150 621802238 940783912 478859968 653804326 745002566 271748468 553761746 324939080 271092536 144856148 499877068 568781272 749175538 877529666 285845782 685684004 191554838 589211280 126558540 554859874 271006864 270883776 310907154 178373848 174855864 990065910 840465642 384384096 529024982 783878652 174872908 264094802 568491492 746087616 14679460 235048472 804937524 193793666 838823592 558716472 210776930 222769778 178508922 419402804 185075024 647036464 878010760 239912442 4697084 346010300 704408236 619705270 685679712 443825950 188367680 261975860 534714224 855403388 700805486 55222018 48364540 844029086 786144806 932851800 673350646 2996820 348006756 708285500 505392994 661445778 456462772 514836920 358541346 668043646 77293436 130894906 301126106 448971786 882866660 607624620 699112714 340286036 283290706 37115438 716845072 476970446 810885450 586832638 654637720 817800456 250903260 562485070 808195766 449118480 447031060 49395000 704284854 150260126 455009162 68710198 209962066 386387126 285647768 229814478 373608990 958668158 787030328 448105366 974383576 796782932 519178154 411320246 478239920 275229164 322504198 287618780 955300662 883712994 391291052 46072796 571000418 364408130 775532900 717627212 820466166 623523196 934971930 693060864 145331330 26802008 645183552 924478174 616736830 214636298 245608258 225457196 806032524 860248840 473728944 280608130 525603844 595421454 613878600 789192176 738690142 224881968 67830266 895803992 847221454 101404810 730129392 233169452 385313612 7784290 892596776 818033656 293805488 296355450 989596552 241518490 531585710 578086408 576902002 369312268 783948712 810566088 65797648 572344058 992917588 149016846 569210164 322444712 741874316 504876010 553078770 666130750 862222790 69740046 15751906 8048038 73516550 564798774 907834768 344226526 538282374 19249368 492602324 980801212 643893798 496982172 144534560 29108198 560349512 435167406 308220560 804917312 82810730 472693040 452409630 347719574 32829104 699485118 77988778 25500006 877355616 709176636 711480332 746988 139491566 892589780 517819150 773217144 370369124 366930190 965446106 187336146 270148592 545648390 682461964 467736682 885725930 513457508 447113934 184643296 695839076 787546080 919923364 68212400 76051680 295651606 31657312 924708222 949161948 251233242 890573058 761216056 825111078 904719258 754476446 227599558 503045638 34713768 959885424 591325474 478870082 350126850 15493992 896349140 32936348 195600502 29922578 909836720 620133792 147015206 472406572 346628256 32572962 146549048 498440588 707585406 194693938 814761042 161010012 130028068 208613592 976613776 914936570 953595310 856983676 536214894 264998366 550086288 290864598 728477060 24298580 899842856 588255684 808570162 559102760 100443838 953159638 75264952 358165316 290111690 24631976 557214918 255558424 222902026 305687630 474862680 956325656 728635002 213074864 685855428 650922776 239263666 248751848 653727800 192384656 133707862 567010104 276659578 646291144 558081696 152676240 289627486 283661304 569459594 250684156 320533900 188592898 878833254 662779750 238495736 213878624 446223932 653518260 213575724 865100536 932741816 999990944 118498876 675092586 664074762 995609386 963559510 580531832 687021810 439315964 838951834 805382660 846957170 94025786 502126304 944099402 485971462 436189184 10747180 22287648 889921260 89526532 275534758 185419452 125673042 128204006 880725000 194913106 277539136 435271828 299987926 558922774 812172502 704546364 118563180 525220280 720894000 324997244 585779578 398780386 834372966 653558730 768036814 421051716 610808142 418264780 767276304 383151978 696289038 906988850 335989006 877925694 660840680 466383204 752439410 429124844 75045436 932988906 979727434 692325050 804352204 439890686 850674440 15410298 495205134 660366972 353758878 26845712 611419128 872629122 40292886 976862860 553923414 508289932 228454076 964342132 537071044 307316390 898660746 776917602 687896122 895927308 287583140 793027092 482485558 779580104 117183798 93566506 481539328 104474210 364420068 549194582 318059048 705067248 393445350 601395658 942789888 240083298 873906936 428741736 761541984 790045112 458830998 99758244 150644694 862555762 205868432 755922440 331309966 555845480 489889850 386877006 996237254 617600444 962776992 524562760 609841666 962056584 34297166 424546658 998128082 298196830 899692970 855360836 791474320 994879178 449856382 418967416 493385474 602843854 187462268 324943988 709963998 95958850 700287212 257809036 898983498 805734300 289539202 255337586 318639534 308851422 938055020 634553512 414152586 337395658 484479530 152463950 425050448 955272146 33952240 128993164 258460384 527745740 103463272 421912244 166608104 5361254 428317468 227059764 396078764 334194342 884203378 6189174 886701272 517569980 618116498 449446848 46781154 923654054 546624776 731953002 592333450 514020694 164635490 559366336 499630980 152726062 285568904 440237856 892731286 233575518 863569856 303883374 96620630 960862284 39658278 661689624 601168308 962984828 824070268 641649152 330777058 658149728 468908908 150714674 277381972 590512576 367186490 71644494 358936108 302159372 868610102 413719556 879409848 299771434 669484324 456488456 943728906 826863410 270075094 880651638 523480572 503848906 712694588 842988866 866168576 575122346 303654486 181994260 251586706 233742484 28622758 267882266 395167456 340032690 747298472 603326128 359868808 761032876 807272292 586546704 244313072 852202502 67160860 6823542 912883384 118507762 25997548 983608048 676904744 831037580 180577582 466684158 859863076 907673564 740009938 951275246 228082540 385853876 227036886 469751848 104997300 261708072 496963672 108717008 453686464 613563906 918480550 417288896 571123324 863240016 289957676 802329782 330074618 679700058 305734926 993651738 251482300 435856572 919630234 167171380 971300518 873316666 240022104 605303028 358914952 633112160 521857520 606432486 467434346 685201042 178418132 576811858 751521826 618855876 280932636 67529440 271585522 199824340 932318166 14885870 467471954 615879242 259562976 471941472 391157216 939492204 895255584 751022594 57507242 404882942 531087240 754810326 3593848 145005384 950935522 564118894 127989124 930452504 956554572 3289934 272685944 326921328 939420486 493335300 34014204 748281520 307829042 229577208 725711764 155443426 37810456 696253898 338576434 937277306 766075762 488192686 981482402 101596574 552406384 80712136 563362500 178024594 658513266 625098044 336675950 825095470 998107870 744587722 184560612 629888640 721559714 423047350 479993646 908570118 937604156 212490352 388528846 799294856 648728978 259493920 65751124 62783992 643115026 791295042 810528338 396247384 122958338 592381798 74263124 781321694 173552550 119240792 369364658 383874206 582827736 227838384 626931838 491063372 181808136 819566792 262056720 639408702 938947716 357537906 233994978 843665500 295473868 696139444 757024354 993338580 970410714 776853862 383780418 395402366 321957174 857320738 505687790 548786260 235750508 189990096 701861466 551681174 371194262 657860968 581204482 842626650 541006728 741289632 421882430 884769880 765388716 359702806 949350598 4448364 125730670 260241418 955756464 230002724 78877130 744195740 206574202 825372160 92841328 696786798 257000680 989069618 476219132 565325924 150528604 790398070 404889272 504228492 100261688 266662546 778849158 464773970 294177416 227189194 624180910 863545790 233755788 699976192 757499126 510282342 193732574 462658268 789347954 139586264 264717752 621638022 843938084 157743336 550222818 50394166 371117382 601084050 989457784 269042842 548699702 266018212 435004080 72187776 687074680 946810552 9431306 612776164 980007130 179582250 278899702 375115928 643418988 118960440 380903572 100483482 487521924 768914020 808788716 53905658 360423532 941577618 736101052 954082638 376517226 25011716 792879686 494418658 463489896 578792052 96658356 328584874 633011864 843328926 36718176 579868284 897616564 650895492 723108870 566324978 894008866 269215268 340455260 368429954 633230178 695396298 899066942 665766394 148651694 978343056 749540698 278352384 240001690 882234082 291894182 129864834 28606916 224576570 440983174 214314120 743974138 239987156 950803152 884359036 550247512 692872396 794161424 853366706 542077172 297794890 113100612 922617674 994754304 106709644 368308900 42990920 469587594 908766512 290785680 301614122 647885430 183035546 460112982 175495446 523859952 14543784 745627722 476778932 3951378 818540774 196154694 289122002 835719756 455402080 809469316 449050152 860293890 358095288 73056680 218071434 914813150 821138328 722842524 417929720 755554698 883360656 462892340 72775840 432404240 546544866 81384306 25552510 236379466 246784630 363598920 787197834 16981760 222914370 518239468 583301350 786449542 463727856 694585766 76090908 440238578 992898392 508806000 23800024 616294826 741296762 288008980 176314926 88081690 433107178 631485650 57095490 113507174 616933658 51314288 450671498 224975230 622060692 241405836 704168536 348699324 34176210 367845374 276315500 975433258 577496836 206697346 160352432 140793272 13307358 773062904 725930670 55102616 353872152 288501626 99605824 147551742 759435670 970764294 987820908 683607138 578454238 440251656 717613448 221393572 700202434 959160848 410449928 56403588 917536156 405195204 536257498 601561652 870077686 708504630 3508548 949613346 297966398 611056090 460094450 343437088 381828028 390588594 215202972 835934944 312947192 276535164 545094708 333934702 884220022 693278212 440583448 315526876 840425776 423208 188068584 556775224 411233330 377005522 247641402 590473714 231536588 565209578 515593022 676858416 534681848 382156320 841207362 287287712 99199736 974594792 155257342 645993442 515228198 352433820 137639900 704515248 107566596 884420146 373267380 564193988 852699790 183936918 501298930 76976150 565711856 623343124 855327606 88415856 472664150 877423968 927639776 920870692 834729810 928498636 434024068 94661316 664022078 331533888 653936586 985485430 34160186 21614108 306190936 260536354 646276518 367853936 677561036 153891128 572079242 568020416 688246230 438000422 766621880 948350980 437337000 601543710 59538056 573749930 865951044 343695958 66738914 13788 270772586 138563502 357327302 334950422 719453314 694827162 597910090 27846626 982760184 980900754 975669866 662424792 490044696 432589124 38844822 390556988 997679230 415457184 952122910 933624440 608042362 331755436 245851400 554121072 306961172 762488934 487264216 54039478 857162770 438940826 681662488 505158066 722711708 328776116 249302182 758491836 140263192 197370010 993083432 708697788 525876192 455629416 604307058 178251068 410446218 55949012 532518556 546606582 78516786 895681302 593788414 349560964 259265984 495226852 354410014 137601866 603343546 343789912 60829598 791701794 137919948 679889976 905085750 303313672 546096074 568093962 417976356 529995352 549192986 933920536 421289210 379118588 691154804 276770524 808598310 781206966 704477452 679878060 409859298 966535602 856357198 273198952 202925126 703275402 219843246 621817614 15346446 818480770 799571010 719702728 14524328 495299538 170028540 225734124 478904586 557480736 669844446 669487050 552143628 189571366 664573020 965269720 203981184 174569920 6748322 705675646 243192596 547251726 429363560 757636730 752499394 746012154 439963674 124055256 959840416 658249662 952367186 309398672 85391008 366169260 448593660 172623732 383733868 329926452 562791420 900122934 255050386 375742150 187824914 955772862 946078674 766354476 121248538 398304182 21144018 210682294 64036804 471259660 863054344 175693188 696132534 684343834 163392290 437872688 511490116 715940414 300648972 160640586 334092508 279485822 750168236 776686944 17984632 886518942 770172132 971766992 970741892 6496066 476026564 523325516 852887880 510900126 178939934 420257522 718758842 354349740 531264148 593071740 408288184 422370264 911360824 132681528 290304966 808761384 820632238 363879804 319556066 524131314 244604504 845399862 555721450 217468888 285565246 22726866 237648588 299643364 655774952 254777454 96938374 11913352 926038204 147905700 568982960 462350256 583498802 498114288 897796502 867394796 383666792 572032560 424724374 247913004 113614580 59620792 748382130 876761262 65703710 78180222 790988006 505777122 63470686 920214808 877136102 996247220 176295946 160916696 737148446 766807102 463926252 25718520 746721366 500574678 14095472 22627870 878639342 17694870 495819292 565841090 898473124 415887310 40107840 416258356 595472416 534827518 801635684 640598148 754892200 47568726 898035602 950939138 876496182 995237172 694620798 205337218 609274292 893761186 820389816 641149552 3006312 24073046 230725244 968340896 468905012 57177242 764931868 740448968 77780364 663323268 576881084 302274156 725746028 873649828 394609358 532677758 850481588 466460766 471871290 247544216 442521886 944727558 493265862 987077990 208576170 511421612 298430276 986855026 14874082 441419318 641203534 585067834 636633922 703916858 54526200 164476344 423112232 698391636 615031930 332369118 43284472 56571710 814499120 335992062 623648136 407967516 406535696 350915984 232175258 439808776 29699620 211175094 179570196 465993178 682325764 800316342 758961874 760335806 15644878 87190296 647723412 659193668 282971180 704986476 228543572 162027782 3954436 556704084 154967200 852998310 37258414 639277598 825756028 318552176 799078358 284165306 97594220 643135468 64697490 703995842 558144156 450019720 472823112 459600072 646436516 810452024 726381892 846433706 17986934 179461734 143282972 893781412 525281138 820956958 157310970 604128604 879237790 580038536 705634914 256909924 906258944 249297356 20915900 947748144 654590798 138913932 446791004 238286872 228399396 578204584 858122434 987353752 592058888 288923716 703755250 3989910 245772058 334282960 394501614 215077518 156788342 152934694 319633002 61196084 474479294 412929512 360033092 737229154 286052550 884333468 537190018 145047558 857078778 338073404 769040684 787420250 482784480 163357536 27571196 976338418 394404422 474464418 566842698 214659346 842458078 232394762 489278156 103957708 799571656 944167710 747241626 661403924 688811992 972542698 816322066 895093310 416322502 611940644 632170478 191404672 639255312 370822216 118772890 927843652 289461696 454559884 44463448 939367376 831786828 990605932 807296176 284121544 219203136 661210662 289837222 244722312 521028592 567365918 395919072 493871928 722576424 959604880 539194844 737966366 586148018 980824420 837343248 251769480 983566804 250428240 993898820 527955190 680313084 579973518 578143962 230714584 745849834 337599174 268517978 196527278 535837246 180522190 143671826 936957058 146661594 626942976 665542360 692883754 411378474 424203438 817298802 414820288 530849768 933949674 599066160 924645572 101247698 233397648 346273208 439392260 390795020 145500020 541168048 170732512 641764806 473988566 254836602 200537824 341933986 298159464 643460274 685356398 3436920 733808660 775227996 600210340 932711828 507658358 665139366 420882286 156386498 860893488 701163820 290574574 411869462 255862620 211977554 278393998 198638946 223345254 950775456 538936546 32437724 379897210 86174962 213085082 309948052 746329888 84035352 53502366 927481744 694720564 889074136 907096536 97779266 413410938 450259086 674895722 60159622 506534360 58731128 130187326 157644224 780600262 684525164 592519832 351613428 233308530 699654860 760598916 85379582 243362688 335222488 410530934 409728186 701040622 359601440 433111848 140281988 902115528 359715114 967633758 857206670 516314830 532125004 855714260 670098640 178348708 415346450 325379416 559547562 143379714 552898156 514462498 470304028 176064072 568158636 827395350 296951118 263188040 258666556 9232576 423317160 410324922 614237966 227025940 70897900 25637864 258585576 65750108 300336234 341910404 715006618 748862316 454455312 443388914 26549730 220888966 38681970 88501694 447811730 390780768 697933352 233583034 502541424 514912294 891036956 604330998 769801758 342666384 861381886 103852368 198435986 495576574 938444352 20881320 324584362 217381240 722459388 152599566 814305042 65789432 828888160 203277730 865677744 644646048 464018306 77658856 470539698 936259464 222036470 977283274 195039172 585991808 407251358 3562540 647019542 117465690 653353706 488030566 932654886 362811326 309921860 498574562 106455510 197498870 793370162 777643596 669404648 849142018 7096410 289398394 442312934 840373074 288584194 134888174 586040358 461784636 665017508 737918658 384556056 209095438 718082266 746833956 382339524 371398114 85069272 598581868 971191696 540231970 109955720 392672282 523006412 53464770 50116064 992130592 737300822 968810450 218427096 660542594 294799760 947034576 483039794 602679938 572134500 720456288 637921382 26676828 904177392 759438654 523244156 147923014 286078530 754673892 331713376 635088264 863102636 17803474 733196052 29071116 930522316 636088886 629677198 898200068 767803200 848968338 846850712 356837490 142988074 910267410 224222976 211989772 648142622 717325264 62460994 545094664 9581354 120936998 208206160 878053658 227049790 153365374 463965406 8552312 776718938 150832012 153517374 660168316 343933290 454398956 250083976 323162870 617076858 755257062 130636100 483787308 208501462 766951692 280602282 44937334 399682856 477478392 287533722 684298430 899667796 783326050 841647818 798410308 415054154 946317218 865289556 859223772 952341596 526501856 478394196 264889458 945747364 491055582 115459830 380606142 842504474 945373990 53674668 633224626 451571418 233656080 60850098 228168628 693422792 200734372 964614488 592883602 95431062 165776800 263382228 215544748 986915376 49542098 611476742 157515376 275449262 35815550 212263484 837223302 176948890 701585784 172852222 316281742 312777422 142544622 792099460 91977190 312310064 304176482 724893030 730569372 316605446 924315606 424543010 598239688 337211778 64778106 820913448 260146992 868352076 212521520 29250754 777461932 516662792 11147836 986259588 903254758 171923088 126200106 268467852 187385662 508351942 333680490 651304270 840589192 963561318 175658248 668612878 780367828 161585572 342292406 481293172 436285468 448238422 718494550 205589210 282805948 495628154 936086564 880866646 299500854 324092874 893655526 476061918 206289056 585725146 932004662 398453932 309130922 719035678 75351408 293374514 529915758 637009266 284708772 249141050 484296640 641875244 382845582 25683704 316644166 435232356 400980048 175832102 21845944 216036752 996096114 644258016 731328434 317303720 848565808 383693582 705711414 348283694 486871902 251264242 359109602 882414066 945692674 758470880 172256932 891488594 61844122 333687430 613435006 871665300 765831948 321028280 193606652 304026388 87486906 983883756 455787846 208654788 727970848 327687202 657502256 304404078 179550026 357799238 687491548 113129962 993689534 359663054 490281886 429598868 281096692 203652862 510991336 549018450 71223012 260869682 775991330 314360364 196823516 924236958 931243796 104245978 690231870 365097066 501038810 599051906 29407586 344203902 560031990 177385128 360295498 61472468 639576994 446175930 993617844 49004740 913786720 129564560 313238506 511783586 142483004 557688452 980389424 966243710 699840644 805307066 127647750 938468986 763065732 379306020 309063172 729765258 659652104 647441324 887568726 547833754 772848698 802622242 21841220 240517662 823934508 685213594 972117652 811664534 810282458 303769084 258117938 348635578 177409926 937676860 848873930 241829200 193850764 355629304 130043986 306992930 331986782 883088056 333154262 922965150 137806104 424908142 576499278 894728706 344226762 305297536 130371630 282110038 783286854 316897916 41242486 484278742 683643912 497557180 351953312 886610572 824599814 977038676 851737728 365866142 818821882 947683062 71917654 93389276 490701186 420685172 645572730 805772340 353719604 279232582 177994720 273013998 676503320 743575906 508721430 281570530 500719376 783170312 431586448 890261644 814911592 225036574 338090010 85077696 112541352 579735696 13755730 394503908 721391728 366571722 375487148 125104546 562235012 811367648 881833672 817480748 23681248 583935356 561010878 942129622 45389602 982081910 716533660 666666306 639880818 423909492 764928778 224036004 603588524 99907528 114740740 70140062 831429164 580511450 772365322 628686456 447124436 802449746 910883582 427995630 183728900 34730048 690975576 688807504 51410564 997686050 504191136 146761270 334284556 867450578 682984230 355645778 570247956 527037968 310948436 784527164 892201484 158072078 360064376 346733116 882266816 257157848 364023486 115362762 286742912 505684716 858558840 108807234 392895640 621183634 641579160 768620624 780933376 803598634 590417900 458205848 898988306 342292242 508803698 135111892 157980460 416946290 473014482 635024352 376045076 981449776 850614086 767536628 611370612 821194990 645076654 930134172 829632900 697421694 642863994 762855170 60460692 360230266 144923170 94578728 756144822 290621872 700179476 435606266 582090918 151177558 365580566 443225538 343179364 627600054 714245130 322257796 453427404 983096272 424938526 68000342 982713378 471920828 256961036 490244650 513155352 578930690 760813842 929663524 892582022 802137206 189226030 31610658 376828466 423089050 212610784 902405610 250310568 995797846 581627346 12996144 393635648 81206874 637999012 148689138 406396380 90630388 765254186 209445856 36955464 240405570 543700990 901562290 362214044 893131050 827943576 395894052 993688802 809032458 778496804 740024038 136521490 944124486 583386814 258748280 479372432 15023562 151122576 473711104 861471658 678196768 398973558 639193232 967255674 874638348 717385402 912127674 468856326 520344436 670959144 301075694 609414996 327497624 806447512 263083844 480553692 68269184 54089810 649383718 526422134 174050354 175365270 455221520 521417188 351962604 719093428 172927612 861024852 7256576 617003018 465770390 661261036 917050300 740127892 84229624 268146868 955001692 644478338 529116816 253894066 272335486 809911960 330523258 559787870 339303806 713396028 593862452 489115332 65937184 471908666 131978992 476143276 938554 159478542 126630542 9117506 539736154 548846342 476566762 919108348 566723302 440611720 877515222 527637050 169963554 327041676 171126886 860422996 909658872 385051296 610746576 215143326 756569694 784276904 707378598 667154714 683022678 187570586 28278568 770841752 575308850 163975754 765497512 554902584 345104732 945834654 500975096 407582650 87738314 443369400 362085658 310545336 237080860 399836810 82903832 769281618 713183256 471039974 35399698 780774040 46072072 37161638 430507096 682061646 355298690 110994570 798055050 821216104 548557724 57781798 404434466 642598952 113149802 952420968 222037842 256635248 799740644 934064960 723316848 679829604 337854524 713249782 701622552 251562528 699430352 447470218 182755000 107236780 209200102 328491374 324866626 557585274 97093910 248802608 237984008 113110420 139215764 839221722 906082066 368980052 847858610 785044060 232977324 136306330 967158914 85436178 688899796 629051034 42599584 684372298 375800696 972489306 639116560 40486770 495386476 548018980 449813564 745786342 773064794 233505964 76740158 564584554 722112992 569417622 564603112 583269762 140601244 774334890 953913216 193533068 728124944 449063546 156491790 169199554 468895284 834717100 142123018 77577012 236138516 392292628 943413974 575275764 608272286 801761964 882874838 939064200 539329968 564531240 917308778 979685248 215260626 784043960 38709372 168263560 866143220 798489610 742852780 559510638 9615704 420173468 66053768 712820916 465600694 661167492 361718100 211430344 802544044 211813984 143046946 5862986 285491750 270090856 531478754 183061676 839036958 193952614 847225618 774069150 636752756 894792214 27455130 268281692 549530156 160317460 331973606 177071852 356987850 566460036 627610978 449308376 153415694 568524944 835303838 979264872 763425848 919744130 71008332 888773218 291202600 205630368 607438100 293199742 826639862 152197362 656052588 678663038 381310562 478924910 223244794 494140954 81646592 819663834 480559800 100745996 543525776 250347026 632605456 455136600 6425214 823058912 385015352 859603748 21894584 214320878 187188362 976687152 815079704 465646528 38571232 589002518 318936536 641736024 117595604 636094152 763143468 739409986 708275156 222580452 657062394 331763564 492470120 799789972 837535868 254144312 826154872 958723372 432376904 285124670 620944072 27605192 474203430 706459582 497462508 395677860 708526582 854738804 853206876 507746088 215584232 46771362 144145830 58461572 874967956 146138882 946383250 989697568 754079014 751873724 783641088 409723826 334498540 410788596 999003302 268348138 628320960 86659084 692758338 938304672 765773434 309801814 25059772 816949130 152471048 237516402 506433160 776529208 597860844 810273110 492596474 842045086 141323952 817730016 310590900 316995712 985255590 779309046 284042712 309099116 296433228 260235978 735080540 837649878 164602462 83253672 35436612 331677968 985211868 295156754 419502476 339682620 542573512 287866920 258476550 468462004 299926300 921817228 654214796 734805178 729408402 705881926 94753228 957915560 654771618 926098132 375470766 112628310 302056960 225145068 718913284 898566018 544986904 962422286 956036850 733637794 377389680 721185818 244024270 54219162 662452964 654785052 974702620 425217446 689501972 578886066 112544838 222658270 250545204 812306116 106777030 945757274 32706172 877825926 680189206 455579112 713085466 188443126 54513066 854057660 899705572 484555418 448775164 775534574 929858350 113372758 449017028 546772462 424347068 745141802 774687844 23419668 870678474 562139172 141979198 962640888 127867274 384855124 36790264 925099088 848495752 644390844 779822132 267253204 16085316 793163806 584152184 520772014 606835792 270966992 10627654 536465900 668833960 965551600 855670496 192650 877514028 525169398 159017616 156308170 830621222 115386996 484566612 353519806 968701696 8574866 743779296 29574070 872863654 681780076 175554926 955670674 522865078 797598502 517886056 751822128 931166496 386606278 111714354 909986150 255677958 527839182 641953800 23013792 489453184 593447646 903668482 495404328 924145304 860969626 699900612 251119566 547050208 371193096 39143370 648062090 471132968 66470158 612772476 817596766 207494596 30226276 461924322 786664372 702915796 608187544 122009978 829787186 762393154 618200378 545327558 627017770 566082902 841758804 508252840 928969258 52805138 795840644 977229612 716373008 326794668 887665520 641951038 814129810 741284438 821252084 721387260 903292164 839042022 119215800 911567588 495738820 407250556 359792618 29576990 352789496 55118518 105065846 414768974 904692744 207198886 941506492 718332000 166979742 937548462 876811538 943544806 177172700 823903740 742039314 833464404 652799968 733904032 953561266 67030218 23805324 645067798 98735846 232114676 314645190 68280066 845404260 446283118 497277504 841369734 711769968 790949530 756359554 159273470 519835872 186947514 220472814 312354896 585218196 616904740 10616390 293354544 465192112 282974020 259467828 49809062 812866574 194831546 805010306 752666602 607323448 476737058 126897516 58282790 299018460 580712088 607776040 563816096 687662928 363566352 449025794 434556566 655230324 377953376 514315446 905754380 827373584 885265808 579867950 178072910 185738562 434202534 412382066 477473940 649522888 674972776 160551992 151891746 896967682 52488500 61611834 726781702 530082180 71496866 613908040 202784260 499294864 918260018 992151836 710495096 852313020 71662200 69816160 774795092 459408464 498590222 26662900 998313504 501539708 756488406 14160576 74402810 967832888 884650648 541570168 381522758 729495746 698534490 58047570 111409464 878176686 326880474 552631372 402679796 739273402 730801376 449204290 934596948 313505098 653993394 717819674 201214082 387795242 790326210 672159556 660251452 851965670 537588184 781815278 103565450 218063974 734677596 365497000 127771668 500194670 867678148 417497852 887831520 501623766 157813508 447973308 471363788 888050226 732450496 101638332 955037370 38595868 875679574 645809488 837175908 738344370 279778932 842577304 24298294 370750522 20147636 692344210 876507896 822986376 327541290 829489682 794526690 759456492 398880182 77518432 764356740 693864402 852575450 96503344 193828678 209687858 153237958 592867734 726535298 812891834 455792260 901376470 659554568 818340658 223200196 697139204 955063878 473532490 455906390 370028910 554928474 723580392 105838396 339200752 791427546 994928290 52404502 514332934 717663302 208953452 20592252 209500188 80660412 174211358 289697700 843879444 838201738 292843056 216190182 899208478 886699908 565943564 180571570 731232668 297866350 305821118 269546274 928147900 620004546 336006742 458263640 218376808 882597640 904694408 102245574 735887410 805413038 814932628 704763068 179327056 904815472 221719540 604535978 667717208 666279464 660842618 708246580 595425304 685784136 919447130 244024700 549863556 537594652 559553276 835663988 446446842 53963688 977388776 15942494 209953256 809391554 830045324 728978904 338819376 663111684 283242070 956150152 651745182 834876838 497144978 776695256 761226420 920587384 403121522 649048658 572769098 737731236 756202876 559290880 637734518 628834946 71059576 990028412 888063298 742120642 782027118 179341790 792067932 246080096 427373042 558936242 221069346 592985488 903634788 396258530 752233600 891552498 208756514 749581820 146739688 424513256 464879530 853136588 180093086 395821342 167500576 397397834 677367464 18102466 893666262 945163294 76299512 23671524 933351974 182766452 646338866 98944168 94386246 104583134 512767562 922347904 723217562 53657716 999725630 471705044 393509856 487042594 985631048 607172430 971362386 712489022 134187642 840361210 247071652 833119710 391251584 606804832 182242738 475180676 185406730 428046970 200308862 149194800 391299976 707913314 587605486 842725774 900770942 531721264 72564474 523439976 752271962 353842062 745552782 1242086 812598618 626910908 700524794 78457664 740455412 333100168 937216434 597960722 595475494 943233502 146179646 389721642 855820310 401246178 145555180 854563374 720099658 564015688 717461032 64346540 80533878 456772342 943593564 844489476 551876224 854543392 961990444 999322640 154529058 612672504 70105484 823776010 843225746 406303072 894612652 694800278 988957890 680310548 81086080 777986488 633847354 687386300 358280858 621026896 367018 473112690 480390674 680196314 581688720 226949028 795951028 356653146 864697966 30966134 57965042 150290360 627854016 376834152 473916994 396712880 679758400 301776754 368838822 285720742 580102906 849269190 357393552 382181556 524276932 982669588 683149470 588009136 812113262 818537868 171934538 1136178 856568884 51273604 105671252 169708076 298963606 494900152 465857428 979622556 396115662 205378916 531977848 211973864 620460536 460148364 724533374 247811300 100213728 63027508 81323534 149854686 639099242 791291650 110777482 401503730 124704460 815136362 311225886 363711294 188873258 982130496 160356692 515951538 913369524 889356452 713594656 321402814 472448538 172825242 375819058 186385272 319005374 12313700 913556048 798944912 755492434 822303888 61963744 909095020 792387124 787075392 357850328 337831224 888595446 900328434 674298844 513643090 351525672 563011154 89946502 921078976 557352482 765617734 310298154 668970702 776296890 676231566 584632350 990164828 957534786 395583914 655942838 885976746 230740308 820209688 781153450 831948030 309003258 949752462 792747094 243929196 677694006 485653670 416930958 362477726 547963014 208849468 499415756 376433460 237422998 686095410 474540412 253691498 938142876 447258632 668059168 803494042 76499848 18731900 976814350 467978382 62947764 569374870 401180022 637922766 476479634 886576582 959388784 588316502 912644002 480613616 39504860 193064766 391979608 279871380 637610716 788534338 562556562 783926426 116014280 691660302 832367914 360018646 778776742 670610498 736458292 650091380 102076404 538142138 599688948 911694986 429694730 377598342 213929716 814524964 759971558 331309292 691716340 135947080 866452502 79818806 449073656 48862706 41885528 709781898 592495006 737369050 923522120 401993744 182827214 265821698 202510644 172320972 678808686 556070514 878765866 914475766 20149922 266138112 45716732 685549982 469143514 907104610 728101132 373965690 258497286 327730756 360744754 459620220 134151354 54985722 95449076 536066204 186077096 571169572 172349652 694584844 607453806 588735290 389590672 445102446 999234306 97343688 20015160 351632174 814079808 597343736 352587914 854471864 3936784 318822914 910866340 988649446 331531972 48983756 583402598 70641250 753321888 980871032 481554714 225342550 651776702 641664052 498844540 387763716 242252402 584242000 730269900 243631564 863903846 106342870 335680992 616571836 722979822 669934274 745393664 311447480 8840946 872275124 635839784 45158442 605579590 446442132 857205710 161769194 408595918 641117458 794692188 195060916 135986352 742221908 266042668 117663002 830421772 396564722 697730044 682226850 716670110 448574342 490771096 745733912 392271700 391042092 145934878 311038124 414165264 752551180 115969796 241410766 326073996 668946936 696412642 610046596 77217378 847672404 767158168 837455470 224358874 778432980 565857710 8708730 721695590 398258978 16067058 885166226 968389086 381941050 531976504 687236322 389215338 768881006 503288918 712075314 605326248 798959122 49785138 250888414 670226772 67478650 694695578 48571994 853261374 406483748 40838822 583609014 592210472 129238054 45833992 281180608 742578266 886891194 890407896 558567382 342478206 849788816 78592540 896711228 215353982 872940542 194873730 159448628 10458424 347991070 458176032 662672620 616301338 399412010 218726760 249858354 233488304 710563248 236111328 59458892 26728248 833550904 766371648 586411940 690055300 773462892 986386498 217268112 714557904 11294610 338165996 259596612 120253604 767954256 697586578 545946756 531530458 164716492 135030854 904476418 36854078 203768978 270534542 975751606 484804330 162866272 908820982 873433362 399052366 82304336 651335282 484680532 841777048 974185676 742742902 995902662 602362074 347456818 335301334 971230438 526846320 688393522 558313746 137537132 474418602 739071812 150762458 954362272 638055076 644457400 298221976 626587116 319936874 566783510 479585202 997852410 649011084 93969506 575030334 838249196 416002798 941798802 356459604 77224680 411684538 267322178 297951592 634917474 741543932 19213810 892407384 841854358 597595446 923501832 100941990 198756742 140580652 313138472 581818024 547026004 572640022 447204526 911068802 534651584 185788932 33323352 5816454 450376560 787990304 581812306 634326444 654929286 513805266 767554774 344746550 562204340 447661380 850609150 610559744 69646704 840372792 27663800 95823906 673261960 472019014 96366250 979652110 337161586 158486592 335090950 911441190 310129548 249549468 47831114 512347968 378264578 168009732 389749452 133735642 355364528 299766846 509117122 395697198 196613988 463721404 995764228 465039670 20600654 486685920 438485668 991968408 969073356 39249684 422414240 758066312 194232944 685696180 172436924 982074154 53040164 287445298 190745588 461104312 647562244 418765392 361782358 225641156 597759720 538929568 820296214 277664630 665686330 505820594 34316366 534084846 569629398 602844636 504106348 678287842 981606748 812198266 75621780 427913544 10436654 771718660 889081756 528003658 33094094 393084982 336860120 638075004 535385144 33842870 337584662 497778628 182522098 180095658 725368230 569092834 866590604 117336034 448536028 824208210 298609542 966844438 117359270 886392250 675464000 678402128 319059056 947642900 488312578 243293514 82885044 455135294 966794098 502739222 300517912 184135972 61500222 263589018 644389386 115752444 231537280 599620310 787445072 502448860 166489828 643668882 592990668 837944798 967375252 316959374 380781160 819147622 927711286 693795778 668081046 149064540 506972780 777689312 759621766 975033844 545328556 816573090 600242844 862501310 270310476 184477014 780983614 872908166 354538026 257177056 469050346 551746470 718968890 931540514 580425080 787490352 780861026 705491728 563304692 212380910 325630642 114410348 458086618 22541246 523290838 610760632 666403020 770874556 453676514 593177772 647283598 365818918 844389802 838297224 309085368 563801302 656991450 36256610 825557690 434750452 117889042 384354852 570669876 405261010 281480388 108306498 491216554 273538274 370509648 19136028 390315732 547762330 341750854 643825854 284182122 444324046 45992402 20047076 920294230 400066560 240592148 403047446 820225090 12174008 549966412 160629542 249098434 572840888 609076872 548606444 719591068 45905024 176216668 260235132 448345654 959597876 748220684 348147998 945840176 686058832 955958482 948800580 463380488 781143224 867862040 642763026 791053134 945568550 969069878 859240418 628800014 667841176 266295138 294614144 79743230 125837748 226488716 358873158 613249164 343181096 506618976 306985948 331139984 548925126 12307506 432692234 312290086 272665708 76436346 53765158 258938764 687498256 423168326 867973652 647081594 804596016 763444128 801178754 436001514 819952594 301078988 727656106 287109780 14895402 410426834 309261040 821160934 523210716 704953622 114921794 68825500 866221860 113650006 386238010 508668372 283017528 18709604 186286102 593323326 301211596 416229500 905683042 763144766 720668190 92588006 37738118 292189578 277333808 225079628 849950036 201137698 748206098 47074540 384331584 846072798 391233574 937261716 742674324 326614570 703968838 453562280 721471224 534857982 429653500 968603166 527501944 472062250 598869474 990713520 852853046 92221724 419512848 107831046 218387566 526423778 301106054 672194766 208292822 531471204 69312428 219669634 445002508 781794784 807208110 303381308 364684556 468065874 394483554 801142048 272210838 937351824 936635516 834150024 895193642 470396210 90748562 541994876 615755982 407765206 465347592 384543184 415902678 149130238 964414526 266308378 606050734 155050598 546590296 872412606 918063654 641743290 244575484 320443286 314804320 2638726 251116976 916224410 651821458 451854304 980448238 964569168 189242868 403982740 547733370 582708458 875342360 491719240 324928880 376407750 979719882 827029716 696665160 380613726 161289256 755959906 563411464 260982734 64696058 172966120 154120598 300179128 518666264 168458428 333633764 122609880 734700006 528126164 246496848 111649180 343251916 135565704 616891660 543426764 390430902 733896194 184860878 778739662 15376576 13797858 176853924 393372952 911077804 798949498 844646740 571445564 991854980 85267958 445030978 291490348 383297920 313720888 964290154 67311252 35376582 522413606 759638756 237485738 430832238 394738480 710327452 235147610 81260534 338822878 590577720 658127200 243777392 763060506 81998364 253115586 721354700 295134260 384850116 590524738 935805764 554376938 653726928 584187744 817236074 488582946 992652398 196269122 697663806 729193274 210142442 973741774 648027232 229419546 459759954 550028910 905275574 28486400 437632094 771985768 327119834 28968852 748626202 442739918 279718516 525483710 791623564 550879628 8702100 704015968 566856204 585231584 403379312 804723342 597935196 413252246 449794096 584550344 70359712 302590298 138282470 969756866 206627098 622729678 514527076 787874616 308993672 550952686 702061342 794707922 737866392 389689130 585111632 259033070 652163494 275534050 703992136 688919268 213268818 668175368 269381772 511407536 402316106 689053036 479942552 34100206 292120302 422233584 16173818 432668256 125015308 844637576 414875258 620627906 220060406 57936404 19196738 282631248 772209466 677350312 166222560 723725356 159033528 681721558 896195628 364333556 865932810 768448960 134597860 700682800 474836736 249702974 398938848 174768336 181737414 293253446 926031606 588194026 37581716 42834182 894914930 46968324 555886974 717343532 624455660 30084716 727857954 858978314 282418010 47230718 295195892 640349846 508197778 482033076 301577490 539039968 491754000 444509430 875196136 4189486 248665894 830856282 272349642 321189254 980289288 384986204 497522788 910495734 183844946 154923356 196343028 653794312 253093536 962252936 231245690 389718116 651552762 390737552 754940076 352967670 744862076 306344710 579404588 463463952 712076116 781990474 172019354 536399572 388227116 748638858 276471304 725223540 960151638 287435660 258109824 493396712 237447770 661971416 181842070 961773946 856879826 708301436 234126716 222937916 795418048 190604618 393141612 840918972 379783570 408774498 718940460 775861960 865654688 809434940 580494530 303400174 463906232 396784072 812522658 264322120 542930852 609017344 689975268 241808016 818944476 329519846 402200762 916143184 162436818 625233884 878661910 635873110 685224238 300869424 842679580 576510080 105776 500547478 423855876 405689114 315720022 828059796 80481724 824085474 572603478 885624824 535316064 891923494 439337626 346476892 597650120 296689182 595798452 962370548 419984054 294594974 644496040 312473544 12262392 837590668 76513186 71621270 896433922 643538702 556154446 281529536 517896510 84997194 543681368 18276822 345069872 229793118 741487782 119037570 89510876 659855174 105375322 842704258 41451224 672630722 982075598 842985780 317768728 232956734 610673798 318489616 485493814 830750582 337359110 217734248 474388598 384948370 842260966 329570152 823898642 515577066 670036666 469468512 980232920 531045622 975493928 385924914 384789966 223245240 566464734 943856622 983829124 4774612 474370220 120290496 786110752 363124790 869478788 945169706 664322258 302135314 900143292 873743302 493213066 921346914 407703302 728644168 665403978 527274292 699372436 7774826 584394702 317438454 438946232 556318646 527091010 725297050 368252990 216268384 434836396 908247138 137705220 674051532 189267062 969749256 514437000 152173926 500590812 982488656 385609594 328396512 48183174 384762808 80699276 486265914 957977402 404063914 293114622 922562576 275049396 3284450 366856728 741939966 426871156 616154154 170425134 273528624 183449606 466314504 178967450 128004330 687752792 440306820 969232820 270191490 639110164 428832782 543274256 400677202 92682782 446222688 400701846 240396114 12262420 470362398 95005000 195076172 65857292 883671202 468399186 377366844 275138292 174270026 477401870 912780314 194922890 100818248 603998036 20262068 773414082 511697470 112113842 617075736 83554548 41652318 470884594 589023050 596971660 147813354 432709930 852709984 919188022 459717634 115141906 562090930 150828460 903058916 736096970 188712526 207205078 8439016 283332574 49986612 7087414 318197626 568189014 217362784 322261618 595393022 163112638 816042132 386810308 314364362 329573172 664318306 227474660 362431228 401539378 666631764 456268216 561572684 800157292 367998200 832559750 234087700 325358170 743791226 116510328 755362824 49046198 74498020 448499134 29885494 194869282 350141760 657625750 414735622 690081094 176567812 272973926 117831282 717393202 939390590 841142116 50547200 348656220 804218970 816470316 534728114 630725102 790930100 828729940 950634594 138868054 606955960 741077488 180116462 584420180 807052014 30678110 747395134 13277950 134251336 343549288 443384708 341932818 884875662 708428382 915216658 69951686 916969802 420284496 237150276 262210194 306007726 220263998 900140396 514999622 353166448 675770478 219893902 30487642 633525000 76144984 977587354 871199508 624580948 918448174 658946966 860429622 978009546 602424390 243369074 540720238 779973498 771632020 979731154 527771140 501624046 652762132 742390244 535545764 300996154 180351312 751063758 406963290 603244744 867299656 324549456 392236568 473751096 527557014 349277088 721820158 688496858 523953138 523551646 310322902 140500876 175667028 717708036 447265434 224387192 955562736 381353342 627162480 919443340 367205656 261217696 901953284 10996438 499905018 797426026 850833216 665033354 925885904 806307142 113624546 983663824 581140164 908399190 256644680 550121626 713642144 829378584 75832448 439124110 565361164 595081874 204552024 718344812 135761626 513812938 497891190 472213934 982263966 536698728 330746148 95940102 993848468 595766956 464768560 56528416 768440306 387295642 439540556 723848504 779867970 674558766 584346274 355533984 146605452 60823808 374838332 936320850 111255724 74138550 719243576 992001348 951744544 303552370 819363328 154007458 629296326 547929014 73289036 993630150 332359970 561685788 237193566 658499760 823465958 398354436 562801356 14967596 38638246 907186568 998662842 378680208 843035746 377515674 357377944 457881362 995793472 650824698 597289688 686922182 296457186 497458950 941157960 559728016 76361290 624952546 633602538 111538082 543581048 307732000 706436206 14013650 209808444 860637872 740573476 70766316 7078104 399663956 818865652 508652124 226543968 118683868 601391692 604096198 417323866 903549378 223249208 797799274 269202784 276743328 666690128 912863868 852424340 859068552 873968566 215338262 422871106 208050452 397075070 941128034 823580196 393669136 891973450 95326788 110048730 849024454 499883290 50579008 54791556 471023538 204138456 645877266 625369182 851841858 82795722 683713514 481113790 431362838 932373218 89695588 511938732 381669228 241194512 685402100 502196204 750492878 761944148 333309254 59587532 101424860 414322528 218220506 956924368 875053800 942029144 723584678 46189796 870456724 252869674 516720466 848761448 659744254 200655198 377250444 618220638 752988748 971525904 373704544 256940178 695846316 872386916 971053158 212792264 838876964 555968440 38759430 215340768 370642426 868161946 679883728 761021740 515760526 747225338 888473382 135030662 165974596 583094246 299700802 308117866 394925648 704427988 11391760 974617380 202571902 189407260 545448068 340095520 311095760 868943406 670988282 112276632 930898018 25608340 689437282 149938186 73786758 117363186 867525246 386566134 954903056 365792600 746287818 598913874 443089816 518437086 738978182 154732364 142547254 559898434 108445434 230656746 131136698 368998048 873281988 589996994 449631398 711126576 993810520 155955090 561807410 567246776 136947770 879482002 514022350 25773212 245885396 399052900 756607966 886506724 887623836 128810124 787473002 312923676 411424342 918764654 528972374 289397696 45295634 958795558 294888182 23840686 581167826 575373152 272710164 261530444 337255896 442101806 50611136 444588522 852847776 596690600 543533894 472374116 606647814 427516830 762044382 479689338 349645638 731704308 788788776 170911786 139119382 612062780 597690182 835692186 23142656 560387742 783744092 659760836 435176110 182269034 212751386 963548812 644150916 947645160 371673150 42741170 413481904 534609768 848038256 774443282 219111154 523910736 918391318 268290536 648063364 554260352 363075826 479906878 89849722 750647116 19505438 277105774 427234196 196244600 848433682 157893736 913825778 319263400 375794680 336308818 287835172 868411432 917641960 777637922 271087128 323479724 25394380 843494928 7361504 437078710 519980636 273685442 886621350 712721704 537594580 140363282 124775030 718438330 204992578 702729190 679713170 715842016 734184674 20748598 720041176 533280250 652400888 9852542 885173052 723678450 950315114 956023546 192067248 559107486 795469400 159109678 324588518 679213414 81239480 785268128 692960782 493247292 411670736 622577214 205880156 318789598 14435340 316659526 133153682 822055644 967612054 296091458 661263238 697314872 83917200 644899732 620151150 384012710 91178068 805136730 322368428 373674232 108705076 786616420 402400748 723135486 628480124 152932794 588712756 101711938 198422176 828961874 464554818 511928700 750578306 268622538 159566994 876228478 800707384 377089418 536480822 655248368 931512910 795337622 474128570 563481234 747296714 619305750 60492332 406990788 754215184 286177156 797664850 161015008 604914686 354260142 86673426 158359690 848020320 121438378 38686484 66979004 33001738 184896604 260205178 56891604 256484652 834457828 113760176 80042904 160519512 888805180 752933072 104251678 267353500 682029690 105189552 910361966 442923452 203387600 414478464 624291388 397977088 286458640 113983832 844884714 111927694 135472036 148478530 454854818 963157914 845674766 550643850 322524368 155013946 754508342 899726144 54079868 576010962 284670646 73773404 816779062 484053596 480689320 820663626 582875968 342618860 767253562 995354602 758060170 534363606 511165270 478864044 74212170 541797884 751347154 263779602 381739794 979462662 934991846 56028210 414662350 76988590 949414442 250251974 534357722 674203046 755069564 437039592 640759034 467157270 344430972 742423796 848678102 666984206 60041764 810578382 115391156 52619568 28586764 325013434 629176912 970282150 51909340 796544736 156782042 480217942 969319980 760298360 994161364 811940360 805496536 903442406 868100850 843540928 528792068 282006950 829276122 547560272 680751332 896520160 150038344 32209758 155277390 690100478 453919722 698207202 724762738 946203002 915108922 517646260 625019268 311220886 934095902 678863940 650637390 14620956 187580682 358888468 138953158 971066858 274970518 438817244 888235124 680346766 459813298 133282554 762733226 229938066 996935476 430793306 201898612 221837376 440067392 167332914 380462152 790334926 413050410 828721008 940453484 280002226 397282250 25654906 422728998 523819304 820983816 490382646 802343722 818884700 469278522 103818480 977453964 743093206 995215216 253710100 288969142 675336086 826596620 33799608 437479884 915478964 42878498 119865720 593037360 20947390 385402754 699281600 485529008 718938880 989307644 510447076 674148734 808204330 263948292 347931092 334300108 307705988 888050338 766276682 890582776 55134350 481259168 696806428 138448268 354865208 241048666 230597832 635719644 109769310 651180118 883687894 506378996 353320852 406076108 678530912 191415356 493183302 265178162 530040368 345730998 60505364 406693526 418005010 806072244 768308118 885212908 216924286 967488124 960766716 388828262 905100134 26520894 525472650 801959276 174671996 35239238 788365352 326828770 28291266 81842776 609123818 794186698 405139330 895244282 786032454 698377238 627923584 677903118 182893478 388472040 490647708 382180014 789982708 619176702 922682036 607637798 617812494 974298912 301831534 791121648 780934846 194287542 377205432 964660872 43824638 985204780 858819398 19751956 396087374 980542694 8999638 219056566 51516678 529561276 257198946 886734270 861462826 316645692 902871012 912837074 117070184 986644376 924475908 662420036 385728202 707769936 348862950 311322150 607787912 799701892 881770866 996499768 531784520 616625168 967735016 485960044 697086634 372666352 746970694 352898290 21757168 723851296 15825038 65046554 175153800 687856476 547747626 6710146 996430620 811730974 613855264 774092014 140275960 950682644 560713148 196788058 879264910 397784068 502785190 531202520 53453564 342966552 189750010 181149610 813887224 930644716 931615778 872820312 47750302 553577612 749281704 95861810 483021478 37855838 56020158 783788894 69477454 588802182 507654806 112620734 216140278 855884942 415754556 231766992 703274338 550222054 246843460 863576748 580021730 922850528 850066688 940620004 910113520 293438394 901511900 536615194 245423220 592141668 589736548 2452604 596672670 916325310 724795538 854725140 58459868 363746126 979609576 56740172 714724586 395129544 842549820 705395670 919290102 234430314 725739150 793756282 125877466 622637252 69888878 279860084 988995348 908466354 64118786 675153178 139929178 883836546 494973344 681415082 504468770 235145254 593826946 354921936 270681970 408348510 432576736 770628038 603982350 99438562 950015228 846934836 185414654 207445874 849803070 447553620 864594602 214596124 166769378 201039006 789089598 943648618 262206014 948205588 824255190 40677570 232249226 247030302 823004384 672373154 322452518 585871992 851782134 973977728 629841398 880774356 150984800 785453834 638149580 985652376 20183528 909906486 668837956 542343554 964170428 626503032 110377972 47466170 161630092 365963600 313774714 427650 698135694 409277402 344479998 723987204 572502252 399275992 360300736 364720918 92340704 498637962 134506904 858910168 381535158 77708768 75339502 888186328 850887536 467909910 656931552 385220158 735031258 795896984 326533162 103554842 998683616 409431766 469717234 167873586 134367360 63302544 231837040 663299044 953347274 871886958 996664028 957638874 157200310 635421182 407531378 187428662 124026856 132300726 437142604 295582692 949706004 467553880 849976180 840606858 248662166 732883038 600954442 864451438 24114662 605882252 796523248 812537938 598333724 150227898 672715244 160948620 564549204 953831362 309647646 447512598 780135974 957940794 220631152 554266702 25283750 387927268 615842566 969272294 410180606 684929472 778903470 374407170 841428754 371670972 489500050 57485054 413521914 552967756 604239744 460969894 291711762 668771294 912848640 273218304 48325212 214729028 710895398 715946970 456349950 249515144 764927442 989952030 592178720 552951944 232865612 499486756 655077404 200019588 667649062 990991060 783995240 265245550 244175296 94646684 319989852 831205330 425966824 531570092 149971288 60499070 832770976 820787806 375567552 485459774 578512304 539636760 243347120 848729998 577694234 613928928 93331142 404864004 456132154 822081148 161674068 727031476 386177936 804964874 454488580 964196698 304276696 296717002 236747762 200332122 244441638 183891852 213181636 142453888 836000146 31057608 162624456 305086940 78254100 580965640 615329378 455642994 179225640 237420690 143592800 965853450 942614130 406078954 81843428 788627438 613610038 188223102 6824842 879757272 288133792 530087786 23260814 667764362 628844552 838312592 447012054 460422300 327552098 520817714 723164082 202698844 133637292 504459562 977857598 366836654 410716080 752407002 738613020 868036704 481214670 930785922 362551250 801825558 658747380 352755200 771595418 765105460 607532754 326461312 656779720 672275150 937495324 760265992 643465192 780817974 503113090 887261658 529776240 75446804 12752492 873726888 19370948 689412674 197986280 775049934 692009296 513208172 206176468 172503018 977400332 482177900 921976288 952160318 743338592 910790954 145081292 856142990 22991098 192526334 170114534 497457080 60867676 551563930 382528412 249208598 637949368 839471232 944467624 514899692 493577088 423727192 812585414 198222848 618648256 873036722 473570060 184577346 309650882 296766576 84811688 458204060 778694772 718172680 398783970 265018996 646308430 34314712 223091592 851050102 544608634 48424032 891666486 666769326 680222932 59838860 532562574 993713426 974901214 983038660 29611026 795860382 741273370 159556036 201921334 759337264 999912274 524309650 241757976 820765784 511444658 115554190 817730916 851165630 247894402 12759530 221457374 236628324 672489492 718300986 891549024 667283500 181997654 601040598 638154926 338333038 55136856 402591032 555432970 279454630 433594138 41430966 723364392 575381684 69152632 361607358 133014568 600425934 142405406 189803070 653219106 601761740 319389638 302194452 914048512 418580144 854988754 39726292 931537166 224232752 702851980 522075608 215804420 289121582 461508450 993023230 246782736 11041518 135525640 560557714 743825906 442194616 807531912 160199446 784724460 576557096 895827984 241061158 511378956 899950958 594193878 300871012 426983008 920252922 177965946 898990288 6200064 201181674 768047424 588017224 3106662 904970332 523456000 665973818 49903628 373130430 583096196 184995158 655888004 825802984 60914480 621012964 445775866 60677832 914170528 940622996 604310836 970208622 535315392 474341722 973803092 205721834 812990562 778254886 95525340 914337240 716159748 558512198 726184514 499261728 77272790 531712018 32445602 458546778 88361480 69200224 366607090 53796340 584753896 392146574 221713060 54885894 45982850 870080130 770799654 443288226 195293936 470359262 720015854 935977780 211204218 183118716 344568154 824440690 153656586 750160 684170762 94077628 668396288 81947832 251091598 34049962 341120874 993698564 761055308 903703600 322281104 771679016 150727430 882439952 17258524 830372428 150578030 933303414 950010342 207112482 182406788 735759042 838714268 649953456 172307680 648816574 739529158 560987036 433120960 637231446 290020202 10486446 999952914 11695882 886418828 955492980 571845456 167933062 60208100 69985886 710818828 197802134 13011284 145230530 147860982 121816284 44901058 916114558 653344546 106478370 618355640 588097580 66628738 787226578 873896966 436121814 758430926 373133540 315109326 936557932 420307018 482632416 219942304 268961894 50152020 335143876 164026434 48912546 939858932 868402364 372632254 751856256 698087532 502722948 609626426 734133420 354212604 292527348 287267358 170616906 450251994 683177306 868520344 398357530 613699022 314819526 848738574 133403392 879355166 466848592 828129116 760148052 930014098 210968204 992088120 432600064 938653350 229127696 294821198 412796802 375203872 763873456 339363446 749051288 321735122 84922806 303425684 315007166 142629528 17970380 5152180 338187636 455758364 318978346 93077192 593094466 612319978 149109026 971060160 670206570 199582278 907356282 799677406 447414890 448168344 791277850 958752782 165663862 137378696 340816968 105390424 933348028 799395270 550462240 222947074 778215098 345921206 807655530 405321326 695693864 373029890 945958810 694579980 244586058 419471376 249547424 817520652 394972234 235147580 635446790 305334940 695121724 974145136 839646944 141156888 256161428 30764688 64921820 945461474 654947134 338870482 501020996 150950702 278836882 392267524 326546906 24842746 274102010 843876790 791602280 702849942 525286700 937148552 303916862 661032544 25169170 385251814 714186714 796934510 22231778 710068574 384165774 585112358 432161804 215259568 183266012 120492366 621616988 906606904 791442652 47861316 490579462 951366792 111316936 435243886 481726320 198569344 106750526 538389736 417154446 409445216 720670590 975749652 581979270 233162726 329439056 609011126 886499372 801183568 712462472 1471742 671254594 86027462 719880570 392181830 976602056 76202586 715584174 628384682 81204120 716299118 566571244 13953806 522892280 699437534 310076912 812239632 212103358 17964 303609174 239331738 92470684 719579608 397512072 921154128 749587282 116044512 215892354 297260126 161174438 959019128 500416152 951864824 187798576 899844952 115723976 938327722 772918298 24516964 286255184 817543650 638394604 459254340 181373710 446593436 569907080 373101370 679748208 896641114 123054198 82105420 221896678 408767096 877796316 441514932 694041676 353205692 873580690 16906758 240116808 828148290 346083600 238150550 224202594 994659270 608826936 562648698 930307062 93199016 276917676 951918972 740274632 349284136 439716296 991457324 18797812 598150224 892711292 250957364 68611880 382497534 990095054 88588896 662698440 813135244 592697364 71329906 484257718 496634358 189351176 836476026 780690392 541735120 201011882 207068300 817719966 602282960 517779974 763732490 644522658 317358354 874411444 825459170 858467250 208169552 761306802 979025718 74833202 952404600 402967724 974385538 61314152 804509732 216758686 564653430 861148598 768193414 128434320 259831028 76905286 333477082 535618012 456939972 936691116 719676110 282145568 115092292 160385680 874601130 759720600 929065738 271530034 117780988 113622502 806076714 168567304 797313864 61128680 790568370 1872028 16845256 918792328 797361902 15351282 323587672 4694304 302463718 941303744 55751838 979571366 605246186 898442244 773667134 800259432 898379524 927452074 832474994 736307624 476558810 92984118 358351588 342766362 807386604 766874996 998467706 16359670 790459664 431866156 351606296 243681548 606769952 202531866 520979814 795747464 309364944 367201662 804120124 71886404 430487088 925958832 239598452 668243698 996672570 855717854 572030140 357362056 602784808 869441000 146609782 472360058 810311602 672221752 939107240 440310718 503176150 995646122 477303230 764264956 649911054 269964794 156002958 576706354 974762622 965023658 230384502 70741298 31553132 407945398 169808936 509468490 919256686 709376752 909209460 89344898 992246238 716079902 878269718 673263628 971977568 66130886 827356750 113556744 271851068 822377776 193766350 235575492 670249964 199474400 234102246 350068436 548565638 232709430 820562724 679249072 463870924 951570126 691175080 494439858 332916596 609054258 577133960 234304752 126628144 893787634 132692 904125148 592313258 643369928 774567238 353194904 261219526 473687286 664134290 61155316 768033702 4383272 133314960 301134474 371415712 740045920 798398478 643231790 704299720 444601862 713465114 600670298 634507492 121141410 432370098 47739384 72322920 454890816 328358860 47424802 897936006 564685328 890592012 701050738 812938412 584582964 424148656 753874992 709434122 468795186 127458590 940509358 738421396 466053014 934713422 719530336 842341530 125367016 206429276 571580320 182810188 65236596 817334196 979931592 149851640 222332120 409596922 998565610 280014002 648186644 832363758 720898248 297672262 326853760 61951280 236014252 803344860 378233496 227394014 832720142 263686184 66586242 247675490 745676372 109769506 288466968 319461750 228143416 960806018 27247454 719593774 257515242 667170904 543209686 131587366 773513220 481785826 867391076 753615258 543429726 21201438 663799100 129337444 253118606 78027760 467976998 614030724 913346078 487313682 902172450 503459336 582934576 290691700 359396310 788040026 642883682 312030978 436675032 237523866 289752402 607053870 491893458 527305794 168976576 197126124 710264808 355442642 331610462 812035904 106094412 733973000 615883654 59999502 296364060 62148358 668602110 910549506 3312192 596501570 479864344 674070918 302264908 937649780 34013320 294744872 640591410 632386820 525472550 333811528 248906988 677710148 118601394 957635292 505645126 612558156 235413650 144997320 710904646 910871162 14072978 768776710 863972386 421761806 377365888 920453642 3514376 152128658 253613798 341598108 676994298 15847822 267043668 861992450 688461314 8999590 309530732 611664018 694125150 361722378 828104614 880708064 44448796 345049088 106240376 23266154 646303958 652208672 889447530 399899002 254070422 390949660 468222136 566615054 487607356 32669250 507800930 776210964 508318226 636444294 375624148 54674158 322673122 190606634 544984504 364960970 688356610 613055822 616902802 964413280 784363750 865539066 255022590 902480676 198328486 245432290 40837446 918821658 629212422 314361654 498805610 312976436 641626444 188217486 161700350 658011318 31566524 543866088 678881232 94930726 662447386 339420406 135553188 893766516 717711884 609130000 516821846 319785834 430337182 776534040 943072538 779746206 351834164 758196028 238976948 999151112 420123138 807908560 567876326 63209854 184319006 163112558 528295780 500131230 640643366 374846280 715074022 520076634 966005228 58810212 386638988 916268404 903603378 238778526 987700062 864813430 191584324 83204110 256076552 224990124 658499434 199105970 24614426 840606650 824960630 293092016 204635604 967832612 962645684 458588388 762654420 971409064 823807390 335325780 976199690 552604214 362682620 877157262 662514348 943891346 676231996 825552734 753213454 724117688 340235348 808094858 348212800 909196788 962801358 333934466 562875216 160862786 950451580 972513846 806671028 698967616 403674678 438965724 466151140 768093890 525543532 703351594 634754656 327163848 11009086 399511000 687540976 52333330 41978380 204496840 699216284 339158044 994901266 814174232 276332730 665621000 549046812 344194732 271897448 231594664 624318532 779074204 449555732 440224070 812574376 999368426 864803228 102494638 42374324 245814390 332453084 930600124 635208014 910196186 490005214 553472824 22133904 731836058 154675618 539213868 407877410 415309526 332194928 861214678 863883766 535563770 585212768 736697678 874439780 327174766 630964610 220581718 500120514 392879720 220530714 521430894 432971904 30321388 438391494 220962780 520609818 982845552 743949840 226483878 809238286 472942082 643395740 60695184 968076450 728189128 501490830 425531706 586010684 186094136 893049656 518254510 61798394 754950014 672183306 84728490 471687600 975628794 980354378 259209832 73748978 796297848 747354722 875962480 305015476 98333262 422762900 198003638 950180580 420721694 163094722 385084388 510815478 503666580 702134970 626428780 689493610 147428528 485616452 29020444 705388064 485629120 346877930 140221804 133029744 7821406 819809520 226846858 959564894 547696510 969043726 636378002 761505114 930399674 757032070 586045562 320375040 781583358 483588460 471623634 89393066 973970646 281072678 285362248 458178768 985667556 975708078 641251942 692843104 150128280 410545090 697832952 858543432 165972522 157933272 207873326 633115852 896839254 841164528 628687858 448050496 310813428 176796294 480402616 369552662 372305216 909650944 690196252 313660960 620173816 812261352 510278886 847793018 887034978 46555170 897282250 482220332 972159574 750287716 736361610 271198502 58445928 197828278 393946704 625539356 630134694 710225486 852343184 292420544 103591232 818435254 978049002 65873768 480656402 545127624 203442382 224494150 473468240 455076216 225767674 657528142 997549274 966323750 642332044 593870724 437749900 210081552 670661182 704638422 632030566 67176384 560276242 716936188 607500396 678592916 61707466 411414542 479957830 533187820 938246240 66182036 406762092 69224424 515295228 931337960 965156076 613379812 312078968 481273824 94896856 762329332 504507028 210830608 745716726 554276306 721558424 241081292 125757336 333156116 498302462 706724538 69141652 771479944 44370816 986032746 839240712 249119434 978673740 222136470 729948952 719912478 747862786 326760440 446127112 970340402 596773316 647103480 294795812 899089040 845189308 797820214 521210812 943518062 903155248 282110618 4913396 951505306 294589488 948051416 88616112 532156532 482146250 507989442 837122742 334324332 390118046 814556668 180507270 372896540 742670250 699189972 496839820 545319292 748277874 424718858 118025138 323424058 272976954 380311718 377364686 620933768 960882686 85777512 161005088 777811858 261409784 928845108 633487428 686421214 29670182 493769368 452521384 108034598 286811644 256994112 302738690 513215490 455519110 402623578 996819952 448831682 631278934 696586764 401935708 577344446 705289218 359027132 396231576 277611746 75604706 250161792 829675230 447487284 573900112 755424894 329584154 159961030 244894974 350658058 944576134 316597202 533010550 59371748 176044088 875700654 563572234 856789928 730961624 525347930 656576922 357571348 10520000 113778746 558223306 1583878 833046038 382971040 163470786 162732362 902842016 817567882 117768830 258834272 749880314 766326158 767140818 665934978 159279948 377457926 79017514 91787722 798512566 576064940 385041576 649201778 587272190 567986812 187774466 223932438 78060356 545659338 327245658 757311590 16863460 257854648 459340680 200862872 772368486 659075644 2909162 237853920 477197256 50345032 733947128 479540870 200484950 474463178 218523330 657368884 606413652 872342316 549833690 118918846 786520126 117452216 733123234 942580872 578642022 28936480 597045262 564923628 148751462 70748890 316535158 687898044 214301158 988980408 862746874 278842592 14645264 620400814 539870858 104667124 816751696 827417376 825857848 559818878 22343554 872247434 184882674 150426758 47743514 768800522 744457462 367918412 994049830 988348040 744418326 965304858 498775356 372101498 800878918 420499456 661749188 419296540 251681252 916470518 238630238 459681950 435019814 542831888 297322144 626234964 230644834 627297772 427488626 706659422 614389906 929238702 83016924 35085304 560446446 952413348 897019084 104009726 440241294 606357662 268148878 888618236 152732252 500097116 777617914 342960364 909454480 308363164 288114806 642141624 757947838 25310500 306852272 763740326 722586890 186485340 461825190 603241904 8958578 409819994 433917298 541616382 595070252 921208080 748594950 483696968 689509376 709882388 309219506 809576808 70921744 447776750 447742870 322473062 167320520 659815588 680087620 163345214 301340040 609355388 324304988 158213080 829587676 501403100 882939796 203727038 230379650 440693506 702521514 917806808 998467204 414352282 191501570 678137708 770044272 952104436 305370204 549284782 751884750 284878938 112487888 205925868 251895174 442038234 626545736 684560158 412230030 291353302 797212178 209824146 415269370 175330460 31286098 899846796 303686402 56914498 922661538 977115916 40815460 544739330 659521218 165156816 420446322 504261504 232751866 284876164 494242678 250577608 953704398 922894106 183077476 714428342 236305142 347350200 430399250 925192434 157604426 477829062 377078940 33083484 837312248 325073174 681097430 824918950 59238554 47005084 194172318 286936694 681683242 461382332 298058924 691379462 790627802 407998040 731816418 388650352 895123744 591601726 814568430 440194970 977170084 731411974 337893936 696079064 288144576 25338356 378025582 991613140 959983170 921667910 454687156 30536264 116825838 55524032 125155168 164036272 87436032 420354054 211528718 268123386 534857574 702681976 896988336 969425510 672584482 805424784 710340260 646195482 508046564 22267556 660332140 828009668 217051236 720636874 79743742 707603012 545099128 286942728 582129890 527606900 264536866 445832430 512751892 638564012 38205270 555035444 923902698 498263216 203081538 417688050 324635164 723279302 815578002 54135888 715509146 740642554 624972574 257163314 803185620 279227424 961848512 825825406 941502284 81307036 261142772 350935252 968387306 485985764 135940512 889851380 611167080 881273794 166261418 829543728 731951096 763903624 734129588 883608416 937205360 594381034 110879430 242023812 949900442 481807242 625838192 515309126 518246640 367604140 941473010 418700678 832726384 217618900 528494234 571394738 835335862 446188014 606474980 912420468 327193844 611977894 883546334 803192762 310762268 817214622 979659578 881839112 878948060 892223286 852405876 7836686 577367052 829500772 946366576 539937868 865705740 51998108 853090406 366037152 590278224 803223094 928288770 330058562 108356492 419024998 53207532 620960702 816737778 803711864 517533692 738827082 602111570 79041034 612042852 107529936 906086612 137845478 326240298 304021466 559602840 51288470 978632038 807774426 592844230 560588 729056528 726439920 897370916 239595354 866816502 650916688 634273510 926105014 554118360 654565680 331818110 173244450 922315152 464331868 949350146 971569616 671128850 419469006 272902250 340656242 19901202 408387364 241702684 772105854 570880614 429567534 278760628 511033324 557192996 33612362 454551174 951995268 236838160 767738472 632070604 329677482 852860442 488250674 605847596 255162672 148497652 698039160 752789916 579762102 671487482 902668528 742595076 98213406 214141744 611694970 947058204 885822686 6737998 975087884 710623680 175223620 633260548 347442588 202401714 255665232 344592598 654720008 955246098 312570858 812305656 707735228 430191926 724880320 29949106 317790368 613065864 416292542 710182750 53163680 260637092 115069448 973240176 993032870 809055018 126835252 978670344 550933694 494680410 643739752 359989730 586096682 207083064 75248574 60027894 854641010 800811860 931496248 797394758 309477216 666405162 263336948 625470752 159527074 594674250 324712626 36716454 187928484 556458114 133637616 293715652 224077384 496225278 658461334 828556856 711967454 587514638 322913392 160380262 975127720 381238246 456244642 601663176 40972664 741723642 958585338 290072838 162882932 88688488 724654386 225374410 617365424 260960170 827444946 681713738 33521486 801078884 326083704 145859644 652349428 815891058 974422348 374686676 639136034 562180328 61721172 188099680 470322172 915157174 411799622 272784792 36197412 910238058 954211310 718784140 630504076 552484618 153929620 632591470 831496984 957118818 274058034 622287098 218463062 913293006 350440688 948400818 329119490 374135348 67470000 388203946 256749512 908146364 329474958 50462240 692116924 208874972 14706280 689992312 695836650 783369390 728963308 752933184 257237854 691493858 75856372 69121388 374689372 496147110 94157528 152964120 506880018 906841462 364799366 849689048 921137518 795289948 106046780 650494792 200817704 584394080 787762342 849948890 543277630 759269088 77066290 821481350 401797212 819243028 996523322 105619940 43014382 955806224 822429738 205444326 862694816 531193990 640279150 642596468 970829042 474601356 869884706 731814916 462878332 371578002 29634548 616906862 237373866 789622290 190979276 892421800 105171074 635019082 847734862 364915984 839530418 535462316 698943056 888762570 381079080 471776416 709296482 254916748 344090134 845091428 945198680 617787458 904690344 621429458 116205550 973560264 807862932 76830202 212613290 448817422 669316724 216639744 718229422 259250854 869963464 273460346 959507374 113893376 140865426 478390434 942731958 770114476 254346360 406497068 25746726 479266824 505214628 958102434 49000720 928028210 812351476 393841476 870315018 878286378 551518330 6819246 456393390 614835106 100883912 443816838 659977420 275463134 40532128 645641296 677392084 994049218 789805054 250466026 679427342 332376904 985141878 28634456 497453822 51828818 205935634 282505640 449241992 471889744 553955690 929654746 556793826 923588230 598510722 111577560 567615190 511349966 90980464 480681022 927443760 30333476 142223966 228002404 313152704 77376862 398790082 753892942 383277804 411785618 273441544 794426256 396345444 579259838 598066494 33011830 284250136 208682910 79687618 610154572 970594544 10484166 217765348 458733026 784445174 391187336 594701580 782432904 62572166 228239450 212329188 584127564 448956988 919900006 365983076 298566290 739142480 315731832 792803176 9578892 579447050 789012932 866288748 892075856 969048152 137861512 948416342 754070626 195207922 945981786 515364018 317882370 263399430 186732032 503218956 836759972 737021176 89105462 778218828 508617384 889398322 462771884 132593296 614215836 236922144 274235544 66060270 792891080 146899254 415856100 53446834 592423400 371667722 980909654 749241522 546650352 363508306 986149952 197999350 989650586 891114358 361271356 251328200 813693492 756815842 45668400 234465048 444439242 411630642 53755520 57195336 374350486 522261150 542691136 139386172 460738084 35082558 693186514 467235114 602387216 203843016 679185980 263571804 714657658 171287946 52251698 348716664 267523036 436307348 640158236 563635244 669852164 185231028 59485994 292936596 77502214 468670062 286117234 15797882 966630464 707055204 380969972 368675636 699864252 269120626 773625572 532903518 991673236 493272128 638102078 772268092 209231680 319773154 849305574 563573968 110979976 983283468 457044532 698800394 849460320 94640566 427572620 902894216 74473918 618084020 818850444 901780212 356067746 421847488 812375676 301301160 723212730 714734618 424311512 695515606 582346612 273221690 435048508 328942972 922741056 113799050 181940720 467636922 985770830 629740 648691824 996415198 785057974 487819312 97124266 402383130 329203758 432925140 259070126 788710162 684023470 735541684 515417670 501116808 608523928 968457024 658293398 175186670 13188658 402659662 157647688 91793342 658882856 452799922 511050056 821505544 172184452 980290038 853926682 800360162 452065022 443597654 733067642 964195256 109081234 606455590 177492316 638027178 999380200 669161846 548720864 680595282 529061882 810710876 159449712 173466996 734369388 414667490 777799612 450013146 223998280 169316690 590281780 581491028 445777938 46640320 592196280 665211524 107625930 465231324 951016020 669209496 948405828 483167204 184372624 974883430 539594366 533652938 128821612 747987100 93207296 401854844 583906798 40933716 867897994 100262908 249678776 147334456 319178198 11657230 550270470 262697036 333740544 110962518 337971800 960262272 765605294 354255916 97362514 71610870 804070718 840595082 836392772 886807084 441114890 929560870 921049848 964889528 363863846 298519692 366012072 376984376 866294466 373640706 448088762 475527032 800985998 857593446 29143742 44948032 638946472 387162862 512082544 488695462 836159314 542805910 864744760 40433986 641606714 366630548 517767054 461875870 771397354 952033412 1080990 53273960 508347340 122292414 169264822 872478906 176868340 11043552 796756702 476845772 441559782 657639488 785320682 240295404 54316296 670728482 593785138 967563112 373039962 946807504 732167214 583683090 275627936 288034280 420206732 950700970 972501210 590071436 632251870 44601780 438098318 744320788 226346030 660209964 292996800 707234168 908049284 697384212 829286542 40254566 943710220 708237240 682586578 197440186 690253544 594455396 12525020 944523146 371925218 15080294 974831706 167460676 148968694 431646236 521133154 407439520 645554202 725396324 170207536 347882620 652443146 174557920 961860642 314944310 564310526 543536232 275866518 764640840 871481236 889892546 321105526 52012426 71564922 785382894 657050080 550623350 117369816 710733912 728022424 282342004 634281754 303455918 518066594 504827144 849803160 524546370 928145272 494997336 813159052 946318124 14792996 417795720 690563906 582074352 628122568 88454300 750209700 996121692 596959364 976624346 230577550 632006802 725762812 783656678 745808344 461180894 516626640 268535168 384767782 611927968 982677554 437880740 547912794 683847790 984408994 516168158 146367560 301475680 641177216 532576682 902202786 474376566 403590410 61766806 577619182 404817616 476326284 247356870 788411850 407047378 896539816 772741486 422157362 838219248 326785384 663082046 282002660 711711042 545896310 185970342 99157888 98682542 36081350 817158206 727910836 224876732 631851096 655911900 371954582 389972004 492695462 702791008 739388344 392185568 892860738 321232608 978022826 675948716 501041466 320988562 555283422 378691590 246016408 940297250 979934820 787764712 917140114 964878886 515080658 931889008 59815974 906058736 972933238 514827688 92838040 384469808 67704028 80972392 194398652 817086670 529332194 65486142 557627066 978654494 695178070 71018658 490684372 834275112 135703924 623629970 909833020 611950260 953392308 400851238 688822736 662725974 598037298 952077572 493044322 341546626 2959032 499370200 639043742 791861252 861144342 15236984 899534196 725738998 670146622 571122028 463111602 684102898 747878032 896209568 236598466 510897976 695276440 290905076 38412378 319393542 203459840 470375238 293715512 127156390 751121704 266497958 252295982 403865154 150613908 826572004 432420512 837299924 388133686 130415364 623899310 280033824 585122218 528597752 144139300 662623070 938685462 53768932 996822324 690804314 319772514 426769246 766668176 285516026 405835544 632467084 98243032 217258396 789535582 111953042 891573512 120392658 962610922 98501322 100244326 156874926 542721456 174716966 171143040 318315008 840135752 320804804 123950838 464722594 844369530 301333966 943090338 605618294 850624984 817045418 536683008 366697356 922478398 894550138 784615770 248123626 674661046 270040700 49107348 540774482 725617396 243712160 550077702 534397750 385094318 223996552 292877496 683791668 580732844 33133058 103334426 648841158 180378122 453943934 777028506 840951156 777224460 764181234 567667770 597888944 52752364 361371950 148701094 891489564 917893150 725458190 24096412 213451230 45486984 935883728 338442692 562703264 957680630 736625882 992563874 753959410 511313206 446773836 152006478 398156438 562357726 756140446 737662204 296857624 752240726 860287248 750164826 101148010 666401414 172304952 119595904 96001704 384456524 870978146 6671650 691173004 939025594 41798460 192799972 943833136 205734350 691544702 905053682 376556184 357757674 92686936 991581328 909807298 380724932 826960790 437592054 775791200 539552430 847539118 981219444 179021806 951523812 127064898 621597850 977406948 694994052 235126486 937266834 11389996 315527846 489949316 561194016 319538018 145373932 72270170 123445298 885385948 785767670 951044430 538092324 921619700 992088144 864726066 837298934 504573964 895427552 563588182 320443016 53099408 13653170 191578634 103117876 571279004 846679210 278602356 657775942 360218044 529026336 877337040 782373348 480347864 100892168 800300070 76938086 661755148 456416570 409990840 519032366 676220168 688435796 809416480 642093460 824684950 900123752 309240072 525523442 36797252 680015490 100663810 118030204 80670684 463923118 47043718 399858654 854937462 560063488 425543638 59558088 96953674 183339984 594169382 741382214 681850742 597806762 937809470 845435276 504112716 440699096 981756826 428717952 580343744 548247880 662375958 602507522 234463038 281098484 957504456 353283122 826408336 849249984 810211160 710013172 925386144 509630570 754086286 935281932 587489472 870605348 92277132 848811112 851828186 266158884 320202154 502664416 618289864 236266478 809229376 906672696 14247136 505550768 143762122 756319002 491123030 486449494 710270544 349114970 605851178 113406028 130212614 994867694 162871870 811035162 822278830 265407662 778808704 868319250 855488602 69842746 386875266 805597110 193134168 531228000 213482222 3093968 637525468 525115602 793010232 660789130 427575214 437294674 799848012 742397140 839374674 832383562 781804336 326626464 886847552 116154498 302371064 843242690 885890808 641478282 733984578 812538916 383097772 24403312 813330320 50941530 845175680 926590058 903430966 416678714 804737272 783398052 447735824 78194840 63257184 345955430 717074524 630836874 539128992 156232822 154233626 210577852 723430358 262774734 813725532 556131394 475183358 470588472 763976738 617765186 509056168 85913900 462239230 208019960 652327636 277479108 992273088 758769252 910082170 218529680 452204506 981221646 387864844 880970370 651041090 909902626 363404992 447073084 968291300 144745728 384265384 195635668 917622910 366041244 688394294 494188988 242771262 550334080 159440092 965024630 479971934 684563850 895178248 520046866 852627172 577319424 258647128 498312964 162785276 962111166 998816766 19556128 752342702 618101572 965406128 363972226 174165950 457244588 309421620 674221062 803091464 268068182 484666104 971349706 933249288 827890246 186087922 129685094 547242400 334520976 681891514 18875358 240491910 692711276 817287416 937567344 842378266 601186426 526723578 737421204 900799438 312693682 831217740 199314028 241349134 417003512 263229844 548062552 861414722 261132126 204699212 621216556 735506288 494251522 171585144 88706066 81949244 363664580 183573556 233337138 84457256 31789160 636492334 12013886 34664126 894802416 944645374 164019624 801859476 519850242 182003412 213095806 746846700 845075956 940536146 685191450 143540526 740324320 660307670 161275172 518086260 318446230 994310336 682844170 181806948 210877306 666962228 322885976 179010652 993873284 248132664 202934986 855369814 956109080 40136150 495002906 683580334 224359672 859499528 831917390 889065422 323726040 198285438 415874168 98977120 126071432 930751410 998148414 637198488 861416420 81238882 228386694 143141880 118876848 243248158 74860226 392668364 139825726 558996398 590504318 375052422 115465762 726793996 591909230 324422154 99804958 784050206 901260532 525824954 454098646 878320406 316094762 131513046 716737678 316089478 912108652 827970234 962715528 628638960 942339498 478103484 310264620 286454426 115360430 416321340 639904012 575236760 380634830 514426748 735040306 672721148 927610402 868544942 917556530 618679560 745282858 662118908 298696278 882849844 408290992 802687106 185471344 546512260 790401576 175327624 506550496 730018288 336457978 365594594 443896716 1005222 375597168 778372964 976580838 65506468 8107554 935269442 45650566 929129746 64311586 409265058 999994594 150982530 31548270 887977760 24846092 609520564 503378396 268886644 792240880 224020266 577771848 179289702 338095230 764603294 976632586 88979008 870169040 705999342 305341170 532450576 743009446 530398806 61359724 840533676 107066972 840558672 785708372 687182084 506452744 767795140 857238304 188187360 162105270 921501518 423285348 847208484 139083202 834702916 815433854 853249020 250487640 735974904 260559024 947567556 312613016 708491610 889446580 221668114 992513852 937483464 830234878 608666052 409439230 448309594 638681696 929807180 335846908 225966796 863370590 481271988 634753648 678782478 109405312 305174806 649826260 632839934 699519126 283856130 686944386 597819072 730969546 231750642 151985616 615493428 642380760 128684516 495591644 3597678 269915410 950183592 491646638 145122728 847543140 589368460 754597574 408966952 697805352 358036186 841940776 794074294 517396334 979680258 122439912 690414244 506455494 673541980 311128170 871608784 142606116 622148510 71088672 526215028 432115990 455678418 788984938 259031330 706014192 912760354 906620186 9307364 27584242 300539544 322984184 454720888 408251136 404580584 152053634 847622408 960709400 352749238 965172920 533825812 677542734 46268166 626386982 173217880 629566990 946514714 309596328 254457648 244545082 720908042 274262748 846713722 871794914 110964182 230821920 860636886 129873138 489411354 14985008 780492126 29300372 391973306 42218204 782185042 448731650 832518080 42078900 70965880 133036966 814111702 162025124 292265332 638208584 104504034 750064314 11005012 576267984 664255548 680312910 732560954 794862240 245991584 744064662 407161108 529982684 854700696 947629696 983793048 691211156 744154568 345087270 336482124 905470572 745296974 215789890 564661884 932436572 932117534 380978962 874179674 810673764 561292780 847282096 921373462 727805264 19310086 933539298 517773396 195437976 82695766 142864970 253884140 45169242 825774720 617652702 73045226 507824994 693292486 975344364 371966708 210577640 858481478 411335900 85343438 101849148 413025060 307091384 831619210 870557378 452167314 294546344 526242158 296235120 699008922 356437318 81668740 147120970 983232520 647714734 746974990 469279838 616553912 36622822 444972252 685070000 956646666 768814410 12001546 878293564 100259868 956033612 890929534 768599038 8626970 663645694 487446646 486268206 678133552 810291922 469037232 599811506 561922626 106586330 266086058 604517280 280508868 151535624 972426910 268212672 115400518 698856822 221996054 807294620 139884648 422917790 290779976 859612526 228479330 436188254 686919252 161791072 88039364 651900782 931606558 183489990 226508264 830030958 793614196 560637112 524268174 693710832 334264412 642891458 856723596 783925432 507357768 643181528 40408104 395265440 413440648 698507862 196402262 225399522 311222102 946109446 321306796 922031372 825106820 35895272 635728956 480870974 480527176 52016202 354362912 818578762 369960892 104844890 802500848 838257874 186645206 256188540 803542356 746275978 693525394 606854900 404574426 997700290 229463106 891230144 665172388 724984194 694040580 524910892 30495148 344647100 317985704 83240954 720837228 282317948 356587416 270372978 140891828 611126472 157539006 794789384 768582298 938589686 737281438 217178520 984072068 590255322 93927510 803303366 57837362 27449370 933264046 817836246 244916884 123443718 241300130 972192004 122439446 126991518 483632360 764124366 162917940 599230308 987538400 425831320 456282190 804763852 264239258 108226090 619314854 69716392 55328058 591714348 478461956 37759272 695245574 171412276 433342674 274174792 166657130 493993670 127334764 961737618 811229566 820111902 209471948 118045726 445127328 734017378 157240004 54823158 277204910 514164196 516071476 230694526 101165194 215111216 793226596 877253062 745496778 997772760 251428640 198689598 953773190 838721056 618052992 683729704 445633536 641308646 256883682 325223044 546582028 534163730 739255698 66776006 981397692 962849588 184264508 589824366 405249270 741267452 419698458 407126736 323431382 332602234 446911424 347797498 375657952 369237146 316175996 59045672 578996020 222601332 627769428 556436000 68500478 527362556 188748480 164477120 275375908 364841872 70776426 770485088 610566748 262026710 131863270 988865390 10401984 199354558 566267914 335990108 787295358 821954086 316533710 219836400 449573682 741267158 402786828 463056730 757248950 670059718 807715556 341073056 595960294 860048632 531619730 524156412 306948742 474711350 405054344 98510896 23147568 220290260 648919184 731729204 138463014 915181680 625637910 261725390 507859554 439164072 722861790 508911926 850054858 833699852 568483050 727722544 162900028 303722198 152149468 40443510 213293812 425618830 579863410 478176422 285451376 423578846 100909844 947054092 66272084 334248698 181049184 376642346 940379274 94290232 987816484 252374056 809914306 932120332 688014302 159797386 10895402 854138232 237938246 776279358 165591992 53044318 103483380 251905610 968744888 671938358 690246426 229363394 412424654 815029360 103375620 874193602 807143580 523174786 760058570 578499280 726154216 205157266 421369562 633995182 982441060 372452700 970355662 528417160 122372462 688634882 870847784 575799416 812193218 592073636 774872458 799144780 167960524 627733938 329113314 168814530 386742574 444316512 834026536 804851736 77592520 173674036 628269220 59209788 745775062 319200964 375322136 135744784 183751744 697996028 911182588 393395216 281340220 559657054 191753404 748777970 749713406 766561706 473732446 726923060 261137710 951471176 506956772 861124368 901894012 417774118 299744912 482320368 663482618 278157510 917294620 123103790 916074520 383957412 780364130 184236776 863056598 228663182 267630970 945711528 583257268 451985598 111337906 31120182 888650464 801336634 31033022 988239708 867954446 736057556 880792400 681296448 714271128 114807554 425293700 495640490 865461958 943552416 712921326 16338326 472779288 499924206 251617010 480382182 143738912 487474112 149043108 338252336 764261018 949348346 670797490 338690788 484551642 459454446 327082638 233575640 90676454 295328370 917705488 929574658 71041544 211710906 835686294 402167782 277754030 608284856 736466936 183013500 80963560 862693518 558652652 852960462 312946812 213252916 532306090 757354774 833764208 503392092 916556730 793025440 531914182 159531470 316723610 149117534 294680054 808861734 941853924 954398226 721075768 815522934 973523482 91794734 931221424 448396326 425212754 63830022 20781050 763225516 738617188 933929794 60573510 319601260 326331922 878243520 331568534 768932644 549179844 931347722 191050234 47173474 42270592 519682680 885539836 370892822 88363728 740887664 107434946 351418118 813825342 189189608 199958970 119255730 42413630 855135630 39912484 340506264 630963298 345658416 366949792 566229438 87206216 749784824 105067220 904457732 494403522 751302732 830562636 576923502 610110266 244821044 545657468 760644234 78392098 130674634 409743858 810458840 820242420 232066890 959421554 472683710 860791298 425775140 802737228 91560772 196135674 312005088 72243564 256648172 817094480 702166898 992296462 136038876 447449098 879175768 78856890 60228834 524062948 995675970 505475326 43280878 802131100 57702274 263020998 729094022 575767268 69950862 426883350 845890036 148850530 750133376 804102 561755782 539803486 164895908 845744600 507841440 156716232 129661706 14346686 670491270 470496594 281837248 157107284 417672110 326167136 232376264 254876982 688477542 294139622 269182470 998508804 386632518 235387778 557250448 643288560 60545936 281097774 997754734 308240936 299239072 867656506 67022774 12236616 572328414 528834466 547971890 602483766 798728098 565359168 333272350 927714880 578845664 655802736 598594304 718026454 396329082 965156820 67552300 174804274 268709788 612652494 461839586 80934904 761524536 314985666 505277204 285374244 962775760 356315896 217547212 520010448 900813818 238208038 849912204 338860344 99378668 853228302 188986248 943088034 481585558 398326738 442561506 90726978 873737798 374067278 852053946 39061658 846310672 526228554 784633236 818824750 111585842 938768602 408549978 232604242 467399992 399464080 950375448 799874688 890764558 951009938 234118270 544063666 559161114 373718540 907951698 771431670 510503020 587021982 657820236 248202406 605261144 689689698 195895148 92074764 609195498 195279450 982582506 676716654 477033502 462531844 1935252 498616724 728120198 503951128 134124522 234154508 808985656 232855896 216077160 780621274 634458422 649630654 353827294 735420230 784260688 762801084 432307650 565503496 890696564 766763764 623329728 256889918 236377770 517485214 710775834 991945618 186901590 673921382 803028960 43236730 519643880 646714458 560570664 445829682 332746998 773052670 815823496 110716718 425582346 227953190 606529454 642679944 277705282 267560214 696554238 969043852 845530552 503854778 611279256 699855484 305596410 474324836 676760726 627326904 344816506 722008308 41433358 650104508 390418072 486232320 34126490 276069158 932006126 698473288 826808928 834880414 346520804 955870844 778525498 173775312 734833686 477560946 383911846 240717560 470342536 789964036 752165664 595601448 513078980 940777066 93985548 836701920 175984122 560107918 676446904 100673436 233130092 282377330 863457548 843302262 610426170 134936352 455882518 370147568 275070162 439104922 676828104 881880430 356115732 766328580 707122632 146566840 961835470 866540044 471747622 568812886 384769154 882294034 591992978 257388036 500691660 504848618 265401222 242135316 573792174 133559610 226956612 862241514 853842690 885625282 908399274 191938760 848281388 669888622 999859850 398444282 575685272 109756014 753207540 771236824 163186494 662153154 622031576 142778628 448903510 462457242 412663260 659659282 183372454 37584816 96229130 583220580 316968128 674743084 806822864 739781652 283320210 483812090 175084462 981429990 793940984 452465408 780310220 729216982 721797914 360040004 563164008 23650950 836676658 255697114 751954292 373089452 374982508 571293418 688076014 105233656 919337808 428101102 332565088 569357472 200837726 749554222 468265724 486507044 333100540 266012308 27784360 561259190 820593076 574654134 466300682 330064290 431962548 458622460 824255022 924585390 96230762 422729870 604891048 764599182 410691700 578281974 981854656 627939448 872420914 418674578 352303020 911766776 309234196 863877756 253678474 283170836 418127614 179265420 108903906 608192248 699806980 612645678 253206502 200960564 281944792 949702874 875397518 811792996 584500310 216983680 587571272 594482586 714851796 713214646 363627678 100240504 795258274 968421488 873050202 988021940 534701610 602761402 220756332 417220198 61917614 27373612 653117766 619322122 971767118 562882262 920153128 658601268 128034512 976867094 85327614 441922144 76300844 435819194 334071456 501977196 104609374 672740844 809277342 20464922 389197388 48353860 182022524 490400882 960762734 788266224 16439490 424632232 380404888 914814514 766569508 760940700 836764092 423511164 973358572 189534356 901793486 540928674 389980380 818704920 456894554 827473514 222670344 537581514 435775520 260911780 885797130 848511894 431532284 279934510 903084198 853398556 224037700 73643206 380017736 317455346 143143534 510084902 157076128 898073676 261437360 225991928 419371490 42484068 453126120 822490698 421744406 324579340 246517152 622923596 336843436 86421802 423625424 990860590 531362538 897566228 560384300 533708954 374928744 855489694 645039536 287657520 183551998 353992776 853492632 628580980 381987146 963962082 213549574 175451454 277344864 193761218 572312410 3092560 36630966 212494312 925546036 590882802 279337956 782870596 180879198 998784508 889327542 517672402 7884150 918036748 78830284 876949776 701011898 572101058 528751534 828088542 265592796 140736974 917284718 740404438 54314710 580938076 585509226 647130532 835230926 652633252 29000172 260846236 606109484 245511778 409679934 500648040 554787562 830465750 411258016 131945556 334855846 699093492 888504112 118841424 429540474 702231838 968370002 457581700 288654742 376359668 251987728 12169078 18931774 768302430 327537162 303687692 133299080 200770984 403321262 336244116 23806936 65109074 581687500 177549152 230991468 928906168 765727194 385435788 559536402 150052526 72874104 810244314 824609390 248383334 950657420 142617494 109384490 495111330 991351242 427751090 81091934 606388118 548636642 113424868 28738944 826350462 919380082 994241172 545025066 578073788 74628788 990641098 538811760 710970678 267614174 858169290 226506128 746809938 833147396 967320772 608166288 43170948 422508074 706024942 342477282 421890804 876779862 311618768 228280088 887998104 266449638 813662698 406200054 379822124 531498848 739546662 906107832 170640738 234453184 855315770 978501258 53670740 457205766 325843258 999040062 647464234 384202322 768563464 209957514 405099570 784229038 164257756 575523190 383826228 849672520 265010524 699155554 506341264 901136546 976043806 284359822 218786176 845981396 552255854 582594662 461912594 640009322 285663678 847522506 888722234 965591914 866139192 889723070 794985658 525417818 768648916 528134480 171751358 691653644 86995564 931027018 368068878 52703460 253980466 769738522 823838932 518441498 216410614 650728666 219007282 837801304 933784404 463662564 538638434 848291684 646616094 527142174 339690718 198015840 227307732 40289950 766276714 101988020 971910952 943597616 968163186 936000936 652984852 67364410 89486438 220060998 426167756 200509478 854806660 704122104 911403058 415042850 549472830 355608318 930422304 749951212 639423898 656196646 546396080 256301896 578819772 801129860 717898394 954051758 122681088 228099354 422472542 993080412 735762940 497656060 273289414 269852864 638135664 855154052 34716536 949134734 548763502 545423540 540230350 191486826 475387338 463923864 733343656 900330896 7842174 333191004 920608116 953822124 674607524 326864864 984746226 347053572 719759530 934249236 90754000 473448690 46790012 616850878 104396900 963111614 132221822 795044366 723129526 256054368 677785128 658318664 782387462 64752422 521325826 357915602 860391164 801975370 667983090 456197332 664239376 58260276 887183102 37878112 769579874 992722230 368073530 748099854 340525948 635036692 278036626 235122642 119516140 670154474 214807268 961954934 99949992 628863632 966510068 177829434 489286476 928598026 613224582 224216358 78159268 455499116 807735444 807886610 885961286 329213844 958336132 648366154 310331568 255699062 669944332 216493430 295483914 868104034 667330058 843666194 481490648 578140904 350358396 18190586 189952894 669205178 824229942 884572584 559455328 583059964 547396384 478854742 265133792 4498162 241112398 64351674 39512140 50674516 165396944 455620194 588641428 584550616 979668902 618526448 615234842 194868320 159218816 711732856 852893326 204065406 200424526 224377758 347299758 964947502 912029942 72584156 337300510 644354776 350592640 510133832 758458074 360662234 353376308 774807746 172245390 730407894 621039734 163209902 303274944 24014144 272046588 183422972 884563742 60887162 98447380 533187184 167569692 672626380 496685436 797090766 839373768 466880906 330513166 64267190 631440706 673680688 790204490 421982936 120838698 276386958 628185182 789367214 680442822 914287350 93408948 103751144 553057826 55302934 870349460 88102096 796525764 239885114 678365544 397331614 45130802 953463980 298780340 205871266 179390398 953982086 404058890 154277264 94664900 467285618 943148064 856265826 649439382 489996968 799845198 14310260 559981996 379836282 307937264 907013466 195903230 541235102 151102540 987721096 48962900 669029022 748822876 706373220 68674044 298511668 381061468 845100348 496032778 829376800 750719166 965555424 105009884 103749812 681081564 166464170 166309500 442401580 194383872 62635654 207205938 179806546 341767162 911314352 887959390 293409124 650476474 315195422 241547040 47713080 434912870 14163638 165138430 25785594 933548822 251472834 785712704 203720540 139678820 153216760 146506416 953315308 315260832 601198970 917858 259095582 245352396 669964766 53103422 783759114 869851598 791747100 920991004 749891188 290839164 782924444 681150852 346493466 348210048 686197980 365656758 901601788 467049042 536037410 524051428 735859058 371049540 417465546 766307248 686324926 71432240 373012730 872972050 566671816 365179610 409782164 699683246 612778132 345336970 534555522 152666636 818458370 758240922 336532640 658102252 963554072 17467030 353509282 535958808 986620604 866637110 489904330 797410246 657544862 999017064 845549368 320404454 827949198 54806442 817603212 899489238 389725706 369435700 241615778 672882022 342509052 564000580 695912538 9660974 588915840 490311964 783540832 434550 401679708 499341486 831606726 620111800 706934160 108760660 959978624 290152024 903800380 165463316 417708792 306111544 436689526 54657330 727151390 761060606 312125110 523908174 609212532 792431798 802887852 494023094 681607752 441715316 485112802 987012302 911870618 860319218 843791662 834597880 705035844 941164568 960804476 402447610 375101394 879768022 988894150 894768006 526324938 39817664 589800078 958917026 411698808 73078360 614736066 435803776 936228788 624020 435598970 355594616 781628534 874564928 862559664 285572850 158755368 796246624 649810712 755812076 69396822 311336466 527387994 872848672 642961868 143991886 107583252 748823274 271262154 150916784 263560510 904004954 281936272 985496802 701906346 74760826 738059862 851053858 205483036 157822876 624919352 291611214 484524730 78428984 39853514 293111064 313878460 156099262 802272624 524565626 125614954 369856948 906218366 552916566 621594294 881164042 513935922 447252654 456519096 949603476 145730972 161013928 649667066 271471524 874326782 668592146 20945016 278602580 496307662 329833512 454191486 692313550 202292116 928678160 403968976 467408724 563623374 719113382 476989088 32948422 413553428 200901674 441754822 255241042 508374506 601599582 105546698 976576146 144426438 544762410 39602686 817590104 909399794 508324474 851676228 827890684 205667408 161772044 720941722 693974438 979768790 96149828 815523444 586974032 562733282 339818106 209302074 654570724 950624050 927007264 199948934 313640760 268959902 651113004 800173418 399105436 680458422 381572928 508561892 373834044 831417128 902718018 530302312 870165488 920145770 144319518 554533138 985680792 822164796 336047304 129708624 609080014 797083258 457326836 424500436 832801454 948489690 254232198 623732912 441666088 962139418 977950918 427913328 390855010 430829934 102660418 98678258 330232686 557201912 236154330 937287880 412127314 273955964 272951452 430467536 416760392 775462132 3043948 386467268 876740612 449827082 516026242 171821628 811689396 390218608 609609204 19072398 372564268 930294692 186028810 472136160 384284152 82725964 601963738 392789342 666244278 569923332 103936226 113583932 538730458 583309744 926012950 738522296 471789910 333346096 449620346 557278428 714661418 145124088 939447052 859906842 577918388 941014346 207697024 376967160 696067302 112198136 378726696 352102688 474554440 162121148 211686626 108048690 734048294 370973282 964638928 767897148 656708050 167128890 908892754 182782126 40008038 506534590 633807762 598441908 970354676 512949066 556724290 548207278 36821166 917005522 827789138 174069066 200834620 573455602 448729878 316366792 567198982 892221152 679486938 877188214 929283704 109859324 482329118 29046420 889030998 589455506 42729250 412701392 762542160 585764548 497338406 292189026 289709346 359876058 890329914 569618028 14203996 387212450 43638114 606739160 601928108 433257676 136358990 969452708 472630918 296980230 952877464 582548842 370416046 203506772 785207006 627589386 118866866 363241438 729311076 492256538 741556398 654072982 460844428 380366406 632482110 139283552 463732842 920536726 614272466 90458544 203932742 163693410 710004450 294105340 349930486 219965932 10601768 655783684 951123834 906784772 318948194 528368276 776241170 473533060 973870562 417221938 26148938 268341312 285796800 618561494 844383918 531153168 365364132 998658530 143685322 658028930 515235058 284470304 722102888 988215752 779052 497955928 234434192 422171988 978662816 259979322 447057492 233376130 653418814 345537684 96607076 785710174 719229958 415645778 759758488 117614430 407099446 478477614 462464092 365591290 905186638 620120840 150627396 603832654 534634530 353388448 862987694 742536136 378857024 912790068 903192340 83556698 150211528 870022032 339456814 160389852 9678966 220287128 814373462 827220282 743595466 668733858 567238942 978726218 2040844 330076182 296436432 181393594 123256752 639653088 152905438 471473076 494933180 458912116 987073560 362049168 790548746 767214206 666112816 16521246 352198254 528114912 243705714 339010042 17448490 771515214 577107530 450735064 533129478 453382160 322999096 972791058 644017534 62275404 918016824 168382048 92871404 25343110 661860528 819150112 345468534 246276582 257495134 143590370 740199002 189183398 600242194 47542028 622327312 574789254 173137222 677327378 958352774 950503488 299422158 368258104 449997862 583733572 690958178 502421546 50377010 627920544 385148898 812301346 737617466 437034744 744402124 674006588 491982510 313869656 132520094 527979032 671239704 143374196 696644376 676705242 567119070 695304950 676073122 240829522 869682946 833424766 858337162 553817686 176707476 552900508 325500672 396436790 988857572 598008424 880164408 89923284 700447166 653278654 855563194 119623056 824389202 985818984 388360738 517393384 286971410 960364008 517938254 539992586 102844784 108164692 646322480 525734412 847986946 71584594 694218668 100002752 131690586 823071472 518501016 837866090 948268208 421434156 934808394 930100378 704681822 493872024 582825204 665309080 946671552 874061308 816638468 278746384 717794708 634410182 854806492 688461060 600238958 432895398 92575386 80969568 42142304 171224454 394609826 377518268 21121664 945068134 249437670 921003656 956607896 542248942 756034764 98600510 531650436 558768540 329025726 279944780 86503630 5021778 443534886 385257956 384091130 413674716 243110588 325806654 32186372 102062710 978347182 746087158 860327004 607923924 312286996 911757122 125626422 866948354 49499246 452921446 945254034 886023856 748062462 281733628 281414428 223497340 681929208 970119272 269270618 525035248 501040920 353178026 851377448 300708748 914508712 602790170 588404584 311955106 778538574 113965418 592791706 652724502 229843588 638262232 67151724 990415432 382030094 474941740 324937834 379304164 796867764 519628326 370193428 417456748 196337860 69860436 810147912 416876618 559076840 185392178 717599334 70909030 500912234 66943060 692861390 349426954 227593550 949068226 646723284 849083828 62001196 210425094 475083720 905680408 911730646 208822390 991262226 565977488 145637666 726004696 724451870 965610000 206859188 996810516 782567506 894631906 695267118 710016862 611560834 60495858 105914196 730921866 240036074 837512866 26576118 544200988 338419888 155289698 769655942 744131838 897219172 689768596 217504990 280765722 980854470 836627440 462503762 949712564 932229322 821447178 236907030 352071786 527688120 764302122 858146880 408656842 836902572 955323274 739983424 200254204 567441526 750434284 164125962 591475188 555874314 275059392 82310866 763902670 749651684 99967036 859253648 328552948 685617224 457012606 29386790 893952256 34959178 338464122 759246496 226882710 617723160 221818736 383898378 813607104 839357174 311303650 313153082 252292042 666214310 726312408 231867770 662028354 505419734 920571096 809042138 963718100 32995350 673335298 10179314 585649320 87685174 777643304 113377134 105785672 992864972 832521436 56513392 516263778 795098714 459114514 157063672 425052584 237966450 437181756 364683972 721280200 923718232 639056004 880500516 280084128 894376164 690255220 909827390 51771902 677956836 235496138 550397194 547107294 135866258 365908480 490667036 301574876 970285954 341413254 677960832 961683216 240171164 121825590 351750392 996148776 283218560 968870184 802349590 502677276 759336162 753851936 956366906 259150090 361834204 966204246 789758762 152836816 867807984 720958102 373154186 489330596 513661164 581823914 328654890 965969470 522894576 23571680 797768604 540110918 211514648 767962788 359969828 28105452 587605940 400555704 5885080 520661886 951516950 517218172 290730912 334145084 862621492 165214416 714738 835502920 75274488 173930838 429758150 283456348 799167416 134572538 734352754 945689710 850612118 57591514 84152432 759628062 604310700 676315720 841306174 30501334 521662920 160190770 211096928 481832090 822229546 254975648 463582504 449317088 129515952 112321064 756691308 387148756 523772718 390353002 578915750 293403700 720118860 923270242 34368612 378165542 328107866 89068318 214369536 617278798 334489674 742023012 299585580 83224878 514438950 930506486 753179010 395172786 793071564 29453646 714634946 198869792 319289806 97386420 468727188 787796350 774397488 5968404 963331518 120252912 184720038 320173304 375299598 456421394 524238420 333063714 120340652 607145986 592891150 913586590 608999012 341821488 413055752 945792666 867239804 305345304 37964976 668070686 346300094 75970772 214590574 16899210 798897024 699887556 202227370 145501986 185040036 699599324 527666862 10751442 330926548 695122322 33941454 654541716 477469164 687594618 611314686 693761120 96233588 334267874 976983338 38874152 272426444 38437132 753941564 114790266 166624392 607872854 215915768 217804556 343471902 390073278 603265514 296606920 149172522 929607426 288403286 143459924 518722386 175091128 882106792 738200374 122880952 97440918 659425758 332938620 487489266 531935940 138301500 71203012 160962062 381833486 10028706 973450672 811465548 708966556 642641762 946383380 346227644 482689724 59294782 458072388 616867370 320131964 448812808 20273256 455802150 575354278 240457670 512419900 664608230 908859146 422768810 347776264 779238864 60262322 346804308 406252200 701414806 900189196 742433780 158027360 342447510 280256854 566191350 780203266 832352446 487666160 998882958 839342994 177507438 987262818 495142546 430943696 960971988 589843658 701239798 843341680 539712044 920619252 967970954 885152476 224551802 15213072 594602428 41685660 144319682 294229364 829093194 484995534 714218844 356054016 698347274 204426964 65001398 717135102 234168052 83222814 676663720 403690912 739760858 808484740 996565824 15606796 152250528 795983616 810020986 756950402 164317932 760095538 543609338 503690134 322888882 263190216 343785154 885883842 520546662 467552504 460147470 814437382 656903770 918147192 103487410 23878676 792716580 643818692 146296308 475151938 178127208 332232 304205238 246460578 675213082 175531216 91194626 347519676 914720246 209735230 405536908 792977642 511034302 675656336 769856526 629040222 867474802 329866870 234912474 36846716 433266528 949689582 809396856 729919224 362708880 704125364 839008442 320807026 244626106 850284284 294764378 2044688 49110090 630556926 112020244 935641220 391106106 76052546 892404046 766157872 650797568 923938224 632568508 373667366 940024070 208313554 775471806 751988208 255864520 815912868 706769178 273066984 26299594 444754044 329788096 215228782 401330144 702391530 907493080 485075088 575749442 965860598 404655396 765125784 957948172 865757362 966478282 779012928 342141192 915673860 159847264 245460636 976970144 33688198 285517556 162723258 667468228 869021418 971160696 610690766 366215696 858362810 679769652 177949308 914367636 514247516 161783566 218929910 103665852 283559310 956819430 876340778 971454828 493581134 281266714 44893368 801188434 702688962 193505938 693251200 37216258 896673702 107552154 510553530 19564780 67008728 38378650 374120368 236622066 655284358 889049028 503011956 241528186 76981246 773739856 247414336 186144212 42838908 790160428 722255720 842915780 957616134 251917132 885470730 554497302 839784490 991370898 872934766 470759464 383703994 500791328 970733230 843162104 272570484 464262262 10446646 185397488 546296896 934209564 869428450 461458708 901584434 613169832 283004886 712854890 825379694 764291562 530642078 869024962 818946960 546200754 250164394 569597116 642541856 259453656 278644384 663034124 988151954 877615344 847288900 741256218 509284408 696138300 171249962 345514848 909577916 581604662 77019256 877502558 279808344 581108606 292492360 473238340 943835538 292862420 709859872 246020818 594417818 565250414 711414432 65277194 323047846 377477390 840828754 984321878 853889876 288338730 690522784 619566322 805267176 967923440 22387496 98115906 274938984 598930396 869154524 244259482 289243514 871733240 700284922 684494578 157757606 196762524 557162920 852667532 631824196 450269618 448844756 597596992 473858750 917591026 645839944 208365798 417558190 897714382 227622788 285445146 646430392 107173694 935589604 564031692 506209384 275459920 757180568 168969042 693620590 613472840 900354082 273867810 271525024 919955210 496766406 304741864 437250572 815164390 565359336 384620876 894790602 364507794 183504270 89248788 844939964 751261342 206947534 470979386 361464132 110704542 589155556 346301122 139624204 207453604 558199524 25313222 986594254 459979996 420749768 689420224 823976748 850994856 177349106 430205296 139109318 742234436 662265288 950454728 136965992 743591618 968770568 455937434 70125494 894342046 649363426 860197072 526648476 294923634 298273550 298004638 605316922 747829542 130582574 818131146 623665242 351031802 334528980 980069632 465671648 533401434 795511428 798888270 474911052 185719730 341831938 633849146 340830980 924299144 560840610 212885412 543637542 981956122 858342584 827706276 179197548 189331588 136534448 71581734 900108868 14878994 299130624 296696562 187352210 421116790 265456928 324883656 12291694 927423306 373514222 773241702 835930360 343649192 637817734 434016246 159863208 111229982 700621776 5541384 713495716 796055230 271971758 740386824 986131610 445127506 440795756 975599420 455577316 738242460 339092258 858157920 85527626 772770588 56442920 223492586 291736848 559924638 537121230 419036032 58712946 431284590 655753054 7754110 902683088 982140460 241371140 492604648 843050836 945737544 511972190 241847228 843808716 787514168 561027330 485102734 541456412 603832820 412148016 472333740 563985044 715995826 412759010 653555258 84145036 477432408 492320330 124620768 326630142 195614246 636159464 513435320 775657638 468625096 114785042 892651038 303947948 183955346 566008344 525692394 453015020 861765542 993584844 662776706 923906994 899199366 275133968 499828250 6272892 509546652 489220066 255341234 632681306 163987634 843937416 198853658 836961736 900417966 639668066 226134694 581303794 597469882 731583578 637593030 940470312 995444280 24699188 290915444 179756660 112624226 513455038 999779208 444534218 749243900 282525596 918606310 839317254 360932952 258859612 103119982 622561672 3573702 46701712 761470866 352103066 573785708 915095962 657304196 307133154 746561012 254219504 890193822 183307464 13596448 249442578 851669992 482396386 319484474 861958494 258214398 135810420 50052080 361062698 136012758 584046376 166289024 357470300 925522226 300552698 735951074 153595106 426302526 645621182 406046170 510468234 392091938 257108320 38874262 626493896 348934422 519038188 818502144 27650294 829979780 722825644 631721190 846635400 496510504 957009694 803718918 4783834 158609198 408621404 351944550 627768676 356738910 803410440 895252628 147821002 142718766 681216858 371246320 780182410 556826820 806775368 89203452 632543600 90624392 869386512 689150866 271450858 189566700 121307802 328186216 215081144 521910398 174986196 778118864 779183868 627285048 758086908 184068732 294213580 131221962 706178972 186278458 568900488 567517340 605932186 20678986 219202964 722767834 140953866 929312282 482362522 903042708 591618166 695256636 224497424 108407090 885601874 450169472 368812408 112137314 971470018 234705560 444679140 992926734 431625936 332253186 71384702 945466374 804667352 511733680 354091216 214592298 930262728 3905836 831597572 369016960 400175914 79747006 156551378 727649882 112460398 187483890 467723306 931950562 634830392 450312930 691179492 318684936 415999092 383536080 904962410 781779290 988732158 968227474 520571102 428046258 704233306 224372940 237268302 563635498 518272598 692458754 889165722 846106976 484053676 222238818 721784098 187737446 605809314 438314500 422924976 531071346 7817936 775490910 629103640 781733910 412948256 889084746 95280024 864259360 328570108 310056874 393466132 600523490 203476842 572498314 276219240 812637676 483343246 117300598 931894902 917799946 345566998 771039486 963398788 400880652 696360262 663090612 857226032 843184458 877530746 952392776 918003320 231928700 481861174 860725940 699119416 920608942 415536680 967193112 528758856 331192654 88334932 799042038 5104234 992658198 221730622 398101860 561662370 866949482 24569872 88356292 34916502 779959806 114973550 972661252 225402524 851396902 212319566 293239962 245988150 645828108 910733130 912373698 225214002 76283742 335943362 995682330 389625738 776921024 844510448 254915678 824219880 23344040 454694254 92218806 518215396 234019664 805621078 694615216 682367552 333105010 20925610 72303698 286403072 602243166 157915610 652095862 511628056 71734122 34039148 234642834 380225608 444328352 748521244 826909986 266425180 199896964 634198576 605789068 765698568 696081214 445226922 966400074 231293056 230759242 629808550 149914824 893652740 697765248 394725022 687451388 967759326 111251996 314591398 422378314 591954088 8012336 720218370 817184998 813031938 771177080 731742218 969847880 838778684 885798788 591834276 681012420 827815154 142210180 164478600 700753836 49204250 812183424 545887772 355032980 553544154 212358968 670968908 351327662 716187900 788776546 848830916 893950704 65059156 886638224 751469738 899393600 51026272 427262940 552973440 718569106 189456980 212966864 321520206 233990346 25684580 695592936 398310728 507297858 679415906 534094286 934011458 485387532 547858722 522212850 279039262 858777288 100921260 424742052 441543014 367391574 598828732 273106500 230152372 739517844 885116992 769927784 927811920 789940820 871637542 809279746 227161110 846981620 319680626 55905082 380282686 685058520 597361578 667785430 42918876 512179470 324626222 938807254 266141234 524787070 211036996 338005282 76907656 184348934 359719546 266031182 488197006 277664988 332375798 52171118 79145600 13996060 874498922 828081456 49229728 42017370 363837744 407235858 564303570 823158816 334799756 116878166 660550696 611559776 326204464 563468060 985296464 958890934 424708068 916460268 118482062 543675684 652933666 702630092 629940260 434990190 144554832 999723228 728882204 963147108 721557270 127999530 613340920 584583386 805295264 553450320 813417538 427584896 119465802 701386870 251852088 989527290 629144332 23945784 891536528 585223134 597753488 570269880 120698950 416082386 245440848 551689520 124872330 580845198 868583756 717265948 28955022 325969506 864815586 996462244 340797492 703215584 421299206 524531840 239909008 584475776 166009946 54575556 521112018 123120068 935635642 126790502 486472502 846274104 110280196 614668032 723006374 567990166 37540982 525534668 798431032 941609520 252840412 498464510 332240658 3222578 228448080 696718496 307063548 334690548 922302590 497678402 27570134 895418466 277027148 283538288 287547416 340509558 650603704 43137894 395360798 119932728 628202310 925932012 635300704 302953656 556082998 304212088 822353164 959313018 409679150 217723604 894344530 686409326 529144216 592943824 78160792 26603254 426994948 543110266 564256830 86830738 938094502 692961718 413478788 158672534 79940326 548222444 396057200 42438680 301623394 33403998 793449268 567967888 178891436 600379364 85578556 250652696 908515326 113200416 752662332 709697932 892614824 385949172 633930760 439808376 991228000 210059610 249761350 578423608 858775782 884780346 974179262 206269334 358631904 814864270 782351152 559899830 962098866 267292772 22491916 727456756 361348332 190987082 980009002 205781730 298911346 333685398 239166598 291553446 174766954 517961570 422970480 359356706 484561842 23742556 618950094 716126644 837260064 113122140 255382018 982893588 391596256 419305174 610627352 104738742 665018978 93284264 717453074 710673372 377435518 919140582 367977190 802368162 704089298 490612898 792784278 261515114 608845598 706002246 6900192 230102534 25400844 129964450 889480530 160396764 555320252 595407716 527534714 332748882 118303770 832156094 202487236 635253402 532053562 710223656 908163476 81606606 22881894 598320280 875243218 500114336 5781400 921970044 359722000 521849418 246600372 341236804 297522706 531777744 568556142 73209166 39851016 460399562 391124518 649087692 691790518 913851618 449141818 522022722 469887484 282002176 371393644 724043456 323162108 103524140 181143684 909454246 736374640 429491218 702208812 190196694 759263096 275211730 376503986 581619704 584390860 16880948 900327758 579410458 955814472 644724802 700850196 709156226 947618736 441896124 93699138 564805730 515919898 729767800 196760596 20491502 909934298 898891190 848963332 677835148 349459202 579120908 214322712 484035268 371518740 665366640 981834152 587855426 973941930 413508196 603404164 758412306 408303932 126194278 304025130 488994350 429183086 379877804 128881900 360202710 538239082 65032568 104724220 232447840 149048102 561960394 137916260 738745278 838789046 180533594 136451778 422653990 884108850 357999734 833601330 251828176 599358474 708840792 979030784 694089728 928501884 547194038 385656554 764336180 119253580 802006112 339455856 812088382 549491514 872227722 552059134 212050222 733616630 567671506 231916280 784922526 258707150 882332040 819806540 263631048 711875888 541465204 949913976 434627362 36731232 117954090 538013686 51378322 116530842 569194276 258001230 106964406 494275690 258782668 951150922 409291332 912703570 562069268 802940870 724970054 960727590 13051902 173852722 207532322 83987346 872159444 103339094 48765202 617302800 136726366 255413446 317472456 374634150 269170298 157139944 34251826 967863272 274678192 124620006 347894986 782581156 335142670 383405394 234411258 190756044 375189412 414806246 418220626 759635110 482976638 824281710 662603216 828544870 792206014 940662490 85526384 744418856 96153550 270300346 460321210 466783110 844782304 798109932 42314722 826324010 972339966 211068366 346017434 928683508 331726226 422226684 574042814 321513512 601010062 416873392 325599120 757729240 426658200 559606796 111064856 447531654 731114252 229210090 108154426 742913326 63138080 256994192 12613356 607782750 306301262 82281410 530047750 545726482 704695658 603701112 71401916 99863094 959594276 381443898 483634240 197540496 848262044 643480768 91201626 451419090 769777548 106336184 102801218 744837344 127262190 32610864 878867434 827621222 435653492 225999582 244185086 793951244 415557552 347315202 856644462 814309888 818528766 655833068 572275066 226178762 609983398 663148346 322360418 316895804 139486406 708180642 399772190 970477560 484065572 381549280 909654130 221829538 152865344 108567878 915754860 721608698 68485276 841005058 177599604 404115444 458346874 793854918 277316808 647892530 37228536 670466534 647178310 186837630 559219084 769163152 18214286 165532906 787008292 948646346 353657978 530678940 186592504 85913286 49535824 177449464 333573556 185857260 318682458 33460846 523035288 185068992 983121240 255333672 798303910 975742312 458104864 478390792 154541912 271234450 514958870 719113868 788259890 233556296 215338640 14919606 795223764 155913654 709172050 846878868 636332650 9800684 488950456 99209086 603821166 44043968 814668848 699238576 310966562 80810868 742850760 418979128 694223138 236092960 614735974 318528280 85045378 374541144 346346002 58379646 215639582 44420420 735841870 533761688 91473602 414072376 274855156 599373418 618030646 445616670 825974148 621290818 442613666 670594558 206303960 444434254 947476832 759214680 131879850 367999418 503867566 196321034 983788128 786096098 530958726 926252638 334851102 468430954 796942540 297763592 375916436 866656652 269896804 668896464 812905460 127516856 616287342 254118072 222132660 580456728 550785886 119484886 730434366 662701060 5418838 289673626 865852156 186538536 661737768 920538108 860167292 680008136 448544532 89093452 107140328 985702552 598183028 496997194 402472632 671084162 608820586 592179396 365720334 201867532 191829880 974535884 487344768 913388316 164624176 925151030 57080492 80996132 361531048 339473060 927541200 777626388 634103096 27589538 480508644 256339568 273050358 696201728 288541512 315572936 554177734 329377892 456521230 373021902 611402828 333245092 917038678 382541962 465033776 443562314 325800564 534385338 850123112 642912852 805076302 332009714 319938098 175606902 779668896 872257916 352167082 346896992 959618354 761460834 248247084 124648648 682467018 88546700 693646008 978094940 740098496 586730346 257166660 850833354 974375696 263765270 645773294 293132902 88902978 341698578 47309426 570469504 508043448 218539172 796428524 214201456 281191934 212588436 354875540 813202166 907245690 458103418 116905800 940403132 111834086 879132688 420496530 356671350 35885584 725511896 973106980 368070994 417436546 952696988 451949922 931872844 939866552 370493394 529373066 386626658 748525792 531184202 259436474 511986832 228916688 875638152 6721864 710355204 998438146 965174582 910970020 207343392 55420486 315032476 607590288 982378008 681570064 552560520 555902642 881023582 242230172 172793244 352029272 821898988 783086504 934510818 176273260 576197630 574719238 221279264 749427960 942965338 520178254 974652214 341923634 104396094 553883070 498701620 50152512 893954060 866355264 835913520 656449636 473343054 271053500 108245756 793273248 767033426 931690780 613478746 634580522 775466202 23235624 136614794 144911468 878556456 902855682 764483802 919019800 654353398 368678696 251801496 839033448 282719610 851083072 370699640 887649040 137305320 141890190 392654672 966494362 23290898 572650558 579948972 165458768 224682810 799561608 964451284 605225644 676015986 166667212 76077622 642997518 419335484 203258954 179903006 280733636 243113890 172578098 502464176 46706734 277711906 394090370 985164234 779211680 21330176 525199464 796053056 195361152 211806236 908032356 555122818 450465664 117771138 669020856 374501016 273006706 351622582 229391360 887453828 872579512 923794616 662000466 139974788 897919684 817666232 498139532 455287944 8341654 228659598 196607394 330009346 523745652 356645134 356802642 724665674 913917140 273637626 799570392 626564794 57496916 627071484 668513254 366773508 509724248 517660076 851594988 333651758 614692706 819332128 281076832 842445630 657744180 899399952 119741746 390484550 74187352 618175218 38286760 32362368 456683944 165867634 304028760 633885082 617097662 430440624 263933648 968272778 657046496 256091748 490478224 374399778 137528438 56278164 197903316 360424374 666751256 586029112 754908788 325228080 42722104 170435658 905844342 719850018 942195032 431761676 452903788 540724138 548319430 58081952 740922242 843315200 348842364 5134032 481937456 694833874 700207700 706109766 196615282 465586892 655204312 703913652 693173960 450914288 5541202 582405160 878561038 601702542 235356142 652087250 125141018 989754000 411297456 342801236 478183092 283517274 262070716 366102726 793964446 701867772 178528926 356300474 289101160 670110046 553622390 565933356 374378812 992623728 999340002 572339042 332455856 667175500 310385032 918227502 232229982 379051178 777029960 966455992 558363296 743718598 289999510 64219204 223680826 259246412 922649862 807888320 953423394 921935942 852573486 607727034 866848060 309580804 341280462 798448988 420864406 430199246 369860760 926322652 145058020 888263914 228383756 480180890 777841576 529589864 473699760 543231822 464359308 757839654 669936786 948309348 219784502 850554350 779992794 174997290 697504796 240072552 357352542 186916140 578163176 118472476 618875160 922057300 692570156 146513728 235443518 429222604 348994464 541004696 893687782 656828062 33451676 924595100 530527698 104403064 836065298 574289218 435003218 10020648 84048130 709445320 457025130 508389304 230128422 894765270 825796472 815025432 298708510 929178850 374483828 321320386 130936234 140931112 429717562 765790434 454958164 531695562 899192108 514705288 699075690 468591180 758768672 826364588 390834174 102898370 58280162 537465698 898601522 788853678 191085204 702068424 672333122 992870054 80381386 469280778 758659358 701763936 313269912 668358622 143197180 873304854 2806054 162892118 371773438 803641122 44544126 299567624 622914146 104185116 402179646 355638312 37040648 254452502 19327762 810587386 653007250 793077798 765943568 277554070 235278926 756477168 448673508 109297520 433959214 483765138 853350982 673725790 495872902 736492176 968419990 685279432 311415478 676767686 90128648 440721670 697395052 764515190 67019768 225682388 666935396 415977142 770431284 644035692 59178354 272629186 708155908 751651264 959708372 619861932 996187090 966621966 517170354 410074172 853038958 246095030 831924818 73404882 825185950 568675028 243943702 554649102 940910424 301694008 214828642 303302228 634275626 867301654 406444054 729965102 646424954 535697440 139696780 941391130 463500562 857740666 714073894 572166750 377460162 526773352 377194304 737183460 805576186 952889126 370016556 986362110 238758396 836049410 340109514 940055364 939206662 670943780 37415034 659348044 54220940 509734044 650492020 759256158 982594702 719702942 694759050 771617976 450833426 12260078 616214902 253359456 832416782 558067624 193089604 180393670 10056992 381309204 664755636 363288810 658351772 851380102 572234778 714171204 222516802 635282050 750843934 901787824 441223736 308796986 501085714 136672454 410908398 980957516 369153206 761721174 796633710 192783814 641865230 650033696 133851436 788203232 175849262 410118476 809473956 255491440 240820464 320296034 746643784 774325812 106892804 33366040 67923866 755329818 983550854 64519912 78661914 119840558 39515816 821848294 68368896 995597836 49601772 700848640 298497464 568767848 901990110 272527926 872253430 951790792 522211370 758306726 937316500 635728592 671535742 767299600 423057740 659327154 176244406 685220362 840766420 123656098 555895088 92974044 501189088 176118724 58971900 357928718 553555958 615785154 715914220 790248342 391719988 151734974 587517904 527234766 880509652 870255182 957490440 379009526 255598096 130288008 353020252 947856270 541620846 60656646 115008578 562053498 174148182 192327460 747244016 801260460 947450214 923348474 115400474 404510166 26576922 989625148 886718872 639287206 851014680 412117288 886268700 713462602 18507824 186423500 266060698 73850028 825705588 686935180 397389886 551932018 887797638 849994962 705504424 902335266 466789126 45449514 325430120 475287130 669364460 196588012 403704816 591129916 78438236 677237134 689235290 472254418 852076152 244253498 886527158 504623508 928803240 64182622 187975514 335808120 958586936 932556430 303501840 201439400 481842130 194088774 122519094 173072058 341541926 444453414 570774692 664749594 556510822 777169976 446519760 287866730 957881204 426393132 156495604 282709240 964994964 560457916 686725864 455883862 931600752 675469404 150437996 919091788 911704490 348482222 513650136 978341994 445152200 289865166 827689246 310966898 585910704 601028024 393010366 262186296 408903440 998522970 407804648 835956506 350642812 743690112 40106124 421103030 899420024 339305100 576596246 784402564 905938092 999832766 447038502 517066426 941656872 956656390 864450630 924939964 61623464 967494376 643578566 422051898 860475072 148738432 766405082 878204380 34381656 145025326 642065884 665092416 102964708 899023358 243993994 18693802 137424578 58137540 6768766 511958172 402292682 326050614 531088364 795305802 363003042 151057750 117223802 707891694 650959928 349745910 989394356 810589066 889890740 13424332 809558464 977916988 732030780 53040604 861119542 213922486 729537440 926989812 953697874 824412856 620849350 45160686 30179874 59852614 586846056 574761910 707965520 497013306 738700974 403028900 392821444 158811550 883047474 240244748 919023160 444642272 252381376 986743104 59882990 989823584 761075880 574152934 590309682 554426302 928017170 992607628 769981138 211111726 226727354 657636514 376518068 870876642 674418830 574580258 35099264 312272656 980367364 217839802 399800652 104585480 747922876 55978536 81356356 428710924 391140902 433610978 697843760 220814026 673008330 987301812 143345326 859094668 884979046 385502184 620327608 499224262 23960842 160166628 667046448 252279570 319835422 429417372 785603544 492936268 996785874 848055352 917512494 456209098 28614538 463832262 638040034 881815664 848753546 344915658 340522308 782063978 976674302 466096448 415302590 894465610 616920650 992782240 937650564 400645996 964218768 582196058 458812496 26680702 502694666 401657284 744595266 384300810 357371842 357577830 667419060 622462798 370736300 798237690 214766944 539578198 322648834 308186570 115392078 614122950 354669860 114091828 413069312 756524178 964900130 401752982 216057290 164489924 818370980 994072330 19308492 840289896 473299312 972823732 338109230 394845100 704345914 407646526 823100870 221255998 529853882 308313524 924803328 731992020 556048344 754134844 535816230 266369146 943218114 747764516 757424614 93521246 133085590 335774986 261345564 29207896 271224748 284113466 619585264 864516244 810007378 256052984 307385924 333623274 21216656 209512382 848308780 593881912 995644660 691933098 844898614 779201202 668041446 465070200 679455232 774461474 717239360 140952580 648365098 951705714 302433704 105017908 485089196 91057088 501803962 901495358 597229690 314230256 748812900 580616800 517029724 88089826 90869382 704684914 278943838 709571634 211813904 284439996 630902368 547454492 621038756 982489310 323944804 293822474 942748078 400968930 302657618 189192950 756491888 863837738 393146250 834103862 746469138 938046112 266863624 403284794 52672158 731171584 631091322 135022028 499105816 723676652 393647914 638597496 684072302 99233940 489833378 31521400 280357776 26483550 923100118 932483434 405057274 105964314 769500504 449801066 954924122 20314386 978920764 681418142 326876292 513981254 166244624 892344540 237025656 614625590 247567292 177890068 857132126 426167772 814647594 958614256 993688154 37250552 694042166 742017158 221129332 991728558 926227860 913234672 92082848 836574558 222910060 937702056 151679724 240437002 591824104 676424126 325583290 856757564 936233238 826842332 217968488 886361936 15024200 124968228 535318990 908981234 651303620 361583980 772603180 143764814 186410936 950391266 33714246 629000506 856092338 746697412 340008392 59396616 404523102 266403372 219502546 627175712 778671190 105166524 52757918 860986782 683972534 743240968 406489562 598186072 29363204 33403954 520366642 576257032 846481776 119387688 868074928 645800702 469540898 457543772 503020620 486966226 364399596 895743002 439957850 93218552 540091982 198210176 69635212 147212906 295983808 530796076 125281274 689543396 370256300 670099370 648744652 85037764 963296742 843041472 596113236 5490560 592806956 27036534 147403784 518737826 299530218 530909560 308949200 163004838 600803496 736558038 523728090 719050044 244771248 319015126 623924806 538498294 377699000 931631822 837542636 361493078 42810216 624017122 439072450 858941836 934699908 575716242 601312674 641775266 755809812 746777862 670921544 240021906 386193370 498048120 962129572 409769620 613271614 180130300 229796802 614171378 532200092 830068248 664059980 646822072 806017728 516555804 681415564 525899224 617689826 1383622 977363350 287851834 781817366 482845688 508775658 991498072 509706434 872042934 287792294 669235790 495799856 8948810 943217288 339529198 238788058 836737232 935898 19969836 249426542 580503962 795580276 672242102 23181210 92607990 137346336 942374282 625364728 987441972 722701136 552551966 313550626 495354426 381199402 731610984 84145304 686019520 936146004 712798098 929262922 94939220 738189656 47920624 732895808 601061372 954532592 218641546 25566930 5509794 365883816 383147114 982156812 296603440 60943198 334019242 642055234 240712780 248578878 329196936 687425184 448962256 272548466 241770546 133630760 521620698 822787048 286849518 243629608 851145768 520552772 515345560 337423978 81533904 909472342 401600782 55323886 353763904 602798420 855636354 511247414 636598228 117165876 537688684 314144314 491346074 342128802 553887846 684400794 114684180 841033908 719609116 854730666 736382136 681976388 368630002 770283588 814124824 425538424 111668686 134729394 735440944 737709214 90539892 272238088 715539700 567802022 600059302 875423766 434284524 920922310 788170522 909744014 531063984 915579038 563805420 198028762 650545954 118214324 765424370 626492752 82844780 995291766 212355050 941437978 614711890 146790772 672776336 706245606 107708712 514573490 705686446 676308406 832168820 137270936 651872514 383247534 172411512 904994608 22855436 739124694 111351462 169100880 23984246 309487562 732670872 579094314 246017086 187433326 954728964 971212440 65424748 462426542 388778258 727807704 633547420 291651010 612674900 629789028 300622128 116932652 943319188 913539068 847607886 38560918 17540650 983871034 580775136 747975578 886210916 922825650 634437656 315176638 918761414 762597644 567301310 894894132 432494334 677367440 156265688 2378934 345859630 531079952 630400432 815369606 840566150 247102880 735884710 949322582 457173254 539798600 164316744 926572674 435543098 226364026 596363214 1096320 239160402 516529626 87218630 560851230 316808216 404770252 829195886 939281202 161528554 600804320 118994590 737975366 485623222 272636386 329776702 673757278 405416808 565019326 536409372 244016634 305134060 582350434 333987782 640089082 587104042 515692640 403599802 370421366 312467520 921446004 388889560 653604382 303207786 124837996 557474322 44089692 615982004 934017422 912181260 991636406 66618388 628727598 19604330 960833842 232679058 347197290 872310140 751371384 156067342 558290278 202033242 500947136 164927558 23310424 894024754 230925946 664675580 307049516 233738888 886495628 229375144 582737508 753609294 808725458 335052006 408841062 232276760 334050222 129568028 396171084 373881566 774324822 545232660 712210702 149030700 237519762 264277864 340587010 105060710 536270498 88941854 191824926 734440110 871843744 467989872 615498916 278640050 768861860 554074702 961681266 841878098 357679654 494734344 844732526 695871508 353717824 649524806 15140932 381268392 812922512 57006130 8004932 130004304 404036292 705646360 642248636 860905518 491675326 481392170 364426760 775219444 192011452 267583318 135671646 657343452 323965392 930798074 532232086 356237110 214604770 889662544 914737476 778458128 941806964 287699310 36054122 391772482 948893610 540603552 870095970 527322610 817580032 1451368 116156516 846308354 797246560 429070776 975352702 660735198 159548672 816038504 160410574 389389650 981452218 910300442 699926822 992011614 529985432 160419514 547459562 316184204 606339668 513253436 110436854 601616844 230676470 607743672 632296906 926199048 655350630 169248160 752965116 715089716 890270332 17634558 938806354 323399228 983745898 84111518 649552166 977967138 814975556 653742528 499476832 358351678 630545190 53381744 44796736 22177820 628151236 622490966 938769614 54453596 951472032 750463086 571221290 636994380 676621734 948094320 780812900 419050206 615844404 578821698 215236806 821087896 570558404 719144922 552887800 198863038 543563504 297970732 638336944 234540218 314175494 591177516 133244098 227417782 402241456 203433714 607885730 173428606 59700484 422640578 675240714 749692622 909791494 637449132 495641688 89078674 14486274 982405794 986114884 432117188 265901996 138004894 531075606 96219698 613253936 130951490 460355596 287703476 234366272 219159340 943961578 601481262 837351448 538477484 800681146 983502228 840264296 790056566 998294008 348390604 999951430 90139144 813602132 268520718 385034294 743419610 798936856 702721338 28273414 88993988 336575238 937187654 505755494 411204542 189021882 265324664 146645712 81667530 31329430 330928036 502555904 996851654 271045778 889951012 101376816 718396310 188189374 270006242 375484564 375353952 533790238 825776816 127828370 644303820 291490052 7237624 622570994 81409400 629631302 216073830 183659918 162594152 825632196 883137148 751828406 184850014 463042136 254023696 960413654 396152546 11388962 713287298 255679870 219008190 26431002 650015152 715265242 480961176 916614966 924355004 227811600 880871178 501200372 1180130 394938520 887087954 474902206 31483276 682167216 27567884 938689288 504831388 43553992 245801122 41245742 541335604 809998194 458697354 884570832 910969368 427114456 822925702 344113658 562369076 31353962 629062996 152992376 170990754 467030326 98916714 532000448 129179700 584939328 895394142 430037086 97603798 364790328 476037412 365978054 488222784 617251356 700974316 939233052 37533906 815424916 51657626 807255870 68280146 777882562 785411986 883545540 923206076 551250866 320869128 494049954 578316082 934072552 811222584 559218516 71862696 234233022 733672514 885098342 221731062 997392598 663044800 473784294 669506178 596234658 28364606 119784302 881501188 41776598 900489368 539601982 515059258 235899974 397661394 478243018 521932268 372525664 641269088 936151290 78298744 758850354 798125536 720996842 510222402 361302688 558739304 972681276 950538258 71314270 443379566 846058242 452559894 794606008 963450822 665962694 541162690 109818198 818696480 565381276 157453086 653757164 30730764 340313792 231822854 714581300 822454774 240805730 573550748 941984864 105816890 313062232 894127242 720796894 512873872 782369330 992403762 455472294 767654634 911587930 377776318 154999440 561307840 637488252 729133770 459728454 514365124 318978166 310981274 959740442 913817634 10268132 357359688 806588978 69593928 889619186 949925808 955683576 491548664 557621188 285186082 775453072 842169506 810567994 451291886 736802888 250867486 740539066 498750248 906914888 657966418 395332692 949954694 29748370 545805316 597688234 993027294 936401478 448322732 275728670 647238106 404214050 544026888 526794384 902185522 497436910 246467580 544368156 73932658 171835678 715138954 681355186 147904814 862897528 48546788 825790710 902596084 159416082 362012670 928157024 100094452 278680224 610492576 714427864 649290428 162752264 251469054 581602100 983196644 244500524 723906884 172357756 439207226 604556918 717930592 144334776 622937816 39522546 77645214 609440796 290364706 83020670 601882500 704127180 113909848 108402942 973716144 798057730 436774854 344080350 291092670 748941542 409917616 9006052 433906650 275056300 300119892 426132524 873205502 574850954 849918628 135911182 183693944 580560986 533630760 701451256 60744152 927840380 257835472 311376730 834002354 867450326 569161132 305788034 780428554 270947320 904547374 984697700 671099306 999136862 609770 362312308 631910102 454485200 834873210 887422828 756679094 403859568 203089568 825254242 993758014 759376640 427003766 997346194 421453182 522287430 379587904 524776196 130998330 95256812 526442790 36625826 931687832 904595750 24721942 806033398 877784148 216751418 77284218 365006800 568999752 772988080 168556178 883871254 89828154 710388024 797141474 905931426 956126170 80512022 497334886 744176250 698989812 258797912 887415722 824179756 164973104 449740728 990702650 785990674 46208480 644329546 583064122 785484190 246413012 903324108 463529332 845382294 822133580 883148552 33533782 464653774 924528496 602063226 99512982 74263660 641609506 559486216 682094140 114504116 83406304 791055188 827434062 143003532 480399294 366359304 484523314 756973458 588183644 523331814 83168212 797196588 84562630 899745380 275205458 708380174 234360458 643885668 446811678 416406000 496614360 380247694 793785798 157735664 900092168 713348756 594965634 930752840 802326418 275061086 32073802 272735198 628169664 352479160 144227478 332204392 690483606 615168718 267277412 893005262 687429882 561010866 375941364 989913086 51819388 335276890 798590080 890634422 763745090 772858452 289910664 436765356 112121480 256591098 733555732 192695480 780570008 265561164 750803102 572364960 355476424 844017588 266227174 124053976 660374736 158558484 496855124 858186688 243632936 115446784 349746118 305523536 573936402 359994372 237705414 63862956 696574200 463098432 227496740 708783546 328314136 199298900 118392644 590033352 817309034 418806396 606274576 873194250 990828418 51384958 77112294 915979280 547813648 4421144 73811530 615558186 533870416 410040300 686469848 808576094 772823120 173018650 983665418 615849324 277710274 266700796 543652156 743079640 517891758 342060482 318975394 610793740 301808138 755767892 29721128 50800022 409381118 577896438 209253460 883275938 797136072 897300370 601740774 446384370 132750718 609874434 383881958 154663072 701237212 698466860 86849938 680228436 811144070 396637926 573932432 291372774 829467082 610456020 469550968 904451856 303561898 434242558 808530552 406587584 820297644 441093394 129710284 974403152 90615658 511065926 296689022 797016840 83741756 653481038 678315036 449539886 907364620 452327972 574269938 515064698 388794194 692297362 603065196 767597970 170041984 980585800 14115296 658389902 689325552 764490484 675506144 252834540 955295894 503635100 843858060 335333388 146528642 349127580 571207780 855742144 457897676 589007318 984762736 458768090 264827798 713933444 737201326 162029054 545260282 519250388 511839334 238401204 361383966 571530358 176125440 776707816 412111422 202402524 699581718 820702726 318285018 149921378 786155854 425747686 485010024 442023290 124504980 437552008 791101962 481202302 546773952 150915682 892952068 55291354 259039558 319488452 867842746 747623270 981545524 458160194 532901298 758975478 879682752 702521448 671552344 556292100 708883482 380011468 916051332 442527274 479424676 1525386 178706826 871214464 543760362 705438310 408204642 250758956 70553168 757917132 495328514 975651130 704666958 635764840 556335540 411318670 451645988 198477056 384387298 374638310 752014350 365710246 447395914 458768180 418998564 183065678 814740868 898046570 772304674 729396110 7282568 521818282 590688852 352199826 198585284 566778266 86779966 154248384 503498976 371395016 378897162 623260798 514714006 67370960 417586416 503373040 376250548 44124282 843353960 624164850 550688110 442891144 198989484 362618742 452093266 606658858 776237074 711195836 816453116 349210288 546839804 916942854 810271612 545782132 24820386 261338858 134132200 772549320 98504556 434467256 482074674 969732304 649955420 259897720 801341230 683051166 501517430 88900200 687257456 194711204 826888776 652726910 540658288 149788416 208668222 873073490 578828016 916323448 391791722 523489820 38449316 943823998 76948854 713667554 569757868 816558548 788284726 516727674 978678280 434599730 515354794 206658846 240949944 775392572 639579302 332496094 357339604 61238558 936220004 103177568 304856418 467637132 491449100 715718470 662989188 963653718 323017656 208924782 267290930 531092294 581800072 902107908 101513360 243523942 89484266 892092214 941717916 501739164 111482916 673440416 395826410 709269006 436668934 392342518 628618358 778295392 352709276 458383328 742148844 584315318 195759480 425432718 286605226 737696640 545078192 241254126 354683864 418421512 889518888 627130504 719936208 910641458 372049408 657450092 790520568 585158490 9371950 447713896 871764334 489472722 185231712 604055294 351996596 550528276 45636272 79164852 112847050 563480522 523115378 849435446 844700476 828287192 129207310 141545232 355699100 589523064 333095052 249111956 25255006 938864758 119310052 444486974 13138848 287241506 380250672 948664650 60294746 923246634 747325430 403720252 896850498 267822172 983460230 246167432 172276934 209347212 731716260 597158698 991821866 54037076 623963394 758491976 974063506 131802190 962102182 687863556 414328488 232917276 547833364 187222918 942467916 464066182 842335050 763910762 375835302 392237430 886692826 566778432 328989506 354243046 364434996 677178676 626979976 69039584 146796234 161250556 214648944 209371832 978808902 520110198 644743622 786368398 810312354 923812254 72360436 358279080 672984122 727155362 462508228 345962340 58556856 4731196 440735566 136551042 407369166 803895764 44003474 430153294 505978484 812084996 815108626 936660814 261300668 943309296 44546632 89003822 257008522 683588654 640856742 199477254 939419628 222451954 41644206 763005666 903199528 467236092 840269946 943466262 884971172 301070970 666512920 994810942 833830524 442323318 749981972 623483452 621495674 324614066 403208504 120552324 31940742 273108196 721002968 314209662 798846994 404894922 209687568 739285938 652702396 496701564 136500678 591458850 103374038 143589310 822760182 181712492 746661966 283854466 812338042 475336370 196425200 842188574 231837798 73287276 933741330 590110560 466996516 647681744 246618674 358791830 858552682 422287512 514985532 736753410 956110428 518354796 917179274 867092378 537871440 824322520 810968584 163766858 864140416 366716718 453270828 954385966 404836140 667694800 593240296 380904682 374690262 449797516 491240552 828550412 931755704 205110578 283069322 669019522 581730424 584879252 127455498 810542828 527569422 709362652 764833936 636107834 883906296 247186618 940726214 221860664 669650694 129373746 851886442 480401858 626217050 104354368 319618370 365556572 246920096 355891266 24453704 43797516 680131430 741287422 852891852 280530032 789668216 240376590 363327354 351925730 174388582 254094948 907505164 798514666 509498036 192324068 550854166 98780544 229471074 637310460 821887776 191609010 226206102 363041922 577998338 456831328 967356280 460887832 759931176 761097290 191321696 820324306 799060756 348328978 608978322 165239488 300257964 123520852 767873996 304887242 106243972 755582558 139451116 203118048 334545342 90323042 856336132 65546482 933581222 425371902 74200890 770547770 347596680 616191930 223165304 995083550 395430862 240946234 536817582 538424958 457640840 938787564 71582168 856209564 729760044 793652414 61461726 589209214 85253994 809887042 230464266 866908872 746014496 384452508 711542544 518536474 584099266 954052554 951998820 919978184 83558662 490999452 761010622 614954534 516967154 948797218 617702990 346034010 296489636 714251796 655648394 539785070 623236262 4485970 520377468 722593088 116926968 757610698 359293610 903040970 586772668 482125030 504913600 882697178 861984018 631574664 936921446 835157016 209652936 678458896 498841032 254623998 968138020 616268820 442027934 538075072 39120096 957465060 816460724 674873638 427594706 570949734 585031992 191463866 743974478 888988398 351750736 611174618 79154090 379562354 932664654 520401964 726534130 686821710 97215350 999350304 121014068 634534096 26616960 395887792 786274038 836899752 778014986 926241422 637265544 111133902 864994664 462686720 279014638 290960816 870045242 672165188 633234800 573805702 792676766 813277138 261377346 645836720 316323778 932719114 928014412 559780048 136335468 686935638 323732860 987510228 439894252 90741340 813904952 745660210 465815294 451565950 887310342 469550348 103521422 520540810 838202858 977323024 17740052 961341646 711498964 59982376 706393838 286854632 74500420 220801452 506729812 471543076 698244670 141493550 983508286 805537882 967640650 274093912 300831194 428812032 990937660 38053430 764967314 695026236 474772784 307000076 22727744 340497990 813192614 930716346 972682626 898660708 759341344 254766026 789498520 826635596 513956054 306253766 279404342 684259612 950542618 143920508 709705716 283380794 816201092 769768910 825786660 710285102 185452594 371669024 340088372 720598376 298128836 268162328 593185098 932066552 616998884 431709014 200151744 35393608 228636340 770868428 348971036 965057446 816145460 929786886 613018212 150279776 809816162 706722140 962511894 465371758 472385872 681115084 620321398 791442256 880898052 161652864 508623912 441196002 516587374 76070542 473580222 955853220 626917780 13659138 405371564 164580926 501806900 147408940 904258270 270868262 987639908 114332338 277917198 137129878 798479884 420303594 860825568 513973300 868701070 97437006 819724634 567965566 455115332 770925084 643650552 432610096 207874260 494135422 387178574 486912880 144219304 227963620 378029806 698379030 536205190 620707700 381519398 676725056 532037670 103406232 839273362 693687606 150082614 137810666 125580092 225087342 242028796 415545992 581435146 279013442 126292994 802538844 672809048 325689334 831026612 745994606 960165004 340358798 265452328 785515128 789661992 580304454 476914380 918085496 880960158 222801110 642881840 734193926 271656904 330784542 950741542 415379136 553567818 128458896 168825960 711616102 716498868 48680552 797172620 1787946 33803048 900157708 7176520 432692788 389889536 989777768 127740710 514766690 778748032 203860084 411208988 787600982 355931818 520026382 135079990 762708492 429074 439136802 586067976 11548682 871984080 929790762 921083102 352937774 954650466 30150336 787509932 24715420 947371520 424276088 429184658 589927072 609958566 719400772 539100782 514258228 228698234 575510638 273201380 59006770 212811462 666831308 179199604 732766772 827695884 547024018 99542076 966335318 785685384 619796242 57014206 610655288 941607826 780112416 975079468 485076466 467236264 228322660 719299718 348952362 957769708 342946734 500032096 922415174 628228946 622011116 761297340 732644892 467349132 752310374 720604236 183680232 669403860 348946182 428858474 789606422 672087482 83002898 281376810 937242670 109143686 124624500 267507568 164537692 452940494 60624018 869861466 310270236 90211898 872803900 232905780 861524744 787591754 139779884 47474740 347741928 418176352 619769614 753266418 64139128 545966886 310804452 115205298 169915386 718775022 325679236 645057828 183102744 650319632 380902008 512370362 996990718 230392212 542426378 883577172 944970502 771394328 874264928 80186272 331942324 475217838 776502150 412618610 698377038 672861084 77574616 248356260 910455316 109363982 548686578 49647386 413855446 511039096 70486882 469890238 627942082 154414838 540124090 245125554 926347224 410591248 631749298 82087494 783334414 862722006 582501810 103492726 944373680 28769684 707163712 648145960 39652570 729572022 878936172 301500356 860351442 117703274 548913170 678045086 932692128 937842636 825556934 651441108 624573148 538535350 151441438 410593066 667910552 397766778 598802012 534635680 515173486 892342126 378386140 706579530 341223216 2187998 292978802 650443690 32869962 717473508 149033872 682232768 889879682 527614966 452953300 222487058 527445736 657089440 201830382 973252712 939799092 811273264 937232886 460538288 684964650 652230022 397765046 860803930 498204138 729489404 999152318 360788576 945442786 324765832 905210672 946651222 760367214 421767452 64327208 175419226 739998568 546051698 538720026 343142522 24250382 435677220 399131352 64498500 140374926 834712002 586807566 326129430 235310742 45136782 841899334 63110330 512694582 341506556 747580230 600857932 953631882 226640966 850584278 122987036 797501090 166213696 792185058 67268232 220368580 790174686 893559980 115886422 328098688 296950772 270069618 243966744 37689376 244974080 788389206 857582376 940566614 419567796 674943466 526478886 861427604 897187486 798427116 788929308 581360066 121562838 674022382 932201132 637807572 88626132 378615912 970282796 582533896 1740586 925182552 139859900 702460380 106462052 596191318 708262688 335180426 752035018 29778396 547974466 345556644 611953200 125719612 217141570 38888156 390386448 878062538 221199010 753188136 538317720 596425780 898271628 313182292 208095046 627914888 140484138 699102364 738779882 643561218 241675862 487526642 195433164 631282790 884162846 743374380 325679230 15652294 134253686 812707570 607227744 717042472 232709454 315994512 652638538 2100238 129616644 391647132 915464708 820927830 432358842 67331914 940197096 197081048 992329854 81155142 365162712 958806610 898962806 968565198 62452368 520531236 82272958 124548388 412747294 517896208 930735122 600919596 394149362 713205232 629520952 921160210 942094728 517004538 551969110 643617532 810809428 941608480 598334136 784134526 356752674 712441140 134697500 176260196 650798024 945643684 272195112 226528398 281201620 425537842 696150864 742428028 438607996 170361208 221573520 396607894 327621916 178336102 949875542 198459834 105595252 918588030 868862578 330122832 272674304 596762346 282337824 488412184 735232356 110796028 869923560 631214640 677317382 714343102 420515200 771161604 567962598 38950380 519545690 462375204 382031834 385008878 697832212 91248870 181625272 232243940 286769274 216268202 855646748 254586610 177681024 678805834 978298072 248503676 130250404 438638568 716107986 317003760 51164950 255033492 619556856 735496480 804101222 254225872 184563752 744230552 914866882 491775588 824812532 89004466 129891944 463445980 957016578 151451924 552015842 267208684 803362792 886956264 464906376 5211664 139334584 969558162 476491132 210503982 6111024 830581158 802416374 738346310 435972072 969695626 125070502 299887528 370810934 946294800 529810462 399224302 380526650 267697966 243312102 584595680 767031048 228393664 715962548 70208836 467319656 217962722 421586870 208593562 643474878 637062318 289953324 562054622 722315482 672583550 30074124 644789516 985269826 427471752 954496490 105913718 929897902 83820124 952649388 947176816 960578978 149466646 450808366 320639274 323601580 228532384 903042334 556478732 467793822 62184406 726425368 718492104 806065226 622325084 260978260 736553278 666626574 207834668 519689328 259053574 361292454 491985130 502944636 363555622 953630222 231740580 539248290 265047476 362925094 7624106 150410214 408615130 323714586 762563374 469988832 266753920 24997028 461458580 325024150 861423312 301538102 586917732 77848874 419881190 600042622 317742626 44160990 890454792 197921838 884629124 85077566 864051556 412867936 104214442 678086206 554816400 936774368 678770660 843893030 556882538 223506808 102377068 666083220 525502380 549307092 313474844 990510618 668473298 411140286 679213550 981875294 471088928 70580072 920954028 383015438 182714548 936811090 530016706 280158542 675530464 687355468 858728290 752427306 272333302 226787520 432871662 570400690 47299992 939648002 92454380 274621236 432661494 635111164 524147562 543009494 142279136 167707998 998509882 942687304 315706640 810043180 418346734 794276370 30613336 326935990 637992962 911952102 604166924 585408536 417447888 30498728 601946522 993495526 746950296 901544516 626658636 734387446 718026192 172221226 371185308 843960920 118701246 186831146 261658736 20873116 386892048 495879002 493321748 940078670 584025990 30781440 793895542 613526926 671014698 636077828 255815144 568924346 477760376 94214380 78613054 344059982 921753222 646277770 129592428 384684056 485746560 192352646 775147134 820086526 491300580 691261318 649574718 149970118 750525638 342658902 222600754 11683060 559701230 865729540 278409850 597162548 589301452 858767656 511196108 774328374 392140832 584688186 389776064 942383282 714385252 806892370 806328908 931816988 280861556 153997156 507914246 44269092 545857706 928519170 244205352 402989056 485563664 480455694 988300102 568927444 564121470 656033014 605329656 792780658 814418980 380012652 698429612 549930736 921017874 286427308 183553352 137161598 764918980 22668240 80093682 163302242 858440038 576129672 802328324 268375288 923605164 997086352 163824432 631070880 131364164 537654564 86819036 63002610 666894072 563569050 770908316 889946352 505107188 261890950 469662590 470455060 473688576 149272946 340231500 863009030 525171218 715322942 429482178 865839332 519457336 827051802 999862992 900981324 556278698 218315322 464329762 539030794 489359638 428292294 727373110 23456642 80471922 696096094 809612058 21473846 830403232 496562134 489201752 605212626 220795686 305007942 436022762 297743000 705677768 821809484 387744094 368836304 813109956 181933704 185157014 423242710 117286022 135047242 161475784 722414748 6511300 160404420 254617556 531376806 781709044 873899770 80161200 434884364 821532480 267134428 473086610 990949852 713778872 437266812 57881642 985295488 763349278 566385124 530720696 273689910 577731756 510370318 168845206 840618574 252378636 327665718 678589062 145548840 155184954 151867962 699907478 802425562 30564720 604663874 413020858 513838192 755322744 473227046 578444788 780675246 633296312 404045638 9089670 449755518 667280736 191080016 167132384 430387830 108471452 322063134 101668862 893185746 958596742 654966260 255081260 523105406 42610042 884488990 248228702 882119936 935911058 2201888 568006772 475547602 355740260 390965380 237356092 899343956 910355058 282634902 403823198 852531018 502059642 431438242 95315676 173696818 938506744 315495836 432865568 268968904 544691698 658317996 692238076 186960598 194770592 484714420 91628434 658729804 934200226 408199010 143826148 510757402 227305922 274498756 385579356 415199122 472558114 771123604 853285446 386820670 285874696 819480888 87108262 560806714 886668542 660625524 518641316 490980340 129756420 926956728 604292098 221022930 723018348 602351300 463232786 872839330 4079816 411613068 105658618 22843260 240093368 796816710 169623282 239604292 891996528 186309728 693943036 692409338 834724960 674701950 591538524 17366534 545166134 443632894 277724348 400291656 20588144 788828420 378697506 219523314 118599934 259225346 835061910 598120608 886012028 253158194 718333504 790332664 507310008 86194492 470301470 548144860 86273982 541705940 829482824 65519836 405566204 929047632 199606938 435042248 867772490 656667340 46940546 63796842 532570006 326958720 719323422 659719154 681365370 683878742 517001060 312280676 85518330 428555348 706508238 14397782 873664150 484588288 777817860 43245254 744480512 455991122 473875660 724405404 813959318 763245332 178524540 887466122 459774170 122496276 259293526 59839766 92174394 198053010 688194848 965922360 420435912 174920230 168385172 315176764 630886992 313799198 705056752 160846160 467235626 393482062 529456418 354076082 563008708 451422024 354802932 453924588 989362678 339044242 240076586 279776078 260760712 446475842 577846860 830881694 993810474 39258924 494096784 52541250 603701704 243818648 967551270 174226490 925882194 871181532 172398962 235157328 514071426 207209136 66936372 924815252 142476452 739651130 371926826 666769456 354050948 904117978 977220518 648989522 739565302 293270382 912879736 845565754 325181290 777537534 155755534 843796318 679297750 923172738 678017010 758608182 639368240 284057534 844820716 644409126 104562942 756374666 813053396 604930322 384894708 411479744 52654524 585532284 10089792 429070842 705212188 395870114 67990752 979871010 936430210 839970590 471787402 852567336 214423098 692919246 254329940 627077172 169983756 128411098 574243838 424295606 957523528 863162734 741821864 525565642 927712634 777259088 664206952 123507660 683945346 626842272 190558250 231298210 38252226 810602374 756094662 975348326 896431526 409949920 358394656 552800542 812213260 363462210 686689242 391721906 983096304 750196476 418957358 765789328 644331368 103504302 853709634 489691278 750830012 146855418 615043556 541231580 877631820 841119232 32355252 799589104 410125938 718950572 428837832 667457040 224416040 369157712 271592484 390374996 604753448 840738784 131463012 171530912 520258798 520736530 611453476 840472130 930950126 848589256 2588824 661694086 555474432 366972556 847345908 405914696 765836180 461053016 499276994 450252262 245063054 558573042 628219676 890890226 233308084 156350382 500928336 789127188 298213096 29716520 799209018 624615932 499687602 774445486 577805718 990667690 448844120 571735354 40941192 298561026 802389346 897617906 787300794 474128568 232855640 960511606 566346180 479258810 855628786 810681608 289686892 190220532 421528162 667098580 176086482 677855646 937019204 740941322 820538514 281947840 553259840 60633316 702098626 224625626 277911698 210631738 46549112 603265472 791302688 274503034 678149912 515143992 125029612 906520514 772868864 546071810 567245682 492368880 289237760 496951866 312487774 952112180 277579618 85654424 290642802 560540702 731508836 920214898 28295978 421002574 776328170 107959224 7390724 336402252 309621282 970770480 901512776 580216398 792129918 450260414 766378384 782399188 352671968 968693544 581022620 179991338 692719312 328151484 632183282 983312276 378004322 240910964 87584368 710658476 69534468 473270614 454044018 73408552 242470480 356713778 294452058 533330290 812427780 998906796 683038340 412704 375154590 260190084 697904252 136166748 686096816 93672536 459048102 870245394 315284196 763024728 714138626 587330130 889796890 892720582 449708074 616268344 416860572 38895196 438173050 341713822 681810118 932527040 336870710 376973650 312618982 751454540 313842140 273612590 456672550 900863862 781781682 604015680 11684192 418128290 12591224 642725336 391533658 547136152 558731860 131718896 760775200 178916664 969928338 49444190 338777010 246177730 56723068 172496404 422970290 769320656 616328558 602582872 772762084 518394850 498875170 353188808 795192464 527628166 275588940 675607738 282904238 513987994 269679110 721317158 147251074 868262206 396949398 156508804 33180642 566666048 833824352 582801594 252348052 330711280 540994264 275526596 498087778 452636310 237964464 366702688 390827718 633963182 277295136 626702448 654159160 524956050 796783104 14923936 613132428 921061078 867649556 936506942 33306520 386051782 887417302 123101536 329218952 386569770 534960928 954577476 365304930 35973534 251395292 997362600 228977626 606540422 29850292 920988928 264231344 544825964 212967828 74770088 312365870 59754756 801932464 530622266 479826530 965935520 765973934 780650 232698732 940922778 296069526 207596740 984219574 493879648 625759812 602163264 984339978 945267290 99830046 449535116 86542044 575290664 480296106 168432686 76627478 155795892 912702792 729746232 101964360 856206098 722223738 567905178 729984486 997675460 676489762 424320656 197404732 346945246 289101444 512599984 577683698 325839460 192707032 825520496 13689850 821700642 773230950 960808494 290955430 550059046 538384596 803728360 580137198 777486184 837543686 261350690 819935052 590221836 965561420 479517462 783893080 309169694 374063362 788914180 725989220 489241178 396339762 366599272 423706592 692176574 111774998 549411738 101608294 153509780 792604356 210147332 175729014 483973656 112821956 152150808 606096136 230597016 997676490 592398514 645404700 27428100 289354362 430317778 585930070 362084320 762877238 299521000 922072654 374042406 930341156 77411422 686157944 443351736 119723314 860220830 582898010 779401512 506721548 478651118 423777796 952841932 850358682 231928486 826837248 413624644 165014034 528478122 857049038 128168432 523907272 979240442 205206220 683313988 272444028 140874734 892206960 934302624 671836328 260495318 657004520 539520296 800426600 465753146 716809196 658712308 479476026 425813602 494195206 947209336 692687644 417214232 473556716 708164892 91464054 910239176 744328514 107569524 897610986 822337072 709686308 736009546 175450400 87706756 250042474 360884584 508640290 505619864 538272520 356051918 383760992 225449548 255032572 59036650 166675526 490013912 390804602 287395380 72373582 337945842 641952478 887179418 1258120 221386702 325951552 809060138 828501194 850719778 838329794 512384496 277860534 517889560 333146288 442926848 434409112 876385738 808490742 250848964 179368422 898533922 42918452 801279566 901850738 945944770 751472264 289292734 48698596 40414028 326922664 105022180 342937134 958093586 706479870 519008684 872316734 141869672 297923436 240994738 35177166 873632868 351102430 984555184 695211186 851654962 399033930 870390034 876810248 135097174 586927662 859031820 979106248 286239344 976303522 607064852 616649802 22729026 378878100 531309854 678686672 91299882 591592668 548789346 375637482 299492440 535459990 725804864 715912032 728524434 228893308 530694422 440471408 663836712 665820542 946221536 342210942 828586914 670691190 98095172 807805664 423973196 963812508 725217474 654067202 164528666 212998244 913102392 199102898 802491528 622602802 441038870 135956056 492597864 659758708 79657694 167014064 713291176 242948478 250965764 644758758 879993902 943345624 901919628 701548548 366379218 384996702 62247160 89009918 975055462 125387094 358431410 554563734 979640728 120471438 672235676 253088300 745195532 424278390 577072200 169762080 395377242 594279208 477910744 678499500 192950108 413100816 536342964 119208188 341425168 327896970 91297950 960895334 178170470 943763610 266706884 142624662 920507336 900417590 744670144 180223142 784647074 626678162 279608024 287892604 902062406 130066008 851197050 534406236 552482518 528602780 35672710 655747638 144111842 286906500 833301912 870686880 846840522 296238136 863795652 47028806 313802474 242192492 874530152 57313974 593548972 717209510 593777130 745646162 613580640 83256076 838710974 949221828 15213102 217821128 211736116 486354338 247140830 149444910 289249858 745412500 256726298 10590204 511838436 363467728 31923816 53444652 209664172 241791570 132415794 503465834 754267504 267972980 819687032 309653356 131536264 720290282 931672932 343075860 467959920 34168264 406434142 292647430 749921010 317563044 191549358 548467264 173962612 406796304 641188768 63190068 598922750 231050478 380689898 560012984 162848746 677753808 349102536 140643042 830570056 444360226 33729990 783866422 766198880 14898396 554738776 993887590 270335954 706131958 558145358 882755760 647117534 145029914 673713702 177779774 3012826 307659972 141287338 439951650 875599128 515702250 919693692 107285560 710209406 680515518 984007770 792192730 320308574 88420012 723618048 814449070 454497564 702200824 380115164 784070122 114485362 339621980 338557082 143680262 611568894 675707340 454667434 906398088 626027824 238463968 138831310 923219088 305305786 741738638 182193624 62133484 439612418 146145528 379684838 324647916 161199338 650468066 788229994 303611898 322877046 293857242 346944626 514440510 652022684 541123180 611154070 658027030 192877892 350181870 4549346 10997884 634371920 930821528 575664322 345334804 59307418 787133798 888270996 708825108 81710616 943023978 524060196 943607772 586058568 961903234 455990192 734955332 647928588 245644880 21478728 964680262 405156338 175846766 892702190 358630374 888078898 920962884 655547386 17266000 228154512 237425666 958500910 437402212 728965434 666802984 476694576 621605258 845244374 225086204 559076036 503330556 840449906 656246150 488766908 280452606 818330488 39944752 857479734 656177034 460022744 694763804 534845840 159674372 201350966 946928648 32233500 254124942 715475752 701268618 880414318 727088622 131589814 790430838 728363054 610605438 471105724 735360864 37366982 40261912 143114654 774030988 76506440 502505228 383745222 946259698 441038914 18519596 939849348 244632516 762688302 225494352 780109676 154124646 526153676 548542922 156200414 116568778 605193538 72859312 43580188 757856172 18706032 299656574 797846904 747974390 709244740 501321936 431550918 701832464 734470204 594013214 941252870 180113282 819774352 547526884 419203698 668898072 45460136 719352692 461861672 351890928 305056718 716371430 744838126 487228918 742120608 451858400 226071530 623057372 163701878 806029746 439625566 71193436 273945754 861408246 517806316 587923768 465440542 290754122 332295536 963320330 772590314 285544536 987090830 424069288 100930242 795706194 445623742 628364098 405675066 32886182 970930664 118454310 547005068 320341600 400021936 952214426 680078022 597152540 717520434 225211326 279026922 341088326 905747620 99631780 436158008 105411588 525218008 874247872 723182468 649326790 564188832 472682476 539474352 576881270 631292754 541088632 181398162 121293734 270280338 269634104 891679000 45507628 275868014 252690246 598882782 433408964 846842614 106558624 386623102 981824192 216216386 809683264 543765922 424981592 737465010 981863388 98587102 124779810 387778502 952306676 714348262 850886782 531685132 622014646 102938906 876109048 689902968 539414480 768425842 336553134 309254790 748028976 748058754 630350170 384817688 755724096 9659900 365756012 896812610 656818512 38732096 512268262 750385090 791310482 841578248 360149132 460926640 96574488 247394660 946312266 321222002 425091302 66194608 566615270 662107586 361236016 98050868 475704352 691993910 972445826 976834344 603850078 352480094 442019804 798877186 852235046 478871118 705840512 263179488 353590760 261752212 865406742 952951418 767910412 379651982 830760118 165037514 923987890 965362734 216356450 65948028 730201228 227211700 756506292 778774396 334507206 103000382 70830922 471796064 127116596 616730212 260850392 36006468 564134172 15364734 912914506 948123450 773897564 661319522 788123718 524128684 187858298 355858956 178781918 122736598 802641348 737881812 631567516 676920476 746792700 229793836 89694788 699928374 772711650 382639272 960241986 770401418 129640046 34251360 110157774 914326326 393622794 663060480 490404426 499396464 422636522 510390668 571051504 505201258 393984664 161194530 81223754 588130838 419333114 171814412 167279720 681483092 840960686 255730876 21978492 133463710 575489100 144289628 265810932 267969508 210638594 703253694 62773992 429532306 621020914 369902888 108902780 535737286 522996664 622584276 532484588 909838076 711060544 333391966 548208412 409314630 34568934 238543952 341330640 233121098 844412406 245158908 181878374 856483234 208640292 620396572 626904084 362270500 92308364 789077612 119479674 71688382 493025906 402291624 316373282 704297534 31025034 951472752 35338654 250863200 107410062 458634154 221304036 822632414 406042622 989284486 240806052 780693692 939065578 409724214 459871298 156062580 61300278 96487168 969148366 184197022 934766850 467208552 473900566 464017918 119546798 407096010 607980114 319248192 706227358 271670100 911959700 698157718 730229506 329251064 169720280 783030108 743469798 23411156 97101974 628973398 862565560 945491668 807108788 368623994 414080340 793410634 521746204 712635542 986470154 436759756 207706166 646442948 498077342 253902332 489713612 474691590 894174464 407037958 938539364 427396212 157603714 912987654 580425636 998277348 463142814 27699914 758019390 375826038 14322598 463750236 550616672 471245182 531000424 246279786 100836086 506185058 493123330 469890770 223439882 435241600 998418900 602946076 381935256 369906908 472775952 665134690 533887596 597961880 869081692 430005706 682657240 102400620 779485962 47292170 467794864 828352622 194986568 502160842 687233204 739390644 801277936 414118038 22208720 599502642 511123706 586495476 326480264 694374596 995366940 671051230 378815414 449905446 840348860 114427698 162416398 870123496 614950124 199097602 697876658 69039690 531754118 527965376 305361116 197165926 695308520 960808220 23621966 138142450 545869360 676131040 101584188 269030000 528872242 119490484 894386048 280216182 685777180 858010154 534277508 240882960 404085928 126836542 964110526 306055236 976554258 408822312 411555632 588679574 128991216 883809820 259751886 352195596 483677620 158322406 235756286 92350760 171826682 411192168 179010024 611284076 620004664 996843986 406898012 368808554 327291640 595587480 480388870 170316098 371664266 600759882 213874210 4428720 19516592 419635256 310445910 27133276 299764114 933536070 969621272 788197658 556577432 295547996 60120534 256563634 787880486 291807564 391822158 88632302 251046698 205166468 664733298 978467660 972939706 977004292 189662176 343188556 207451344 433692470 194873130 425464450 393452392 645385014 912287612 195838460 280709290 992752172 444814352 999349920 489893324 219574174 88001188 4355508 510039444 689662306 452374554 690831976 901232202 736121736 459406990 779177498 480893630 753682878 654105910 953173144 572096384 758722938 931650340 510083692 229971012 971627648 852177654 323953450 50533486 672060534 542590374 589327322 62815858 287974250 499409266 298942680 317872804 132720632 837937458 381604022 427926346 578273076 661045932 579519648 800436020 184848394 258906668 244474394 731469304 92385258 230304616 770582338 696109312 942911810 768769564 46630204 879781216 284312 909086376 664730962 403758610 78873232 964336292 521011896 330105396 712362430 583574902 675031406 591970484 636156624 859747770 736873226 994501134 906954706 96252302 60495674 109666890 275461242 182376856 915864788 765508792 980839062 551281274 579249480 441526996 400978992 313475098 738043426 932239920 197557326 131480476 884454306 860708212 981386520 790172128 249390864 205420222 25671582 208604810 679444298 847841084 594623892 633371238 235370774 513816434 814666200 181091198 331270984 645275974 509007636 301440446 242092406 986747514 339612156 845368802 317999962 510171512 281727812 12198810 803731074 65071670 264598688 596163902 639843638 804601330 835351532 367682158 561356388 708375644 274379244 376512242 373508630 763886028 73702102 56367140 969465878 840242464 12056120 440348166 532647436 293574598 797083718 139708450 980464818 692319682 522820912 365655308 76931780 490102158 877837750 781342138 637503210 822773288 289767216 826554450 674881736 95891856 796281110 425788618 347401014 767936342 404843092 803207606 527861534 590437924 468853638 451501500 722349706 256709460 317749550 102153496 522930970 239574646 953888566 313742492 367568288 536143610 428235650 59198618 454364440 399402982 189935040 252726154 911843948 822946332 531696282 377891262 438024412 795862982 260580886 39032378 67346244 129744824 804828176 820847042 734847478 339382970 565858246 550352566 371508744 717011820 462188378 427627020 974212900 980867382 815570052 840624688 241884968 862316220 675725466 91093246 115273520 236929050 122142870 291366706 4835232 111110342 173651046 736177112 184055120 880855770 541087378 484511704 450633060 21793864 833574350 173380590 510039830 719606080 577266528 542577774 722369976 787211968 224593390 626404998 203462654 549811260 747748912 473967330 179066756 328709742 359989900 983307770 286428398 675294068 819830548 477673260 762253986 579667570 692072150 949254224 148466908 614771720 616643436 559348764 896253620 114446608 869584170 526399254 347174824 807247418 91440150 28850106 10647422 684229522 831197810 738684602 584773154 163213628 606747192 197904582 147607542 198685822 687031428 950236018 523271196 17223386 347891798 52853352 150233410 675902060 858693000 900954912 17702044 241549528 215337036 672283222 374620330 438640930 399955806 848159138 918546284 270317214 371964586 65666398 803878142 340234802 83562844 831587110 437333128 459988464 203337982 111356392 754001488 466764960 31839964 355008554 468013752 134207720 956415134 177467840 151361048 261678894 411942342 540758566 401620970 326998558 182586486 16126544 250981356 442104790 239393592 191305066 941423802 6189236 122361452 760909964 87150770 938581340 984642674 861544568 839091312 506117878 266338552 154581070 645883356 56239326 599252570 330609580 368756504 550033722 547839924 716623986 77259488 520970308 140057596 561455086 3560960 84984552 930670268 769240018 424038496 515059080 689525738 584927200 38366856 92245088 700317258 265967262 160182868 928143174 411166322 591920606 459943140 617785792 96969836 605125598 292335786 799829996 325614518 422610272 212793826 818078250 423260876 404429432 434015326 223067728 997409846 6104188 331647816 918790150 813364868 285552948 640424148 414817988 75972938 638780154 713527406 580901164 761500056 388854382 716496838 541683464 567928 747244692 458484980 432136320 563118680 604851158 764331946 804334506 908024000 922625986 896734998 214431382 756136704 710181318 842258354 393359104 835015324 234868516 116614592 933722444 18303072 929749618 116047258 997842262 743266768 687287584 695108184 766217044 684326528 987752536 359007044 689296092 9790440 371567460 833056672 98792456 372207096 995964026 569828430 841078738 513289478 991683726 375279488 917757588 358252484 20384168 885026630 225449068 417987220 435777724 529957870 892997534 691757774 249723602 304410020 861159786 418601716 685608896 69782684 691846702 145887786 800954764 60685962 599763946 763575362 13364076 544233296 727916774 166421614 944236360 765371172 945219302 394744312 65758112 941222318 476681230 723705064 592800880 71620026 497894346 807049254 8179582 57690168 111838322 52549888 48513522 116535018 462732426 371152864 724080346 811575284 149915798 358200670 430606760 686703910 319405044 348867140 581816832 332812652 408413528 709814604 909038008 245028090 337156504 813836398 595554630 64547140 792214626 454784832 472833460 639596982 751377118 468578796 887082208 749165330 31868832 284271278 460562094 294686456 116062420 804403050 770936180 565189394 776542800 714118350 348064142 663539578 592273554 863575842 33791248 143071938 855516386 334625510 248993414 650373978 479864376 646202266 169157808 43452048 216758546 876237894 184614794 731260354 60720210 254701588 729172104 625979942 58332442 703978278 529912540 794602616 386623716 752501348 384182842 550095910 377691656 354744912 515530146 305780614 137456334 505577034 466867440 975612274 218452220 882716062 476995212 233887822 195642792 493866466 501668462 983725440 290864176 610347954 13680408 434496910 804359752 225675196 280930704 933163414 655946030 467992790 229588064 218190648 244585766 136697524 199694242 712246392 259347730 21696360 367567138 656456782 928598796 584725648 10615154 749255912 320328140 77134862 580879350 966370814 78727272 346101274 957176726 543873140 462837334 272194546 550954100 694209970 276149006 349731350 275482710 800027360 87828988 813258504 621076288 981032752 305221402 98247098 912911020 851805076 768096714 659372230 825235814 820393190 286873598 690757976 305260822 726261490 513757534 330135608 528292694 841078160 65880830 632652552 176296184 302807828 251035754 204946298 352722034 396933256 823216024 312083408 655700470 883857198 708790478 690479300 561932564 61045078 931574430 129602478 396456850 638767160 610560054 670729390 310369786 43386180 719771972 650519932 362293466 753617518 646776602 763649820 962576510 733377034 805229440 921550442 501941622 42219134 154083042 953569568 515287460 650648526 269251694 256449102 655380176 982799272 548234982 14122034 152924090 891429452 472502794 683382474 931691714 17339242 788569314 629438060 753162156 997594284 647781382 266145810 153016208 89676448 355016976 637908800 729385886 299271658 450497450 731398528 100018600 131826956 754192446 467066654 269147946 119253446 611632886 368320472 616739506 688199026 388723316 171055278 745814180 254344468 972844664 959294926 30335162 510727296 925154218 436782446 380702596 75440390 876885810 138285624 795543572 474225522 654507850 378468950 335824406 547401568 251392634 645802528 738387014 469576986 684260374 318142512 29512368 690692816 988192868 640332368 325635750 41262456 162456342 984986380 719575716 130082870 648210392 394888432 962012618 822950218 395056160 452528754 79843706 909657502 832087984 781586184 420001418 369644888 791020130 958965438 711718412 167873874 295149960 364502192 898904098 796909250 160913394 71936208 536638390 318271028 381481024 21621250 960970420 384921348 578090214 153021458 696619784 879912334 191635828 908408652 518999102 483708396 455377094 95238210 933206166 623416580 895908748 55416940 807270016 783218382 464483578 552929166 677398256 404442494 730625594 578957272 205296122 673810646 471551566 803774648 928101288 19362626 451532326 11971020 436459992 180706120 583016972 907243574 983116448 999057626 371363912 817179322 359437646 702145224 996696778 744719652 472744630 742873806 468592686 454761608 931396528 527949498 866846730 945115582 56064414 17049362 512205364 608955360 877375934 171385808 345090116 422035742 894601336 462682830 373544040 650960466 382803582 224808140 334448290 949200016 493959736 983577262 854769912 34590258 611871626 975144 410762422 456414900 380152154 296004350 837568580 330405692 859787310 253316530 66705426 883140672 200542264 649836970 608428838 128997748 404580786 311760658 473859790 732062390 684341784 962539460 651571308 386663552 276821398 767227488 512495966 716885010 482258104 846596880 479751600 227321106 723213830 670920302 604565154 289386662 266615324 889548934 439276044 618468652 762565346 278459276 115053566 240465792 625598022 440503768 943330890 555053256 585665800 295802252 224429116 228064564 341926288 443405768 681649390 535929706 625243436 491086504 692674494 222447786 561078616 969715984 560798612 378620410 148462762 576061238 835266614 413205404 640949790 5280704 193476992 479303384 459576740 271842320 607416158 859679038 446831642 33036920 431749176 393641778 772518574 513299110 775920570 957506238 307130136 56870028 828448478 846037358 96212638 368818298 156908830 790892124 720013158 838696960 601117142 142962462 972934186 459073430 963118172 609253868 547622 708566782 745424420 136912822 374962532 639519296 741637824 915007154 513013966 544441420 686010862 262297048 172811900 263836470 253732726 265045222 789892570 216193186 30660286 788523432 275444296 132541756 963178082 965675266 149489506 287373322 862242492 887282582 595424828 128068218 817348590 434493506 139593438 532205044 324311614 791819918 845322442 417428486 384182522 441726758 680580344 169772198 706971606 142454934 806742596 708003098 89406002 296910898 978680462 257616724 962836826 32974988 23466738 281544114 991178114 60985614 174247520 472181464 979384562 699313984 756050646 356222620 312988364 475008944 18462170 908921216 498524916 710338268 131166264 679314908 11798226 190321644 579676730 348390266 305720490 728401598 914796830 210964222 288345744 133157648 292490968 406445526 59488972 721200884 646304782 723878610 737994730 49777752 544595172 454055556 333607298 547040834 787593344 382490398 814392688 948414960 727666678 800579766 159176552 953698152 963920344 203288398 602406084 216961502 219816582 620942796 428327954 761741794 425521434 648948110 991308996 849214152 530241696 427615218 12817914 68200984 208946076 853831862 129111428 276261542 183462906 591671260 5160816 508584720 741627860 600109594 754722478 696535662 328680356 847793172 77924294 640049828 882260394 491432118 273906232 755223096 630843354 530566088 877731704 810070252 391864366 625641456 603938728 757437266 107303434 488756426 496048794 162527044 955878566 149747172 395078666 181631806 23819936 548875926 384503604 418573720 517463154 140987566 571254108 449824834 438488468 350224696 752315440 46703978 787764534 837779442 681911528 721385006 591577050 486418236 877911318 506754744 914879740 943075238 147712294 552335300 836505296 915874674 735918848 76190460 14964386 858990388 669889332 845334756 365321050 69422564 336172978 523564174 839069608 711314664 395429164 28489476 434607852 317324488 882610426 1406514 298809984 725224804 448015048 120713864 954812608 723855634 659679292 795042420 639625750 169111970 744755428 994950356 145009626 856887590 328018354 875561480 144952690 14485192 54069838 243852744 562522814 183927088 586163710 224605022 225902386 682209920 968506350 550030590 267469734 994792624 453875586 436324810 314872694 941462824 640613832 33393218 297064352 712031960 491800594 406685606 439442998 397501262 984260638 704895784 109359054 739217792 379555530 149988934 320551814 266785098 414676590 230611222 708505738 386021110 686271432 85845382 296804198 482506264 250031240 792672060 40647780 296805470 629424762 770675938 602984898 533070692 313060812 218242876 66059860 940758068 172682416 151916448 637881914 552407830 249183786 761648496 199124580 437496776 513213304 823172364 482306806 365459740 977254234 22594956 588143678 652887354 804984048 110153936 591628562 95002938 248304186 753409354 263975422 387264296 223319622 655322640 873067244 129891686 642314002 644224098 493443644 297431858 671086186 119914274 478254852 370016656 589507042 950426150 526678884 277318070 873819318 890226132 678843116 552526332 68368614 134386718 967130534 796823012 930667872 780489584 651499012 223513200 659519184 325308534 214318274 77164638 973207542 574857202 577018636 933974566 449524538 921426278 470394488 474501896 709824656 53964224 959343854 906775964 950062344 962060648 250763790 810439616 599731592 393450858 647615452 640323168 433594470 228980570 16966478 492327774 193420132 785172642 79275090 642010592 259591252 798675398 550794584 392468940 6269322 769701954 98078246 370932470 538212932 516608040 668773480 159975454 724531960 95990922 526502360 909315990 412179354 810097962 947159292 658325558 761033760 396146290 117362840 47567358 127154590 944030092 954492566 439151376 305003880 58984746 534627576 905742962 190109458 827524198 541546728 629301352 796092956 829546578 859056084 942787424 219315770 782765082 410188738 438329500 28648742 758204324 657508956 956400896 195771372 677485818 441974246 796287154 168907362 717446054 428443894 427576500 924008782 749214296 50258972 191948556 93332800 39401142 684620072 709025286 352529002 90958150 32147490 643661956 304323888 696444666 66772618 488921686 412613178 527857128 642131258 182639778 807049248 340658046 610548648 361902574 317601334 61796958 24197966 94165696 151521748 943081510 422861808 335941414 538562344 22923792 158759112 125893484 922748268 929240188 747038450 48099478 25287526 647951726 676830208 544518418 198404070 335101636 493313952 968937466 871010604 559553706 798393064 600503976 732772222 973463914 992502734 759581034 549593374 290753542 807858050 348525452 503689168 381766104 47035734 621999026 286609066 67160180 452243414 220466414 618911716 178633168 456442352 934206986 764257840 43653618 121621312 810203620 872326516 812779444 661205954 563396894 354628992 916558408 255837194 93115762 877557980 744596676 296391738 25716052 427606734 636781308 194425996 421917774 85250158 3880456 704582794 142373404 475262326 333422340 84954388 68842470 921844754 563345912 245391514 152935826 292324728 260656224 264145606 985965964 465431262 377285204 324488478 474245622 548039760 858277090 766602616 206794698 543305544 713533400 458924752 445175572 396753112 32061030 822544928 538033280 20582634 857978326 164042326 746841894 869558968 202950984 473100636 80390250 597243364 851076476 112208058 788777392 331362890 727009408 765828136 717276982 889128564 477902360 484760788 444264752 387743024 148833780 24758656 51325760 21315648 451488254 805643074 193312880 545616114 816791616 622734528 708625632 448281344 154483908 582588542 141076282 687794928 651255486 513585584 45138192 457700840 193646924 308463456 583054666 217843240 802055060 344462560 879198820 354633418 516403938 499682868 652179678 586901044 991953270 859667150 843788568 382067504 601212196 652243882 558914562 615473722 974191392 786776592 892568852 530057224 978190820 795245012 942493712 63670450 34911054 962854636 333908484 315904560 531851752 535810142 79082752 96913988 929453024 111002430 679676656 952672382 567802760 96656140 124321548 15508110 527609316 909843406 359659980 238920462 427968274 602909694 445755512 511458130 948745994 381685474 494859856 978867244 656983662 906780152 87064162 59189590 341561508 791718776 708449532 988295044 542727278 855018080 357399400 649401360 656070714 37540130 151009322 678561424 275792940 257681214 46354114 124199344 565286210 134376418 513594298 774639548 853099624 322854694 655104368 558954332 900867490 746722910 585233230 304562546 527028652 841786966 277662868 98230298 303691830 513561582 900966146 864678526 759418274 520703246 959375954 393681158 100389180 118687604 31592104 555979052 648256750 430471712 282725650 390217454 896299098 118404796 105008896 603970292 143193614 485562312 389059276 486476766 839012410 526080420 875119992 745531066 562360460 497938004 88018934 764717666 793059180 256274986 408782076 89390542 228693704 9165924 870207922 662533498 743561268 769570494 840769370 668596772 777295554 239995428 771485836 361825276 623542788 542856616 36761308 317436174 963307682 988160034 991664912 853290552 341285836 33131076 532749608 277596898 214829522 493498206 135003292 102193078 673600162 81819728 857049994 931381420 378865400 346274596 832933468 848134782 601824632 675432690 997326174 878245500 114786864 693035506 629213628 845501184 248074538 171867296 748958662 155397652 419319300 390302372 471906086 139494666 273035376 504661480 129439618 756201238 714619522 134158028 320766130 368213134 717905618 77818958 275558190 355787446 699055588 466467544 482718060 435792026 326658162 347747876 297853628 902414306 45893062 76153458 76795218 388992184 814534998 458614316 144277154 769253766 383028374 8649966 505690056 94741056 859547118 245667920 932653890 368130202 339917956 950007944 136347888 542363166 986317112 670566072 573418920 656975580 585363774 339015700 726669828 884737720 949565720 160245916 28687902 350474878 313234628 359777396 447572712 477155892 594218228 337395948 837443612 79245106 492826814 915018068 478789932 433722360 126991204 92032704 157245090 89659882 671565312 63790412 24712374 657214804 22144098 940261872 421279636 574180932 4664338 11060152 27324334 309262296 541498088 538733360 426711728 465829068 915280266 909743208 56242528 355094230 886224112 239802120 898321054 11809632 678328006 458484928 367931312 998469190 446834580 368898468 302287250 436371162 821045248 942600604 285032898 922755298 508918828 326523910 388024706 689896656 395559028 795526438 418262824 914002612 12422294 389621332 192712206 957876912 550177974 882736240 571201158 458650232 213654844 910638892 680584328 484563228 202716756 270092866 505577250 694774548 812387296 541860336 586646126 44284426 213416966 963571472 104562106 704159258 518305184 667559174 226499418 253663820 119542270 61630122 191109778 19342934 126023334 39892012 805076162 915386810 86515896 165663926 608889122 886449864 333211718 391336250 584463512 380404316 106382700 125037262 329107934 183358240 442188782 346562852 535665776 428320954 118164238 759967770 969762694 556304598 996714864 819905518 93885660 896425404 296156784 532675510 839072412 667926064 354059136 156687984 132021102 449947760 228702990 506044268 139483734 786624502 896242610 213174912 484000736 126887644 729320436 620392278 498791468 246014514 552387448 509876930 938782694 65510352 28615020 938165152 733034284 688417822 957846678 272069022 150712130 26686898 716915932 480074006 20002694 910919614 209120314 619387892 210141578 593869608 983271228 280155836 995475124 590010006 34897416 66823974 82092890 290932650 738144922 826761496 263379362 882383220 681384598 631736750 479986728 765722292 392317542 695620766 451473402 726713414 932351742 89146830 967651844 253022684 868975120 64917180 521688648 949676136 370861688 816498102 325679056 601460734 740874270 691317080 463780862 275973494 396289920 515517532 335383748 155832546 782492540 290885064 604017032 309806410 969058618 680579174 737115586 120581068 481521364 763589870 817797438 5722512 131797612 199489152 874678332 927342798 278777394 863158384 343718104 862733878 218289110 230068668 633440842 610179514 722931816 674131204 184729506 726508124 507103654 285196056 32950238 268000414 4180630 759369076 935731964 347759144 683029910 725980546 540439208 32314734 29452180 301744828 623896282 179638232 148187506 319664246 398532254 308627996 669725746 310204446 682427850 370174612 888100138 814165002 744330606 885032438 671126776 48991140 522625628 447993554 493883624 394301008 557087232 647687252 480976260 418041506 527408692 937071984 782866848 815586344 568441500 886605200 504305648 141072700 387095418 642915880 249831388 30582108 800393388 777127150 902315940 517944870 648570274 295571186 885872970 612046928 771896574 356735926 699656358 84149862 418865076 944948554 976509276 42497396 332180828 602875228 895967154 109420960 135386108 326928712 352249436 508220906 145045242 168715326 6387486 261876236 616274454 551954402 141932692 722117280 377252380 232747188 649080742 778317064 52735470 352097152 258479458 193613866 582459352 692797828 147034570 698187632 727059016 766672886 593147098 885480586 986911952 19481766 783897354 398755986 859979038 844526744 13975150 358315596 870250848 395402274 487321684 17013624 576319058 85485212 652866930 33429640 70151452 973941732 23530484 792765636 92348760 828117872 503361048 623675738 181156784 140632080 698125906 537844208 344891578 698765994 154588866 236985062 757261330 438212044 244312472 874583860 405961154 456699302 357663932 442465904 744336650 390964046 666848440 785310040 874349034 450783714 49846014 854466778 692893460 10333114 42465018 520076112 525406398 969787372 322229844 842518606 133294414 601004900 170150974 765962026 685338762 68540222 88208166 635438822 56413808 316187944 758172130 978021116 869101742 458579742 938146042 403125108 419101378 114040264 844331688 479779184 915071984 714334912 387210230 338655508 474485732 152139344 131924638 460619862 609421060 684203336 221246254 164552714 689525058 194501030 667483238 42539228 542888950 329040990 403782872 87652522 483167834 169597408 714573392 590981996 448394392 429819198 104585864 867370918 354827504 988444296 631229156 350234934 736865396 463776412 971292648 40499126 73122880 831734672 174977980 460413466 821317812 248979320 974966412 347685874 430842832 229857364 356914124 832622656 942064136 847188114 40672464 657225678 411497636 190603178 402773754 3073890 623001310 140612602 584345704 813386578 832680986 363673020 130984898 451420 495705452 353582248 750391500 647432586 995640962 19759966 778830190 26032758 248125386 256336448 228884542 339731576 643616734 366916412 54266960 21069834 538789432 42289630 895291920 239196896 391464212 526087036 749452896 489075250 849012090 902511766 599185348 190848540 109309916 611084090 340336070 793501326 426332732 659215424 955045138 38517670 122532830 728625182 739228842 740358598 890254124 171381568 897583476 584531160 944926824 240691432 545822336 380653324 102623242 696226852 416049108 446537072 732224876 819801872 341404804 411925912 126795572 290123566 137933624 563472026 495041136 167787708 248209408 509490726 576035040 184914872 262266898 623796628 359963142 465862738 496087894 108452008 602535462 616279542 618076920 73314752 960456686 992704886 782430548 195469286 705494486 276296106 97763632 294886254 497337532 809174002 105919948 821956806 778754668 676250870 101263092 28069656 4312210 481529834 666751224 781566484 730956076 377113494 698779300 832710598 646927850 255485820 253625088 271386938 450191516 731098298 729248022 499529368 313442754 888500966 257816530 821049184 646761246 302273342 377369126 553897846 467166492 512175440 609541860 358259258 510417600 547983990 850426096 508099114 929117402 578721674 360893002 179186424 428036686 918354974 171539972 216704468 653721478 272991724 958029686 786328528 450347486 477638958 121881038 136883248 809411352 855536660 351892384 790496410 418304404 818455962 792439434 410223650 423356448 357181254 245293924 483717614 427035458 627317582 231717712 701296920 248502962 90318968 219461982 450881530 594247794 757621808 748278162 775339938 89277554 956676022 669547840 331719320 938741808 17844774 1279708 182689750 997498760 927377676 715614944 986284418 993783402 793490524 662164650 983257388 615988914 5644760 588315500 147535792 140541726 66346380 607355914 522426204 557292866 390128226 430615056 175708938 188052696 734921218 426863402 41336516 187003602 798659356 516304566 750316736 620920762 370817086 410323564 809228288 602948300 952812160 15717130 814284176 223453116 980728148 9128514 235879790 223466770 358965218 10717994 631956320 301911752 480604174 869204018 83673550 378804914 601028192 466527534 600407398 452420350 657481482 817260852 965950072 981452470 528280348 871049966 261223888 642371620 413921938 693999280 112492772 888903334 241667628 558408236 546784948 939091718 107513894 913309080 49467602 964098944 258757318 561358714 208234268 780201026 951014354 671271866 692474342 637642794 535842980 815998556 365022962 753720770 674483840 647940714 674944514 660156410 740817064 348755562 803108022 628976740 544264680 886362108 571253214 893565228 638121778 170200176 467946590 353276234 935069218 159885612 599489688 858843820 936547336 429402872 11931442 780380604 726065604 616754854 72846332 108507044 929301034 359547426 458866206 402921134 706444636 932071670 525192974 549034730 999883872 104256190 215562222 687161916 495468722 784659676 13368072 757129302 685885298 427012304 260594682 324521762 890609826 430933902 388835664 18304502 349845538 34635788 657209936 781438670 550737806 264797618 788750284 599233474 394378208 560046662 952690514 132378036 311008690 452178516 461324636 538400590 652574728 851598132 703219540 301432230 378546406 430978668 246068502 594745710 579106982 826261316 682633898 342032990 682305712 382956408 373557962 21888002 392999572 78594768 912599266 86033170 403534768 632913208 794492862 779000414 970220816 816066520 592546172 524532090 120978004 444191442 37468898 853642418 36972588 806401256 946545958 347896374 53755344 565180952 263207396 586706606 744174510 676469426 435987284 64813938 709849386 154541678 498273202 382013068 266029958 779893526 578249166 151094864 22843238 285326792 673759426 45986988 584749358 606639774 341348904 431820616 997764824 579446992 23756196 27390976 602245536 520879244 842602942 923911672 61584872 946922826 20555830 279036284 272763736 400677270 656587796 299866832 159466132 908745456 949081832 840179356 461839922 789259186 501777310 190171620 624307776 267212010 474998676 118247614 98414886 98648146 97817566 653132294 745484822 267247128 423603530 742279508 942839588 306835868 108995810 10516530 955025960 468510556 445618990 79285100 8390088 154175538 814570628 624975846 969559796 145411006 680322920 809423438 883102900 229517538 856940922 208038428 470964122 633769184 240209098 230439616 871915278 896991620 911067324 156286756 310278436 926613802 648398086 551162862 129113148 563840646 401938608 933690444 219817140 496577458 280823476 357592538 641471216 299140530 982131228 899377060 846820944 427878058 557609364 779688462 734787150 998943642 604406942 631616816 752919388 941633214 296257304 459644524 139020958 378004386 318057118 519834406 176929954 731676510 760520278 366691804 156053860 15803280 670348464 752815952 573951332 143056860 448612996 872496336 557035654 131666264 532096578 239728018 16562460 33289784 801492666 102454720 417399686 574498310 303478654 19703482 330802036 619834366 560020906 467672010 580843756 930685578 825913924 388096882 679583290 773542420 615264306 150863014 835272512 405440348 742949392 958687418 769120054 847795878 81057500 378256206 563494408 30008600 875406082 329156678 491359610 983670624 522999662 144161328 937366752 157061272 434677014 994654602 696438144 593113134 448216634 450162810 909200974 454514532 610899414 101482670 931416110 299423286 162834722 591015250 647232684 930376822 612381828 254474488 267522572 447907376 479342144 31005104 700763202 852548026 448852556 978706914 5713538 470495748 621137002 704545740 267222720 849876020 976812468 623045158 672527032 290777886 820440066 830346456 243451150 361838778 700553264 737003514 729748874 470992818 531293454 844164954 98095630 685664788 706342348 668254926 780350842 894384642 7281552 873667242 802540810 300760044 46956362 638008504 10136844 6664578 914915122 64368940 970716798 209389738 337064766 511752526 355753652 901634728 766588030 179569054 737632434 527435048 885292088 765071240 941652644 686603594 758279616 917009358 453732144 235395872 305694140 340530690 808503806 382520842 175892380 19975834 133208664 282320908 792142522 610360142 533738348 346319602 163842376 432914030 311053962 467472448 153792282 576929382 807817636 569266982 477235660 981619746 271168528 867455946 367497704 280623890 170215386 76685206 906719602 912334810 23904756 562064576 17227712 209131486 740337828 893113138 773656360 427050772 432837262 89750138 278099074 894562704 750679394 386965916 511141218 925142684 136866948 591195506 759666880 979875944 454479384 758943410 399443788 927882918 698704714 714526250 383946380 241210602 571966970 38593452 698257678 773216984 813189554 785286846 632505882 981058714 848314668 623647048 953457576 864690126 867371978 706636700 344615018 22699972 259376602 900774224 679652934 594669718 911555074 790032532 267371076 273315176 359971100 5297400 624991858 806748262 393707660 581017452 900765392 910750028 644041168 352612202 510164340 720038946 824816234 654645766 184006486 887373830 544869344 871091172 542443978 404476070 464047024 80382814 392161328 713456076 523874574 649332670 255426376 724789650 667147078 751048452 995240404 141925886 196319642 943926438 999733090 382144974 272563932 891517814 795127768 538349724 931716218 504170310 809239856 600095916 128207932 957217896 758099060 10322062 745349152 544661560 784696144 494762868 809623276 601746728 176386754 896318064 240910534 689414524 720733398 376629236 603916698 703271978 312023896 526866140 511204954 115950866 161319456 300515716 294405438 173736174 642216184 925054198 567816782 155123256 883669424 256722472 733098022 258179020 46436928 799378026 810011398 838078116 528683092 22153538 906608168 897536342 153367928 807721816 439112470 911171376 437476652 397286216 640732734 709764220 106300796 603055150 346191054 863518476 694425146 539627572 145127380 268928232 611935916 931441668 214909330 125889460 761164798 36430800 702938264 84686922 88949080 466260300 260148238 57709116 493484826 57418512 286017560 35597538 13239886 741284072 45590838 942482006 213260050 202636662 867568484 111387446 89268658 476067396 278846934 998852330 646427784 977559370 500464888 250923806 82562144 698009648 574034978 665110904 930078938 844751706 970042076 646829298 7466178 268416148 687321326 207549664 649493336 552775198 267108400 15232860 275300190 979549082 182569812 452490738 573966250 366761770 999656552 16306776 536620584 997109186 418279882 993112974 985490744 231920200 547705640 961434514 298610154 488122890 897181662 427330806 729264446 212638358 915937624 900610846 399714540 138690922 730351956 648237528 598707486 557429512 410221204 809884524 595901938 965026548 356676662 904662248 898009944 31640806 516128144 342340152 652400800 609112898 83059292 415520812 763058560 542706852 783915506 871617540 490743286 897658444 796197924 494894170 24829926 305855056 517674392 812967472 272469194 911933238 135849774 263319646 383063278 596797380 89798910 482344736 345994000 416266132 58431874 432690658 899453670 292862914 838103406 488693938 174787004 951175194 779186078 516813802 155321232 514743158 798516436 163543572 632516292 395094738 854138240 191226160 589257898 627767824 763776974 405095544 398596874 575268082 406133580 907729608 752750364 898786790 239076942 604741006 769813910 683223292 876781866 766870934 143751332 784730630 357446302 246405916 231591352 644316 509631510 532274938 621250966 956763092 461919672 929747192 564741928 233069622 874911320 725430354 826707356 120740524 807104264 846243458 274054836 104294444 750459572 3777408 62404204 341202124 348637394 751048802 555875502 282045750 442857640 807149110 537416620 866444628 957029500 386990874 583939664 804735872 465230866 552849642 152510882 604192258 859397680 967035166 642349900 185902550 89018698 336730388 335875614 892771188 979384420 117644614 479392516 952201162 419072010 634347144 774077390 491604362 294189122 322683602 530810802 243886702 715730118 455392402 668355982 625919194 236922352 512878 742637708 192896904 250548296 709371502 80399860 822136120 968684874 289906944 521350758 943296770 27994654 465257426 361330344 810533554 527456052 867466228 989936162 787675352 250918676 610603590 616391054 164307860 372656846 122009596 491222932 643138684 393113770 181886810 442643194 467385790 462285054 527059310 718694978 780298208 94720310 469214974 12475066 646219530 497654306 520850176 553162932 3884970 721498252 752063570 82400922 515183086 233207726 699533950 43551136 67108282 323665640 659291180 596444736 839636854 296412032 70725228 285841614 156785110 923151436 938603302 676800280 928786704 554901802 24828354 979479600 855608986 467728166 279132728 130558260 347386148 625079800 295970766 273489612 29345038 117913534 62803176 987659842 212831600 364545394 598557448 532406552 972030842 439761292 304018758 764372322 995184708 981601938 213095136 837985808 9252134 985102742 874895524 548150278 817632840 880863580 837405938 39030746 750780214 387436632 32547042 945124382 235989162 211427074 157945032 991984920 985705758 737375212 351651384 137332876 440499286 468648502 657495556 98569056 900323374 42088250 548391874 718407338 391069496 630242388 68044636 245283106 104130924 635129850 834147972 487863060 866092020 3258558 313598996 561319672 362528226 915554612 605180622 481913456 259353784 559273712 599546644 340104338 335157266 877642656 397909694 608349218 685366690 531381798 487311954 606763530 918829090 973997904 504765616 112761506 381535410 55747302 983483520 177340726 743292006 36839884 896157104 330543172 51174666 695592398 356494610 547049374 322591036 760666952 379227580 926434726 979184574 209576230 169231072 446246806 59138918 891917210 713698838 144481298 578355996 985277682 117656906 759916684 557422762 620699850 367130550 700474476 373524946 532460592 189729602 576140052 214541228 422742810 73306570 764447220 284679114 905017000 237394566 662653134 321778822 339742460 926090388 409159748 778720396 669326982 260620576 459759412 547290886 758913256 466986196 507293628 46438060 92591566 461408544 179416260 487361664 138919278 252497840 349647000 144832936 884436926 7310300 494442138 118232584 728598600 677537760 320860322 507639790 732987724 728256508 249589650 464558118 100913306 357234254 14223632 254665778 700976646 713338046 109663680 804869918 137031998 382726034 310610494 370118808 701336262 555435222 42406404 153048926 753725922 805400180 610428378 116256888 159563056 773208614 544234256 487979228 852962142 562685312 370473752 757574850 396127428 654763188 190584542 792629350 538530806 642726984 597381178 367466294 157881592 508390690 680406020 710085930 414482690 301689840 22466900 921222226 226918524 676138874 346374762 842885988 536445702 61028712 358676704 869278080 507800236 714866002 153847374 136924156 852889840 486988994 720259900 490765816 66600924 543941590 563645702 224987000 26977338 865898112 542760178 725449476 525674332 206698540 151872084 265292104 897457354 226618760 111352416 571468626 631816986 185621908 373131252 878207484 809280114 183734880 590777796 398554070 285028798 944903118 253151494 65526932 221048412 616294492 256664096 831739140 574207660 675159444 104792036 533242892 17956016 265230344 242830896 869101114 738053056 458056306 367840886 999333668 675924138 733947768 372459624 283151480 617757034 526918818 922726034 714802818 854743090 336719956 420491264 853243330 78396716 633209712 63728170 880497078 458723816 480958576 691679656 555465244 47229136 554427750 241465066 251017260 716185206 815994050 835501512 958718936 878363456 448308458 522903124 279805492 842471130 594422798 19142338 127308142 831126274 229790514 371821552 270039874 658267046 720717874 264176988 181999280 266097866 538908324 18720660 860406262 337460124 1093646 429683282 244832750 29045626 401943878 186872686 835683866 871081470 638429774 230247912 282332468 488543678 336232324 670411964 66492722 713379504 981109934 544313038 815423154 956860180 873192852 133348018 168814844 45268994 527358716 484455354 71728016 406917692 443309460 175704144 216504250 730839766 322577200 116077008 737698512 333709830 178836230 931720378 608430176 434890180 469498282 156401340 118767276 610786732 577723516 284157994 833220824 676988370 72448658 298774656 980558214 998030276 382918580 361689636 985491958 561945434 576432726 592997628 805214630 600484394 57083658 81750256 663081722 832348066 421490472 519593504 251598796 180127504 283151730 369224066 655137190 551801570 1078294 685111502 70154272 280813328 577405288 167738836 172096128 976127374 102143620 517017282 77440492 181214004 702218252 675883276 579809156 656112818 797536976 201232976 743947260 310725748 437746734 662159572 774481488 980600880 924657972 385890878 249511256 361501230 41451464 716564582 450475522 465935372 204610378 91212414 521481176 220536380 261157950 149651084 827334228 821534750 3898266 709128122 216576210 177109362 249653556 768025488 314388110 794751218 146081760 109066492 678898810 855933302 673188294 416689426 90610298 322131544 731650004 479485396 968078888 52535684 95699900 133639870 331155966 442566030 610321150 868340882 135407148 116607590 130657062 385745362 751246320 328219420 687628076 680035602 188838628 849881324 828560988 554100466 357876824 392896810 89395908 29848704 449445890 931454278 364953854 902679660 90365858 395681804 199519296 518926290 443583410 204618924 359711534 73950710 251932526 704682480 37473918 264410958 596796042 846136990 368957888 417931404 979950180 36579732 253887008 901761470 589335282 710337358 808840684 254103866 14438052 505650232 195757818 422416236 478478402 31864942 693263584 808290800 141125184 597555670 404794340 420349506 121165248 664803844 427791900 408103554 947076808 362859948 800930166 982862268 592353076 44409240 362562496 279200022 183095846 434241524 853462734 166373854 267531268 777252206 249052402 279327592 469720338 620974204 372740712 744344500 886567862 568055752 856520104 367738956 786041758 761451698 352603276 107568902 992775308 798820928 663091186 412593122 475842718 946212980 834485660 505502168 840139874 514931028 775751158 815871364 6521564 106697894 601622118 749794986 292999060 37096022 606487518 45336462 969052382 753120682 267727874 391778820 698591604 515142262 191112832 66148994 965410438 281642270 159765112 481659482 636118216 881936264 279269876 127960050 116793692 134834152 429903030 723769302 871778032 536282080 822795428 489758008 474873324 460768278 301611568 812806302 927585576 26616784 317876622 242837178 905588638 180642880 475588800 114992448 823900160 341034474 964111586 13109058 71403740 635926322 719847288 673877046 984219052 820837450 360961520 264483468 974334874 286288440 785783186 179995730 774888422 956198490 90341576 117031240 211855104 228424046 608756532 851931900 93234728 571310806 105948722 91389504 994045010 967451690 586008612 451373112 539005964 610573396 707797202 114468694 366869844 489150784 94701288 392543766 526671938 228527500 2317952 29377578 85672660 964336944 205209496 611392548 902632052 441544138 304873034 10464728 94796358 451112858 852835002 696930848 850999048 617859168 448160450 792509134 27681174 119539686 360495090 917337482 909069162 962062662 244916000 628127290 890868780 685202216 471367782 208730886 111969840 896356752 895654872 782630198 350134296 270092134 600260918 778881938 686718118 771921080 45793358 764169102 145832946 952915158 640817560 806241146 83588508 130715628 238535074 423369722 574080040 253143674 797271978 575318630 945704904 917755494 211726180 835853438 434641976 304659952 748367464 74366948 100790896 840341618 248447456 318039084 120365532 147097994 784341416 912209624 35168684 133415324 775847912 593268744 283253826 318315912 354359466 867198662 875508988 573451202 491046506 304721748 775904430 203214468 724904016 742952398 83254780 755273758 807187830 537421942 368246324 49289250 964322992 182385186 12304766 299385706 659051682 293312954 879702266 383415952 430532814 442581676 342759828 149247958 970824830 857771060 438419490 332598022 606018488 10485016 856114440 607908972 126541934 925263656 219993130 689214756 990179894 248872634 689779906 41446522 642400746 893655818 581082760 547454484 428316140 127458006 872798100 23119218 924399458 98677716 828909520 833615010 166491120 252437822 623733128 219389236 707148246 853989054 978039328 478979950 854964810 559546636 651824114 501375950 500715270 995690600 143724300 107916744 954958104 365541118 681521230 98122370 395693142 34635656 19360642 898823676 869767374 197961566 818206552 353210104 167667928 701501550 427458216 479831184 657882984 883950508 390329846 978838984 221302486 193398420 110843714 475788324 244689082 503813970 233633366 757263114 684185194 239648594 768962540 372516622 780829068 159144088 535965332 31841276 280569232 790763230 802036880 144180980 553323072 455714194 718804706 129713218 303800028 289163610 331356012 827074240 613326182 310842014 561858850 365364114 670741898 484759616 199976940 356977550 558792910 668926454 722516724 787914402 473196686 736952948 195136092 736101320 816076578 677048036 285700986 52540772 952745914 461182244 391989276 119229482 189892364 234291392 108713470 333740922 46862066 569612794 881732434 506259502 19120142 192751782 911413614 93248974 892842114 732632816 318869414 79287214 742732836 913887250 795912218 777847628 893342630 922986804 601276950 485750794 66761758 3754682 231304028 174158496 305075724 961459938 742624750 60498582 801680324 895976782 47338780 614415974 445549066 769516236 978924322 410159302 679335416 419222060 224794152 777912418 3504546 102590000 594299706 596209084 787532058 957019720 677452312 44787290 254039696 260988894 360647662 437519388 691474964 213701940 81716106 860313728 394241354 394574732 414267082 174165004 525434360 501299780 836246708 475608434 717225726 924077538 55883006 211250816 141403478 155620882 718648854 152980800 151648974 464742088 549634450 818330336 275370166 366771738 499673894 203670400 441711588 57124192 773742518 509642434 993879582 819720398 187079356 516465564 73373276 549689708 122183960 818476352 685921766 112146798 709379532 78953028 496356052 947264020 355772526 657878892 646000834 650086922 611826528 798215610 455804700 117270662 983039398 307904280 894909860 764974476 708273268 764428080 557646950 391543010 436956290 658252114 51464844 140358338 876548266 151064374 914285602 148258828 705868548 752462574 518180054 698047696 940338372 40178504 775750814 187262096 203463832 754117234 739352634 808319624 756150516 3400648 817576654 592914340 468252798 54865700 544058228 666352676 319119624 291532736 588484926 108862208 749847900 137297864 122613658 524694638 96731088 492501618 384160022 334153862 403096062 513698658 249641080 33680272 39443858 929850058 854816218 255183868 781060262 648230560 339240612 432341242 549945278 20407390 864789156 193984704 496339622 741678350 443874640 795855754 198010372 800158622 475890242 91398844 286173854 545656674 257791566 570463708 164025730 231549350 594465058 630600896 130397548 954091840 478112852 651024994 814566516 358868418 337680940 909591840 851137526 3145518 511705980 584748616 419610414 815103780 322123574 498671700 419293412 383255436 706183018 419229532 723291342 553625900 392443322 532539200 941142736 36997284 739377636 693136898 218733308 131757402 716482744 504479976 625793434 525636972 286666740 668978662 460980928 845503290 101102626 405155326 887548956 889371496 480177820 49024850 546725414 889696376 370880074 224544962 765107120 907771178 572563358 230624118 981938156 385388484 833067154 168292064 627330060 327304048 673195564 936346726 137605426 280539466 491385142 750890884 784052946 74975040 887256422 953953500 89141068 302311270 812544742 126737196 469596164 530679926 507288530 472241464 919900448 324392766 820088230 456700772 225149286 840355648 166291858 830271778 320781986 121269724 801840 739173536 491917544 176617690 22737850 47228946 584444924 190923718 459339178 575308650 871506386 267337372 202550056 622515466 974745832 142012046 185158826 826655848 162980296 850121116 29085826 419763338 57422454 360317024 77955190 313830284 591932550 684379278 851644196 697278802 180487790 368395232 349977226 645201676 965793792 392100520 632514070 949444070 196623690 484456080 848979450 870358856 317822194 486216736 386559564 287751262 42740058 898407214 221890812 126865010 89383226 744570694 914150502 151659828 449513480 822662378 954591254 5143846 867385532 396703312 301799764 814409524 870423636 878455022 30960986 598391052 11462692 33712710 36537558 682424572 539488150 918778122 813065676 804817730 472207634 369289916 694132494 449928254 417560990 954954174 334368408 96296278 682335220 494651568 694003698 442754856 721711274 362016060 320171868 678673126 810213802 771329014 981134574 825206062 139679688 115086746 558414854 271194772 553634308 680236750 27833936 317224858 327734108 964833844 977874896 927070850 711149942 675325732 652583410 341442684 644180082 5473558 554244354 603838824 791945124 214690906 763251130 582681612 686720084 638085262 16963666 497853294 320236216 116269152 600855164 344902192 6723144 235647588 885563740 591625304 319432608 474742356 984199704 593493536 50742916 584593542 582663676 234163428 560908088 749538890 139630108 41415106 54021584 760971326 443639420 851907612 85488250 256089514 169255840 150064336 810650106 278134180 692897022 231053804 542917426 643749806 840718174 407296742 738117910 309599602 17666366 724953744 123974160 459085706 970765826 703416450 457499484 374349448 85939882 986089310 758801660 498288470 101185276 594609104 387423146 765625984 117969884 746986960 915387766 73896806 485307080 878572078 975114652 49969442 496771918 36312980 580679592 329315764 41413048 628561312 595089524 59344902 978493892 410511014 217420438 756979234 48192420 367329478 96160544 828771654 480335438 772476558 792904578 53958818 519408296 121568088 731925154 943399304 586113746 518382756 511358224 380326160 387660766 231573460 910706522 493401774 102440210 338528496 167127718 915812718 829502414 285728658 750593394 420785542 592929270 333794676 855538310 812295620 223938282 330585818 156346392 2059616 530493096 572542566 675674308 1606024 637341494 468495088 984519948 828547578 525478172 902928128 133368732 309416914 87973856 557944048 698229886 409195532 11509998 649048974 14748202 763846072 843151788 28754634 494491314 213589986 578529458 265837040 208111800 229963036 718775208 421604914 11073840 43874624 300571488 8201454 501209440 162640544 165804676 606559240 397439648 517839072 611425164 116337532 360565656 68476988 541959792 596152376 886212574 573620392 645418744 306769592 532908516 79406698 80421566 579610306 27630052 399478050 628305742 621733804 922949944 20821734 720624406 412352896 245469808 178549356 298030584 425770990 291541616 520708762 575922210 659077920 382579920 638106052 776577102 3055406 483078562 159624440 662367246 597304270 371534218 131205630 698777790 34764438 425409778 514475730 182168236 244816838 83635866 541949036 72562732 834666986 255848172 964563074 690657234 506698672 810390676 477769154 69027598 294092186 264139462 551535886 966520924 217733190 482823130 919065952 253166688 579980974 628637574 228663202 170261822 553164372 267084536 583262310 180805318 624502550 811999202 633493070 569798058 800959418 626797852 184878442 134995276 282818578 220072114 321531084 101661700 641628870 92816252 523817464 991110578 88803108 79619322 694967772 647920848 878108532 20438648 39977704 78008570 607122828 290474192 650821730 380375514 441606196 247242472 996309716 316925086 842988194 128781542 340645574 556945638 26880010 416398946 794974168 601080076 437655958 939962530 801065998 687263624 830591744 192458784 48840136 796535562 580574040 442506452 7017348 627842850 931113668 226523414 325452556 104180196 899304336 677582204 17525596 598548694 551412838 362842838 484336886 928186040 49086070 729781720 285268070 680472770 402769428 968142442 361922826 889844724 487986682 973735736 53850184 68314760 431949050 831945548 630853932 757461662 9134954 798597558 360029854 125214608 661772506 472784244 980424000 527745216 997201394 672341746 316529402 194155302 938265350 7259166 550646004 7979648 581295706 407960002 492846528 976546316 368389584 186373848 184822500 724624022 589210998 829393852 991343548 357393740 880633534 422889534 813061028 35951620 235415784 519103982 254940664 707080328 832203578 843806850 614735944 120983948 512394846 148017146 423148040 990992212 51818404 591087550 655881886 912943688 147755212 479502714 838309908 333388856 717212744 143273484 821326946 803410186 897712774 596623520 782296152 173507786 544170724 429911756 317713368 489770622 512061122 608754776 102436594 368495568 239179314 336075086 907835856 318382276 532771088 345092934 420671396 666679812 876308484 791159796 434791748 88879726 771187224 872436274 411980140 228019636 16949098 676221306 726972218 645019740 690299012 997855142 284161996 268345446 702096472 557607636 571033886 596851534 181730764 289264744 416703938 292134634 975556890 66042860 714650996 57360602 180206792 756954502 168403754 573274578 397418188 499197778 823520192 434973492 907026090 862503954 3604494 769906948 948900400 559491020 956560798 478899364 133537556 555310612 877306282 328346032 766175842 303085106 180040124 248259224 927664580 255691746 638562156 346897368 148048876 410179862 649285478 63789818 470393166 949052584 16673966 592603354 174701616 470151436 899066660 123813636 46189266 49801524 691949106 700668322 627520450 492022440 628077670 512098702 242985252 155146540 313037232 607504964 897717520 879387798 218622704 926697720 823074946 750966198 822367312 5633970 180334452 875056850 530393162 124537438 802045904 413914794 521981006 334178254 107119602 244371944 844275068 320891920 440702990 471956336 897014192 672377726 88968830 762271030 593405336 567128236 238001604 6057598 69857106 749101044 153619980 847519214 46543494 815438652 974213108 969354526 560112868 56384058 732451086 842795900 276650898 746097976 590991938 201794302 168556766 907440900 551041452 837630088 52928424 765779202 254727914 938136716 616441726 129047968 362911304 525733896 163105166 995746280 209713270 480068188 512686256 986684614 344622598 820410256 676510146 452690666 615629906 115518738 541155560 335773626 793367430 925977738 950712588 14708994 136681694 389461768 947416708 9792920 605729984 196344484 239166696 741479652 537944830 15053476 25984874 304101574 246055384 487363216 748557274 889187578 470785120 395433238 973049684 553374746 43162994 974047706 575610382 605873028 898254338 836555018 458752314 223433906 745387164 63599914 904536460 862479968 865868302 864783508 264344510 488301838 582435124 740493794 884755984 35003018 973067524 690038614 952664478 86383262 970437922 277381440 501557876 805528448 883888090 469116270 316001782 731553328 974683178 534621566 216714408 728551954 223497032 300711164 732091452 182153128 359942710 191948230 558285918 587427742 988581526 49555354 194645248 807127866 785128322 222357726 339859834 911177480 239636060 249256394 17210840 550685852 77927792 805209334 127097872 600519126 805863500 464179274 649833920 641558534 176780956 655944572 309632424 249238258 421736350 368559890 877680604 859793874 50514874 945959450 593619074 12398882 338294192 460437256 149609390 407608776 742847362 659836800 496045894 491933910 923834944 445532648 12534956 815116182 178426856 282095364 224873192 98069332 297389166 556492850 454358652 93945812 890494840 956655758 707796826 214745502 259738464 533527412 586657700 6747174 335955444 965895648 160218880 866916272 82681726 10981240 512756230 774267856 172664694 535273944 470439244 890330082 349231398 576092924 182265188 294972594 25993674 993755698 622013200 556883510 212155912 286786930 757562254 922247658 293920150 527452972 821653632 548318546 279062872 437335282 714688646 7573070 803653210 776211418 369847564 994063748 495897744 839713158 580852320 825567908 452968948 800853016 55085500 607398804 657816156 386848612 130179592 93165894 437255848 340567480 845914050 549390790 399981078 651296452 757628286 532375750 733574514 321190284 213568504 350817132 426472122 262274736 510572374 175757058 39801514 452237400 177995352 405941256 85951610 320896984 693310326 743170416 106383078 516060932 648864180 891909676 22231960 606652704 39185096 969115060 181111884 963394644 669599380 836080900 600645882 518663094 889705718 987620644 769206198 964771370 388520488 577556410 153202608 23004970 893214268 101022762 204834606 954981196 702524344 391676330 217783902 927473604 205970536 779307548 555933698 940948088 893273660 475203838 358429376 419768744 102793622 845292030 469514278 983308256 440125424 593432040 712805798 871874994 44419708 538396084 670796764 908310212 509903734 614044970 65032142 518092988 825243400 746655270 724268524 626588238 601150558 952275544 146542670 333832436 767605848 478542826 4658656 805205466 575769374 619179546 110265998 777993044 327483246 747542264 325127594 568146832 522974594 913038438 799806314 459823328 360669208 751013028 546459414 89918336 635143656 485296466 710358508 343069506 574516026 145811734 614283444 211856506 497294314 108163036 914629440 711151360 467019904 296627346 709632216 458304630 895069798 998233080 968714876 173888544 992749476 484946126 412192152 948593120 88488236 277298278 582236856 688150158 332159374 544268544 267070930 3869438 89324098 771648240 732339764 890514994 142518432 160858044 718724810 855770124 697642882 275058440 391528072 338522940 973457188 21787504 365739326 919119186 566115690 905361730 674027618 86907940 271232514 785478594 579592668 991287028 203658338 1661680 680495336 315163290 532308336 273861564 87909366 474687102 630818694 618545898 652514134 444111658 482096098 379206506 935812528 289413382 626647442 296960956 909985468 911670322 859111710 376017328 118835508 386073966 642547592 809223298 127444310 865928028 52965592 819847192 978797684 182139342 124820920 499780300 63567744 79140944 944423154 455695570 70629324 445057062 230524774 82085158 325799184 18518092 728423442 633809774 746989722 24937420 379686428 122792192 143535116 75171342 925958964 850890258 546008344 499398758 281584482 733555690 570658936 925518834 379080424 122425440 497627720 848352782 972829740 383580774 719221960 413904444 127341100 58738728 78014056 144510360 856004482 888942402 74619638 947160616 48347960 534801420 550838428 752012576 499737046 396551770 352270240 404199058 940694680 714458210 482315558 693160080 151977236 35786008 730292392 608820096 888753224 867330726 384455354 122077886 28114400 289773752 291303142 339666090 477714764 443052814 204597306 962519588 632208926 430824680 251697010 397226544 829679600 316965240 709784204 298140264 769381364 679536502 240709496 287837730 150082578 31391230 838741140 424751852 354910730 911533764 990805272 43729798 821092962 449277184 419014132 756827328 164375834 379252210 754386190 287902312 426322466 683322470 894405058 696668124 719720588 899608612 115406104 755834474 971269410 890741698 278607306 873811240 195922208 150380412 596071640 737506746 37644922 472443450 760096722 494164082 46683560 653270160 122352882 154980768 229526508 147967138 738219656 919909154 784176740 608522904 838438850 547279128 551153250 77160896 248587738 521941596 892679410 84357292 729967328 101253230 243521548 398433580 759299684 837478336 349549506 831732562 176810334 662778104 611178792 558236316 881618252 536432786 622569370 133069488 227960502 923841992 895824998 487394378 445619058 129736798 79320472 135003390 521240266 290146318 848473936 617839192 597001684 427412922 359561710 129156866 985815406 441966000 179147066 699123570 119329804 664650264 405335766 873679088 921165568 877233440 396195444 832921622 506525204 128276390 87548616 19588034 146497002 428770366 847347874 893683002 354122048 940471834 659437126 667355576 444397494 715604008 157106370 236954940 455333432 525614374 924488254 464134356 830954950 938035262 245160144 506167952 169197320 190820572 476943758 635408826 855356328 200964910 898847124 502560204 807831646 635825426 593355704 944851382 983232104 512812684 470596286 74048530 733055282 653596508 156588500 276389494 13262564 493198802 216862178 156849772 988890718 337928542 968214548 32333172 565299692 786981116 724985292 466507458 611367014 538881070 215793528 729792590 104698910 1581212 759577802 496806604 47585830 775098672 317565366 50302656 234651556 164338000 905467480 896186332 336459146 342637066 928610820 100676622 591399390 438461458 807838238 935844848 816338740 702541584 423017088 416070056 128907636 809343274 554560906 192464452 784114516 201839406 379424918 109507474 769036490 555479800 540347476 190961716 158077536 207784868 325521204 758994336 570962366 199909548 871732482 556694438 939603784 867011200 720599282 953738668 631169946 307694878 747200008 734890532 563447008 55375536 747131020 432195614 609536502 935234548 42725082 780278266 754234584 332335634 619180358 122356654 372498032 571289028 926829082 910485924 173709960 752720942 646855154 740348466 993671056 526215358 914090362 405676342 669560816 221632812 604999554 873637464 41517774 712354538 103233652 832424686 914585652 494065020 342464866 868043712 701517602 445634336 469986436 556336666 17112484 13875568 862145568 382667434 111500752 967758348 390549200 505945600 430716814 984038446 174367044 511125850 6402494 726744928 441278210 362923854 276666156 739275234 152030858 131582538 722066930 688098966 16718794 537836546 390115840 543127658 641016556 478110828 388721836 759707004 572161140 190104452 403010430 416346436 92279728 219112574 934030050 750386298 232967544 965316684 354313992 723478100 740814766 749184134 717692504 571479894 131336774 146032712 844488014 124211894 244693878 917615888 963668586 591606272 816107506 366244420 185253788 979098040 842697710 906427276 101158632 943242544 860985308 164290446 193756984 379026428 315738166 986842820 754878938 449230092 162433684 471075356 871048966 37277134 195298382 479922972 632410458 574995552 337011490 473953116 120263246 788580466 602379656 982928530 539671502 97253914 915747680 625568138 315846194 332738884 319807728 922079302 520347662 333669616 991044260 369920244 588298980 638179080 552540874 508755628 955733866 949665310 193254348 172712980 840672668 198106702 50327052 280157686 811431442 727701128 392144970 522936836 755826424 267513768 834720244 562294040 933152006 883396894 163622872 713712462 308034146 29555164 723243062 346038970 663839034 963312216 852553426 376976142 464111158 6550058 591356860 501700028 372582678 925736848 983807394 608023856 411609320 50344242 240145068 600659304 196113866 277584856 999514146 468074376 719042268 827380462 162630702 601861040 601501104 648705360 759233508 646666000 721330862 819926520 669859150 999610508 493151896 410140250 942746274 126249084 465445748 335908344 40146196 747920284 457813808 712598976 779383468 968775606 459380918 485094876 702001938 731185480 607760286 382552136 416911010 200107350 672923550 17010834 16226062 210453898 429391952 329403900 6943486 965277070 373434608 902057502 460366096 688139778 851188472 446763712 829134180 730355724 451455916 128360204 19876866 56409786 824795778 724396356 914699246 57145910 384905538 331695452 331911500 219215782 39331932 598229066 169277212 415219900 393616122 924845632 803825584 358498064 394785786 404778824 45345588 859839848 404694848 216015100 837259330 15459686 24304384 62405900 588785188 880608596 886720284 581980402 776526286 557344316 954042700 344267998 386260136 336666632 520158750 462256992 56983456 971077490 84632754 835253424 627286322 169545726 588157390 695304818 551550106 359989888 425412194 491719790 738796894 851132706 178627694 919864802 222081170 475390112 72224186 747700502 776334508 470528654 677679952 873640786 302135466 820969446 259253600 450018738 146429154 947634102 318973418 869590550 440674580 868113990 635630696 686866814 623283174 808748118 847610324 371412356 359040090 883198152 819108916 402467032 448464610 987083108 414272892 113431366 887875518 248619462 598556060 880861916 141421716 640612306 109323298 430379022 631430344 674077578 515319494 812477794 246066382 98133846 381210884 936148964 673540238 900573638 660639648 197689864 753217706 799175418 738792450 891215142 521197126 879650240 128877292 780833360 546559132 684017344 838949216 77686096 52021190 594385546 924683894 622074772 590148626 522739646 970792688 731593032 113878068 80052572 110784550 805498116 736096348 327210886 461326856 397880382 360719510 981211256 153588684 186855718 705508572 970727232 316675366 27187006 424636488 380107440 819970832 771637800 132594282 300627726 954320412 823097038 388183252 974332494 619345266 512296546 240503122 955872170 406885308 431793592 907741424 192095594 547931914 543449662 62095448 676438862 830529224 775475322 854861262 241482338 87614582 804152946 376555150 508221272 16586652 220342300 509801186 250234498 521241734 983902960 188152672 369629878 94757318 747728234 698340426 79994556 847934090 562986234 72040870 203979808 462371822 15692602 820317924 869072648 842351014 415808184 523030860 146335518 919052900 858170038 330685016 465748256 789866382 438634988 679651328 163590464 364042506 604823868 916976580 598261344 651560332 252296014 678824084 26717752 132336316 551880960 988189854 728821528 958958172 622346078 703150700 658904142 773285836 159798426 67047440 478886408 398231760 90647574 54161576 69552808 956476056 641254212 214686210 828204974 248283726 125562950 717961042 545336790 671610506 311639516 237866104 623243920 508856270 174790734 750651228 29588618 453621458 670455454 321408410 878286600 813684008 929901262 663434010 3207870 859294584 339541932 41766488 214796680 251908380 161207050 336779392 777830750 669364520 994202192 947920880 248186152 727338114 985976138 500840776 776234770 764212174 532836390 885541382 353305234 929301034 626348434 720673678 178251506 338271498 704864090 734846086 368523752 944965062 232887614 628997792 845147184 64842406 405598048 310470696 519395968 387888120 381944360 280928972 187819814 596706612 964471744 378759954 795928566 871096276 718818848 899994876 315256390 465447402 682319214 273647266 842894108 486233548 720021362 579836472 112502604 5806798 300899454 691368490 317925826 902356504 746438024 798436580 934212884 233011664 375339688 186229952 205590788 281066048 733814930 674443312 398049956 22212358 55227732 137360328 221191824 84306590 367486244 541208648 604534054 704387248 607130830 991012784 509607410 423313212 162516210 792924298 122641246 976652476 663737534 409574280 655243614 37829068 684494218 395272640 383672668 188638580 66038884 701199058 268890824 479900900 206485340 764536926 969800202 15777816 702457468 600789880 740514018 694435984 831608994 975229894 992252630 234459252 958808752 831656072 927936020 656012390 173617130 80212470 606864714 492019734 106736488 656718250 927614012 20012484 779258654 638331176 864360432 944645252 638560640 622267378 194812074 933903628 547648374 121567576 85427142 821717984 622679212 475942938 390420884 874728716 842043542 159707362 677699418 312610936 999058976 680225632 118124816 838770390 37088394 530687306 42195604 771346444 972630496 111191848 227254564 433487508 535457890 621482852 476126724 461803898 195707050 960312468 21020020 956209552 372211868 492506006 783366186 878479328 268305708 40729752 38325010 635020618 264212354 844798536 796461514 630827416 389824498 11044174 297654308 219379782 872991262 157959594 858494624 116798324 776137866 622391194 376793936 689718774 783141496 461523514 882654498 245476434 590964346 14424866 537526248 610040414 137351268 491965010 609615500 202414026 83345334 582563708 448659248 532165590 309842968 434504358 576014114 409818960 174369684 547812362 383316850 109653158 708536452 623077412 992769972 804418472 414908518 836740814 708860326 600407102 205915920 241619624 228777866 265006128 213268850 131015728 96299718 200143652 475342042 270757360 962621684 414045102 669012016 961754326 786931348 886587360 371269342 799906296 798220210 685818364 413960770 938063214 821600400 913126064 873098686 529574312 936506732 258613342 947934990 529640398 602503800 566580786 349677108 169928522 628483678 787789930 414263780 267991448 741478574 694111496 508692832 110729598 582458352 319273792 30779810 431484698 462213806 883113532 919300754 530908614 976670676 459054124 886062404 866705592 149738246 602276378 356144896 766885870 155975316 26976246 810958594 707350798 78456812 660886444 850663390 569496104 957146670 717382086 405043590 810740860 527919952 424358572 443843148 420295354 930568860 135171736 99272580 105009230 405460982 728553818 434302360 321846170 27628356 335827604 378843594 877584726 131045578 739674606 92948298 899499154 527874470 629891910 165157178 206671896 355214390 639175782 935249560 832578154 683799560 534772974 766500802 914760244 795840060 92822980 48601858 245595168 413891680 101857438 983871196 509993944 124631234 273993910 773102982 832819120 405687750 525692126 843213980 326814346 344544396 794991896 958319502 403162756 77697772 359949430 557473702 59787840 229568422 866772986 746872916 524610372 411420194 154348588 567619928 286783510 239509954 260311612 881647786 207056262 977235400 436411918 265771756 772826406 553280806 664019116 935676394 744137460 432544552 417733270 556006760 800824426 157994740 530347438 468938602 843497922 713463626 651496624 811276358 107320886 604112676 692164618 157019568 496647114 853629924 630514542 540515590 200431836 550280626 372953048 118966114 212173406 193403206 806566338 569066874 173226756 392761708 774680356 929976388 512543150 388881016 211456920 146931364 63140706 60842212 698806698 551348746 28534636 343478066 129907016 361805734 132709714 911551422 199950418 217234100 265395894 52777236 83640350 163285458 630529670 103788556 38910564 215166160 216658118 204565770 468945522 924372652 797596540 469754138 919597368 5563006 881588330 656713636 749746908 603638946 5487464 485955162 85460314 86170820 89033524 336094224 577621406 677796020 876682094 828626294 544946748 384629924 79787828 400410458 14181918 572089124 891452062 635743862 289489866 556601184 726681190 362733912 152550232 394695580 617767500 109133478 652121790 292700086 447247732 804725908 241802884 805519656 688668336 929939912 574307334 834214446 446694062 345627528 566796846 627591276 189197090 268607718 935604330 403622160 923709814 449754658 160734994 565098948 727666314 488401346 827276948 52701380 143403904 59153132 776194764 50745910 543675242 741356726 866035840 68744578 152826944 969458762 547843714 583553736 96236006 937183278 772716118 167114484 721159890 125301008 431900830 911507176 859589834 167300526 156627482 871518602 551905874 109500964 61917712 424623076 401731114 867636686 638337678 267049882 282784416 946064284 312331396 153976094 765067276 769068856 382989150 980626082 233971098 252419492 123594964 468835038 515453592 73061648 891885740 271600466 231282052 914519940 329989540 776945184 915619894 214670100 357052684 793277226 137429526 565583932 521922536 688495416 168422408 957510520 902369032 339879066 704639066 110366634 576566728 765603116 786612810 437448496 700011612 484552766 715937854 199561400 723704256 680343370 117647742 465155036 594950436 202920546 818450340 63301372 991752440 316753368 922654970 426121742 983203974 487177742 59785094 727502784 709641764 132410048 343074678 936407938 837459546 160826934 68049472 567255076 21501330 359370164 903611686 180864456 765466020 908279520 237710378 163535708 239022224 390739924 933563296 24216226 857783174 97757502 492868730 717635758 556053004 587853362 583484156 536140182 334210642 797404560 4125852 11909948 716226802 596096794 10361640 459987564 544443666 887920614 813609638 789162984 146849810 553558600 897023606 502451936 270627214 461090648 648143476 318320196 880068068 584910558 815206604 149784112 222706844 876560830 162785438 123806950 134551472 429550988 528563100 767002048 115566322 729935742 106769058 821695348 994294264 948091746 279059360 170476470 652135146 308848574 939638994 986767134 133069086 741313520 348965680 79248414 688593966 699580808 463785536 167993318 645925490 584532550 262000088 749531824 409443802 408500492 32424338 533209476 885088326 217966132 117448286 935339630 231395490 485527488 635682148 94920134 500961202 278203902 563197676 94435282 383230992 145217848 289834032 308861230 565348592 701760040 230535120 830285628 160261402 377426308 276508866 796601606 29752028 976602692 770939152 348392854 265968190 849601898 860082160 205903612 554555260 918998186 748992008 676787044 472013486 976801354 50229846 799370884 204942052 895048742 253441318 724423806 414271114 652668994 551030936 454524110 369513476 134133598 66012744 515464836 875407414 251246660 399847412 52052390 533543280 800601324 803029536 513515902 513456416 160885498 529376516 978029966 497493022 18166488 524587818 644551332 314839570 944902710 140271932 643798678 955613328 724865286 667078040 552277086 522830302 519526604 477154312 478397798 273055558 134895318 388778690 103829756 245740854 169218608 706350354 469005820 158916010 161056346 995255392 189128524 295720636 709460998 561385014 140280954 530154630 411270434 363026346 758488326 488967290 520362294 923605028 17395722 226859382 115804500 236088 486663696 250044776 425233866 325620358 231633088 912259176 493019568 785204184 508536700 830054238 686327936 225957550 523336338 327479084 603223040 517424180 878461322 147802800 510602478 238876908 809976220 458041772 841074500 821858166 98720918 280828174 795688348 87335308 701305138 825925704 767707410 935697754 665104166 721120764 789802968 111954694 160614958 790575492 763596552 828523472 36123606 912878672 280161066 211184604 199744920 378169206 537132292 62585154 388406240 729736018 692747736 561280682 980756770 717335718 860047112 437987152 610648616 120513900 879967546 955888992 575536748 144109268 220429432 423894222 33250682 978791732 657131072 991409932 971551716 491444820 584871666 309147420 450549464 616058410 290454330 163127606 500262456 851818940 580507348 425423850 42109868 854112118 928089194 956485610 925329514 792549300 874544154 169637046 854137564 558370656 181703490 963054186 310819010 332556802 945923814 216546400 940085286 926816616 351859444 941212792 756175798 103615898 166372134 392179018 825976146 918140252 216465576 596467208 759914050 446520092 813683338 654985910 785734864 73320814 658730496 198858356 793415606 213237608 460733668 283105082 17628384 553234304 187353146 678964904 386707032 713166498 224879552 759054182 818166718 108359460 713781278 328603484 72950902 984316410 367103616 792941352 77752794 937170772 77329362 378759574 942590090 471320432 497732402 496976698 988623182 261610890 586250942 193123270 262255054 730713264 235462750 441542744 855841972 720901290 127749554 45394112 461231010 423425210 299872320 616930804 848813380 35707286 285661926 432871448 774101826 800988062 205428654 901730052 282726518 973931470 827646348 475782606 811698368 976997616 322830594 116761874 247198624 956663290 645914114 605303264 154212898 182850166 191840096 776037260 890309194 194734542 447497522 946804060 827644782 154285516 756753012 190687552 464845666 747100130 466066706 943409960 10554958 713169060 149895566 114780780 360936948 580009748 343214086 810776714 371047340 845558840 775291150 282895694 459684502 867479586 105824760 690374456 414259194 23984570 741325552 972027660 724378988 624280350 635795618 155885706 610757668 5541262 721573024 203335600 553011898 605487838 22062542 948696820 789185500 394571338 774129076 842897828 731819594 954219880 351794350 81869800 620974182 923379440 353168326 193140198 72834676 147480270 383019998 173061044 784454758 782018142 417697658 739711128 840235276 965305544 818821522 53809132 605173254 896729244 903986134 319075488 360243414 384227218 456772012 787534776 277938926 644686282 527709402 195607452 311864484 286738476 195200368 636787932 325619506 672062014 143828980 796182336 434809638 972961966 697703784 786320248 943736474 842360992 180008482 499040242 793009396 945943270 81615468 878621834 283105440 289087792 697978554 341045308 185048018 881510952 526533658 864715606 979494014 560062066 913106648 143132020 766722820 328842044 514398064 606244454 657660956 755414750 381730970 418126096 724433432 101177528 691905030 7125012 610032328 872271634 340194728 49656394 100388280 310569886 836822036 50319758 369657986 716770182 858979754 347866030 397837396 411671510 816900394 328943948 959576164 931183116 710399634 47197778 912962324 344540936 897520948 262888746 513842150 863627144 299965262 307853188 963989144 435417258 294250370 586302362 289639152 800139164 978010952 694527568 293808644 526887448 140021000 838541466 370006436 285159668 661472068 709155778 110568770 64330262 849463684 985280572 64394756 139193000 171774170 711030634 860289486 226477210 701066238 345846556 293123270 857419884 104652318 221834794 163202074 111956132 371385366 240541772 962719658 443538208 77085044 844084882 465890628 328471570 477181058 950598432 616394468 531152226 841738684 842678886 87187888 908625638 840085886 479326850 511059596 252592922 731063914 339887144 843028130 723623020 79399976 112664458 359316132 265245184 537314502 625223744 286166922 799497886 959038332 662283706 429167428 80810404 448206026 168435520 572069944 926020584 775621802 859088610 898334436 397333844 105981160 181897902 987735368 912281686 849498742 396089866 933795656 661005368 546662642 444528090 871280200 728401132 255604970 14358092 786471720 576636778 487169346 79233156 29039904 849867622 34337222 948768738 948235610 907896700 126828780 414131556 677266594 497211746 776359476 471506728 467923336 76793364 617133716 840531372 178406518 343269304 319986142 179113680 803136852 522380534 334054730 575428016 257451522 243518038 186788830 493314694 867383556 275552 812273280 567312218 574333670 472372288 726631666 644689180 103767806 963104664 572426320 961989634 492171850 979238434 742793996 953107236 216203606 967641894 832050096 854660308 534339228 673404864 783154140 494397634 424178532 328869112 277112434 105937052 787362382 969265420 731913292 991598578 635331666 71209664 267778984 321165386 954085356 491991760 583549228 550634462 132634520 252777494 714902634 812988474 951080254 36622592 945033102 751794398 180551828 921338458 481473262 866943802 155572504 969270944 694700744 732909628 388534318 128291214 963645002 12358740 331957278 263800674 547569164 417690386 749888274 864853858 372947428 576651392 657045358 672939456 920006270 167161586 842655700 612358402 16340086 937644170 149595428 158704748 743203794 241386732 475373436 407747730 181484732 78971854 534031450 420606576 640113196 712491052 927868390 916692560 770506704 687780982 909115022 443372620 711739342 560399292 88646566 599750956 920693256 588318222 546922958 522721698 586336932 329923902 129552990 231384502 591584950 537972184 339080064 697441240 951464732 130091306 573753894 373058116 996856284 19154954 376692320 145752010 610172254 508855436 791387640 22118730 290207410 47035278 799525164 363205746 1063998 99668582 767027298 636844892 250203566 170575898 837960120 172869866 720816788 612061184 504464692 981496134 324780428 105598972 305096240 712946298 991302478 711266686 654771404 964105014 447094762 733919660 704676672 266199246 454409552 48192920 31191136 975127570 913453714 800649254 770803446 377645336 672721008 513643264 944733822 895820384 377087000 874536774 311264126 237785376 427878430 783917842 977189090 53409142 547123736 742697512 282953310 840066588 608729708 879395710 299672136 248100052 929510962 560056838 886954744 514603704 474669916 571877834 849093166 872905622 790908534 728934616 943514198 107463528 555269310 175243566 273187956 634920348 246334700 818358018 196280060 39740346 221494398 29011158 805249022 791184838 267471444 792469662 377828594 780737488 189886788 159298844 630738566 678183002 453387906 695313506 706676530 401342074 330314506 261836260 178257742 747707796 470517828 385662906 289256304 983386448 479437468 903952778 873207646 99846404 434840122 419159504 432991762 509402946 674817600 603276558 830974912 807742454 363180562 561500492 717064060 48151920 4429220 353721936 912094 650845702 442446004 424580808 697150098 127476816 397128306 405072630 130696770 422035246 251771694 727433208 248925552 572665768 272771774 145480764 188049600 79932750 654213984 769526542 340762016 597259904 988647846 777065352 910459798 481142470 626386012 765912768 596316496 184562166 225136162 747960144 174341752 938720906 405265922 43671688 881781234 950841084 920283318 369545198 752221152 727874946 33569432 65108006 311796660 791442552 514722286 392228784 956628272 758667686 58708648 465623038 884992154 759617812 974287064 768360510 147581312 333058294 413453304 848114566 98799152 49515028 164745254 364944186 564261056 653612918 610618674 247814196 973956878 601075940 932511550 238315528 164986154 844605652 997549964 890613960 717459590 395718106 849348976 46988916 915264432 849061574 862105380 336880038 161634384 591575226 146143548 522469054 511472472 580429164 425618852 609375578 364421564 800904838 144267082 766351480 547537646 556296812 580383948 930345548 570824508 885141964 630711766 636223836 254551638 588222280 332967252 543395990 429497048 584125372 705550746 398486460 279842710 902195996 930620526 241345822 826156714 486340576 272769978 360256066 449939960 805195476 722639752 728195736 675976160 472378332 111310238 507219466 489333892 103223024 181498202 810048190 427932222 46986926 57373692 179710610 536362976 705467510 924479354 157529812 812991080 736659842 322111892 905885266 914505102 986658022 805399512 854347976 209670276 289956068 361677224 354324304 461066616 575936476 858713888 48613020 938816406 856098440 308868712 943609350 757475558 223261528 114414344 864136734 913873406 928134962 509947834 707004732 15543958 412910194 829263800 679267860 437561888 153545822 397946322 615064664 627386694 233838176 646514870 56142788 101080080 991284710 331268050 466215706 813836226 352844360 773140042 197445230 506178128 959253466 297159752 511808868 240851794 155962062 279020332 64894506 545792110 678446132 70975620 451880620 330026086 66285322 561293880 963351964 980611934 453886754 891406504 153955076 464392784 703786510 18711462 295042006 781632318 701615624 208283194 23558110 62856458 374415174 661184806 532517200 498646286 895467460 552426444 672090914 332530720 820597606 322656328 472579890 567017358 580812898 81204604 549910832 807774612 298153602 432359122 693780060 714400648 860691748 922475660 207788464 276811144 90721966 190100338 315142824 645343732 379508086 856614650 335222996 306226596 55578328 81562904 586585966 774488486 613769888 635297776 606628252 3237012 226795342 869938418 465802234 465004642 920037104 787936396 448971984 693007852 695888010 369396632 563792816 927144410 220129630 986600758 121932466 188405754 82043860 344023230 880973842 930690052 47145638 102673006 740842924 428341474 366032884 445813856 355648568 963556028 324571064 309541046 448233946 920562356 108633320 884353936 661111594 29020420 621104636 809495294 652830086 556609030 95356822 479155128 279730400 817791934 946474876 596019422 550457426 338439632 787776766 359890550 617203428 568866834 879377214 77981066 373075432 267845830 840063488 873834338 990627282 736288368 27010796 820306326 871069534 197561634 938582000 764084254 919731068 846331802 946839734 693662844 510458798 454454768 164224922 102275072 554597256 344753528 342126568 294065860 54511874 392542898 891137640 866928454 637090424 23268360 990348026 217363642 698181922 277056228 998651004 807754506 32985776 52340418 213676192 350281590 518912526 823739554 599135856 750052356 567327524 292000232 667140750 101310134 900651236 70095828 152154482 873786010 15723618 548305756 974371520 789653190 755348220 483168710 529726464 284372124 118649320 192534092 377528498 303454168 210400730 282214734 543616310 117908308 146000746 881332774 325287616 870307888 933267268 726933026 27785950 885650752 330759122 454794378 43710196 64651386 541288050 805194762 811508952 910603686 886554112 934469692 219046800 682409682 772486852 869661438 643526478 857064998 117428840 440637318 712803794 905618976 428459690 203978324 365206882 556498440 602326056 984534066 385431692 575876624 604914062 314182234 794550248 148140624 693940928 644255744 751530442 832889616 772238430 45196310 875677188 606974190 26216230 198834414 51826892 568585916 653098276 308435832 816508404 562235080 100996736 491285034 433608926 47161608 541986950 745593798 308611324 584824284 280901532 670468208 656868272 691876456 191189744 555364788 36699852 981334422 542744850 529827796 203674372 518783828 647807986 431415014 942826460 780290668 130674798 79474158 741086322 884408812 740182412 177896192 37060768 574817396 125915466 115832038 156715934 997432894 390459672 505888696 681524724 40163102 244430454 399092224 956111436 968064080 418336666 988917812 768558186 20804336 299315628 538037132 1064252 325784892 90118718 177345774 655555620 343547842 24832370 23892242 478975468 749029560 696052038 513306798 162291786 25030196 683419214 345738864 762816398 186795354 1824350 377692578 314604736 484457788 146083010 905788516 794558510 273272808 755300932 683066386 57163948 159619914 111037096 254581866 384459946 416152338 575950154 152235680 900612214 418395642 712389636 59502130 850639600 356131872 879158644 238917614 237725202 584593114 593501764 767984368 459216756 957052858 486261548 911265882 292680486 42420714 978196438 989870560 149004738 889262330 642472802 148954352 172442866 589520646 247807414 905186754 83542666 491276080 730853844 302507126 644277134 579964450 575354532 853072838 673739068 704901526 578406192 602159570 29493008 285370842 826747750 820613700 790248086 108030036 364267888 192771408 916335508 550694432 60266524 467352526 440466978 87363410 915630894 446884946 650892248 818107386 438111472 224636560 354379128 924846386 217615498 619205806 283375796 217678790 442050470 342367262 669289374 767991066 240776858 907885452 289245666 495998848 110760838 798981170 965014634 641449330 567627308 867622576 841401298 992442732 822504756 553848238 221608354 659076436 78456952 130120722 493715026 833004572 503044914 882845536 475319474 512304302 462276438 193132786 498226678 159478844 110922916 751229300 680577628 755544384 920371022 645518408 238382580 102630178 850868148 966970354 850239722 99066014 276431590 887631880 413070696 846038408 388223088 54089590 405415954 859007166 222313348 322549022 119109842 64266052 918124050 279134158 163857724 22723584 987518174 634038262 46480958 808990594 392066436 807282078 229930276 353146218 484281246 626805608 187658146 726497876 341952966 813090992 236946778 670742358 887288546 192184610 329529166 502090432 953878338 446738482 371337448 518847268 995898982 873020236 669705574 859729532 748074812 400699740 666922948 303540898 783404068 456916920 326901348 427572788 837381674 682258418 209346388 797330942 68184850 264260820 464824638 292975382 557252194 909751092 688293052 819658376 983759530 113212730 596671912 844692582 763958436 165912580 735931148 672252016 915434346 244497488 690880926 4593950 905783768 123153794 761121712 872024182 546662608 939842240 655345886 409675900 365484402 398214846 99278742 60840414 60668286 917362432 293009578 641640458 325332036 818261982 260090390 730466590 978176202 157335736 169983360 486216720 879340428 451342426 928041536 977961576 676491962 36779884 238671880 128883082 839327038 700607658 877886296 4532920 134519098 722894140 422940034 606569488 939170838 362255340 288788140 956707912 190434732 960457714 983411820 718033264 847008906 891230840 48457976 120924602 524906492 285750916 893784334 662431542 994059290 9293472 301623876 779131324 545177516 739557332 614970854 704979142 424630264 693679382 489936756 718394042 372161746 584997222 685930600 185083162 718609890 961261114 829473502 523043058 517181056 582800564 489381466 545823412 16753354 567973300 133986658 542943722 208039664 459625412 248224112 958357312 927601476 941625294 700179206 344219222 369779330 595214400 238685378 886903582 452970444 884530728 620013336 95817044 464892978 764106034 244371792 538903834 462743992 883982088 237770320 710497740 475031078 827880594 460927102 236334138 23284930 694177890 980191588 354432908 856363070 121607508 734033956 944613298 165025318 95521398 474893732 88621458 682195852 731281392 374384630 385444988 19469240 249232340 652873860 443274392 478620144 639942036 144701198 173797890 228641622 360486888 788759140 387654748 100161324 959549766 638584334 555102612 679622698 300046722 735050298 847030796 941293586 743583388 138885048 532793526 652113426 860641464 520790628 879262760 435614626 718285382 819130232 811606554 744957656 100632226 646593036 27846740 934240758 481808122 751873230 614449782 99289570 802312362 715153456 833154566 863695950 779509886 673268210 988283686 321767110 529552392 631820016 158976112 212006366 147977054 654994858 828634428 122860826 135266962 167691846 168412618 318572052 636404420 609371000 909107724 350891182 527665872 304771216 181817728 40373154 960102944 966369378 864148888 569659238 379316294 685436058 693121750 300751322 476167318 678259166 625174294 621478590 282483780 284023138 488023668 93637008 605855252 809592394 426323114 964612138 875693334 801845898 554952936 98036906 817646438 343576638 297156536 596232686 260066318 897426156 698938582 309493498 221110816 967846266 132029628 344483734 949580540 901879810 133211124 801650556 814942930 478778680 858326144 734813440 472772280 954357590 971551730 214619862 145392922 321659298 511519030 900829496 454877118 919194988 939946088 556167776 544118440 858463376 952805252 277902882 936451604 726357204 570637940 229307024 106668412 655789470 917549940 294600918 206540520 681745074 587589772 938109222 61299512 209843520 476608466 108349810 556465264 341327696 445638278 699777632 901926082 19560596 767348634 51568878 279718978 852115352 427983160 21912370 4931664 760072042 657729676 853793074 194772372 897420876 674134022 52201638 739987190 272265880 489971366 44192164 113055042 173810248 825799272 796422248 651685844 149223386 527626020 274537762 494059260 98008542 393059188 507049928 180751186 798168970 802308474 495352320 81819974 691361376 693290310 415555412 167787368 904654548 776577828 542088788 701556562 640882860 168563868 668240154 762883982 976578438 348045882 558740414 6855398 996448752 859271162 20761800 699946124 409980402 83806490 177875072 311236474 690755602 298851742 998741290 498037266 32328826 139349886 5346802 578538942 670631386 130931058 374127284 907104642 741236180 236804298 985962892 29724736 381780612 636935240 552731348 156258216 53494458 38992628 499708054 835088142 53032740 289025484 713963034 994655454 908937690 43751004 399980526 138006134 769352958 966697812 15290510 477174498 367487300 240269280 883112994 538011246 750525122 383124000 151523674 947684952 171898354 955927054 554520234 362953362 942057554 796126006 926297906 25576758 926540894 460651268 687411370 648077776 44926454 190434468 588612466 626424956 822470082 523113158 722518500 447237498 531983548 455775402 450977306 624049206 553964262 1637446 703430724 435747504 290769216 678960894 108111286 561022756 477722906 571507796 781753270 277294868 615384342 864573554 621451430 888296088 144683082 735244338 923227320 178138030 475405726 364141878 620073652 748488472 919169778 35345828 716469350 948788996 897944280 70166464 952483284 447035978 244135940 81464758 282048650 960386836 897133906 593285256 783580184 684380608 619809356 719208648 698155798 962812870 222186898 675786940 672383616 773217280 55539396 173543958 949811314 670737242 154004790 560907288 124912864 519387838 241374574 680959164 890529952 264587850 607563096 236734920 62781426 484804596 947600592 553247880 939875582 435640770 716356200 577020176 803751436 829732068 149749264 346154492 265219932 680904740 368795556 269679882 418290030 808089144 693770776 655478758 455537920 391230896 991991372 752183268 885641590 357298948 21215526 757990644 530238098 151828516 70032672 696155494 555499936 327438994 898346950 612031282 157443978 291189452 171662142 705306396 676781034 819252610 116048026 344269472 713602450 617551822 331250466 962308548 648238894 441952856 669021658 225915612 837285526 15292488 344408194 311185328 90953372 104266612 186734602 573960742 631646790 250131064 597328394 654762252 135983298 269035822 272879130 901478556 663690684 580820812 35556430 12490978 465312722 680886564 737850450 534569982 944858706 645010894 27374976 402055568 496050474 425246608 174621224 909177678 812375544 374488812 336509140 954399770 81070030 315387658 670433864 142110900 841415762 861911176 655554846 250131880 25510124 293966378 307823020 340829626 752433808 591515616 812742818 437698478 727694106 401401908 177361642 471723820 656976680 629488060 172457602 560465704 1783868 523211694 547038956 666929286 319545918 55155202 277879508 69759788 465483008 403387952 270672900 725628110 585240956 653670208 388033478 367039542 811554302 876581326 370945054 677709590 84077722 517610076 47568560 563332408 863154110 197165568 169798220 182677084 434334706 887877372 645920878 602008030 434245674 976631298 283232466 436337532 788715752 536472316 739018176 232617994 39522266 342329542 872356114 82137104 644332900 569782170 154308776 181944280 73683262 618474720 367928296 525624250 440730456 578235510 794222730 990369628 215324424 264833516 956020588 232078598 621287564 442743080 188975666 556853550 821807672 326631004 876167512 48370740 662562562 168737668 588155518 35995254 329726882 180572678 970927470 948951410 906543864 608540448 110115504 242488044 639425820 898988602 112062166 502244920 779856698 428521718 979550238 583706394 678282240 889820740 427662112 272391028 342139400 316752918 483630336 109641314 882413976 610364390 771098354 112572040 34671908 969267850 699450566 332582704 725140198 748941626 949937352 383760800 471129430 764519940 140980330 266023038 320054888 824253224 340610974 896424978 882188664 437248010 403627298 583909572 460575058 344097492 340597704 453583820 87070142 191173130 552258062 908058932 139874668 591420278 621893680 558055500 123152376 339804788 472537020 431281622 167692620 26580542 304272394 629278616 14239944 451437946 624422994 67816666 492846746 706468998 375767302 972977922 486375152 580190724 420633474 142316322 249944966 656672596 323978134 784728520 699345346 66592806 439916576 305740406 474476678 769086482 58801172 786010812 789983494 46745828 110413226 240332304 776652156 189199854 951069350 984890300 204874324 209861478 203346558 480474578 571810538 34698498 16520874 52124028 750470580 707033730 160976766 630218418 304328810 849376366 521327892 370375106 121453986 899667104 894167852 497530040 822659410 163834656 898905142 763099104 775787962 830759526 391520100 781911986 650985620 764393836 110770384 114129202 61724952 136620770 903518332 113016940 164412236 303146342 425349452 833926226 292482756 138722898 258033950 717444296 557608966 740106972 93318844 767688656 798936312 941054152 142083104 922299656 747283468 233992752 950842084 310052502 826678054 700885900 822547510 940668262 715358760 747777824 73970610 587255756 160687104 967724946 347694662 338192296 211140844 282132154 743439300 218965448 528872262 258674060 601236750 705973078 243084590 582126128 766276818 791008494 446179480 350406448 254098356 918162346 948790484 578139842 674910122 381491770 926663162 794006200 33209874 666540816 774445434 740741884 255789994 480580904 384205346 542632566 186971974 532187984 690486602 947337550 841865136 479388478 697536338 858179506 84563972 455128598 519172212 66832522 876927628 517892978 59837856 859189178 892444296 914751334 359609580 20907282 240316464 964118330 222875174 636180102 641976782 394809456 80769318 779512310 725972116 949714384 104937206 277574826 641302980 903826578 558980128 152197924 331406060 511400484 981582020 277964150 991242668 826587858 266193592 136374108 528402136 650850200 662876846 885108918 256289900 796586144 953404202 389546224 730863192 387201022 865474504 984551604 104688356 114914938 436975318 398148628 500004852 245506148 176036278 31244932 286127524 609192686 883799882 434159782 214852360 758552820 1348940 422428712 711571168 849001748 369901754 207971146 285984374 336960940 480298550 324744942 53815808 964028438 370439668 784056664 987468476 804150100 904300334 401972408 163667854 823270062 934893950 7953278 435510184 87767608 709209150 178796444 915676222 486728102 804563120 27153126 81149314 418367252 626990224 931875014 314042064 665076230 129955254 201254726 644892792 141295764 345198934 134922880 429794090 573658528 787897482 347202346 478543612 665309336 571605094 143266098 395572100 520001744 704626916 873190682 361059544 917961814 58445906 429570392 813839420 820766746 350553208 86560746 242526036 650605552 898124576 54414884 909979414 884708838 37183578 729826746 181962066 241746354 887869456 252523600 571370576 811863512 460058908 900930850 506127384 997909000 974989720 633072322 871626398 297565014 649152820 253164204 569050864 961732490 207669494 368038578 571602530 644812618 728901988 502163548 805649628 11725190 930518464 782754454 590952804 78230146 120409978 942176606 440042346 869387556 865046108 601392196 988830416 267120740 849484560 736046342 605130244 784172726 338457766 514416320 634906200 177273716 288097996 452691858 529999856 781775166 300626504 499362156 427899780 305547682 328238934 921488826 887656144 722706396 765753398 219842440 795779226 607496478 850894426 513714118 9696272 591170598 583665844 468080532 934958608 648508370 11174518 496389726 926973186 568245860 703997224 350196656 356113360 921850040 230892992 233965866 352653998 728679794 276296592 858809732 414024932 838188570 912772216 740260108 764155344 13552024 32242038 735312276 440640848 663197704 44234058 316463552 277503348 228241364 644639682 579324980 332619722 355421944 972091918 334802434 682606266 957291964 418300738 22846600 363841440 301678450 178660808 621362278 169214492 822871228 238571874 370602130 494957962 859563788 141115822 950334868 89720312 160647688 643601384 580984410 108582382 889599530 475052460 365228260 911269726 733026874 978295546 47481798 933253132 22768336 489947492 319350346 504395670 745693102 829888774 290809688 927237550 707828148 533468272 510733630 757755582 533937212 190539514 42806442 967817702 112599124 269309156 750758096 767149842 52811230 310468804 966312376 813337788 474542944 518034836 491743374 579757440 912214420 182544618 110602156 645871586 625831314 533690266 321556498 706908322 997434356 282674412 602725146 483700762 54109924 676278744 737177798 100763118 511858730 919339066 664167438 360157878 251604368 908486900 367124850 242714724 796835668 159973100 559812740 877635434 743517396 729854238 700635072 582906358 257969750 683407800 722587748 370675012 641881314 22634246 150748434 447177946 926731982 332452382 520486458 770249880 780506162 940400570 408266190 884564214 644496430 228372336 685131484 249225650 946024228 743368556 37842188 800955430 90293476 471194086 485609072 190180180 245201584 766271186 484105586 88835344 894559750 358163850 725083010 38879382 12122762 798010588 75999858 891388358 416964520 681490342 333315806 895782340 659032434 692006708 219572662 551605186 62791494 644656202 37667584 524454754 16816928 886415514 686385580 524035722 853560728 323208828 484781298 268286420 130810398 687995434 943237640 95227496 672529876 906414164 582642906 476999644 858381418 496095208 504544310 341792530 243475490 798530684 336394380 55240032 316533384 128172606 967500180 293036616 641664450 931284868 239934864 70629176 816269566 554640220 672906012 718447308 536824494 659620536 81038364 278111400 658347650 127639604 444854014 451605054 172790360 214459596 409612964 71470228 234513384 517396236 920334820 730371246 868568976 68108062 256421026 130735320 200755690 712675600 685211264 469376292 294385750 477308564 696153812 591735728 344718890 430315854 277970596 907126516 447154170 214763236 945782548 566327156 615727384 218278634 233883428 96779112 359475174 950008792 249363384 418201712 671869794 930450748 44601724 445571196 462691312 169614490 600227362 144851592 469435010 633952224 714720144 965197418 105089570 316456448 474882320 463256420 406723094 223713160 484838786 828529682 191603738 771475840 875266352 198209698 937004968 881299104 276641942 590063060 307963780 301763374 348929112 726336054 99834512 33311540 459032156 189576788 197353930 491670066 242641748 767084026 434325164 962739154 493825298 896867292 118977704 39059078 231584616 614994562 708124748 542748674 371195670 674415908 203810156 624549784 932013250 728153686 794335114 991707470 224290718 210533478 401806408 30059964 12708648 603314204 643236784 858018962 415236022 121012324 961362218 671399470 152406732 488981732 768343134 785149116 604355842 684347684 200278908 648465974 504179212 968843088 288287070 670447796 384583588 830151132 397633964 266132376 55683524 588561510 3664666 288677064 701039824 433457948 569100392 587945602 675483090 768313540 282023672 276154048 705685530 89516148 469410506 576985474 602740696 176456802 184253084 726602890 131474812 364338058 724163588 839259146 901244982 683713800 751157770 28986280 710289658 759305070 737532004 300920194 377811616 163216836 855825310 753488620 17751986 507512190 828413366 136962750 968747234 964493060 280287686 200451458 980025754 258493008 895220882 945234650 708739506 8177660 32218900 486324028 167859228 705850288 441255758 101430716 42289330 615057476 704057944 408899074 544412718 928283152 824307182 260833968 841318540 423933738 208356240 241918848 911892158 260277202 305703960 275723194 30477408 446109354 58571498 863669200 74041820 822416280 844043314 270029606 403283344 661587082 807265560 163837754 524095238 724972894 48652026 803257286 188782722 590462236 431574372 825623334 18922370 94436240 265954140 954664602 543824406 832707608 461609054 151350660 462752310 901193886 435976474 899669590 245071136 766262124 783106962 516034924 137453650 953877806 944114084 56310476 814226966 643797038 907043066 929560566 855555880 175654132 214644932 197188366 513496188 452555652 301585340 452714206 121540102 445418808 164535856 703553986 673124888 704393766 271174128 972165668 991612362 456581260 899205518 304857736 469441024 94881486 847712282 41518300 327080278 696300680 437665660 372634486 437739644 225658740 772996752 519843890 392454048 35891056 669691760 638231676 580241786 84749090 855770946 375326754 653561424 236296580 741655190 839841114 126568250 597825866 933780186 406600198 788449176 506794178 291029602 400903926 816728746 831062904 519910594 238659326 726190208 391623208 829264706 419027596 649496348 254801630 858669544 175294756 7746732 66403462 119159488 107697418 790714624 103047952 134642874 918027222 628277136 744576828 724364382 545853472 657070132 226748744 665809514 569045904 829863586 665015880 74145692 307922646 110814362 70254620 789118172 136659746 274414504 500349006 141513226 724264266 759215940 480110982 472785264 679885786 620212624 840889262 189281396 824085094 85782922 719490690 513428790 172537456 173425920 172369204 148141114 209834932 639596734 228239140 19866630 164463266 690117260 524954064 937810566 269292968 196219516 477457862 120553504 743156290 305606924 204641518 477618638 700343140 704086292 474651312 82859624 250729676 194465524 905373564 373249044 606616404 372672190 747829194 345160196 498862748 269696198 371490610 938137138 231974066 225826170 939637620 147823588 973663984 660478544 326055250 75626814 754856872 350936374 94494856 656027350 382063922 589735388 629792930 680607694 710495282 638451466 837154318 79381416 715377996 775646924 91351864 518557288 696660392 811731254 694799268 930557750 291879010 581099984 833487916 130866326 757634364 742246628 711035620 414821752 513868616 298156198 291608402 91204434 494581348 861384036 452051808 476790376 610477750 569977202 212663872 593621638 878285734 144508738 941625698 83882184 368832626 739293432 159961168 922296370 667426602 300496002 215452830 908587186 704010232 879604596 984435660 999519592 323171168 610162918 302811082 692986200 160375824 872620600 480381130 48115364 345007916 141879848 984445386 626818694 924901280 729491928 96468920 444575662 648777178 328840382 647771628 743786496 194618882 297746180 183014042 967697024 453834612 98442024 138631524 544402708 767095416 112255288 308959670 909361896 532282316 594594518 605816188 547798234 657919896 355271988 556540506 217437682 495647396 921282214 314982316 193427570 182315032 861279690 630539322 398301668 654511044 219532518 322482136 408866644 243840722 905457758 759540448 133654654 926314504 935840018 376138636 674980476 709459312 924680112 178089810 477904202 782821154 64362712 208041694 88981310 965691604 896430770 220483340 520211616 125475054 48591788 267213080 464557886 392172694 851572038 210614878 621055704 130148976 175993086 547892882 954668064 588522786 634078610 609454074 982366300 54677326 656072320 299304578 694203140 134658918 142736618 271370624 612534374 94441248 633490142 366752626 867119918 431293012 940089384 614559896 73362742 946728040 570293798 950764458 873294972 964153144 123006860 885813164 187940522 102751408 358733400 658630426 610258104 235814592 237683366 649811388 103057942 306504980 905776314 873896326 35736282 450532594 773972926 748982588 205838160 596566620 118429086 748469228 437469780 399009546 577912958 519249352 11554268 830731448 632154488 831566756 777852756 989124110 630651544 769198196 719783718 547647698 808022830 188424792 53527994 783245554 352446676 422027176 334276290 613587604 353719636 453300894 967503198 745087694 232597056 895402346 857265982 26967178 289345428 956180232 250024088 155349392 811097300 544157270 861887584 281710946 291510248 348647418 939147622 949693688 680386240 179898646 217897610 583173370 321371062 697108354 581116160 282289046 904044104 722627224 994691824 956735284 47686332 893776938 287193634 169681384 113106544 695036744 318599900 818310106 228765752 356601752 706479140 649293946 307882356 179178850 958053866 619206420 839869960 170780096 689096154 900206888 946678830 978919842 758420884 271260452 269223526 835738190 800197440 66934004 147116576 433976656 241485478 735728204 949316146 917914996 715319746 591264716 702333486 844268076 57502992 140801616 733863408 752402736 750119612 150761476 748500216 503352272 376394062 483137684 196492194 115553184 506478214 155545362 130756814 386964548 769906930 529286898 757425430 427636890 96493394 718216100 243893920 227695296 218061630 757641154 556043910 685822790 3154926 405286672 891263016 355663276 78194674 841632180 462473316 586766188 747373612 525351202 39206206 319111972 34086404 884311144 478747580 895570336 705184492 830591640 509343350 633531128 363468406 9569050 774080502 75487240 580687378 179865116 349527620 719683466 328760842 626451500 620266672 356018554 477083816 784425470 49181474 372586050 248251292 827698882 276404510 496812884 316540714 362429818 740316908 830472854 566232874 983456028 150029926 677509824 387381898 390840030 573171320 268473694 794693418 544266078 586669826 262030906 802100976 942291714 543900168 886461632 586099910 711705866 135480192 345424102 574170428 87979824 20678858 755842190 783388776 651864840 856493852 22913220 165572660 743030992 541106548 384782086 588446016 980009656 618693740 666019700 45993204 926807646 288059672 446903188 774132284 289925656 459187350 965809676 819608738 669267340 127496162 266064478 210365998 121510092 524484996 277987808 22311060 525124302 366088052 299710536 164468574 336416032 423220906 449186670 552416390 554363720 940376924 901049280 872022398 41863792 175427010 794684142 26800966 162672952 869522364 128769136 527794872 751582482 674050378 174294230 356633044 234804848 739633478 609035380 779423590 100919152 351552352 942402748 751010756 943696864 373957208 555337058 953443574 841102952 384524710 47962632 504284990 764556410 431600164 889856716 714319886 532136542 331323448 756934988 293232504 533253692 598922300 39463272 138306470 91703242 891861322 47879610 878611458 367402264 340464234 575153814 937609116 384323390 168455766 150816304 222830322 78930176 439677802 184954662 600479642 787724278 563263244 551894876 269354136 48357470 163830794 820622052 751827988 290010586 322854130 96342930 813707170 515432890 477184566 490005002 405878074 5085018 478271034 658751502 896607766 257200202 616865650 684610788 846302808 802282810 796913732 55973526 605028048 204050294 930850870 6826874 431124178 717630188 915015002 597949448 772781832 33304240 72062894 930970202 580399126 802135522 457076318 632124524 52450822 187280920 367925738 216749350 336568412 775852288 306569008 988388472 714199990 616843624 804229622 764882226 79245148 642559882 760097182 749061460 94454110 501997652 568279764 612426886 604721706 746321234 582221844 374929700 653880812 905765744 641160784 319441600 687120722 720798810 701789050 900525244 120094292 903750006 133311268 131587620 448176642 586266494 319201542 256092106 331766546 654930306 318091114 524602092 950119080 853441058 198781178 557194686 275614132 981078942 275866456 495055216 193589788 478777118 732886262 712184378 73230138 429280146 343262948 799222352 693244152 886128030 881541876 854297014 117381716 689303066 922196978 177125260 648911920 986153096 874428258 831305256 864304954 566595828 953220040 388749362 377197364 385111738 513390702 674022690 425905746 811831060 978222304 789424444 214097300 672702126 482807280 260187722 795715900 830849880 625356286 431587018 717874018 133431514 388686142 71520378 342648586 729280318 58226396 87623066 955716196 967056346 971947580 489479496 976679076 333645436 122748162 633880602 985187242 13581498 19287056 773179502 112524894 212003882 42863674 111107184 815140820 943315574 905500360 456257896 824326216 157265752 592346136 440696238 151858188 219205348 594109954 648327218 89953730 540978528 871454606 634582590 359557816 65375282 117409114 883658866 169530856 156165514 232671524 907352840 158393602 688611680 246639102 575145704 872910750 83605180 832156578 712738826 326786802 571609438 947880684 60416860 231243954 152755492 915728416 532313260 718618190 828001072 562748140 442579968 941741354 417055362 668025600 416262500 714976954 980584792 192759332 923336972 962579578 875353116 183936590 112702140 234570976 905894846 168080384 370784666 627324158 597702432 382261112 972373644 135461756 99254374 626604898 919487794 620419080 496506122 586644442 315446166 807304764 132141634 738287718 282558416 816827048 631465658 164565230 614296486 877255774 546464684 175741780 905960130 173981020 437890520 275809816 896103390 836829064 324764960 95067602 785637666 148754210 261190968 816887250 861463716 984542394 904296476 423804578 908561702 324952446 571012034 186656210 335498670 64589332 805141698 924314992 905686090 958690932 373927248 122507350 300481530 719141432 941620024 889931000 141450580 149494988 465880890 102559246 217878742 176785234 357197044 563363168 562231462 455838842 545370112 934231924 568725960 494266048 311825202 786286846 508672998 720468022 563502482 241476346 665041024 236174144 395001762 846031380 557624622 430480032 423386110 549925904 735368170 322801842 774782558 432385142 430072086 612121232 161957344 550925372 564986898 698246204 33861370 122187164 451550966 350662262 496777652 445324294 808493634 19492328 713152486 141871556 754818718 185747894 867998590 136463612 445899376 313661344 63657962 754098190 841086742 515731534 310313682 125322746 648567580 336629276 385244436 673825874 638990896 511870724 848549504 229857780 553200648 209137914 340591190 701844044 243106870 719668212 183532064 797711582 360909404 948063946 777447786 661551144 973845504 435762342 107838756 1313936 446579652 115197820 593985132 517313520 20989088 235126944 661102686 184733466 796113148 213064424 938900134 850690278 710518496 820615946 85624858 25157548 133043550 799157700 108282690 598213732 634656528 306112204 271309940 563004464 130422818 231593036 213543462 832999368 353072526 462647002 939154470 469532460 497150382 938604916 403217128 296441844 200240568 677230550 698351064 503024 786927828 223225452 272746532 350292556 131466026 655832688 47649964 432434692 582375012 634301494 979467698 169447654 516313516 887985144 589999976 280220742 859299982 609649224 349954810 575916978 276759634 55154770 165403056 975554662 614849418 96154988 264968102 810207508 466777758 350844304 183839008 733534554 506184808 116121910 971266962 283218072 923823158 244579020 161281622 453925122 157249396 571657120 666014706 352930928 961164198 958458240 374371666 244749554 113458356 778442838 133434248 887619192 925399406 410563632 874100732 60378668 304965822 741017708 914952128 787574718 459760806 502370290 131445164 902674742 483747202 902774422 103140830 994514550 245435548 599679230 348327182 306656452 986211882 561429974 38691218 443558416 500730714 86040530 280381094 191483676 261613548 992315304 867108764 730549912 579422240 395357260 902447214 677332936 901172824 421694478 834071970 211989234 306070500 329976786 201869440 749392724 905098638 76788060 197244504 885940140 670437334 588815376 450803400 941962630 867679790 592899626 170138530 606238244 444072930 871088258 48739508 414947002 864626892 662145560 423760348 879490214 7950052 738420866 105381802 589715928 213313680 941227798 218335792 60734098 612039492 24896260 321447928 930809010 240648232 534566894 658667426 163903384 375404550 306342328 250253200 415663110 32915420 125020642 676382064 568399940 622874288 494478212 254071958 68842668 722543096 950287868 51854270 416571054 202224600 359612640 920081116 185502328 878475142 69753096 573430138 891345888 937192312 211328946 903559086 447827812 6807154 861684252 696750766 398752042 908755122 205540754 719487926 719353672 575022346 52037022 150213676 834410942 546144468 613049596 88797624 961299104 55493432 336215148 481612990 354838196 551728910 111213826 13411496 870524038 245522108 976078816 478286230 997588440 263932844 224489632 164579814 121345748 232988280 623576248 745562174 919527256 734276020 231589430 215220710 146126932 487982756 526584536 265953216 792608770 783202086 763265178 996164612 324041034 517970314 244219850 171778960 959948316 970117104 99947548 374709894 911751578 75169000 446498904 168912422 783236826 848586636 456409930 213968600 169292310 615184260 257316562 67053030 548662922 555600836 188473056 532375616 215964452 168316432 736789380 592227112 357346832 868523362 261111840 85745276 484645870 614385326 999464850 834400474 571167046 485859858 88348304 638938808 644053240 858425558 14097962 924658166 91367668 853393722 136057806 797850864 715601650 134261232 175888144 834130500 578027884 942826958 470535740 958532170 574512300 381455382 700795346 814947724 856570934 919379632 588197810 808151396 89554442 864637858 477436120 96118524 87464352 736559250 538622344 199125034 298006554 330246404 607286960 237522424 238062522 820248618 440485006 459086934 255858594 863174420 850567738 5691346 766584564 819298492 179534800 54264006 721040054 283352644 228190350 265110140 882309466 319136418 54904454 703786738 476146426 851288126 998926132 145942298 418033610 831470774 279070376 610510648 621181494 316843932 314911320 9901850 504003540 318163056 40291768 851134122 613286810 582897158 97431510 249482596 656511748 40261164 720099368 909204388 885464556 777264468 782424444 865707062 158592078 556440552 804993258 360450066 698317968 380667156 665616398 262535120 810269582 573941630 530384058 608890470 442992706 731482030 578852910 923426250 5871514 219572882 57386226 214078808 496402162 966938804 767238054 582480534 564310596 530647344 283075254 950960040 227441802 631554372 389544704 240229706 220717196 57719336 579140780 877105904 3669688 740588122 956973858 80499718 627262854 714340280 127146286 161577232 572047184 790173996 989807260 978881332 115862768 525305312 198019028 25901218 872202820 190721144 862805342 864028138 969006180 291360224 844496316 247044956 62388592 922243232 709057600 552376148 504720320 931682438 595045988 45131128 973156622 71994676 760880594 461932654 671319146 275513360 24177866 248990240 378560370 779644756 681506570 584207828 793208822 204880734 679873630 217642214 891623682 558924772 207141928 273908726 58331086 708281492 425285766 601453888 863141324 808638810 550162376 943621564 741659758 61176322 497387024 483016378 566459054 968846830 312704774 960142710 233330310 680674078 40081582 599656454 343289882 932948204 130955574 989311674 595992600 338954054 994621946 524487110 201659002 862917528 350285552 388865396 483217994 696744332 173317568 531714788 698609936 776358772 350314122 927420212 693899090 753000904 154254584 532630882 162759296 893543632 822417584 335925544 398729756 554721398 201283536 377697858 641732360 129538584 326917040 599800662 596050070 453355866 49740896 676502756 456292760 442012022 423856202 669321246 142826026 900656686 114763140 999171218 408753292 575265542 452614406 370841974 988033446 42396274 756308788 999328410 950381026 603492438 82500900 439994012 232958334 240442032 301249322 731410702 561734176 237832764 593993394 464486262 796393190 872072144 80268148 863793700 444293424 554270028 909705870 516240968 776727994 212182626 297220244 31338960 87007474 929434296 25108846 822977466 989360814 400322858 144173650 506239732 932709062 494452826 568874982 812926816 925114420 777334140 621827712 563842904 875055988 142257018 557397242 907178334 256649890 290128130 856415552 701501746 743062550 768923310 454885184 595545734 243676106 955395664 365649114 475450242 812432702 238339018 769994936 948320358 294727726 824731906 411760616 188510274 799972818 691213210 397220114 470819630 19288096 834427340 279834530 768087078 156110308 769845188 925352600 878092070 721025340 321907180 360670072 315565842 573969038 804122968 592330910 671331236 198973192 193327860 19371490 867060392 189021202 243046152 540644696 78816034 958092416 208349022 974891716 644079800 876192566 149998042 316697782 730971244 909303094 884445528 584199236 681893862 690769002 446354784 523850228 528763140 662745864 262550452 940621582 969735002 373107716 539963982 652027844 131903578 594788010 352357628 866165174 359002626 819072790 615422286 914717608 616574790 761820926 284932434 358950994 645483968 203595180 770896214 95995542 693165822 438436002 555338874 555865424 676150758 990440006 532457608 684453384 30399590 598150080 15672020 692122246 66144218 804751016 352067870 437921974 799151572 276530414 88524330 267576664 326451508 243921566 940291904 411858410 388487418 944322974 617660258 348503690 700226446 86047612 530937388 508401624 317307022 885219656 580803072 677438896 425167578 707427446 860851914 972048844 335218810 966733508 896438948 954288888 561789038 803240428 795537912 297199774 706530602 733020660 341639330 752281188 186577272 48926482 554499070 516461854 810095644 763195662 690400964 104017024 361161648 805087646 90259754 996008230 130437758 83112148 336139216 658754268 141969476 951575240 828970668 72631428 911709434 327021928 721591738 881178142 284481638 178737490 971304888 858268870 673780080 223825676 809099074 878959232 676633898 406967136 344737310 775058744 360519454 676699080 174259062 486889934 341944438 123770936 830501110 725354892 52426352 629943796 860851796 131737436 136242068 19205400 162485126 286400168 999123708 883430156 233128128 759284308 647996358 654656576 960228270 271259972 486326138 689055784 122985802 888499330 603628660 567560028 308452876 252991838 11964694 516492464 128729988 268181188 680306720 388921388 259345620 512497022 749800474 619272546 912364436 628604448 119609260 317260110 374304148 397978980 926121374 752120204 567719808 201912178 167552832 455852004 156678896 770596970 871417896 499982600 253311868 920060396 104846304 987924236 844830040 761030956 147478836 792099450 656559380 780614494 246008650 120162188 377984202 974844542 443869418 262261042 982065280 921444224 822551894 24349204 72144094 645375088 538578660 777613710 750381028 387772790 440014716 131324592 967693364 272872620 471179752 247940070 395950778 90903798 539852876 264926164 863948578 345395896 672400538 582807898 279724602 355138084 652167238 195840158 888228192 29185114 450979862 410587644 267442706 162722746 600450496 685822912 667382140 691166802 344915554 46410124 54584830 538244078 21475966 368146262 933924424 353942678 680558804 729597182 549198112 692797840 838881810 602037876 69122502 586450284 377621780 175392398 22507210 3598950 245351720 755342966 665082306 650437288 585031408 698273324 988895636 806153796 443005418 497517030 715389250 225170904 694050774 762572682 375035950 971638744 389895678 873140132 34199904 311652588 730261552 255808836 857636226 254285970 734918330 969113322 712871710 312368060 800599436 511091658 975990276 346947798 560978470 687882360 689887768 325899424 561637476 386796184 327012226 589085764 481406430 780513894 155344584 786430306 183688294 268191188 772114946 12866054 445382030 435149126 946755874 627753654 327268246 312007126 848614612 809170002 269619014 817106746 822381154 18723020 69251566 726551832 332584676 626398694 499828200 999662370 647978894 728818838 321738730 70371762 659894110 600478508 953978534 587091070 453135342 526092828 228679858 155716752 417021818 459545836 80325644 159317932 202501544 306694216 48961802 781868236 831484134 268460544 352371572 3194056 181210022 114626388 50044716 517713882 613123692 394885226 276596288 107323410 620305582 450799160 236236910 666079748 5185724 153405748 632355492 738935750 130340902 167587678 15471768 898017032 936693064 605742632 70091052 869442208 301240220 545980180 262384524 111870424 4264382 171004372 402309288 650503432 392445544 785728774 391417276 123585358 554283158 239050434 873058384 492770152 777869080 872802586 751811764 366904352 494147344 563862232 326420074 385131168 806749480 284682186 511201916 938959186 428930108 850997932 612480952 478345434 909292472 401941562 342956474 649033222 738805578 219834148 196540488 952341020 404478504 553643946 577765492 863444362 533109176 183043310 440460488 770294170 875911374 44663368 593774132 243547412 219291138 249003632 977262822 290225026 753188016 818829832 244829962 755282282 364487890 15327968 290506444 727630800 337236310 367501744 102086776 246209954 902766116 585779424 503516416 218343360 174832182 286056924 656902708 524124126 871056256 388756922 2538554 451286254 597259094 985813318 801706480 563759818 634281490 141756638 447104088 1808354 593958264 894469938 864488576 736641926 124247070 492322258 357809328 628626790 877813122 746680360 651196150 12257016 98322230 116840982 863369868 619729542 248629514 569725918 864322164 377267146 611700864 94773908 379952334 557519292 202536364 224714700 643146286 192533618 348295458 920965798 822791106 901835146 362323326 31422862 344148962 32756442 815534686 364614352 93933868 493402746 44825120 45940726 467225096 851529490 348342614 396135740 96199446 500506852 584727374 742342236 598416284 599956758 640451674 412799852 728905708 635714620 305325896 801498710 605452232 957301720 824594058 908147768 330803652 803924462 494207404 901216152 523408198 621967264 969507746 591837404 497449780 314646954 748735938 793615126 745623912 680995428 280312498 607002592 64844320 728127458 693449224 397439180 967931324 822348450 528060004 576291012 461121866 464926200 274621784 423814186 32839178 774159494 925028702 828599234 489457056 559757642 826802774 344140630 320707370 575003146 942949834 538524996 283850242 202288936 928069582 922605688 808035436 963178818 483438938 316976800 332368586 129777666 964792132 948723044 806773094 363973540 970482086 556747724 598135754 323638874 871801760 760729746 611983714 504125930 923992636 319837558 598372538 487251712 982677082 757191504 137024052 755155534 207953992 274045094 135846444 642481864 948654596 916785038 426709910 287470964 648800540 991803952 196712582 105993840 126311426 181434260 624974376 878149676 441779750 610429148 656412234 534847208 416331210 888336124 247901884 818499952 634215412 157559720 368636444 441807608 76532714 273429804 950872630 437322548 417826674 773525508 122071502 2699624 408339608 688946534 462654628 139822254 507740802 564688128 102511148 505592208 814899850 860452726 404044996 53135532 642629254 772240966 433455724 803138548 624356438 241473772 950973534 35463748 942758108 273021500 688919006 97961372 533809180 605857176 390833512 27842208 214626474 619206674 927717168 900019694 314687894 117612478 584644280 238387422 250176256 741861478 474123916 287830992 392045974 390959448 381446002 445057090 389970774 180900514 77256230 297014824 982853054 234745748 309307288 246304346 581528008 33782020 145749154 939052368 494583636 126394148 839200010 880969514 544922086 556646872 672562620 495681904 148464256 6564354 133108104 369014218 610095966 795475944 377307596 530757174 892915658 701096306 36549486 172509724 852884932 346503038 878951598 600297442 954510300 242820474 781371612 726481640 696036900 666689676 554978434 311043012 660748402 990007326 497954952 192026290 37607810 472139502 382547850 164136212 611606356 783372440 587192254 240838470 672183262 641341368 692326856 713972350 396104094 308234440 623164782 383193428 567325898 930110492 541800610 357902508 834023574 13000256 545662118 51109448 765115858 650605056 690500210 587597532 454245392 51382306 49589092 857652570 133239674 848535126 917686890 89876378 34980100 351719526 689512252 613036398 981160984 271808030 207443800 222812826 201132704 308840540 212377860 108726282 571030812 800779464 954187394 141477796 905016502 588644468 440146804 297579140 814393760 279627196 451516486 846599386 807364066 443474548 371985858 557472268 906773354 779609726 778949946 927841188 641528924 421545496 437353078 692392058 107476530 351360622 590407822 661784568 22790608 914368078 619672984 930806732 389677724 939649638 888317744 753587358 844587688 19825090 152013946 204815050 691291848 389073746 87090408 603412846 27034300 245838298 407684148 15763372 712662208 723973758 330118162 562553464 666953440 214264920 479298162 626340690 262907724 984809510 835130914 5557476 253815500 728199356 833991746 662710460 728966566 164298426 393827264 772655010 924007126 446961260 10011206 343135036 679921072 653654024 262445988 956439310 376679962 197178378 400806824 39349254 246437930 372918208 811016172 555888976 449544122 275639714 75760386 189705854 555055638 170550436 754637356 74705682 330457780 840802224 556541136 392754984 697525860 286871352 595350830 471470772 867102686 936558420 937444716 858981840 39035890 190459534 281155914 851339980 399123382 344021256 849413554 415071802 825611482 643166388 197263742 579240104 980584178 261992796 78993060 14783552 210448962 22595490 481014602 281095076 552332956 111130788 200129324 788494198 312571882 88290706 362822 103363038 763880782 71103524 838911476 96529430 768225666 481928652 92467740 838278582 331361736 579950250 336822568 976257870 392280244 829701770 233166154 587314242 297041112 967807000 167591424 295643232 322192218 920973948 212404912 340372396 226436174 114675974 63776658 109513872 76001174 994241788 660943662 46442536 382752584 567983962 432402728 480603176 698852108 327835056 917004464 173838712 399480278 673672866 813032808 881682642 824698044 723603404 217293134 74886874 738028028 871002028 515311412 243949444 373835058 960084720 206111646 782697926 811292088 536844622 297194414 937161500 139969118 889170172 812783338 502204570 489761424 996560342 914778718 155850094 382646372 123532194 146300272 545503482 548808914 685266346 96976382 33127950 948528880 129070826 482385624 489442746 120133522 156074700 670291356 519292320 815797824 206303694 991025844 272733076 146737326 943505530 121264078 812133448 826102882 594834860 374350652 841394024 884744544 453964996 293850862 733564144 281519642 702057278 870211894 362088658 190581190 297103890 743416654 797174098 225719282 691505842 606470012 5784792 535855330 88153258 78858558 750806100 43080580 321746742 189509876 727871570 12594394 42461594 364886840 664023816 207698006 228371846 231200868 899094810 404596404 709804012 411230232 658979912 263658728 195757766 951864908 326928242 785568650 837598680 306357954 839376198 338122736 550632328 605689172 10754048 750479822 806212200 532933810 594385234 888598646 850452230 209874200 813637600 992163084 421232752 676816294 746998610 69665836 7238702 65724332 695803232 134840978 825076178 447726328 153437054 863321458 255697668 508612874 495746740 906120000 489140464 661877360 583096736 571419240 894607488 666876526 665206300 664622974 940157240 419867450 142908450 850745646 403503480 781185276 925822130 861765722 122398292 288245450 885016732 857021162 897031780 979440744 537178296 994183108 303427650 808006730 24502432 680737014 472549518 467617742 211947876 172981280 450028422 431745786 536837318 148885718 781686394 612847572 548943382 435045382 985328164 880090248 296741050 580176430 949669924 86476834 629001478 559935046 709865176 178771130 298203660 988015492 600758676 496064394 175849582 954727388 126688874 994380874 636082 124045460 665985490 799048944 876827180 742870328 146866382 926863478 900177406 115336780 973075634 128129366 871597938 761782686 873715500 69890 106068160 269675448 993976964 100124674 608004508 225867600 155986512 884849288 317111364 872609472 318049874 49797500 674418760 273343676 322747266 894972490 315575824 583460570 92937076 626157442 558469282 216721824 3994200 349331512 836320436 861462446 954124894 798716732 672642314 824632700 8382790 169488908 976997710 28961304 927320646 59044572 608503942 199280738 157683908 260152676 829695700 668434620 250193084 940433182 380845632 420622314 983520262 828726016 231519016 346525970 526447864 531137512 805734828 942933870 677634772 137306102 183145128 262394780 52162398 329155178 861050680 719485944 793002862 291765076 384372672 191465092 926879086 935578024 116607006 15091668 21201238 882607320 745722322 920453410 150900540 858599812 578817356 553176364 194931126 265396228 125579894 998015464 240289672 108029256 355446990 925883764 202627734 443134562 464886310 848859768 558653602 753519744 64216042 63649494 734170952 97454992 479292846 107846928 149703700 558182230 676749042 25972128 904054286 999078088 309743148 706744626 515379234 985876160 883940414 319607174 947091520 914328992 482594188 326542614 298353644 106275038 359392420 525864022 13944178 561883598 789608068 373373248 899728278 494380498 554123978 607588070 705887770 668060650 472857762 459326892 852586256 163217936 244308806 772235804 806991036 118826988 276332572 210272590 651048018 383940866 473303920 197295666 547005420 539136144 426498884 347158746 596145952 900531994 628166766 975096624 332263104 453249594 724789694 913501942 370025630 29715082 927140964 592487842 25391424 616016074 342561652 875790986 467432322 923340112 496949460 242289876 366289502 374816726 459812718 985568210 438978576 64018476 488224182 587537604 212787590 287412932 177987830 741017566 863103168 309347054 246489222 658957090 729552454 218049168 547984644 108990066 656407178 597178362 753539686 440899614 991611002 843148696 658864784 242569490 110951920 453417510 667867996 3679664 220926372 763983208 174542864 73980598 123776188 755425190 452323824 145782276 313050870 983369116 68619588 165048916 543876570 620047012 155034672 833609734 970579236 738931188 308828342 594089680 12536404 573355296 288540430 482687636 963363196 204904100 296047098 636600948 140667100 165606722 799672720 496303272 219398894 451659522 83315628 970177124 215303496 788593082 141221294 613808512 263983544 988507516 92574344 263994098 627330914 32205210 646946516 154991804 762818446 239957362 906380508 532774314 379078844 390662874 411006088 768662456 829915042 966532476 688502776 738323098 414748592 202901012 378105618 744744270 464106066 812321360 286554536 950027332 410468236 918401440 288269666 259263852 992380176 259600272 493132478 318066284 481960452 866859474 252527686 135583450 578305346 269488790 168696866 766087534 731598334 651549778 341036162 552915114 931063122 508993748 267623366 570403768 584480182 162589402 825346524 236962276 189685146 959748536 600433458 668717992 192088140 948429658 934296346 214685142 106689494 818959834 921929964 759152522 127716158 628488558 928706668 87915896 41441240 60239502 888491080 351815218 617375128 643979502 315702534 966209662 505944518 962648544 952747172 800331300 670059464 959820690 330584640 682493936 248127328 562032894 381020948 484178346 724197452 712406006 128883218 524536194 702219770 546778096 367611498 535586312 27647404 187748888 877931654 410118790 652556562 952897522 727295898 564727986 112894568 729600540 413849984 362222492 851958738 584093994 660121140 165275328 960560714 513527612 797746392 446221106 289389196 994437490 427191330 820540346 411866910 191615934 620186924 146241762 89358250 287784226 806147350 222742882 763241962 67094558 974385352 303690840 938383916 725509280 667743106 186399448 737967534 32546098 100508942 416470160 558852446 510750402 866512948 204400428 403313810 686841476 132000630 929269498 909105700 544812058 655568930 107979698 50552182 274801238 60385716 142237374 539219066 84318302 70512976 82858940 86932974 22838948 598349056 655534384 643150058 407508234 836728588 742197432 636862686 757619478 722626678 970475992 612855760 556409004 594035148 370440700 896368600 797605752 658619352 623380578 883987216 790095754 523388984 591098512 355244718 44697054 189239092 702755110 841223962 548042350 693709562 107737114 553664604 686054486 189595016 981463556 501746620 51927734 242674076 350367728 694047918 539013220 110359638 851955542 919936684 792502034 559233222 60100428 684426450 767235092 63704394 399802892 337096408 143907164 350256036 790810132 99079694 726446812 881417218 101124660 965076238 406884112 443092446 240871030 505508170 422792704 366732308 902632118 706886560 685524528 620443998 590640290 667360338 791257532 134456038 830961568 169000718 898728062 552505186 890027952 232592650 630958172 297286240 681881736 369934710 70741718 131412392 979464542 484369418 813927862 156743972 411606262 212734742 751664474 481449722 705131538 231510988 144112688 807574562 405005712 572974412 762933576 469372156 592155748 169746816 178835136 232791552 893909224 929609950 805389550 240827178 718569768 861150692 316197748 522697296 278016812 203873438 653219550 61117552 386055814 237436936 419585242 25905338 756539366 784192560 337375144 769423686 347881450 908538152 289290770 236578874 677308890 277233246 472071328 968163352 180813974 747648346 613943876 884661904 395060192 942811964 588084494 854219842 772544270 202696688 288908368 226021112 742767678 384610986 992704732 938215954 906002350 216398236 372182138 419696382 234713904 426794336 231224894 586598628 654791606 897216272 348189320 51171588 651333708 122156096 118305744 186236684 673259020 711446538 131718286 185280782 253739710 609266460 958749920 210023522 359897592 380979944 173839024 687509414 856625586 609733804 537710394 481072048 747088844 74178654 147921706 323899358 494910364 786288730 530535236 929463612 614905446 136614968 607717636 126953304 855356662 230764620 743145770 595114386 609703664 784124734 868334376 734596484 210933268 505811690 506715994 456244206 741851470 334036468 800195718 970135662 697949228 898316564 506269750 583937924 225014440 260890544 641222162 699884108 311669200 227368370 199302468 67357310 548033238 266874008 242383544 871653944 603355430 429664260 115909860 709488358 876983658 712258866 927584616 321674270 197726298 853933238 205219442 900489586 328287166 36803888 832644634 972300092 205826602 532555490 271220802 971968982 312555484 741635294 653010142 755581032 204699196 798502676 18654214 905573740 820616532 581056354 82506090 971364216 765335780 569094534 245208910 603067670 162639900 186555132 586814196 317679676 333129522 3567382 913322940 51985954 773536898 460641790 361041036 1859236 477748276 176728342 300433214 273263692 235586650 749026992 836906346 552211366 457475326 453896646 958560458 392107002 631442020 709134736 108279922 314677688 870780384 998283488 813443250 481754244 804002172 150565904 770994502 125606046 566489172 563583228 803526446 520499040 243846508 558613926 163047412 640315176 30194318 906689642 164790686 112519800 298892092 511734952 231293252 203181386 714895332 792586146 764093018 597869188 115819578 468877604 53588690 85826190 352786508 266988254 115914870 269475164 966206854 205465538 199685862 540494770 835523710 43703510 265105390 117324460 221903240 407242466 778100480 299281182 126976688 359499786 138337250 911197540 27762882 224369080 567603880 309590050 984313698 135384518 778882330 779166606 177164418 109101190 579959866 70312132 342374078 965046570 310996510 749541148 856987758 897014466 317044694 821860504 906167136 4644556 221837576 787555552 219220828 242430354 621413184 720473868 896907922 600614904 906078658 435015568 739766256 940421688 635354786 382766758 636711002 25135122 424170400 694666488 137335404 298744292 228792122 48224876 296207572 724098316 530466544 338994678 808498584 497637326 818182538 865395614 962422922 502603974 121109324 688738084 574114662 168814430 934952024 291242130 612087320 988534210 837153326 804652506 56822012 153839272 579694300 630870852 607254944 516290224 311437298 972826020 19962976 870099122 922285502 29888256 541050056 963035748 471852630 299953246 49275312 727298200 392751386 667896894 400339010 963336168 935678250 235116470 372531246 173935988 140281810 568405062 57517590 763247496 273921754 589403144 531757352 948641684 825701004 210206734 826192938 835374932 72545972 86684514 391397214 345129032 884999712 386217706 390452596 970721080 398882164 838838890 945686074 704707442 615499778 481406136 871701468 196332842 109005088 347511116 206436934 105325002 693347740 6210974 715289748 176519604 390613416 657668606 886412778 909563242 676112946 211350428 178476446 137511028 698106256 523859328 159797666 683158020 828820170 193668260 200240782 160375280 905048572 302251538 180084242 854618748 145791840 922857062 446394520 892180126 973634458 387680236 557404434 239164318 711290668 438494938 585945548 571399386 513085302 275071214 335338078 280318492 345510538 132014298 188695484 943237346 154987396 175862092 139432978 620766632 986494682 548919552 298782302 209175208 512642954 767259976 676294182 135100442 778374756 97546794 428262704 511655486 304025182 917135720 127372284 200494310 822770520 234267078 253860626 712031250 933694464 720289816 534728498 893901116 167638224 409333874 730848946 235114212 948325610 258240606 14170040 825088188 158410674 473089322 726509386 137231860 236793320 768236284 53828822 247691428 829319634 855888914 975498560 37126776 267986112 317634820 384536666 295128288 748913266 376357326 147831428 806284540 480910576 16883608 351043162 357330932 70321882 311444544 461331148 591684942 684251018 287464974 649825632 814992738 511477010 822905634 877016674 366191430 151733142 75662600 457180164 945668532 653733942 206054652 100832674 123098368 101912132 475823304 345856668 679711172 377277902 445781084 127918182 675353698 685280338 926429778 213454020 326221298 739016144 125499856 881304020 843345774 263510188 490037016 62114224 930055406 875755264 212484262 451309900 473332152 603748746 723146512 580313598 827584462 141586782 961133480 849092868 198118142 762039028 15413552 684305558 274922940 787725818 49381882 689152256 166795204 793962456 303045014 450647074 288107280 738535984 163320552 660383178 982663824 106206414 735602050 417223444 462278670 278288334 163343654 949703654 20239932 167855414 36665798 41534766 347448128 485275352 502866170 536237032 343447044 242305758 617630620 373187202 753303362 252215102 185687262 603164748 725546554 901835024 849774350 292179468 707741556 619724468 811224042 310696520 811600436 223016574 672087792 736802636 965141312 441352710 351063732 350005614 521631414 428927564 178855710 248356420 546611176 309159178 860622588 740490462 947949712 826284442 448729474 519416820 790442118 282421684 189823372 464068388 613718020 178662790 503781790 545361294 373875984 84958678 888859258 322054504 513842496 523021428 213309778 659695586 661385160 193297460 803263114 838257026 399113256 962220630 956704118 467412462 840304756 187272544 841425782 98550220 59990862 142083404 79022240 244586204 326774028 85467328 196150026 527519224 470871086 418916496 828542072 640387040 101729040 717515140 937878862 48641048 280273994 494514924 928736138 194891326 322340814 484652352 957742112 528597338 90245508 733011006 883694672 276894734 54478882 165360234 354595900 546576508 647730440 532494954 454461746 910745976 200259402 140407920 76622696 326583340 156507888 41108672 289730798 712824118 301316990 460945896 8403382 221486116 622536008 633730182 763653896 524937252 476187318 64020034 814591662 126113838 79151490 647394674 916933172 386613020 471110518 285142588 936369720 866542996 495086338 620930924 885653572 788838506 206558258 482738792 565440924 429802464 472654998 633154326 947597174 806861732 151054218 611403170 250552290 227658124 476454484 991647886 937288330 85865298 846543382 38250464 211156532 475483626 841181902 947468504 640186446 386424894 511857126 571202234 811585340 139860504 909045916 479949444 567693818 558450704 264765714 877370246 572618684 87729788 405677710 767378860 921369926 363406150 490965782 110593604 178864370 703732596 72771778 828459792 312461354 572226058 821592356 155831586 783534488 827133852 945603442 382732616 189524508 630041116 320607710 51082466 115442836 107305476 795768664 677240644 428898356 665054680 792966360 712725330 481949408 637809774 515065114 995530564 406511456 493314358 746433746 672103844 235253636 477581880 255300666 266073616 179638548 457749472 298280170 838196646 695379256 140217576 662860220 804798712 684119480 127883722 76657380 428303824 885204142 627102320 725271476 709790590 32130838 683665666 211956290 151963556 295447634 901059950 74861208 560769944 16134092 406515808 573065736 352513210 277073254 874184114 943955198 604589900 190040946 993826338 875375832 338615186 60105222 458074492 773320822 126160176 722164534 731656322 303287900 82804644 518702524 466669100 691567212 400374910 533416372 656424840 277023120 252816188 176980150 953241764 968710610 423351318 795889564 834446180 272086650 412666082 298188892 17422120 448446066 996558714 604543066 337667486 164614354 459630228 197973564 303798058 148058536 318413172 26399048 459019394 509427630 866947288 338413162 447413650 949518500 454712364 100541440 258824132 291914390 524416706 873356054 387541458 969478518 257593924 914383160 939219320 31694466 728573186 769936484 508465292 143943718 496309364 948626278 289920000 183284282 757817566 231613578 283527704 752937542 776633464 109156244 682619238 630139040 18096802 620239392 931526442 544509380 798984956 277274306 977077676 563607240 986068610 919971256 653923738 393359718 12712522 927917200 985915014 824596082 648225332 550711370 23561554 789232402 973049824 467085758 481799922 608491062 548882636 67044336 332815852 198724048 517124610 180847578 257330152 457740316 697949784 275801092 771437578 741598412 259397218 481450992 649554992 212764024 2234306 322763822 174706502 118049306 32778150 622199270 888137768 347088200 764597826 924651138 51976710 605886066 192959518 228635670 115073186 33649710 134171600 703630276 236830096 815157264 338079774 159278898 713742060 77834214 920582970 570028672 954727048 625175126 445856574 458567578 962210478 43026030 705499998 886848124 372722258 667158872 365016812 715726234 202508100 947262276 423466312 861732688 782956088 925491694 59264132 354878614 723652984 382959526 461499704 129918888 319548690 565257620 631110292 760368746 727577236 521979278 855033308 402032656 959188476 868193720 806741000 782230878 917353892 182340410 621026254 725153594 470928770 144713280 833901930 131215706 70910740 228192730 680739052 12680722 681358578 595216662 738102718 957876076 507973976 200659854 360308958 252106058 610776902 860626440 278948260 794540254 793228106 429456204 5294524 741861328 211317546 917305456 521225958 248777220 285305524 915302924 697011392 784491958 921989286 93829308 231235254 1848930 936827494 349256294 404666032 721304762 883556806 719717298 905155142 281839930 101048310 611665056 711435004 225878870 55292314 784852420 572087646 998668126 274462028 26914424 271960488 343771460 662925322 639102716 792894790 81146106 207167580 526105874 744814156 349737344 192413260 990477926 560877996 25792274 991752132 140352724 998516414 624812182 380569660 496429464 840840052 710687678 349856208 884790784 761166920 361035194 300464892 33894916 847715554 490587948 240264418 487279600 976198320 86206758 979844116 817027576 705114684 826155686 740580646 740473304 52799120 177392012 762413346 595318378 748781570 439677038 992490352 907390846 778852120 122078902 73881884 786254484 720716674 519326420 430399894 334415442 646293876 819617524 747284882 132937808 770550436 491158744 741281042 214353046 886534744 127897044 787377508 691919360 512282356 757903476 639999618 406303602 841929270 572137168 335581444 311949496 650969944 379673570 389516622 320771734 240177632 138361706 568169044 723112202 857788940 633448032 45712190 72222224 547953542 373426432 290020614 71819962 52769420 734997950 610804134 820228968 32290834 921445290 236308520 143543052 949039746 244080730 264553276 45489120 59209898 588289564 285762060 33993158 447606268 65509400 883408858 578248504 441860136 940472906 516870770 688139684 25670340 615467952 883084984 222146788 234242648 288576232 799063586 405765260 449864726 571940260 54500858 889944082 377182562 847383024 833825610 711187034 219244790 743766436 531636816 580427068 449696988 652512558 345268530 534014726 993149782 336953902 776848822 960152248 906488290 833017874 123068116 695600718 104400832 610742204 123270078 703372354 900779184 63350596 816811938 533439324 780751986 215467242 706025312 494043860 768850432 32418220 428242802 207008708 609555982 272614842 949271114 966835218 922311824 747708828 544911794 10425536 420960784 254454466 574831150 952665410 346872962 263323332 263507204 643148998 794019244 918982134 663052814 966737196 425653282 523296536 516377800 615445630 235402834 30588034 872478488 497298444 886430520 718437492 246276096 829223494 250571676 711841688 469312072 979820254 487848476 487477224 961190140 520177664 100956024 48051228 218445938 998386854 213314118 138278610 316451958 599448398 448895978 569992470 335283236 370029052 383306014 157661224 151804664 843735650 995628336 584835854 278244082 11711432 133204556 203159718 452228276 246583328 660429862 869898956 541561678 122757940 745684080 258325078 97636444 955389652 22664070 281466650 623436356 628251816 833031652 744936076 20070596 512463810 999749768 328997196 815485618 640422092 277728480 436035554 139764386 570643314 634718962 94266114 124610560 777898492 788958 691866296 998843486 908998774 977080334 467163628 153399200 7754740 841444178 118714510 101046796 649357888 423811380 829595416 640010736 422635316 468464798 479782478 554914234 104579916 627769028 932880964 43510634 926983892 961947344 101016632 255148700 536614760 655137966 763622620 787154738 289026818 582388636 253524702 177845484 112359668 120394226 945080530 504495958 861015218 626737634 167012252 236929060 732578598 463131314 253132346 560731046 737665350 166949288 356909268 507415958 931983880 581516038 842983068 338589266 417041910 903986984 530719630 285136920 643963004 282756816 561405026 241654908 757669692 702331214 757702738 492543994 328815076 171542334 214102308 52999136 898845004 97456088 561431630 961303248 166388512 725960550 313305234 775372164 856936070 168014682 910600566 728725858 123760676 980277344 654655442 946068576 603416680 150421342 601717046 694410324 142917336 59334206 358414012 151881944 206982888 639859146 710380322 598780518 458015772 543751226 969676838 953497758 260647450 250650014 343916104 643910136 335735632 723731480 846481534 6933802 297015054 739685570 962274808 445316244 57691564 192327418 538864402 786174590 111326640 432124696 56009224 399531616 278200400 796962846 544701296 677002676 494438780 673187984 311175506 938691958 137736362 958168784 152527544 186296538 543044018 700332694 466633844 106956592 181693056 268245632 583854046 177038104 42246492 614354048 624039814 178884172 7342090 311887618 616307666 259519354 948057438 748427234 192740942 17541286 986110094 999325836 749402888 162681580 333017962 618970630 589921160 152789278 462062698 246235310 448968660 693106916 92338654 870248960 787083916 269422076 68200266 729645400 481981260 43360394 565276694 395357678 400943176 822099630 297910766 898909048 289715636 162357090 553510318 775724702 959107488 223719080 573859740 794391650 247150750 152199112 1073218 718530158 713745006 268798722 211017954 141221176 244924918 335098272 512114500 872638400 539513296 918364864 932140814 509560628 533826484 99883798 476381322 205484256 716571100 600188454 802022978 247587150 1552596 623998224 425079788 574039672 328201106 199707424 469351606 941146466 70407548 312208242 293536340 602859372 132292892 747449426 406444712 166365876 94993762 278442978 350877674 336807006 437813496 335664646 505363420 893473600 79640356 554410582 997830612 933338414 752339548 109188032 352299520 426909456 489467380 103061594 358811744 346723058 396469664 598771374 628640536 806063488 277689494 411089710 672516610 647892550 235900668 989372682 164328694 171789802 760138972 893394066 703755282 217905596 626987776 678921194 844155914 19115004 36711920 680562562 942285942 221926962 106510058 880840798 495921814 388958824 629762506 309418554 911975820 677976470 650168678 783383716 99285652 530046660 563828368 242343866 751562648 615207540 364722590 448780400 794747176 924546260 643989850 196709882 356072888 412869162 625836402 421775146 821048934 465869672 986607578 189887896 193717676 526509702 756470534 813351466 411367124 643170136 688386184 601864004 624565670 827118794 753137768 193997702 664562750 833677334 32361036 219361730 722325374 676134216 2052206 377113146 930257186 689307622 156926242 298985944 277846002 832154542 761151932 934333728 397612510 368184734 240522896 511782732 562812056 561212420 325249572 551952630 327665064 717819344 872553846 892496610 475318688 626611888 598526418 209329806 387158168 162406180 527633042 257136438 446318340 87313606 454381418 456668420 338768184 210918826 82392922 452484156 205998088 585956536 358164538 888634500 144834906 79148086 321116996 68818822 222020780 453656906 449403966 154316820 844645566 880148476 667508082 601561368 712808748 100624612 910148600 276289740 235817304 305378034 624008346 53164188 620715412 337795988 961631352 166946388 492664748 683397112 923420754 533321696 160603862 665538022 797434962 246771790 305380882 915511506 201180964 936061442 313207822 899726328 242966150 607216994 700609360 589208112 252045290 886127296 318018552 883008362 662593552 996000718 826471576 538259102 435929138 76946132 490714830 83371356 640170666 25776628 258689616 561262906 707581606 440392068 430620074 495737122 520971976 157421872 706472028 907037074 570746026 623241594 235592846 634159360 671884312 294505496 307886134 378287720 804606502 105962502 802669280 434442278 70893992 824006234 886581608 437400954 458509398 100743336 225875214 59012690 792573474 591466788 695481784 445449504 508920076 864629760 647300346 54937876 835083398 784341982 657745756 262777908 943844968 21149658 435631974 618078620 217496898 412807426 796569476 325322012 962578380 414314998 320701088 745390542 479675804 623235288 199979178 606049722 513105662 388605744 231060798 429824410 600783638 862046752 885793842 438116330 825279130 185858560 622819800 41357764 144325034 119221546 401378574 618351846 85831694 407451156 525832492 553359144 667590732 887099914 221005720 161058804 455359398 129102542 34785556 818884744 872776074 910369426 214128618 753563298 533124974 593418182 310145158 903012722 707749258 55867678 911534592 498181492 795279000 474617070 533574320 124925336 170969694 202682662 474796076 171058916 484339738 325189574 41870548 603211866 694691536 869495528 301253950 105756422 622634360 854654538 416321978 96832772 216232506 979084760 6720572 130356872 88789716 794635254 597560168 250056718 614593904 633543858 587697164 57000314 698632484 627849788 890128206 953356378 923902926 58027048 141138392 100471612 449626458 823256944 949719452 487840120 565542050 937709364 651326656 196807202 858924810 872559714 846604648 473762238 538178216 626469162 706511570 52042544 628879260 752701088 331592176 284677788 549326836 142254684 597029076 766399398 359545664 519932718 244651166 256925384 990170812 826468596 298130434 100241790 131691820 459980282 860795030 906352172 662512958 17326278 926256470 548334772 243841924 65974920 899255262 154946582 87503288 820330606 707677830 389160486 950709190 758268448 911014558 942182272 59353402 533722006 706688442 480646212 706006730 373019274 316889416 565372008 87257666 198807596 761441196 246248806 844266140 481940740 877070546 983509594 774369080 69235466 127144968 387553900 709988490 455484986 344902976 262447800 624287886 63511242 588582110 986205978 60382712 123367256 348231902 816696370 198243298 679442786 920477912 892504766 151434916 914618516 209957284 924358968 975237562 208488728 26447862 616268280 279361988 386825536 801763400 415575320 277599686 70871232 811974790 37719364 574922610 247911214 16998798 473786898 328609800 796142512 187938674 66516 72493100 179823810 156783862 106507862 212342260 50769586 138329334 407998686 930325740 103220836 839167184 897360274 504885366 259762506 234120982 61341060 789581524 148699356 271525810 835482000 142202898 802520724 97799584 77475446 923785924 887933106 40139222 619340054 174067588 226904208 506016262 930735240 618629344 570902264 644861892 333534942 477686320 834818356 58683688 238400570 76387188 713505448 7538420 777952436 444060308 67849442 417026692 22875066 887650206 387770830 484987338 693626874 794957958 664165402 246764480 510226636 415237818 438060154 292367828 581874352 163563478 550951700 811472162 387377334 378693606 89512450 587502950 284209282 989180386 272374388 460673420 485533392 407093076 463384918 14225628 878778446 302173476 193362104 998266928 670305314 677924224 115613752 332580898 644791922 877449584 494551840 218644212 210562870 567888394 364616420 808909488 262328962 685262632 634652782 101820690 228927872 903930872 167284460 814047758 531511768 521156060 677604822 714000880 8022358 903238040 596847950 708275788 456763244 485640714 862157544 500238686 865301930 132280640 448999856 986896434 407186930 102787610 153378368 772041562 177304196 612100980 871844020 284058390 843547950 879699068 838335508 216819860 402236958 904674296 875081816 60474470 549172162 493852532 462094488 670713100 311257146 213440750 631607614 960961804 648891864 34488220 569744160 54314770 807784738 949254118 249423538 576573238 541871150 877536452 550904214 124715944 681255060 793988992 69377960 242351352 402875658 452252560 405031980 763790864 878952622 112961280 212548986 694461826 82410766 320396244 123889294 346302878 597971640 476527320 75945090 48608820 851264648 301943186 495527374 616447632 349129200 55664566 376813030 390433998 997926228 897569498 414464016 655456970 71232600 196549322 913848094 737888978 759271492 871125852 608107582 88670480 57119356 526504450 768543954 408095398 630523108 126175624 442754696 399053464 302926404 62783326 66473446 539451840 740643314 899483758 486612772 581962694 607511888 829950956 543781362 413188272 973457880 774457204 337734798 581976940 110336710 50211810 536565352 981442654 261315866 666695126 848157186 356770036 125690282 523255742 747726494 806835856 813162948 475217034 898942348 839714804 731058310 801943956 221076266 724424322 927476660 396087530 287723928 946376566 149209472 586235088 755759368 791015788 738927238 229902664 132726438 500479070 610755702 328235122 676185144 735406804 279045214 728360354 993338088 262962546 637348338 300716508 216466708 341067950 469342760 221466472 684120676 146651140 943254876 817037300 886263892 469158768 997104506 835652216 336489730 93506984 746862412 264600378 206927040 493863512 836139160 572929614 499652374 212750064 952270280 129334986 953701932 655340176 11615776 48818180 617090478 838471174 739017536 538755816 644611232 217856246 201221264 344465978 484338628 712557994 232198582 850663708 200650368 228157296 476653522 670898982 552627710 627221686 981579868 266247466 691771362 950157646 561492992 425279082 793444114 886332096 545836558 227211756 257150400 448169302 448761472 229356650 963262020 882313980 86858692 266549850 263370172 818826148 337009024 721733254 894469026 170148110 439958372 311471366 756833726 291387704 152305630 70254790 766940334 514828152 979451598 115197864 492371106 459246694 980643000 836494248 805600318 480196552 692170622 843586198 99690026 909360910 746056538 950157586 25710906 917292500 68134100 558163276 716967724 140786780 981600578 990919258 27855706 257580398 787019804 682015674 469533802 697486934 812550292 218046762 506039650 730306682 70532432 977485468 388535856 707311706 532644826 847011764 817777048 703294980 306196838 770097790 396807766 462031678 478221026 19073690 53308836 974622314 952952070 739569226 411298596 413139052 446424992 137859940 143389166 124488034 578190156 930941920 527226154 553019836 556806334 88329506 219722574 7292576 483673786 57807002 970626090 298611094 64273752 711037086 967018854 25708802 543071542 454626698 982520054 58609690 31947302 912499628 37244746 247062762 508633108 946041844 672423220 31653966 870354732 341169958 775103514 842127628 847300672 401478794 53886998 761354748 571437296 879080386 842051974 234549164 189836014 526414214 68404200 727324560 491050734 494492812 498876082 463883654 753098264 13891594 575091264 355747120 313045278 242861126 79932930 584377796 938822142 892629672 474620444 463540360 248137436 540636578 633222634 667726934 339176166 833213504 499310134 460140054 563456872 384608040 66694228 469815276 63864888 753459000 958741982 95219740 594811880 341668356 509938270 607249020 465125158 710179180 696748498 67727460 58272862 790547504 209292126 387402422 83330676 999731004 618540594 216080242 312170052 325587726 341255622 138016016 31931550 693413762 366648768 221896584 205380982 330874488 90234204 122645984 401412504 589071426 114581232 846747346 461090920 667561552 14529634 122658714 334907598 112558180 950592270 856396402 393281068 68179960 153260368 722013306 28179684 871719678 79861878 180337086 824473786 867482970 271246064 772215500 368795436 383130772 620296316 535268512 11761656 818472382 600437078 130565388 819264556 411282994 588051784 350612944 140593808 753597660 79743972 267884046 606461848 990810800 436144628 344488496 139985810 977335742 195754464 553275794 400127002 716461990 553734502 981281390 26067134 639152906 515522320 996439066 440326104 588179044 143645634 431151078 229545486 898883844 692296002 378656162 917273428 39813640 680529992 1163130 606531006 189824978 78561978 339174740 415707446 930486458 945263760 970700980 802142290 195311918 343686350 725413626 653922778 19281628 807895740 275630694 812816966 902467698 340456558 544406758 698963166 415254604 813712578 130434724 652956072 302439468 926862628 445989102 150110310 729209380 415670164 177259634 65000222 501302948 737024262 245819586 999872888 347144992 570353362 833891768 173481710 454547218 575424072 139076372 178321064 865697374 286087564 939669776 187176274 471350820 554904442 52778148 812174208 415939438 340385470 455406572 472172094 96157180 473032308 685132086 747969608 113298414 577848036 992573644 736908124 739497900 194687424 705759382 253085990 970087356 194218808 127347360 217589144 464534816 935729388 788188708 680114454 343511520 970110256 401947720 326244786 594043058 339172558 279631744 806729704 102215970 540575726 124308752 246327186 641626676 183938504 501634644 917390402 419878384 744457716 30816332 508433686 292999016 979134374 197449912 773474232 29915464 282604380 197707046 448208772 618873436 917635736 288309738 410457442 637716068 242011382 592255360 538257342 885244924 413931026 241770506 878075300 139600202 758755342 375372154 258448630 344855608 898949358 848060976 410868990 566466534 223388040 868201712 105451404 344913146 698045404 637619026 324653838 64466368 428835058 755587300 227833730 958860514 862338646 922128820 84050056 708645614 535601044 627508170 172527094 640197880 866816222 80015418 321974450 129803354 570830782 165179504 754094392 250540882 399166416 755422502 730045026 598630530 993312174 650559754 840189878 266962794 88465156 70170378 579971246 463745842 286636540 357947326 512208426 417786278 792819496 417678912 123025090 318992734 181076998 639828024 558369984 747168884 194165846 784080926 736382204 731786244 750840704 491934210 390393104 732357366 663552896 103859278 89909544 803302504 57781996 405260904 507496626 623041176 403920858 771569780 307927708 830940158 154363458 17496816 962496554 802090768 166921744 934858876 977550564 970732170 87209010 80935832 555580266 21189462 20415092 406866416 610913294 282115600 671970994 148901022 31852638 863585636 563567122 708566190 166057406 719480596 607067278 802657068 537103386 15055994 435114164 115159512 138172572 150047338 339636588 444124814 84378892 873352606 706516016 427028814 727090698 480390458 349215172 21950134 622626498 686817026 586848114 872421668 550467722 696562784 576111372 45310176 243174426 412353514 816431932 215557990 962116128 49921982 804067260 500769220 909548770 275000274 504537866 696202500 994687932 949455822 46429934 325238146 342585992 261555172 461768594 109676514 878964596 549679054 963709352 361000530 24952512 536463386 111526506 172674462 895951888 719981148 621684576 591413038 429330548 328387632 57070440 573815104 690999248 912781116 80150776 667885620 648524170 703297658 274535440 597615460 971666346 88085496 228675434 540709080 358969516 231111260 855616680 379184328 333804308 332117396 837996318 331470656 521683164 13831200 979953722 899331554 734687964 823446110 157661644 385677314 370058440 80429538 543615362 353948554 791535262 104394636 708435500 952041068 267173542 647092876 544484664 881304128 656811036 107482140 244789182 597143266 713748732 934209866 916581636 42652886 936353462 757999934 847193732 270971064 291037490 374607176 214304078 742881208 646218626 410358150 525724996 209435138 750345514 752579710 80144696 558332412 956243194 561457914 814062380 573891902 778295174 775548006 859330108 733000688 950334060 204380292 318774624 662687436 623632032 953197292 665418802 91655754 730095040 13157302 939722534 506884518 645609610 739229436 811193296 963426690 497990172 950331682 29330886 102391862 227978922 785226436 305573032 696154108 845686610 836442260 616895538 925716258 267819044 263537496 109333648 881520280 997848962 804347306 583062362 453043116 146576208 856198844 253829436 309365498 446982500 155770946 96139738 359993704 834792220 865267106 154027938 284284272 633985724 406847660 396375830 804290540 509606498 654771824 780786526 839255448 265449288 794426316 130020510 87188974 10121134 396013748 989406832 98878192 860168834 503677088 103066774 656681870 789923162 435131052 916615440 870991728 156663024 215738028 866445980 667923388 308311736 842813940 289124540 9630886 12582902 715410946 462693340 372393066 912025878 825099002 558328086 714746804 630051280 625756192 575760756 979459414 458118798 424726772 491654896 584105390 518861654 651680730 229124096 522772008 594263510 103205958 198253194 494973466 797889036 85456558 26059470 486493208 36507642 823093590 632000578 883245110 438961356 855923142 34045214 267864864 826559042 870126606 986644498 852855476 427584270 931190466 242293326 681399318 95625852 330707184 11523300 343053982 909661506 141286190 344984564 777455290 912795922 755641014 948822610 282259944 593086608 924143124 760521648 926446022 703298880 891357726 28767386 806829970 104379262 298076890 887676304 139749284 931343508 548265620 336651208 815634748 87140400 826567652 548573500 605432428 396778808 895712112 717352080 721412834 434868512 153634256 976178370 860681758 464521622 709135728 515723946 681081128 226581162 64087962 573419108 771710672 583634758 477433266 751590794 918209556 801016976 95480492 474094462 913717000 30915254 558682816 983281746 943393444 131671456 554182888 703517350 188990686 750470722 96323184 523105428 108810512 760011252 891798650 819301662 884750772 964403618 634660302 967438328 870294842 173981886 500156646 758165004 335788188 280527642 746476350 297124810 884116508 469900100 155641666 138080932 415829024 917408034 659531936 411448800 166786974 537063090 179754706 159239974 912226470 639233080 311487304 157161116 248187336 446558448 9417912 655043350 188619956 351971770 826001606 508888122 221758 967685382 712955150 784461126 919803154 73636726 647416428 195550440 215137424 214122104 856135924 653435548 623591426 346231198 944166938 643259738 832148988 928768348 466760972 59699718 559745534 495778800 172548342 729433344 253768456 810232814 774138718 693435206 903944718 4864006 968152538 30078878 122152776 92348938 524622590 807030310 8970528 647654176 130393644 830761150 100472690 610018622 996532278 716447666 498162730 465451802 404295610 809525046 421575102 181818598 709500532 702582996 49803462 443243576 108774546 526191666 198594346 465860862 555805248 554769520 810152122 585941152 837675178 606643658 240668242 15739338 53319304 940100130 594552124 984955194 302993364 815490552 371790036 983349318 769841400 807032756 13859044 501718778 618622884 397375380 821083008 543284334 868294428 374168146 103739300 471838428 653323904 20012280 724793172 551977790 700148854 838492746 625925940 881619806 821236128 774514500 238686664 757230762 281943840 834610080 107364178 755997536 357929946 975897154 949670772 126078904 324033772 640522950 34135778 764109756 298440588 574009934 29955666 291259640 538642434 617965042 772897084 150515894 34639874 500197662 203482030 823931526 817450370 599956474 765991310 989067744 199351670 83158380 732350822 859680098 764860996 579580872 763579602 589273888 84561038 270174406 336330462 281295354 531866836 415023286 950685232 27780282 381877488 337534316 476863668 429693718 296962590 918284908 278698186 926612230 524681058 466312072 173816650 150364174 779219432 15506330 257391448 606282564 721802672 354778738 432623080 376636780 713890724 590513850 151873072 841107656 930572256 624519298 349140898 945174902 971115102 863877376 270248624 822792426 711395984 937488098 659223640 746700210 164997118 295855290 484777214 688313502 961842158 993547970 851890548 766527414 896972360 223430040 963217238 434013346 678747462 616947742 732482854 642597070 45116744 592340296 268031052 113365426 260959590 90585152 740528352 832242432 73793582 316601832 130724014 661740556 649502014 444394662 66819100 149379558 793830568 2130390 228699764 480915778 68514540 810297424 461994272 165359434 68111596 186479442 580463970 562618494 857626962 607473904 544384196 654809398 226032718 518561378 393360530 389543778 251169316 352380876 574121814 837547830 687675926 790938350 909730136 627250888 940569600 826020228 494183490 814719582 664752548 987728484 699413088 435582272 783397422 248994486 228242626 995520542 152136676 554570328 562996016 158969178 798605436 652248730 392203884 475143614 576392798 573099558 528623908 714787086 674363594 585636768 250257960 71911168 76317756 323613198 644519082 18319210 780974428 256058426 253974672 863914522 12410574 92575578 966396950 106207274 346497598 446676246 6014898 316667192 134087556 303660922 257592396 502215298 192210142 830033744 928005520 195278314 950958500 241416930 985371998 439180872 364837156 225569050 428289668 357154118 261119164 616882940 515456506 31911748 434668366 442337292 789538932 844428880 416080358 187367440 710300108 380609394 21848160 183846838 675000896 878977826 112441998 407841958 892708346 563482416 501063106 164177282 243443262 476758946 536182566 385129688 918168118 402520202 336446170 780377354 323967552 511199140 576425618 900254998 877620728 479871620 882507104 696661098 638431466 751220406 202868848 743109530 618090254 464209670 261410314 681525702 12161824 819161406 199599648 54773806 440550364 662241446 416494326 653400580 264120204 211232306 782809858 895752732 470998670 379224084 734992430 57036934 783042530 207497986 246245290 535353010 867272596 351717960 343723396 230254284 448493150 850394576 686382626 156906946 438571910 116106234 324773528 975260596 702702142 150521600 616985948 960402804 831575292 333081308 794143672 314314478 404676688 220716010 643295716 133582646 726115242 563284826 515917728 760069876 969054904 472763178 2511410 752553764 295265738 343036594 21449944 128918030 346977768 941948194 128612520 968318488 579157370 654504198 934118786 356896086 502784070 774929386 308460470 566834510 257299876 657781168 731177806 475748690 250808368 696283394 666712198 754758896 821870038 493816556 969058762 456472048 888682716 373079908 971481810 429169180 659123160 923029782 808520508 576395458 564127278 69351550 318682572 707190396 845420522 302090820 231905366 768244382 15844634 66988554 15762984 339486148 134945822 583828862 802073058 945768166 703322010 146093058 216508586 845194004 699936952 789858600 297468352 257574330 39944386 864823338 671397564 604533634 402738566 796526076 375167364 18043986 563456288 5935566 872721302 177901250 991999480 413598926 73730976 786920152 537252104 61418858 218313222 416705616 826867360 740731232 581338708 795553812 197396520 764088940 186021346 306900228 663881500 82476616 418818768 724996012 376187618 895294552 21288238 45553646 114874776 232979292 942713224 605750120 919369254 514822154 728936714 107668640 10404628 917377324 348121656 67973614 582862992 388313388 279225688 211876788 600737664 636126846 795625894 418628378 44071844 270239424 248997708 720043178 558199096 935987802 384011566 164192478 702344078 288494880 242435260 458936348 34531136 429605200 969849892 778219830 848863782 401400214 559465930 364997200 361863202 976865382 894183558 474737530 367387442 517401300 226991992 130929340 557420766 910736876 195448798 106292816 140571450 218169920 95055446 832287120 399547674 16810824 660725062 791273854 807505502 606919100 656638872 743452964 453156926 645041370 34120650 100488804 633214132 869451224 655857748 263716756 223446960 739751698 838956726 434692390 455935858 74795406 533110654 424298066 996764710 148258202 498849180 223559934 566417114 999801244 364242352 583153904 814557282 161797164 4353882 327317612 409390126 646922222 76648986 28850684 185161744 54129260 228445260 603276100 952241410 545050100 49074678 787982972 85113848 303817570 278318094 327033224 939525450 486579770 466140174 580135246 928855484 327747362 526076816 678894260 411969184 850123372 660946408 961753292 960232420 950593818 673081650 18081080 181806240 677815008 321544286 423365504 566616126 786888810 921986 258297334 5232176 322242228 697834370 60714804 116147414 744838032 851084046 95212152 55957746 690152776 259736376 680436646 433257544 662088830 455030210 683527686 354883516 9951206 17322410 482887660 867660332 615857250 445926702 236960594 657438240 406269674 34792398 314083340 537448342 173708092 132640618 953421230 132868308 767850610 990101884 377985384 207704854 378418388 156954180 129754582 922496648 398418438 87309194 121229250 34172854 151346086 617950382 162225798 420760916 471926996 428661944 411073362 329650258 979813160 35247866 879912400 128132618 772586942 204087630 145121978 642509718 712239148 595048386 882798822 161789174 445693074 36543688 916302218 637343416 180396730 5732458 890032266 584375262 728039430 624655488 194434770 325318582 541541612 366454048 942326756 616483634 428257920 220624768 243198060 351648274 982980206 666149624 604214702 749305014 869233452 770966760 612295666 519378166 180680678 345529064 361808636 688534858 740101382 691969726 493027580 940345816 403960276 197374092 738533302 964294136 814136336 206849754 82027900 901673724 830045736 182097534 30506716 118494084 190035092 986027612 336054864 381551086 440589822 988966676 409810376 214488706 401216138 975236238 176243884 149277522 596027294 176122314 662108292 325819118 392770722 254394174 521418732 848801090 618557648 369787894 518860844 911198820 550519060 616614442 304482850 886067584 581730360 236457146 705623444 645266052 389305032 39353496 998592102 341908904 293151502 581860944 371808404 265348396 400904650 510748218 404202076 224569316 296683116 439117994 535316054 314958002 339654790 311066926 803811408 658179376 912491152 618671776 409660952 915123300 941426822 414527274 401061454 279638370 706234342 486223138 429190692 435045090 988302070 869302416 702829468 482436914 57919798 854659562 418675740 346570850 67802024 733732894 798510568 454457730 137459804 991970746 940271952 625620586 620388206 419970472 403570018 569925552 14919088 247025892 458846966 381705058 166057044 374205744 382718360 341315510 296161012 972414808 984090116 723432286 196538038 819038192 553410108 830930124 631901746 42513340 764557764 569718422 467897166 211076046 875426070 403614246 719296288 313301874 533956270 469384460 820586136 576455116 701230356 613111594 963882968 470172112 415775546 941421770 53294988 972725808 344498300 405807172 895405008 161140572 492836102 192841468 692666934 341306058 390726296 431994466 693267646 375371898 593368872 298134892 619101628 242521492 717566116 699593384 53295748 787894502 328765868 612118736 832066590 467106554 66922752 815807582 519573496 5055798 760720422 526673274 948809546 424387576 602477192 422710006 280470226 839300258 834446122 917027940 813451198 694149412 535025986 732164748 47840860 167837382 865737330 746601902 352907424 274947738 789177382 108206140 371733348 61538208 895772978 561148112 806182550 953945002 256595372 506130314 31884832 459885122 877129036 685476922 439636904 353367898 646239992 101472012 724337988 91148118 858044706 442160678 887604752 757386882 382693902 373129418 695199852 609243316 305954752 621030406 406376418 698540934 60950850 159647684 928188110 534468560 976133254 206121268 365790048 948896486 733345510 707257880 985587526 392471758 85554944 37945816 199524504 116655766 78388706 983557348 589269210 343195212 731842962 38397852 867587710 144947074 735834036 33366130 409822820 551233392 421553234 805978980 82177128 535625970 150171538 601173126 264484350 878517070 638476244 381383290 975198290 229155246 875127102 622806160 578129176 463121410 824561016 609642010 862714826 781657734 634911068 323866010 9384544 858628268 456923502 653781444 474933664 473091408 122486276 37038634 239006928 782078426 290727760 866156438 184550642 273790432 480390694 823698156 438452800 973379206 155366646 77120840 724508462 967386520 304728574 244475672 558748888 933709004 458914344 101632920 928262898 258523566 839706778 283794314 448609488 402231866 913945046 534197794 595295586 187767086 847466520 480614138 60167172 356227504 150096172 547518320 223413748 993356224 257176224 924067246 823927096 798972698 948062500 190250350 269840626 978906144 422361770 806758964 834853088 634147400 83187114 166964948 805042692 580026572 40426106 795090708 815071752 601390300 245020396 196930056 59576024 43368264 14496308 170829516 280376628 107467678 475479168 263299570 942624142 167740482 406235296 318076134 575253704 779406246 20147988 972312002 288603192 951702362 744286384 26202462 188140352 599651404 950555222 544625014 952813436 262304682 931089156 989665040 231678644 117854360 917984898 66088656 982093440 820204586 429936784 194137120 5351746 33260724 289407892 983424612 995216448 376403126 518495652 436448966 857011610 76756650 948159900 170765468 5195768 785622760 581921090 770840088 146614344 668821470 642690218 919396182 256295340 727075078 324965250 43786526 269316154 170464578 792894286 994417990 828788150 720172344 230322852 409748578 125212214 73539980 33459566 534118218 210802136 341956556 636934144 294086462 418406686 108354110 525758784 468237294 153123230 576729986 372405330 431362086 191770110 500304010 95045128 628189910 453311632 414615204 848414816 460786862 813621610 492191764 707752966 302239666 312560192 283750064 91049986 3610690 68942204 374151410 136630348 276777226 260064990 46626012 980108454 973410742 83856674 489467502 493490130 18412132 632021580 960947328 98355186 469652952 665464042 611609576 797415512 127400176 79141064 199424782 195912924 459324506 39411444 155719134 948524622 755192868 994530300 445589066 603470410 702706836 933924590 94225606 457947752 800082920 584174428 723490940 93182716 699874150 206489832 528837878 224635884 301898122 581750400 131177516 210724480 952265570 635509560 595300240 404701258 321933394 798464696 329890216 177077006 609273630 895963588 370271452 929545758 592437084 902729390 585509990 589276418 2641466 18852582 178557376 429308182 256698226 425572004 417867786 847523700 191887102 358840946 140694626 40451606 87653430 276167492 121974766 570604412 474167538 346029450 513087570 132806760 626955826 114479630 966936272 2359494 945433924 688943740 160091016 312444426 425490360 859388990 386660240 231930468 787548224 944617372 81303798 561792256 768304306 531647196 136668782 354977668 409351534 136857886 592236940 748911816 810895410 203773952 486582988 825924386 534097862 631305766 344580854 340827562 906515940 782425792 614751932 54011066 518235576 767308796 885202330 923302556 759587434 490038288 366560696 971752580 254815584 154456710 646154268 908654380 792966894 821326838 453559062 101467466 318112808 690386244 174713282 490908254 350199272 735751294 322836516 706437480 256692260 307158648 159835494 407000742 493611424 972539406 244918016 39866336 924067082 881589534 566702274 838811622 280831594 594568904 279329470 631381770 848865106 530091902 29555602 795281620 409277194 95303512 39805714 777595398 967562476 139446248 972654654 248326098 703494246 803093742 785799000 329852530 342304564 705107968 177693674 58943568 938201818 269055740 284304582 216052864 287797412 669173040 620157056 336198038 476425956 149779318 986809214 586927916 795469526 615811934 473091636 181216156 359420742 860742390 440657520 778531404 903998330 887313236 745492382 27644926 914362354 560186706 363518170 348203422 23786834 967556904 159882362 795764144 279223496 776282986 758856402 973177972 310959682 58453690 327998526 332564632 671387368 228693872 369145486 590574318 697544380 421032304 128419112 28594974 386009966 267247164 266113418 732340984 454577576 984102940 36871996 464794132 35694270 553000516 271446926 82758558 933220732 193639996 874960706 917535172 954907618 58047560 68858066 25690762 335269382 723446458 796564696 122183774 960553866 864918358 161057016 799395280 789213688 135440580 465450180 172526912 937166402 157304388 346698526 738424138 561482794 740616858 742400858 570113334 204604240 659317324 13179890 560505706 977117646 778181038 602302460 337812144 833858428 108257034 202704240 515924764 798508734 69225944 64298964 488863478 830774538 939195964 204588624 648556360 735316582 646573474 923971686 485817388 192161022 340236044 45128288 657000578 969679876 813185160 969108038 692633036 367243212 712858528 974401556 142800826 949108122 511672870 510275452 516911838 30685966 722162630 790907154 981910364 201849686 899171958 192791544 989400796 741825104 54503376 353272338 504923596 606730598 246315816 468933828 451258428 628307608 892497908 111319598 73578136 938094336 225212774 583534110 96490276 296834182 230879380 722757554 642848984 556436044 579154652 298412852 947455156 842983050 933867122 28019274 568623984 438560686 433171632 828818420 96617034 354002322 41116488 733526878 754989988 700120094 847712720 877872330 38693698 465315050 631159170 818644374 465448318 664118024 761704496 921990898 585128698 210694852 57954246 285838710 875451078 911752386 180141470 398088122 543579310 764391122 497471732 502997204 899605238 197334786 749127482 689978256 656127738 41148734 748616486 372754296 575192520 828639704 378182364 300655774 496764196 763141798 780491854 906802576 966627674 475419564 834787628 323181362 336485538 100049172 87018608 188093050 818259092 509553184 766344366 610227616 990969714 732769458 995514712 233102754 474627962 396692936 781501668 885794634 792629148 186137902 96531892 94448418 67800888 374243622 654153596 299147716 293718664 142412628 667000032 145705040 288687240 931663624 255539402 393536926 435184350 971841618 76470934 132322658 23333972 945804742 113345714 264305166 13082532 601872586 853173298 612484634 214341992 478427646 964445090 449221260 872928810 485454790 539953208 205265006 691153910 835108876 195084640 297069580 773064388 439444640 394655824 960288440 896030028 66919058 577465840 995771040 790812008 834280244 441199466 674492538 851063582 286883130 850166836 549007876 141982476 268623824 531886264 209330734 441326188 326828338 515323426 230114940 778523082 981721748 137738848 138182230 80168138 200148136 830953542 931438976 377265452 229230920 123310604 941706496 893206 2410650 570242182 327794694 391953020 269814228 756397892 677395998 146773798 164407744 214979294 169157996 153694050 967288170 445266646 80740870 584941604 884328512 343483360 841264822 937102532 50220848 90208548 891810768 969729652 66709750 191395474 307093442 202468874 307149930 531298710 222290898 618313818 158258166 593860856 431219776 42232604 657425702 451812954 388976280 119366664 573904030 358934990 757374780 422421354 124869292 825748964 192576734 989067894 862286730 824840090 148352604 166916222 18989766 928244974 370695422 986627524 192595068 39222658 624193212 441658512 574052302 729651564 668684452 999771516 598496998 155461922 930193998 923449282 133920912 462666248 97612972 754972236 375243798 99512752 77156630 390756340 275886128 647054542 944872982 7364032 208017616 116250294 185312650 881593708 686305216 916986226 204021486 910932262 833214124 222318714 191808288 741948104 324725056 139225420 419107368 196508886 970940646 547024224 930311814 546928152 388592760 342613806 214902296 653906390 251519300 432792812 851160948 108226494 347493110 793697598 365949670 832756512 578240098 629918648 944473178 812103624 791578730 788993746 193706814 996212438 686104474 763586450 794555908 270432832 354527980 720879576 879057282 960703058 396267684 678260322 560016222 439059184 477405818 123112282 143575794 369565976 661229338 664105708 981850174 898936192 387834944 719907378 672680356 967908450 582464870 80039710 952419732 730941554 554591868 770642500 12212530 524854702 839773270 624326414 405422702 279926754 252316504 911577670 852968814 701287574 708065206 91609950 669982632 121225646 21171640 395709392 108332664 381481516 154527066 341112694 158222046 485590352 202258690 86663154 212656570 74365620 800508942 277356450 334106860 963550270 111534990 295631060 297449246 145844286 297410186 642890624 699508320 942253490 478502940 473075638 969636822 312461278 491115906 248974674 124666658 253953984 947655030 187478 275706404 403543258 726824916 809989944 80914270 124080732 862212892 937888264 901466268 414450376 418384594 601337444 39723686 424283806 872008538 101356566 241287296 857714300 344441468 232264232 929152914 903243126 662437996 397353892 167061782 250405872 505769390 465715302 994843396 338099894 531631942 661931514 168279144 183737260 165711528 78524176 472447574 427328608 843532404 885739350 688996034 932968590 506679220 161026454 977280380 226116886 113179240 258388912 129385382 572063752 874809732 518246320 553804606 727709310 496144150 737741412 137530890 116128730 155952488 640214996 792275654 34408754 989889580 186333328 199072346 625949604 29348294 36404170 925028058 747631148 836102420 420801304 806099782 488565244 612669946 122207438 973836588 530187174 211697772 885355468 188472126 219496486 916645456 668646560 433205014 908285874 650206926 145962912 240092708 813176504 139278092 229557052 629490148 268214462 12929714 758756902 44080742 774030366 74966306 678325574 443845286 83594108 533145378 191477796 917030810 316921574 468426704 434342978 421214344 199862996 560100932 252587982 225047870 944754196 234611232 845044172 222601908 253524386 395631716 135080104 107943610 95620912 650002260 871881502 756720666 490026364 443058798 222032618 641514040 326099338 140483712 525903450 145674524 679882340 202042276 322832814 451878442 676634736 754149492 526124298 46616754 426058072 259392404 359402404 722520242 67643188 989574182 501315472 618626372 70047360 409850626 314263958 591571532 530433200 50884858 447246882 803264272 839201602 788527398 161696316 494346074 651373056 798740164 933867080 435883780 881418386 131445004 637007646 405814250 123899160 20997698 345695892 819206208 324419674 4775794 982376230 317600630 771906730 952636632 754104788 583282828 824616310 530486264 940905664 116288410 437971442 913841318 472155336 579477674 808044822 74936928 371999328 897387974 887852526 322788154 582541266 832119668 307597670 149406008 542339200 305237650 360007214 651860456 512723168 861005858 681539054 172830874 360418814 432588736 750187726 772307004 43455152 956117242 705681274 162033734 532691194 888333166 86915862 852014676 362035426 155828090 949546838 993088006 576950452 75438024 527333062 640308426 33895154 185088778 469738294 289946276 389287914 371219212 655230678 402695750 426507916 958882340 58400250 748927000 223390842 949202152 901547644 423185326 549147512 452469620 22489596 325617464 617145386 837880102 373890858 531852168 470487450 184839416 433693874 127689536 245323876 353475264 508633350 446007454 74823416 877451880 745769184 539016460 417019584 60110940 571237808 733779720 873989640 892065282 326052166 344414564 22750980 704766048 928466926 47598806 833767532 78209134 645739752 537390020 740395920 750969176 40152128 211235696 257664946 578724300 55971132 920879166 346558194 366888110 732036554 162585484 834554536 465411256 657599284 185684724 142096352 665630130 339106496 739359358 236734186 939671362 300018480 180917968 787442694 749424734 799709088 332208586 57423804 390945844 808108984 110236912 997803240 514789320 443216014 479681888 772348486 331309066 646565888 688300092 312870470 96157018 3903214 715147360 503140358 99154482 363661552 982037958 412265054 85207170 362285694 331795680 934535770 225787702 501707238 719213484 437630914 570454788 636490834 97113412 436486750 879908802 53845642 275747542 476635686 810968170 616013170 943578712 478152618 914871908 699474796 782148586 82231000 839750364 546653686 189895642 854471098 890471236 973233148 674552054 45586166 159110142 46354356 934467616 667262640 977141900 40580798 968403660 248087358 634458416 756634192 133161924 414532502 775412006 725426680 817083298 767041556 348020900 147818376 86697284 77774214 41000356 520841684 626908624 413663196 575782488 256667256 266366888 828670020 813247294 78565860 278022994 366366288 70501578 76245334 876453532 415630644 297908674 910714448 171674724 734297896 592018728 514868318 843747974 368841878 485612062 82278708 427697288 422288144 181525546 798481780 475378278 714407774 842119256 695759516 246596518 129745414 95120944 769342150 130166694 599174758 38318254 795235758 821663362 41720200 669093146 76875650 271856938 533848782 486353414 337817346 727157398 122400518 355042096 357722182 551161848 366820192 26577860 182030922 530624256 465275138 260441974 208136088 998440032 36930490 95147758 26069882 114073704 2187594 639109006 675314258 550510138 922571114 803294410 763312554 735011838 779808682 500723430 829302884 627120296 888581612 685139146 224991230 224776190 432725784 9565834 89361676 634218888 466889502 209194226 45104478 860843888 443166906 82595952 517980402 359440706 21921246 379181536 812837068 750370140 461278050 962688146 208214844 722388088 501667450 791188836 924750018 876917512 28211734 330539672 736016318 533928910 749973790 296259322 916369372 820949920 366352794 825209714 933034910 852174600 648225034 678824056 654767152 262818930 262975250 368175668 393857546 270718064 811014224 200276614 399552080 54631214 834645946 26906136 489464398 157685812 280542862 8888822 978395052 482808840 808261262 286647892 115995432 241667702 597264 804661362 33282852 654837296 191216552 545285982 371374022 552338074 593791560 507818690 794747336 246377278 993659754 90424176 370389510 917076490 480226264 482388842 796781282 140189928 230024680 636504190 558204918 613117196 544662326 141938192 124615048 814281676 832126272 909483866 205150028 964105458 201886370 774467494 77688104 756092480 595900848 67181532 580954860 924002294 958066470 853689814 31724832 657072544 30779872 2029768 804569964 985427488 778437280 529852370 488329648 734498604 690340380 136883760 876959052 882470220 937182514 367211878 531047480 472659284 957749284 227572404 484141824 83466608 540125798 501375648 185243184 364331466 389323800 909972442 166902288 995519234 672119922 724936444 689039698 190385774 416451128 45214686 408415492 920032314 466994424 84407988 266427734 535150888 340018500 262231982 754063862 90832230 699349732 45100920 669526588 489314876 900324774 403385534 591546626 27392234 166856202 180102940 620944862 418175696 387293800 820633452 705240340 392396838 213118652 623746886 331255804 29322924 536468300 49348152 858289606 752615416 990301650 517607028 147779356 846562226 596951872 597833644 998530090 456166272 880050914 462202246 799396846 5522660 476697268 620586012 778269536 45382566 522164472 771512816 330583856 409867422 452275658 736901858 881010304 420142054 547886952 800793238 876058496 595365366 370276836 789943212 476754082 555040170 857104254 238931570 508929526 532479108 555556072 469877034 575036788 228256618 970807026 889794722 701129056 165347292 312381122 944611744 375784716 333518070 32463084 198633690 278848446 341258290 436826108 796999770 115804850 853026924 626054036 586741106 72265526 999645554 1674192 269651764 30408758 85094446 356946752 532918560 932327336 222936306 744897772 776150896 256425890 421709932 749033024 765169482 714711410 247240692 500482672 407352394 191577070 806443270 115722334 952920794 633904720 723436890 986611172 217314034 17662294 459760078 187520128 499937946 690626848 173293786 272294030 345444204 913815602 616468666 127879230 798151332 374456970 312634406 516208742 919624622 103286274 603606722 711410218 940715720 565272922 298160158 495141844 194709178 448514880 805469826 230341538 130063456 792214004 966628492 310525066 132989784 247443482 952464190 174607768 580287492 668620758 928206316 465624166 853580992 636146278 770963206 789825214 503185464 42569688 749185098 221820124 773146142 495844614 378742466 31218582 101999814 914600944 473609572 584032462 660702732 941448744 464953640 467951180 27600368 466917834 408397742 771075250 916344876 742988522 132951212 4378906 483562128 599340700 52535124 583188438 239157012 191528034 188255070 968221714 74448418 95869882 231015760 398961458 465915948 363695430 966740716 726071972 556729500 985143578 884389794 981330924 842008276 393202218 426950534 632953228 178362158 269242996 453694390 22886378 46038610 438387538 400965314 746131370 457903568 867644834 829483634 252208214 227233392 497145072 941487280 379132856 435547408 528799682 171025318 764367092 137646662 517872908 498778462 942225808 676678766 615693880 316036144 679612798 630180894 821709080 242450386 19651156 976661830 766217386 381506382 466990450 63966936 240377330 933221184 836544428 344033940 930598470 880848532 982126424 884199052 5105094 621559622 771893848 92602146 762340588 333129358 766460210 306325110 16675828 820436718 716705550 296244482 203450326 733394248 148226022 399679098 84519772 601794714 281251918 654857762 772905342 179952764 354473730 233308930 559096336 643392766 362871766 430860780 12889140 128643948 822415050 727543092 592286430 327182702 650027550 925500656 214011876 984431794 159153312 823992886 283013132 231254366 272354904 156735974 97687654 956283174 233149752 441539336 20201136 424134618 33679380 582568772 506318772 478020388 405166208 807198182 277928700 639893896 262325134 254067086 43000510 211013982 318334246 706220252 27192398 727416882 12267400 201153300 932946558 536228636 229150846 93214380 943455690 742002418 951186958 506552680 482259858 543467572 2473724 310563224 420472132 682241640 707012408 136030594 447929238 347893732 788298850 846980632 86826104 268957084 416751552 820101322 138089120 832170496 289635518 584393806 147458116 518671318 468069442 371301184 818797950 665510526 529961058 968071712 38173158 717458652 217584790 512710668 714485424 512095132 637610524 438590532 182344124 781719344 563822344 694452082 440699520 751869568 92284936 589175176 908085540 807068980 808242616 615305822 691452382 621134094 384902036 277080832 240936932 445562502 801130764 374939880 763660204 565558978 76435560 350029064 147061460 179550190 269449086 60547332 957796310 381880100 493501198 962320550 859450644 111259712 530953248 540040804 237725570 881929746 710984032 781587358 528342102 168740418 352946412 207209086 539347246 40937402 928142638 275575466 183620828 569397508 826130168 313722148 745891248 918248804 124649470 987960488 7380350 713671298 662002458 632192870 959263724 118184316 237587572 926206482 26819996 411114206 419480392 299865590 590621494 137616936 997811222 107149552 686360100 331210770 995025394 119653274 555302780 881075004 197067686 119189052 976750292 668428816 213111902 620380708 930352972 291750494 949822980 982006896 771787870 699163284 179802384 880537490 692987632 812003616 276308912 570982348 801535890 40462340 171014562 749102940 127230834 995984546 890843810 465249018 314618316 24654114 292708248 184232502 81992052 530903828 944801648 276607096 711418126 140046506 734633876 150748986 216073880 507428108 437685710 807247450 454755246 351727170 609745596 619681238 128975966 732933300 28075182 172360288 251284392 784523274 878133478 498565680 279800170 125567368 674429046 257379280 555022364 871901812 609026958 178671530 543108578 890805022 235330494 790946004 743576186 357258742 662522134 293210354 856439078 296312992 833823106 14989626 991074290 921140518 849829820 315227246 60862010 77045376 652038606 945973286 294410838 371778418 219201894 335192310 180254294 581212882 341331594 817668272 532961046 144445552 857496112 274459324 9239142 676253460 101309172 189685210 226821986 204592920 32582944 902601456 820431120 788991316 981854988 892243524 134018078 638984870 226224480 39874536 718760146 232486304 492289594 703838540 509885598 456493570 676236110 863707366 787896870 272747740 172107324 898056770 59732514 884596038 787535202 217200084 35477750 451969280 508738046 305134460 857682224 467339214 626833206 17159954 919080620 13960366 627859530 757405210 206844022 241243984 443915008 99806150 728890202 266488968 148802846 99380786 236888064 833666604 974182742 107976070 767121718 486784458 533797390 335575342 167757876 694249104 738794492 348711502 861007384 812997724 538908116 732620162 877438290 78282028 882932796 976755700 70511846 813051398 833962348 948800336 476816814 295427544 114311892 485531322 770207532 425625244 991618064 492340030 766262628 388202606 116549312 211638196 606466906 283309120 674028258 552992688 807964764 247451962 150220892 447295190 985848710 193123170 155644350 587207316 170595618 962877234 242706002 907277638 599709944 491080010 815231608 179341000 347446016 793154200 81103338 272536090 555779172 26330752 837190614 88098392 685768786 612720398 419076274 673755616 502878650 319763010 52760818 149284452 175046558 9184500 152078480 508898232 219147738 416427928 233862868 650693596 258062624 99561796 594628902 700676140 549434832 145793026 191545704 731419798 386188984 843566330 535434228 193021158 213349450 540633366 962593456 90247500 14657548 346189380 883354256 18193126 680292460 831012318 564019692 31896548 920023898 791699892 996112274 212175254 470650770 135227318 427781406 737923736 415277894 908997302 988057932 69626650 227748474 120085768 304538548 13187702 248957364 413019220 758376802 338827442 540686644 736531992 884886410 677609996 813974728 370638146 124799576 957187218 536856294 587430678 887300196 61999584 47874638 556395916 483169464 489111640 498811122 594260750 282566518 80532416 290180768 182472640 913995862 292917212 258063482 566603780 298244628 95622644 98227560 535767744 674750148 713516090 188715502 858410316 973899272 165453520 262163846 634613362 904388886 633097650 60290892 547893510 689639798 120955312 908545760 55923472 222140524 148203032 408322492 437011802 310988392 287651886 383441658 653381448 473160088 941042790 683841948 229029414 148968530 336698254 832500056 178739156 334725596 251258116 857890368 440440204 740539620 989064814 681987410 165268560 640016702 799540088 606727904 223467302 9788144 784146194 160380210 243556406 998606930 541273786 204980502 895434632 677438806 905065438 45828908 844628714 744026548 781804172 152061018 52551850 4701332 692714926 394525476 597231956 873252948 886186340 285988562 545968984 758674216 459356984 43759092 432647264 587138190 95900746 377137744 642180122 583268178 358866710 873107176 625546388 285730248 116671684 387901306 552499702 436891268 9623980 15318682 352448554 416332970 488338388 693614240 969612344 850793032 120918940 196103034 131213900 456516884 909271656 293189432 445411906 449270124 535905262 156664322 44410116 457917128 658192272 700918320 591815214 307542230 816924246 958213904 923024648 196281836 272508214 8549804 796973396 670664732 121585296 793858106 851928212 408976790 974440864 141431992 93756254 974452562 127582328 141324808 679822600 147261884 215179496 752303852 914612952 690499926 576001654 213672816 767943448 505089526 630901114 211557976 540907172 354440850 597875568 419042122 492247694 175765854 556667462 361831420 961172110 707819874 419634382 601093166 348062796 523176248 118065774 353711280 908891036 389483502 751910024 980805474 493204888 524273262 740142154 50471298 776642424 797221990 524308724 116860114 753953530 880246298 770706836 264225156 539360976 775611684 881708318 239187478 251552244 362149654 309508076 371511732 310890872 280580638 710102264 488172588 422215954 93131380 427811444 972116744 471784866 692701646 532831706 839677190 282820310 104873646 406540342 415794 321053432 817799494 67520960 59271086 224776426 158431378 285304868 284747942 904793338 257574570 306309554 415775790 799326016 105670198 445160168 209229492 917520270 710873480 767069924 732210254 897698670 516779388 630325860 703984020 978626948 522017760 626909854 361280998 954306968 418243730 838933924 529974470 420144174 675302078 416317864 696853440 687231694 73726716 957075624 682453092 474243614 963919206 185361634 782065594 974671620 102826920 306859590 419050978 922529548 293580406 306045796 778866442 218136910 232847082 341250720 238638132 395155420 200222836 884432076 342368242 221951712 756988082 490877394 45099294 476497614 559010104 635435890 469455962 357973024 182039232 128429470 741117930 566579610 658745256 986968014 544891072 997129142 920646796 250811726 272939824 459639746 463420358 957778620 810126822 329870598 14857444 393855594 908993134 812679314 109396884 678149470 758574166 56574176 283218968 128389748 819204644 840008652 855077980 267504118 358237962 40449252 331048670 705164074 911205668 407525090 886846644 211468548 241265522 5588234 514261424 82813798 579931224 307620372 375635360 851527414 472157476 974553354 891302502 154702224 870829772 663682426 880854468 382881720 454404954 473313584 12683020 408515722 476480804 125902794 428154006 242310258 890703414 962685070 816733902 389569442 939660036 686458872 579295814 865606612 54274694 384432522 406903552 457790792 113680516 444077544 719686080 341114260 236733466 613815806 739830884 49711768 948722972 106420440 749895654 699504838 585329318 108741866 458088030 99836432 673089124 517690964 96109998 713268618 584824222 200402336 283044028 319588184 563559422 952867164 814916062 485356606 93977718 567504920 150604610 744047036 608059200 105951356 229953180 603664180 990905012 578947072 291094638 697595186 554454224 608909778 327039570 999045324 663045332 85501054 668015230 312032696 444380638 848439392 87071694 514940342 48175644 126487174 308147900 630989848 813228104 651098890 22353012 489195388 349687290 290079310 477616086 161936848 715664634 850148600 174551474 194435318 955597622 460409080 602041086 554722232 999884038 555074358 26948070 933743648 13041946 389889332 633497284 538891162 877444664 491294352 316715288 668338088 610575344 246541374 440200102 522066534 907511422 459938464 519997348 503788628 38761454 581341636 890336100 474799494 893531616 282876858 190912676 231034742 27518190 957337088 101440056 120630578 614891386 620290054 214867670 982769418 661748384 865727524 925511762 12951240 787396738 83378290 139196920 217842548 134049130 670101308 235336256 451610116 585462148 730873884 542645740 15349272 837042186 535727486 692419058 761338802 741038348 771279302 204322802 347573484 561660246 312922304 344012044 589447422 411338014 395095332 348477464 618362456 930190556 859676224 167356008 559995420 935503538 552409446 753720746 705838008 982872686 913426240 481954786 968953026 188037498 986122 182842382 679853958 504295614 590968880 819638906 650624424 635764024 269547990 487148472 234162142 362118216 205592778 698581698 226621268 16680012 149049312 79972772 884311028 542690056 247865350 580133272 12669758 773945600 682480574 666298714 873533996 934504434 980309702 462355778 890193688 562156228 913361352 5109830 55981500 180447478 297067168 452286826 346419416 937393854 879264606 765890102 73210050 739147106 502454076 790429830 232975812 201837258 210870262 863347998 121358428 60309182 313772154 882756866 843424578 709810548 169253716 58783716 41499554 959017514 145209968 900958284 994236376 379144424 874992542 596882998 289953708 8658634 302492216 848399196 419353052 397839156 300305388 861696246 441024014 363881886 795190404 56029898 487732780 694493230 208155932 91337324 819651708 524698940 349315462 317486482 335104290 459448254 54415884 7057218 672296030 175900932 501006372 887952540 936057404 416094934 343482722 132683780 131404166 604877146 605883396 442487344 247866398 909208676 911131676 814980664 483242206 527018192 776202954 264302122 252354436 33355874 607733416 169642508 298279968 343289846 333206616 418609306 864890206 112937006 194813956 352719090 785868396 784785614 58093896 869197648 782533608 712007810 350945654 422398370 837674706 722594152 765892330 157305672 227003140 795126942 351017866 306481030 142824326 383939262 691421002 878104802 122010786 502353106 746935120 184834660 323068266 709496364 766698540 925997976 441181394 251689882 307086754 210444928 656178956 88042446 335913824 642536494 99025140 616588874 387196340 828637710 656629126 654505128 659144512 342370034 777537960 190320598 686109886 207411310 432264674 884327312 439791840 104355548 73690606 171315524 198538066 743927232 228944350 676423498 466009036 917988794 812126934 466760658 688747900 449268330 796875424 518287498 878666326 253008192 697836240 900521864 491834478 253947340 831916788 967250542 339574144 899304044 578613126 174403256 151864520 404033256 705356668 859757000 495714736 965768942 266374580 145552046 205552626 556509856 180358848 15711774 694062880 389046990 791968440 855846454 981981574 950084216 396475418 939138508 969830778 544240594 946347636 716405118 95754610 542405924 934492264 523680846 439012006 432989726 375245846 65693918 722036716 485997618 718867586 277604266 115737394 655930622 314883836 47851084 182256710 831492860 611710046 646523614 538391090 80370006 952954322 664583288 252683046 900509262 973455182 293323834 75215632 700476894 664677414 399925434 400305304 651162994 67406000 687219984 140008698 947190586 408397958 804855848 88451652 265962800 884645230 337286354 820255402 205428198 188926248 555131918 232074526 933997786 687291144 345188216 718575550 496193314 791470920 954187428 14535772 83054338 449330958 614269212 13996370 140142702 69616320 511790820 813192568 839405180 613941954 440325638 633886018 423331554 976817198 913406244 186217688 193965574 184186532 217910036 131169780 150211514 155781684 132393838 642058154 386922490 232776480 707242962 976940296 784449920 964023078 506294140 545384668 922224876 29485222 937165974 114105708 448280192 483772852 608235256 463733926 412264676 231869952 823507570 712069968 487546890 562154056 954163272 524006358 102777240 374875906 869558786 790043236 77411846 122176758 460067036 85386146 21571004 715118606 530102936 732650592 115179308 922404198 883100538 520905650 9442110 226191834 727175814 964559572 993466762 18643280 57213910 467539160 532483158 748689462 792922576 745601956 800944336 934869350 706575936 38334664 457875060 117186154 361616152 17801498 324371260 675843252 801670706 700737114 117407484 603757754 126194200 77808740 144568928 502862642 862581472 221094486 926499868 607535322 119568314 680731728 73465428 763806908 225525912 856288448 799920946 225866732 231763560 732989432 913074860 636724824 169143458 814252590 600725688 944168034 615079402 94992698 980395486 87312264 477032236 762317236 67864034 536940722 484073696 681407176 18154794 359650758 915834330 696991374 785955752 368690254 5751160 561994522 255495046 53378102 726826764 26740990 21540558 38406466 886756580 924437320 312116206 575658224 997704406 148069794 901977394 712948622 562367104 669450950 925863900 200178552 787116826 932550442 309556312 457192844 688769062 191031022 414057052 755812300 391856968 571563058 65328462 287190936 663815224 118150764 539444604 173057406 957749018 874228100 593482748 923619014 324764334 928672174 414437522 80644622 466175692 230550628 980897760 852963254 107464256 801406756 864651488 84480738 506904550 681667960 676899112 476871960 550427432 935190152 374957924 220375030 964223398 601022884 511686042 506843074 609909958 514442178 40318004 893730722 393876938 268143042 69429056 872176272 888941038 458069296 5190456 606455904 688021476 913605338 845189924 181650984 689242622 727668200 115478772 650317228 380496722 635083750 846499942 919539082 903759550 450105354 743838780 343596768 756888194 747589456 813537902 488534816 502758976 235878162 721725104 448303036 707155218 937674066 369361238 556275144 262834398 277359482 925014912 522884968 638059666 889318402 461522134 492183176 230865354 197995014 109184788 908724910 54727464 760423174 470224988 380851528 857292298 648985358 167180734 995517462 233690640 80887292 270768228 197661188 514985250 881242136 532166248 306818222 18089314 354994934 727320088 8061150 189791716 119978788 543977178 174784986 933196312 901562126 193431018 913225276 496756906 662721126 728331226 721389960 365825708 613931310 970684560 638026602 575540896 752325776 537254330 546740568 701461452 629155878 497197100 432237460 64310120 452211930 980405876 43408364 699283998 491726422 101785906 771143478 504006810 103720220 417022598 382123882 266662200 723403976 330170742 645865510 829375358 133266466 78445934 54973914 227158462 457516844 321113248 265812324 34522074 51579394 28083210 878540724 78631250 337529900 469910194 464163316 24667088 191140494 570428010 372278834 735434184 996068418 906617088 397368626 948799272 375206966 712045412 659651066 940987184 967301362 864696882 150060042 714626718 810494010 525352116 390743886 380743804 336031684 799174970 170742750 25475872 808785994 364417188 7157918 661880442 294456650 249383784 709510764 1467150 567901340 832743562 87320320 239203788 172904986 866353038 677237554 724933314 117843384 166106360 774415402 784380920 244742882 910537206 745466806 952548384 951774202 115319984 369306190 26222834 183574320 231694132 341109612 419317350 68204918 542315766 289244304 604994068 468426656 11250556 966275532 358384710 226969744 971978092 141868236 291850664 882194064 113443796 414837754 45937770 461341426 828882642 37510690 455875744 204274570 835055316 907775084 994891978 69618766 66235678 720186368 219186842 280165726 88541274 473224980 420212418 301902940 773239810 466964296 461868132 594310512 553792324 382751998 933357416 290232282 865416066 840262718 888828726 580723990 34906368 752945640 846636312 853868728 973017254 469092136 909961608 478508860 323135614 299262568 495203080 228468346 659469740 195732516 118659010 623105916 736010798 297951540 784161226 48070232 454489068 237638480 16456296 441050570 592665086 960921714 778296344 937776970 307075822 676671346 670528454 224961836 5357288 967616458 410546234 581167492 460266610 623176880 372659650 882362220 425262956 904913556 89232528 236773730 77366044 698128402 883348876 695426024 982452400 735832384 361743706 168294658 207979082 149643580 90829418 719749576 18537724 414943924 778306618 752383206 846042450 921244594 567698032 588874398 189894586 595853586 468816194 94928222 605981580 39736200 966368502 866324746 452078936 196976950 515292920 551281972 806142754 989653244 603169928 881019200 430521930 703671476 656783556 273245438 703572560 321256502 136279504 186963080 558108108 231715622 332424088 414384230 611830808 79542278 961907096 544078876 114825026 888023866 202833358 816890386 782003912 12616462 67428092 412422868 88258426 534043682 375012064 813386116 466828670 953695754 20083500 101185736 746164422 651153678 143356264 396565442 140684762 522976118 74142320 320227188 882541702 934968804 764391570 921073446 341234188 59977036 951571608 140915060 93243750 73715768 726745350 605405014 495873498 241158406 996762838 316266300 655450848 691895760 926714126 229273602 849779148 824379772 764569190 877162070 107644150 343579450 100517566 964621182 168394048 170337826 816916538 423715678 698210890 213721380 238050352 237792580 184029484 40941474 249458338 487177182 85515152 623544956 925668104 949942880 739682880 424801476 142790626 909694150 322935928 216715410 199358896 498777490 947233474 173607802 133348350 880897996 941472608 409225416 258380776 362604636 641017778 386577492 769005760 696269256 787242738 862076930 725287970 140035650 606836204 206434464 750984674 715113788 229965094 896502692 560905484 685417166 321232486 702070824 185121026 693913734 925058600 269220306 586395866 114528808 415460074 542105470 766588980 826363020 748740908 343628660 60474552 218153364 160920554 517489782 378506772 961844306 153043948 784685986 596548314 226640260 321811310 106343692 771803708 588283026 290931684 870800328 244252012 721840652 976136338 865785362 938721916 697949576 296968368 320047268 505863784 382815102 539423022 895503980 535513644 270761522 992341798 26278186 327384084 998121460 547014364 891233240 964926934 303631010 977758582 581266012 685558596 822959076 990981148 912021768 377261290 27817996 759734274 921030696 957736546 876866162 549777202 339287710 932897488 541505474 263276858 524848578 88346016 667947176 877161186 736018686 675538070 240201976 618349244 551582600 514650210 724016866 35392282 671175238 305829476 33344820 852977004 38978672 741650608 564327864 623975210 745899674 474968918 195144336 305088916 982923768 49676810 667095184 221390656 71500254 773310698 311269346 56887196 936947590 38691110 48920562 963005512 64792206 871312144 796257276 873255654 929889448 128650552 112838612 370526280 227383488 828747958 715752146 741652258 155590360 952515350 674445340 427370262 634203992 352705184 809801190 665632994 541046368 386038048 991418204 150871250 868434864 253432394 285788658 430641224 417584046 442769910 156081550 230700530 449798644 177226242 464200864 448049142 492917592 820099334 950339582 935916144 72561000 868762254 107292722 331798658 340001882 261013352 379712520 814110504 994687784 356464608 995410004 762354054 734584304 72517048 593254014 362775986 680750464 826448174 406168544 492766872 238977230 457973466 797119544 322026168 378594258 293061960 148564956 508083036 57533568 38771274 563027064 82036070 865736530 215692802 610328492 68392970 475037858 740823144 985991538 246299096 959826776 987624564 49241274 297756810 634211780 844743546 22632406 237690948 555866468 914140634 380343508 632103550 36251666 330508476 802379692 873824392 560876516 293888706 427375740 815401334 675452486 646951196 656276482 83666960 869659374 759990156 589068334 654179138 580733448 406407000 95511920 850022838 303190786 247736908 235491672 172660860 47692562 805834176 565378438 885202284 737004556 282017024 557288314 410429082 998070188 938789042 694629552 773929374 35568650 758608274 42176310 727939122 44774458 861233674 382819186 231094252 358002588 48575828 661511600 923452060 126977778 685438600 433775364 474963918 705760340 454901008 570320740 568095784 877745450 171873646 827892816 488156692 777607452 587618158 230816756 777438734 989782292 716630834 909580096 759678322 324178614 407844108 168416086 404938030 200711950 592002142 727016456 410137894 53099934 386665516 576732280 538201458 65185666 606071098 160563312 671327718 381533190 489682226 621680632 824855900 307041738 246217476 451609910 774505552 471252006 106154036 531356432 802860788 364660908 852374320 630051670 294445382 92961226 476058012 784578056 953252806 744892294 762530836 579899896 748427738 463164308 486201232 524386450 857436978 875887846 775625420 1794574 383163504 67776464 357443034 702053484 599568072 741546618 952340896 629887286 210271346 170324434 4842216 146365520 718118948 518867950 376478232 460334724 751628414 920057484 555248336 41441362 242359238 424106686 205051514 781270892 640355946 17165832 641847246 222534746 576452520 466401786 499967502 192147862 756163554 630975330 381569824 668551900 391644590 600921184 457049714 291502660 72066934 880332680 419635294 324085924 255946418 220546958 608402850 598342414 65445388 589271706 160311902 672888908 660253160 636261076 206176860 997307898 27061334 371381144 421102580 5600226 677147390 455170686 944430500 499128978 307430064 769425476 272064674 76069910 396492100 411063956 990988886 429027628 618310162 791213966 658990564 289007228 277524260 633827538 33665132 185089926 550724054 618368092 592400006 207052544 446314234 41888254 75991826 681669840 502961776 283406220 899854430 94424754 293028142 192423950 915205390 389920838 677904708 496776058 450679120 648314120 424966006 344074900 541838192 418419492 422608440 797182456 789536014 844201030 849136216 62442078 680737212 457189222 968222396 960548558 234497758 908081736 183661778 510833252 311986808 378638704 323278070 254014406 463885106 539214670 129152596 678225134 783514394 971776676 322085374 467319860 126058544 371981142 517736648 164274772 323728944 801234738 246886330 832697648 35179150 677484410 347263324 109825050 502268206 616278188 289632696 706065922 938875346 634102950 680272766 907082012 115457336 155355824 618356780 897002542 57801412 483044566 188942844 960434738 247343738 575488106 444783592 722495490 627522500 182515006 910611988 785733008 374244396 406787744 637729358 129352830 11681110 698117116 763070186 672583736 901182820 893653502 190531236 79694764 384318812 941293646 604255902 30988154 994077790 229845874 72124802 550379892 714665024 444883542 266208024 881535514 108510930 22753672 798047784 211516680 716957908 472808618 28300096 470235044 232280842 77484694 227140894 16694446 698136222 661023090 902184828 826627042 515415934 548971298 628960560 653377120 932620224 972510764 222051372 434770730 477828154 615885446 697771648 920184770 4448952 600662874 808052194 470042634 192514932 461594874 78626254 35801750 234375554 746198112 44125076 595348532 672652902 242728062 642756092 740470010 276950674 714025994 952144226 541893824 893211314 551295836 116829566 913970126 643633896 798113526 229044064 318872722 524134624 590815674 674321432 928422268 861754910 149392294 181159600 511918436 327224462 778736938 803792532 846613266 264791080 774072448 687367724 589431424 827367034 641885832 687703080 101142158 894783698 885975848 85686918 498496922 959798144 20628634 134096464 633425176 805375152 4410938 251014548 970156464 994953622 88462822 652692298 633529294 120037714 309245870 348280712 450921142 679346170 505009614 919346710 363458024 46740744 628264028 195482982 936446978 128671198 876444172 823187630 842413302 897121734 537789304 791449760 733560650 85191244 431000912 538357718 445766066 431220670 104469386 518728824 280959810 94675486 611873338 37774764 764442146 565060158 455846812 13621804 69320086 338517478 403138508 802618334 998048142 821688294 610826828 897797008 117524438 129563434 536489434 300392080 68190096 411715098 102524256 970415950 794767510 112227046 887603420 22805346 914409306 987440360 723047370 983711152 334397718 46735516 159289490 184606730 851599896 561124750 843798902 793070342 134202492 638304810 327277596 986591586 96052650 753281260 705138982 198393758 560988448 185976268 544416458 739255262 902984640 629020418 336893058 324075294 330316134 413623304 366829886 146419570 551970724 436557982 180719712 723051202 954087516 742056012 649968400 687004432 63870834 598267960 251815888 993293516 448667672 130704012 867680116 838610712 348426292 897069560 924392872 383455610 496057846 654587604 733156346 808625662 455039224 855260184 835599620 729030656 183494456 156763844 546390446 531060836 407535566 262970026 310427260 892871548 899042956 753643970 760244310 911724094 663853304 534366262 248319208 224792096 809326046 154898620 205772432 753544108 171349948 418432768 942837664 957335772 181617444 41950072 350096138 564104630 869229026 79940924 957971208 101020496 850730692 358393568 246976122 139422532 680858392 231324540 591949290 935701718 446162536 868325320 316584556 949106240 583936874 396913800 985183566 931144930 321036526 730764208 916942328 657079198 5581060 149868622 457103898 445440252 417742268 375618544 593626208 983187354 320855976 291871978 616850004 614085800 990690578 717586028 486015810 634428322 765566860 188496474 60460556 755495296 78862912 897627650 236764382 921499830 657959620 763317264 7400974 444891282 630469998 800651312 75466904 692625874 637420516 863705892 589614542 567994922 976090366 66203736 994070284 333775194 434842508 656860086 288314918 248628530 593158626 547448778 296643080 303999062 679033734 131064774 934743034 87309296 126446788 306293648 74216978 506277296 227938388 608541864 744551362 431591336 449291084 717283024 605555094 272281654 688672846 425880136 716854534 830295210 732030762 835087314 505310432 806095822 937350850 427537480 50427172 414091320 779399030 873728074 636440972 413897510 608237352 338450998 560600016 308124168 522721134 713481596 180757914 917283310 573159192 60614560 662057276 57102974 531044256 415553120 441061162 613025000 799424254 230951880 344498676 77963392 816877830 660149474 304429040 567345450 636336268 64176894 832378800 117619648 552324968 497837268 722170688 843325534 619886010 227764148 337154850 155521090 145184104 330669072 183044324 149691404 128593900 462996274 309826012 563549248 850067086 792633196 843764162 103060642 265108960 167366584 670044010 514827564 4061192 326181722 916096856 180976668 834323580 436367268 597666480 121890542 347005472 617505270 153242642 983345174 594592026 916662500 669495546 549242502 606406302 212999416 971982732 597255630 907437988 494282230 197439822 48281560 365744078 219851398 558622772 601264098 214828582 495301296 234294162 635481258 725265204 232425606 286769452 990409980 389956474 676097652 382701700 311207842 416637658 343644660 930481048 72294858 917338284 301842000 232376236 568640720 584571162 911911688 54104646 689668690 684670220 261243274 542033170 70516248 955753802 734283754 561777988 360698538 871116162 358084886 565571732 648769142 704942856 54963894 44586174 272684536 282068096 348763798 782843442 173628384 194537800 277225836 906570350 302654838 830364258 538808064 942519588 846609192 853698942 320880402 652952744 939536836 261472976 874459892 904640172 371324234 55239136 776370424 950754756 194058388 346765306 486728080 201097652 441015750 111966196 179050940 527698320 681727098 855558232 494767852 264978900 601552338 664643622 17498536 4346858 384294898 908906310 589402900 332202716 503256784 4594646 781885198 117336046 748866682 438253598 10986402 933613208 311138948 739254498 543812372 213924500 555303610 898041592 678580640 627780576 122500836 319223830 425206774 614444866 895158210 249369026 982758866 454029072 862816902 521884374 644180748 686903010 438707494 194628068 692930738 951282812 967468296 405087234 657180090 978941760 234490508 667378322 7256872 597457580 2176028 969434584 770867990 792221358 715843836 835584056 738610182 889072194 73778120 261621768 413656638 424705256 230877774 177511148 329682896 210874656 423038446 152275556 412686024 360206914 989884720 147222996 896121250 528150768 353407220 811093114 852381120 764103234 696566424 444905574 928593906 945813994 574718614 696099444 218344660 997512866 245497514 292794552 183796864 404860932 279518360 254654454 467929596 479144468 864147950 771563572 341099234 372701378 883943114 775725118 86528322 889074886 7751582 93808878 146952484 467952066 995000512 487066738 651194856 297077892 178950490 750687612 938179044 348845864 610301970 651083474 112814768 28155914 631504492 924106938 125438680 146510056 304843308 913765056 889342226 777868118 694032794 212499638 681376506 361886970 568960202 248623676 871976008 570067756 905595556 202282178 392797068 713359426 287292354 595514480 550282228 858177654 788496764 856721840 756969070 984251256 466972292 339956092 439174170 368001544 450386892 592380396 570033380 989806434 701247518 731979802 972575618 860794378 707587282 700364378 880299966 165189244 672091086 206379942 368966484 588489890 230314044 803534956 693903002 376794628 49706272 179256408 731883892 324741556 419828718 122532226 975786854 990882272 782456118 378917030 524870408 926450600 486940460 716076734 360557292 179168344 564220358 635071172 622333608 844628698 315335856 112581804 547987790 179381846 952803074 818048710 786012552 861472488 833160550 849631286 931132318 824260756 249181104 698046300 532393018 511500062 322399336 433041632 598327700 490906006 867893932 250268220 174343744 593481978 107716460 588268694 841544308 470055870 522549806 372770400 344490078 604131414 849462390 21594462 366028452 94247088 957561034 983651896 766617378 315374136 963504896 845616612 504917812 303689324 67397624 188337944 456952996 899117606 983379954 427864410 447935408 348828444 682142448 698282616 463793702 94726480 489897446 664843740 780706898 133057142 944852582 670417900 961620352 751628956 315906726 680146094 730026300 25287444 730191174 895561318 121452788 674078474 792765230 452122410 225235618 302743020 224589628 508057554 81941380 415291414 231963320 700335968 591806886 176091548 640032244 105279808 35831492 870792534 88880448 330528740 283869096 352434610 446733832 845913276 523152422 476690852 936328986 863510650 104936024 765103384 708531260 187857498 588977330 758146564 988218424 103889362 56430254 3846244 158748940 387069586 457881188 720465572 86811448 404107688 546147204 124954182 336816052 611430362 709918674 504710790 29458080 141225454 468827444 605419632 939199814 453011152 972352146 213864756 242380662 466461330 228967678 894353074 147718646 324395822 186124340 442243250 627339634 338401498 169492518 175042874 860426548 884581450 608412068 817707210 955043926 910204146 79770482 99439614 415399908 126634346 382424110 134314870 141584528 629621634 217978670 874336940 997628752 7571650 370344618 295931614 804090752 966103332 598150212 282984222 84731348 140666868 975472628 423328428 230224284 188087904 908434134 311156674 347973124 932764730 376030052 112683058 41045238 775721164 618781998 71260204 218712686 866943674 441723494 561627896 219649720 957321176 422457384 828466104 598991296 407212670 983905270 729431156 234181018 589119660 372149494 966538946 127967114 45440726 192290978 121203846 98879004 785605292 221961948 439465086 173270814 879927830 644994258 41099494 832528778 190344694 618361892 233301400 921990450 140703122 905005080 983301318 600217634 878572626 550435878 593337546 367831708 214731918 524951194 536140892 32618416 138800968 227216842 35699228 198140938 349995018 224341114 826100650 639397256 378737380 22354044 102742202 502378318 472777730 246040168 356510592 667461616 593957000 208383974 373009942 753328806 750971744 107923678 770932110 673248460 578821178 884709216 581502142 282819218 956863478 181452662 877599500 931010944 19373126 134829476 161499892 990888770 862260758 769591324 717443986 596137702 3568292 891104474 978510736 145400408 842421102 784690862 672574194 50999828 871207590 3839970 876677744 746570966 455272462 757732398 208054204 799917504 708421956 312544638 674257324 93951858 322515862 902792732 34482682 660309476 89508268 247402128 235020062 838560716 55838980 936915120 443841670 156495690 418385882 955655238 840333200 321168892 238866010 70108036 833949960 571411144 618027522 680473540 330661580 922273670 247117798 835568956 163249162 841401220 199440230 931651640 986619794 739354178 290305934 858308076 305389052 266628438 785525508 955669864 897054792 639769712 219224164 706079776 865200368 900099832 757197292 386596628 161593938 628138618 637626732 408254226 644977290 622617036 73241082 973720312 490809924 273156136 666559348 540286932 151435094 352760602 439647488 822467518 489786142 262502306 383676534 270902790 172637816 990926018 470151362 844384490 622728938 269438948 815430636 997775884 409070728 293991042 763813240 754449390 697394018 650951028 660647312 870532448 837060590 583074598 452970938 322232736 940562214 977829040 369373212 286937310 759217264 388375616 951132806 347080654 409814500 997002276 99195310 480993750 847868836 689937430 891613140 611508534 615365886 512809190 286947484 794109242 587026032 275528070 221720022 877956944 529067796 115658024 764194408 466636686 508177496 479345108 33543894 233111166 968368368 868971564 895637094 413850970 697530424 778918618 954706488 46599654 190165746 404329042 836790930 992756730 391972012 490117594 374281952 482523236 281508970 122300404 217931830 247632890 537429162 76635854 464812208 161209710 359002048 669602120 231859596 917358200 416655564 570582648 503459912 291719774 267468404 190542736 679650248 365448094 415505232 83894942 620882144 692316596 666741624 188620002 703260286 340638658 91558662 142777510 67227772 635883184 350527716 91599654 224931688 58558818 203824616 323982972 580943196 296925112 997980986 275483078 498547104 208926266 212236126 42771772 859876032 634124148 280256930 583814324 542446110 61334034 966688736 361771722 664949442 288188728 766882748 112662212 451151266 743102198 375175920 951997464 113110632 582467278 137006972 168456412 430271484 551026946 649873992 960009192 815451376 930547292 317830860 199682408 954960324 881576366 39533204 163492892 703695844 834501496 983830692 840123546 311304686 982913438 61551348 820243562 3562932 527608454 524779284 954568500 262612116 962585422 148097742 735167942 738618282 818864826 63865934 275876624 975472572 565494784 338715132 399982488 382209178 45469066 607441940 531413616 61051214 708390604 418005482 394871918 859404978 388318782 703391970 522708858 575224430 213416822 291081062 994062050 507932210 46322972 876664214 907146676 65576548 531617114 765418870 288145780 353372590 954878544 740419394 465652502 988378124 250024628 460689618 422357470 130108486 778425676 849710580 675213406 593335264 141983320 663181334 142738908 523638368 717960712 900160832 517841632 848500944 173422818 170643850 706493658 487094142 229712198 270617282 385375530 619888018 40405688 564278936 760319124 539400070 796533890 836588636 747257292 949467496 573276936 20040670 716239962 273113608 785058920 226761328 594027442 558813854 706265746 139745184 823709394 340949450 340527722 326953080 419913174 935791312 694231748 973170348 85427876 824687216 244158804 380762186 702422454 737289574 972546976 565079874 200759660 457085088 480134668 399805424 364162522 702755454 942480924 833571322 867940686 111532312 932321264 171151448 286231622 332988722 745406566 511539876 111686382 620268248 704335272 118367426 91212976 308325082 283765044 189634248 638323492 729912404 965221824 453527348 153183922 771060930 768969584 685651970 624189278 711650736 958785144 143746946 104876904 931990968 82719004 441931766 735707162 154570298 401080704 531012446 171052136 108349390 445117596 567023784 147859902 713529446 168196050 834969006 320986236 267347576 616556796 802973468 860616056 782300188 63792316 79306616 400549460 302953258 898297488 845984056 609823968 698044544 708816376 938556410 561699704 614384894 455370290 259571582 812995778 795733934 937790388 579574216 177857096 214621548 211177838 37455982 732423396 484078444 831366646 599344862 672871796 111886510 306497768 38322218 73915362 88278150 765138264 441940830 131896804 551830194 841893298 847080810 979026882 28778820 424752698 891133616 406902618 976858954 374143854 130747294 99037014 507463484 461260180 362540476 407641060 256062234 666289466 132599698 477109768 470573186 701345546 789195570 805973028 486523180 275931256 862669668 606783620 431050556 82166398 660655298 795863780 911402538 859268022 863422614 350377898 652494890 181671744 453865308 302485228 788052036 765696776 25634886 839409818 277693100 706827758 586717220 97233048 962085370 405904196 49809222 642211916 348837604 348409248 908337532 148979168 579828188 649292794 265469152 536153772 115973718 359740848 394821146 649251024 775487260 530295874 455823762 883123558 545346644 422018526 678232352 742445736 849134218 353558218 473347700 541035094 593945718 892687662 283352254 162563284 267677366 839639758 538308514 181328334 310489684 680908742 889387068 739092050 879833318 203202086 225825752 975898112 355090406 183063556 459863294 822863180 801771674 312179662 919464070 959424190 579710746 196867570 625815026 137946982 432919220 565853650 780092726 943259438 296511052 532607142 521353084 230762040 337339256 115651006 66103546 367845308 119188188 520903532 177394976 352081138 324505010 40647052 385606984 414733838 351347948 251062252 577034012 78657974 215028686 305309150 157974328 765498536 131896214 558343728 449167522 540785434 522730462 126929604 694749364 111750740 759973602 817273414 296363966 985993280 676171424 547522342 897387378 214890876 519929818 907741282 12872788 939791434 910110088 583048122 316811382 706120698 589031350 940502356 807086974 163247102 42305814 365304036 16581892 785355058 534236626 347044582 309083880 459316104 400129674 607704156 47831636 236265314 961116888 34508012 211220740 554739342 392658490 225352648 888973536 932688340 997208936 566485324 186358014 953443702 194875062 121452646 508549302 472547380 803909056 124589354 920654526 805982002 561152622 929939790 827126828 752415542 60102026 242286706 319377622 989622226 340300590 333255792 794369272 862732340 9449364 790402650 807856312 869198434 57806042 163905316 804449868 506627650 289427298 615007084 36458612 598908462 940114912 753813556 77239962 410809318 911562942 769843746 568962514 548317028 424925322 289308062 208152474 761756176 731270910 301768004 304520246 640086734 627406822 237542760 618012902 949792328 697252794 528406750 574730880 304517312 579611942 255867740 505207384 172182792 925504156 935634390 811916718 899140912 618351056 172932572 352173446 231444060 817906634 950042588 364453894 801452666 505609664 649491290 695689488 636255184 524491724 3167412 48789738 309173932 140091144 694725266 61193068 250081644 960123378 675706632 565813148 584161122 16334774 389332240 422711538 643985258 489431992 582062934 750649188 15251824 203640246 785972778 318560576 326112230 671812966 657820682 534231656 350817316 740967120 937872120 227382326 192221942 288155344 279056606 837088872 224073302 452601286 384625374 274237602 976363440 830532904 105433474 763290322 605661872 338986748 876917822 922847672 505557472 621737616 771608292 529673208 304483800 929546532 679906356 325500620 853555092 890358548 785849046 44456782 878561500 804041162 715513948 293223096 31079922 431584646 52239056 712740290 359215672 850012446 360797970 691690930 22600808 942144204 254467360 674797546 429078300 36157788 943730070 91478496 675135034 218241020 107789526 616023392 380416878 314125008 797906720 64180172 661601386 286951568 135869202 299659452 720571564 803197304 414287520 322898848 221613802 179693634 314436076 553453798 622677098 510349160 881133632 517888254 198270506 888979052 50496234 318825562 813574632 372341746 134731100 4688228 238228608 894273522 987105240 929309678 995534242 788664694 676964780 192750824 195620368 885454064 664924848 388032706 726366586 100829484 166161466 189711248 471048714 461220122 231902650 434234012 772622292 13547162 484576188 304985634 48017302 646643594 356795310 841607984 19458636 505844488 783041606 955074578 650486918 540810354 367777456 354939770 4648622 42781848 788680372 866927742 915778022 68551536 793067110 850728440 525050602 44069210 481063388 144084132 837966448 823888210 79101288 863559034 695715836 775523226 611187236 398947756 862324144 589321684 355219726 110027466 813799286 104483850 502494818 112400456 999981884 190107626 29421518 358714766 103039748 253837982 103561910 476845710 699229468 424638272 375031746 102561634 619864364 980925054 518998870 578348474 642519414 932233426 129591604 269277752 75805568 947544590 336689144 648901042 372082892 956868620 780445612 30415956 983295126 57890984 776834224 131376168 179402496 806489740 528211798 802326520 640680654 708681578 870458360 405489172 481018714 233589654 900737876 383540256 700005854 524046844 300967600 554643204 236226424 719513976 738904278 102881530 691991618 240706330 295388464 588068210 715490140 981688910 294316176 656638818 205891008 303748650 99081700 31766778 586980484 741650238 37839656 757480360 584018704 355269630 523033460 138662702 305179202 757059896 59264508 137889122 820949964 845023572 601686084 183480534 72398024 479929158 691364328 364987960 874677530 665089402 881663870 461179432 77832348 4738128 112584290 914501830 543988608 114557240 144117236 586718664 116450300 898553598 311231732 968790542 913583866 998874026 301080264 839093150 739896060 193293264 642772252 305076448 615301904 953617518 360030862 693619130 506601388 785875778 645068206 51787100 424243010 488238964 372416640 128758488 136337890 578554920 179731492 372432600 873234714 169539174 454207336 474743428 16092194 566132378 376495730 480897198 581311092 461201598 916058648 65992578 281792454 958775238 62517604 973392150 854607114 729102926 628640768 47378242 682757780 9889806 322683600 676066552 422374804 636335758 122005980 484941478 513540354 438250692 188212102 301196304 447810496 220801194 321831108 367863492 641943398 282424092 413454736 351799758 478425360 897496180 808212786 125516842 648102196 241624916 603866528 905629252 616430342 583084302 68034112 442328048 866662490 66492224 114543958 115076536 591473988 646121820 228765808 662527876 551199922 729625210 27242722 992831334 500442430 544635046 791172740 105347792 785880140 945916764 32974984 69435552 510981848 246922332 11635704 807892404 740221594 467574048 966154480 25627430 91831646 183788320 172275420 468576138 783828058 877251106 479986620 574383424 86328988 608044228 225189466 316798334 154074200 429808092 129021726 427863530 752905968 818218106 569522770 270824892 62537768 783798394 712181728 398430226 449533186 104744966 751467342 154492940 109198664 500173620 392616408 689912492 557106326 241871770 39157082 643220944 527468902 542350724 339909012 646273144 708510664 346012274 505603752 683459574 671046136 967875934 53613638 23965048 722094902 637294 37417116 260906108 704921654 410610824 898960398 316626150 985011776 782305520 223191202 767336854 756979634 845907610 910065780 987818112 931406918 666530652 177738070 539063056 361195544 608220500 947145690 166398194 803741864 634511730 126238054 946136166 67964172 809893090 801821600 182856854 344597368 382906288 899173060 675876774 47522596 184812810 942421844 829069758 455407406 404939122 275600322 747386546 417570306 681082952 285507998 651022160 586177790 342661552 887534092 384855526 326818266 846602602 989854836 125074886 702030006 65075822 212656598 965246096 392152150 529180598 496850964 810552172 892357666 859397014 504220540 853170392 163810272 901142840 780785478 104067026 730426918 334053874 29882542 909360692 544704378 907743194 526684704 356033126 102304192 499603018 805191042 317004854 489869800 476312630 479459190 234176738 930416784 717239222 242555666 450153398 936602900 566767540 280563734 388396714 290205486 767318516 221573642 409353950 595598706 901516114 619896550 997417160 839882614 865723158 3321008 211678896 751122208 457206880 336614462 745704838 472048362 455533880 198491150 1573082 810368220 606414504 516045906 716026002 68218758 647706716 804287716 846161138 392711972 937462872 218785722 791983066 248921856 638198622 140558166 188126108 141249846 74391674 309333110 94366798 915231492 284379928 888590778 582960388 445147308 275412466 912224096 801707690 40526454 198846902 32392306 953869610 239723474 421030170 696257298 6381930 876103072 721518556 385919238 177594726 135366890 109108512 870585636 355054370 380563422 978389312 107296500 385684530 719039926 413269692 538779142 405066328 815598948 951816548 69960862 612833970 840241846 159511728 738969938 499752298 738313746 573281610 809194502 437101718 174298328 618055842 126450756 933155904 556934798 107771750 550372880 855892784 599324466 563638982 73270480 147030300 18242206 555697364 993617986 494265410 543676656 101242606 490195996 888668238 240540670 126224268 422248654 152699186 997189882 953753036 371905298 329166880 430622276 212483772 614921292 454991006 447202328 821803174 826130828 709153362 18853562 514298192 411199108 733228800 943696336 285926948 362464518 666431774 723951362 287096250 919965632 72231014 640667676 120090094 771236272 936151156 987681320 888887714 215335562 607211400 695464044 186547688 938454110 303400696 871747606 540810338 220351520 874067472 128756704 201855462 528476858 297210750 179895220 124120444 840481398 375452994 447984092 713156454 9052672 372448874 792380876 95633546 978146196 53900258 746773266 25731922 894098652 618353712 653046348 548700326 535819136 691066448 175227782 248789294 788155384 790793658 137336486 699242356 443364882 615813022 234816556 254093818 294313394 674813984 634581288 547242060 51814430 457888508 244455676 436300750 340970262 319392002 458562334 8681170 809516684 488967150 109356590 783060436 601443298 857022412 509304390 393448292 573018918 959328446 236533520 894825232 245290868 249015316 791465920 168887600 719012570 875734736 492378732 888592304 694128050 260886866 750096224 627831830 275738160 660970972 133476412 478564850 453171034 91772606 471669408 753977496 77880432 935421380 345156014 427321086 759770720 458119246 171242046 844471954 799691872 186912124 444081960 543765700 493284318 463535138 823661436 883315302 43150880 819675060 811155234 9023080 246631374 160167730 887954440 996689244 570547510 647332728 898683448 678805304 910907158 241321224 872939408 660444492 972916932 944924840 195861026 10923278 281824402 997887784 664616052 49832342 571324430 684184380 364609072 210178388 322870516 720702054 274003816 10176204 535959216 581335478 454787820 83279618 171051466 697788330 583267618 782233492 576628540 143864222 63343278 774633614 848010818 713129658 422367622 192578414 821266762 442356240 95036948 284478744 785314838 360327472 760464748 223300436 984644418 20715138 199274664 629986962 343469900 412505796 200816466 137710010 585100788 719743956 181258130 255352960 895678634 222916000 338782440 77200992 656337452 221073150 328515808 700652020 687738112 522095722 63342658 500759004 930042008 215646280 20480040 47125190 967067940 590496638 579109262 834010938 915553646 612755454 773289314 739419988 595262708 178987310 847744502 457784246 788636884 913919750 297978462 291163286 498967792 917303032 142134544 31124634 823747348 636595086 848777764 563766460 225580708 865195262 226351132 155167266 868841852 747068048 685933860 51208206 641145350 633607832 531963468 579160486 166809528 19359090 839233626 48669456 769210174 183930784 455418674 457152348 795328688 661861488 497249062 21599464 81988224 761234180 138990558 448938276 757349644 570486322 997362138 75423266 150582692 442647128 133401656 816406404 332920856 227209922 871400602 512816288 891443232 960499350 379374906 106716454 563421176 933373402 840947644 715232958 157115318 829644780 382666134 367639674 868739230 516600388 314861686 959281284 470391264 372745152 707473598 749455052 920410586 615548660 56405622 173736304 529571038 79123738 31744706 682343860 767379092 274287580 889411902 9910148 136293800 508351580 490492786 829997738 582475186 264928632 984289222 481025648 954734154 820021980 358908866 258820414 889256588 548439562 858350360 296676596 839391992 734727362 550017266 327223100 295514244 841691578 16945078 835119956 530093472 731045910 684718448 189401358 861945424 481171944 195592558 501212326 484779078 773103500 556840402 279904628 222794204 334049806 439664006 965178054 130840426 291938314 804901524 108807320 91512452 127167502 388000646 765894200 356179430 441847130 360090454 146806762 590102992 827937412 979995294 483783972 946329330 599438836 276399296 16568484 118288072 101938132 870401266 869640668 382620468 857959476 450764324 81804896 461446094 596772286 178128960 247962212 195187808 797316642 258446468 59233952 391286720 454282166 587072770 612955228 723902168 881490146 692501738 646614666 552308552 106179800 473817370 619038558 47111024 836461984 680898120 374262650 440993118 144469708 146604330 24287962 152820382 227819140 715363236 485268188 118943868 388101864 842759064 687727204 626840132 30804 881553414 863346732 977913886 709401576 138352222 426916924 828537236 395496698 99163104 8299538 132718138 791770036 953869588 626208068 312373228 460831978 897971890 547637110 47049666 667184040 180186080 465607200 305659124 738126326 414290576 764393490 666846714 446509282 672612736 700164442 457805746 925700378 557085170 377735980 31595182 974989406 27135952 171023584 738809404 890829370 719141954 400666846 243033946 683007014 753784788 425687892 965210258 365117418 622500862 668169030 469258412 619104644 327968564 905247094 31374284 996797454 873631334 999491482 752879322 457363272 277319326 708660192 89681288 279198478 944171504 212048970 114183930 196343730 865835004 7371698 90100810 459335916 28205196 73664076 332363352 606741794 475436804 981583196 833408870 518237492 610115416 998196164 64297984 706863294 503997936 925338626 646252484 785571974 702927340 793376100 591914922 456529390 550304006 355961976 883838678 146192266 553103064 826125508 897238238 125980474 473025182 641931008 935170160 313298362 522972550 830120844 694132636 548536656 574210714 110393282 460699696 545127524 86461874 419574640 369319340 346750748 509855790 940505096 269052708 584246070 506384952 697767106 870490874 73622080 327251430 138567004 833056718 847893704 267690234 377144112 724028992 70989868 117053614 460401910 893407532 459981488 334949700 598278328 456901222 250217648 450398352 906560274 619292148 126670686 301345116 524970454 114178796 24874278 566456112 43570530 276328560 95041728 552808478 925122998 951369882 159247060 252878396 844126092 233288066 287320314 135175250 970145576 188392438 370474938 136769800 241621508 753793514 163413634 563589726 883287620 538089564 432624904 641967028 647932682 427678480 612126620 914148656 444503886 86970966 34482152 832872398 228435000 664981458 73887214 26686266 152345910 374542806 265002190 378330008 486597018 15210250 964257272 162561574 777055732 41006688 252208436 204790016 221342248 367434166 914928216 153285514 642598010 577913844 914625030 664007076 637348162 648442430 156103904 582834278 314343322 790981998 241727890 749618832 192008686 150209162 846139574 184456172 72403130 463208692 47076284 806402740 633764000 488071404 365292530 110984672 228235482 577634548 71228594 292496886 327097834 349393326 439010852 347326872 500706554 105746136 982967576 236357608 961574846 979379892 567737464 509573478 741246530 691712768 176180580 331739870 960599994 398829884 438046082 557629404 564323054 475779684 544628966 91507506 155969222 175991904 757229298 7059600 730084724 411399126 725761544 573836076 924507728 918535920 34319840 571445548 887505606 311743756 864483234 333592382 543432468 555022534 673398554 303717636 323846142 672211088 971999688 983224296 698402216 453622256 11470664 449136592 275485828 100466610 363933846 722587374 845479916 978428100 184619664 608182452 362853054 165979464 349656808 605042112 534287212 919469812 55395556 150731608 424255028 182540338 948834160 996027554 150587678 470319336 516964034 639407816 255379752 505832416 407805214 897885286 737394422 519633068 769617838 644806218 978041120 269297252 987427466 670186794 669386580 2015316 243519234 714350896 449627508 302671754 467444434 583714864 767067682 30774122 608960722 173520586 927928802 215995598 59091164 333839256 6940674 685672988 753195454 147120106 198161228 675769156 113489658 917548790 175289794 976087134 898019786 885864932 684253814 323632622 203518604 518277448 764178406 957780342 868482420 14955860 530207742 410072214 537570370 927870218 363194162 947152450 849207958 114208584 880861212 688209432 862999814 410150090 818984418 919006446 422473032 529303054 171292602 856457950 425760288 184881564 909895180 965261934 977104868 297528164 737284630 694768248 490393854 618825964 394742414 817573896 996432668 172770572 359817010 215466166 717046064 786964534 238940032 774083042 25191928 585161044 673936186 686329748 944030576 431568544 560507850 748232422 771804002 353633810 446887168 160738242 35685620 697210674 489007400 33918512 942842540 929391270 64724656 538489352 338036466 936544036 525455060 501036752 27266302 102559466 376716694 475186044 781986154 590276204 660305460 457732060 451235462 5396140 797491122 520578740 438382426 596418466 198190198 354119828 34015240 47759866 161716912 397616008 633699348 816433304 408315972 693600960 940046374 227794496 160075496 240261598 31356806 722822000 82040232 27281554 134536940 85736324 40413936 821601190 67668632 356309098 705850152 188250306 751754826 232181798 93736744 109662606 457124844 331146762 316676762 721636432 437277420 468911626 206882984 146105732 138434868 261476800 886542774 645449326 805062746 661982032 145090106 981895412 301280490 659149906 634639240 770041776 438399656 196079310 997001240 416727082 610622120 416584676 229953430 3003118 134524714 106729438 644802042 669446230 740765334 480727432 541314356 503127046 515258714 672906648 872226206 146995048 131190868 125053046 174085304 807444042 230266090 277463050 790881826 518613304 822313148 771987806 997071514 591789648 310326728 423035716 29050528 770639954 494292796 371859616 137131204 372101006 729604788 489303776 889059274 501875688 92131940 779724094 209095388 982907392 432029102 106459890 586797442 12489614 169949836 938197280 589605552 469234034 369737236 124737664 799720860 89982678 160205546 823946872 697272304 745699290 896559712 525066254 672698494 870948312 613829328 13351032 136851682 211424192 459091922 324866380 787911260 126481380 662555740 678496936 258922202 447286884 667422434 792805944 83217912 98027952 279213218 667364636 591340550 323839820 560930216 152738548 538483630 8467368 712346784 336450158 725753468 797132344 175065144 723226564 509715220 779657956 357642478 18088808 445481600 123884736 525246822 197551334 575825336 906995202 325779858 332121084 614891478 883525344 247839454 888206386 543756294 898640124 193451164 156271262 101350924 119824942 835665350 694436472 790072106 640345262 269209826 438941356 192463022 288852336 483445262 563158092 34443554 679553458 843322932 337085784 907393004 943412162 104835728 107139098 766909276 498817790 564817084 895632466 453860892 66967960 170160622 696349370 231634006 721235516 202217484 603041046 212634332 351408452 802007438 546703752 528543550 53817288 917793690 88978664 682744418 851026078 391565834 227179354 117090358 797454620 965491930 897242698 87317020 603101186 448943436 464266684 896298670 482188282 297604672 96328200 915708884 889523034 738245650 808238950 576034822 574116914 152662686 460658344 956202496 375487348 337492762 833222106 297415436 313211238 635832044 888680470 613431184 960539342 582652712 584792598 250062172 981559028 789836530 86297570 218134016 247380140 965628586 237380476 112208804 892741602 744204100 279158414 70136414 466454792 151245630 504908286 827255902 795493954 379832910 622267096 730036216 178015734 58577172 117109176 357909602 517498306 550515194 966832592 286531270 362774442 780705256 279037564 840033820 594029402 81010414 972002552 929030302 168049534 736354698 373481722 693678466 782599468 17801052 869142224 184098246 179879342 572371448 149256934 135164808 90103362 218121516 354386622 101019414 327211898 840546510 643222654 882929298 434577508 407615048 120215366 10666856 238626586 767687782 809761212 482859224 568386338 255934658 589640216 711144148 67744560 956019190 962643234 673290960 733363782 432639678 743734936 464961174 866553542 46275246 724858924 169493494 21627506 381219826 758859150 264563258 669368736 315539844 32074852 894765002 8831128 582447072 535499492 454939680 913357208 216257740 229563926 391734880 668386700 508185762 630823260 871459976 794352630 282891172 182892624 758430676 500297672 702521070 306930408 987854704 98119764 309047510 282585668 77399640 443910104 291334804 569970738 416816990 264496950 723623154 964965286 248533138 936435620 720217890 145299398 158684436 888099390 814747618 962016050 717978976 89482690 357783636 401941468 489515852 843318620 94312580 146670928 357516878 82490418 349704634 311280078 969790348 209267308 999497626 422534460 470051684 765543312 415365452 241190442 400713878 817082266 849453132 897553088 188391656 12705686 191909648 109132366 433588306 43960562 874155628 595893304 766562592 800790246 227325408 633273174 202752938 432143004 384890200 804035476 62619732 490028142 865871624 892408902 718764124 763815062 236590108 582533974 321216638 170545096 609590418 128510862 84734650 262730734 99088386 45754500 953676434 496866824 546111840 625405586 276957164 50830228 360536312 824288996 106350476 729930118 296726230 435651462 895491864 250447154 500153044 214653840 691164018 357641106 809834298 729021024 962661442 282691966 427212350 715411912 25923872 748945392 874556352 728481378 655767620 34526642 778827768 748223406 473305694 643727294 331196720 741444616 894438814 152770732 272065792 848441908 790090882 638051306 739272498 227793418 659692760 698870770 541588944 422431520 825424742 12639310 564986664 607792842 344519898 265097226 628884628 162976440 292500298 684700416 873082120 124507944 954097802 785772694 790531368 739324602 794411870 691148358 939652624 810200646 43012434 23841350 581519016 167648400 857157892 580736596 631148272 302558782 646236962 114999456 541036430 938044250 569249044 533482210 504904464 925553240 130830414 40980452 162188718 366046918 782522224 522373708 307844844 804080394 117358884 818653280 160312854 362998134 258890186 374152340 651808998 515005202 303857786 492421558 91291230 505134046 829605702 978365160 442114360 261123798 475338838 891950380 119763262 810998778 554496772 385897128 902089998 2228688 967665322 310057742 4146978 486487366 395352028 25981106 417632308 78591050 230902488 324246546 89140222 150101458 375442922 916851528 488816278 482300876 431897284 440809482 814515760 499092614 79399998 625272310 894394578 675435098 215005082 585498134 358489422 723851578 215618260 270910634 685871418 438011260 328114248 844416 188018704 750946128 890526116 862289788 541350834 556293506 92645868 958293806 821608754 229706890 526505124 794316298 863869412 751318452 45283222 104009840 126121008 534456396 804522446 996860882 951282120 272529556 282507992 881366330 743541388 66634334 109381086 844056982 949728722 634748134 336302988 842434174 332774086 263499106 20997550 828048284 495475956 891190564 293164374 254528240 439821942 398089156 15699446 619391452 764257082 343033296 404663042 960685820 196639880 54538900 224979424 469299322 708788884 37722666 749820122 737794414 830524706 15602710 303520192 261134576 805388302 905349540 377134750 381649260 369281978 351754108 600446418 281337524 50782356 711926722 346830210 606051026 234279614 871613454 676472638 783668632 73515884 745312394 440653230 319022774 380015574 655764430 295947254 760633990 257074270 934077380 674810808 304283080 307186048 395029570 516866162 752402192 958623722 462123214 477480582 576571408 153457826 193072252 656764248 835745798 932492204 579120460 802574010 106289316 283032622 901883280 656007216 550653098 990228336 698690960 517634646 280342778 976480332 292104268 741475602 658841854 598618162 637207516 16273260 432546084 345309590 402767916 542852370 172794124 815298242 72342626 795024896 640375398 839265618 952227944 450818178 618403226 897680258 26235118 984616052 343950534 890461808 853509892 828518794 41004638 795683432 80844338 182484042 587927566 280280630 705114968 723858390 160667858 266035140 96629146 125332458 703046128 823790458 645360698 694596090 749433002 50612972 820843910 144468102 165821100 537734114 975813096 857766842 282214762 579940210 10066596 263439208 586154902 330831984 759702664 391235906 586569624 634193832 672706752 819068918 428327774 489662078 113196600 346376092 52571470 222683566 235706972 357613390 685508718 891069442 637866256 381751196 228332148 976014684 885905848 148385490 12861358 374578628 784884908 44233936 305575038 93021454 366138284 46374160 180888246 85449878 693980114 834284944 632531914 815905416 836592808 8665460 993110118 171212620 238118262 480784064 477193332 208603228 241129190 431231972 665277068 413943946 463759752 617240700 64736880 413396806 339381728 656223342 481096294 848452352 811342428 972029800 432230652 917175848 331851458 787707078 437275634 169600100 111034014 569433048 20876166 551246182 707851556 829173598 352245402 649897614 498443002 228374470 216214784 246528992 613361760 481791728 281128288 674003618 691376628 819846976 510853320 103687596 871939162 204256106 919222770 254859198 230362984 172104198 892092900 726438030 701115284 58166956 909816398 417665366 952803266 178715408 759121748 757902476 866435376 774800448 377958818 326880836 977079818 648591458 350925822 480983840 370939304 720555690 567008446 476360720 626113338 2886240 479214344 34890868 716181600 598981776 469859406 61969004 334675584 138383464 512030746 593030220 569046836 846880862 693181824 365140032 680239740 339171204 974716744 523391346 548211882 881958770 240815640 575820190 382147698 161119550 705295990 627412956 22017264 369131334 682440026 236493304 389176140 495802698 178662616 491248952 920142386 293989062 426464128 893795854 62628476 516247318 340196322 724686706 442826744 523070822 6631136 371444970 743579236 3580088 89378594 903390192 632496910 39357952 329112880 30019604 273298950 28832730 706069400 923255146 540247366 335206352 967091482 238175680 408624584 948515162 530700148 997115268 401729278 130886240 230691106 756813206 34475914 380242210 300884206 388264788 764849614 153479008 561471880 848303596 912194334 526819126 907489008 634163140 563612778 83233360 326252996 687169126 351652566 853984120 626308566 142581840 832163128 217218392 144953012 597331946 708658616 285572072 530916896 644859656 139128480 429092580 476122484 365306750 894023876 91394828 456753806 840314432 628984224 369963300 625526104 240179986 716290212 322461554 296695276 80090792 86473300 368302602 728716748 575893078 153062520 219272498 491357720 43001816 886371906 105174434 492978440 669166564 738648716 54766610 163267590 775781704 40921298 90964298 962504878 821829254 926204876 208634384 52002210 706622916 169723012 526711124 563907340 33199246 526903464 162450326 783149734 976765708 549632280 639351328 362077446 279202128 151629282 745391412 636256782 812117392 321936462 819975356 113151842 207357036 324436366 425066066 621217526 632313558 730881428 316377602 603285854 536946718 587239464 523610672 575059512 307379952 620616818 407623630 524090504 908902248 486565426 127638426 45689268 806151456 68497808 751389594 664318968 15565486 564946506 196946710 78649640 273492472 96832522 501603038 248235566 433197836 913982178 730566106 974259346 10358092 977357114 161694396 358954738 854907588 154974112 718074406 426553312 999771324 488698142 157792008 739940098 601871944 703373338 869927492 787139240 50710568 797711646 622233730 28533416 669207560 113344044 496231318 852554560 186002554 845792008 293367322 551472158 523862416 445576356 69095272 998651288 56503894 214525254 809422890 87699518 837294032 801015070 34498180 153226680 511790614 467903690 936096054 635492066 204782142 598271670 43442254 926218060 673676152 585424964 702808684 40370828 633847430 629795464 453934396 554589070 254463648 3284648 257068498 902311168 490937390 214090538 403340778 490748134 159206196 619171664 532790054 904282978 665047604 313145004 786350666 686179412 677334324 964589488 157872738 953571434 633522320 767959994 399634418 130854494 689143974 125365990 925271240 252554030 939774694 645844484 783186868 580961174 933732922 353993480 265688640 533776766 128806144 425318112 34369420 27754654 379710810 868693982 550878174 887781374 799422836 533747904 984943234 877060940 644929994 67833016 64424734 6680324 976020764 841112862 872094650 400499758 469027444 452998320 24112262 53943342 847734926 710248826 981564628 117106640 390791412 535192760 389686954 725204902 615024590 788255562 248913628 158066928 657105188 327182420 817786728 304949622 43932314 34263458 777625396 830996818 84548156 816176960 384400952 660603390 336765638 797221362 987620560 566681776 984080370 766425290 414295100 170080908 289291718 625908732 213227120 905057356 179615596 565471660 550848378 127044036 502479118 34585742 161277386 285015430 695176048 656900442 268176526 219086812 34369580 447915460 605008560 477638654 887391888 734020238 473581844 333347868 347933454 406195004 613042026 342262230 582568774 214395890 762211858 205280038 811804006 619310726 164980820 395383958 657099842 816151082 81895532 846093792 328408920 199183038 684919762 683889736 391103994 471310480 615078128 325087824 511292548 98297898 163299214 728680034 993312514 260083128 684412324 254813482 463561974 935516842 897250282 933969190 902224310 171048852 653283474 97301244 389267080 314496880 515987734 659576362 443201752 99272872 989929768 787869582 753670090 119938818 455940822 442561192 689558074 543041852 946527856 486230086 711173266 82249324 973952754 592972772 985486578 534236232 387569294 152446292 610961468 841793354 127323716 391835146 269519814 824391510 347243854 231812306 433086782 102035642 800381492 807039598 858616388 617264816 739686686 467870740 445728470 659293054 225471084 601497256 546539402 886639692 16531644 641303934 893507178 979435018 558638980 445437272 215918554 602322072 745007334 605009904 758858124 383808266 778347416 136545640 556837098 676781414 79448898 4270832 736921450 733594816 61303716 697947298 790528354 853496766 729609466 270271174 174149392 32837128 44022728 894857114 517838564 701479674 990901122 65334908 389788354 123737160 761135842 210653552 549317926 182742264 465889084 736885880 161104614 200000084 376091596 534614818 842607790 486591002 763468994 864399518 114341700 480374072 965468088 134499986 262192998 964774090 16130850 187108766 86092046 497790414 965655212 973596054 266945554 875322866 242968126 331499710 814654646 628801072 218287996 679733862 725350692 93412646 397980968 52479082 218765058 906045998 991753552 278627932 825652678 977133586 345089696 987953142 372247520 977531922 409234466 929058364 585764220 496483230 13390044 842321176 613283424 353117704 512578886 269550720 855420176 598161122 504443562 185628882 753343728 198719856 988947352 119449032 56648150 285497616 594775808 660895218 471293688 398368908 82884284 46090838 853707542 786974604 268155416 107977596 709685324 312633446 834793970 805647968 493235130 643762144 675542348 351247004 164130698 728388952 741423734 812936752 831506074 741272274 512515744 653134946 900175556 432323000 426350426 814838600 207676388 287929148 130532102 693728194 182555330 567845154 788603394 576813628 442875066 957307996 43296356 502540950 482820664 438260078 469952042 613104620 76633584 86957604 918317624 5164936 181989224 766130622 74134032 157501532 3229214 597659152 950170946 944184198 509259622 462638374 300214314 777210318 940707338 425469002 73295356 615505572 71138786 138460536 562081344 351417986 212049384 369141008 755452592 727703310 853609290 411167450 8510630 737611604 129501152 40163358 437132836 404765414 532322094 801092984 460432360 354045276 275063936 765855400 202592202 979336812 307239898 495835662 9194630 736402088 627541114 245663856 922635032 364827506 643845404 966494012 60147618 177659354 11960440 728597826 525394478 959943706 932072200 680395514 255657972 703574768 93641278 786496454 301967116 988666338 258693218 553341972 509479152 895231628 582752850 484757754 416281598 634799216 581898948 854201130 247047808 348218762 620268692 550485678 60622118 860151358 35886876 100723314 203402234 331691328 916478088 613696848 727493080 80221804 955927776 925007562 251179262 619506698 407150860 489302672 420194528 656436162 596812458 617208730 494219308 59587722 427697952 473073590 62213888 131969336 60045858 471306732 723443628 382617160 769546858 22813926 516541424 447977416 903639312 511331866 870484786 91696178 882617564 117479760 780309910 523249386 761352206 603065646 840673708 245846792 23539140 811106820 142199670 586279292 989300060 599011904 895471818 509952288 178071556 850213082 804349042 890187448 463065288 134511926 336972104 691716184 567529434 275639802 209424800 847274042 358942334 80129614 92186876 539068642 620947872 660133964 803007916 279972060 482561450 563632062 39701892 76648336 775229202 525291102 419841540 790168358 617587622 959193006 403911676 571678858 916493618 80849326 69338472 197117768 49496692 844037898 757767176 614802058 547340476 61930448 203824886 667648196 228144190 169248576 609626258 478266092 174601184 237526214 403576506 556230992 217910800 812564984 661882412 708163484 350704512 604084328 111304242 639682006 659713190 255735228 8225828 848647750 247987266 763903534 745908880 423018484 122037144 985484598 813145884 576443386 522784686 282152814 22917052 106010534 736546840 477362736 458766832 415496832 408191012 37985880 699439628 235950152 150282754 87568980 968604962 233816542 331618998 527965364 339087902 83734472 41677874 700733058 681130976 992530714 360288392 224503270 270330402 208979204 90070382 528693580 965119500 653217804 621529584 299250418 386417308 8812228 440475708 86923776 344264916 485122888 463831940 454089812 967491968 261055686 447841428 196361334 744143350 121727484 224729184 303083594 518794908 845344052 842347092 410363732 26795034 176468650 53350786 410174174 191799520 422419664 406392878 987632740 801145264 128052696 579601514 645986254 541248128 254839934 275921854 162263540 950018718 226727290 530894136 572268028 394924428 292096254 301330394 508048620 796168466 855351324 994253658 316822646 210276240 277259550 888783728 619866232 127066302 522161684 25393254 669220020 468445540 899820808 200019630 614800514 95019514 394938480 105731096 784841964 712380616 372530194 690138786 439658240 367800234 533268650 176939470 530951048 974926426 202234750 280760772 412188724 392964446 14716638 587544564 52945930 256302126 471450796 356488514 479089046 489075882 51503116 244579298 179969502 363876800 667860654 978255416 547532440 870000132 841754710 219623580 997594660 529695574 536544770 481840266 506718956 464684266 612476328 328014344 795449340 829882092 623796298 199392480 768487008 915235692 112404052 256908730 900708104 306733020 175802576 717919002 223694858 988246070 381400612 660599556 658587530 988853216 304655122 991769486 261176686 67198196 3327360 967396162 754808550 419852158 560293408 343133246 68812272 193462540 518387008 724669444 162914826 356926590 231721646 554096280 856919814 569387516 14865358 550130154 791098536 948543670 894958588 605689214 744970768 657775338 346340812 584998046 62876482 627555758 42092164 638579798 276760070 181071130 516333666 985585854 24123728 629636154 333243672 723561430 824938002 400807234 327466102 790274178 19656448 685143228 29249866 366999292 985548038 798396456 69665688 397636332 201291894 341972492 186411654 921299974 793796060 70287258 517799962 192216278 139876128 840618430 862019406 798458594 134113390 405770574 739304392 670426524 234141056 880787886 990948228 762445774 970898628 205575924 889599968 850287630 120364156 263948246 291291158 700603694 451381158 606777326 323087626 302547776 461822272 483962604 177965664 321036234 517689358 70435940 964997364 312349590 958442220 164512150 181960274 905753372 882133310 432940906 804307860 467886262 924885510 312354428 137628446 721110842 261598848 741178230 806784222 149773124 904398000 940891646 8226984 249578222 512387904 401176766 145300662 866484892 261055044 761221168 471324288 715104958 94499610 768241358 818080344 699630392 25029248 58553284 385212756 678387916 501601968 514977056 256610040 650442906 560397012 574158046 470041398 912860612 97596994 705103414 515279226 769810288 446234766 262966242 671165426 614356216 558898626 846301370 735041050 104701132 415118004 604068004 411792880 540900168 264994600 673113602 599154466 675984390 438966686 621851392 710822016 541775124 13958604 780094946 161144212 435898774 238167274 801911486 934266574 766819824 4022606 399374040 303884838 588130074 896840672 216421844 336345066 18010744 552560910 122129260 558359422 862005408 738664284 519545090 675903070 474773112 751825690 116911442 406072228 763710920 194663594 58173636 794419682 826856964 768024310 470999882 880359878 985705778 960342232 629690354 378148068 597698408 274299388 431367626 674254312 355738188 938284694 966714854 494064300 123918952 743902222 645837264 976290304 838725576 259725916 254203724 460118616 531980692 184617834 177428234 59135402 517554972 330332254 697261394 514422100 339029500 915064714 238205174 597310442 839744256 268402254 835979072 497542924 163372196 339178352 851049504 646828744 970836284 613424852 719218164 832320292 15596416 863525470 706314836 341425174 642433750 656565584 844777918 314126086 94419754 564802610 246462700 228004150 188056632 633705530 784576086 101052452 551724178 473965112 157150936 339168210 973621614 867550370 748644772 545642914 686595308 752635324 456615068 371004986 652224632 547960656 292135996 522356328 20914136 907562470 695029772 20177438 690920128 483270734 453996192 520150460 321767730 528694878 424437698 56355610 775172698 808324408 906128568 335140876 824240990 27842752 629021206 434515190 479117252 13632434 62205890 593093016 493576950 118075634 594319934 196415248 860037458 966541242 799709280 910221986 479300576 359538644 435589288 851458624 720435950 418089528 748230322 303548146 133348644 268259504 645642524 604757100 625829256 779930482 247263860 330755170 354393066 819891092 838597244 966581330 82186762 77967886 622202344 848999596 889171582 348202132 36492918 337880642 41516340 338259164 962171270 221032462 305093380 61594394 820212486 227916898 782768604 201949214 149925148 650763106 540371646 377570008 307506540 521192992 698081620 608711572 715215624 690226570 32142738 754944912 266761056 640871448 594991426 351471860 915488762 258451594 661454784 994732656 105663656 567294498 992480062 199513346 271097060 294303084 875053166 955715668 275386308 330969682 966116886 840339840 30919454 684319176 544123048 126761112 558146790 525618320 419532190 648588058 693140266 867484546 350565744 12596468 462218828 214016230 504471168 308721046 797725090 791349564 13793020 43417052 469485560 940227328 184386040 382884870 663556280 845380172 302545538 75851050 619887600 795424168 311170030 458742606 519953338 331576090 225174196 172392508 342259636 192464018 508661932 698301238 693632500 922247702 467931684 145539806 174608188 786934474 652205508 493071842 1233710 405633976 793355008 671383896 464390510 814201572 99318984 59455574 222611626 5436416 103505280 705760302 782387038 115732600 187714456 848782074 178133264 256893326 255353870 607757852 719337496 93015976 47974484 38293968 323297770 3670324 752377158 209958834 849573214 624091646 467706740 585971028 676068196 151786380 199537942 278906328 897064408 154490644 789613186 158293578 390766002 596277684 564719664 800854698 203537512 779651674 822399218 821539340 929429060 462495304 533116438 462710204 431604236 152384972 643314274 318255814 431517188 328176838 429462174 732548612 218389334 597956178 409438150 39542008 459229914 998452810 134884566 586829358 424981444 933883906 386157796 196139606 734206436 488104508 953858964 306256952 343039700 463959514 644673644 113171952 137557790 391273930 518009730 398691226 97148314 781145186 207256988 256601014 709312860 349822168 493134340 895689036 634920904 727421700 439043888 317118118 864442696 844353686 828325398 124269378 261684396 664223242 129151982 87300060 607997002 23518992 883301090 841600778 919425136 326232490 240088082 115529376 235715856 622339028 530150504 923574854 964279994 701343056 653576676 633126194 151399008 411150818 767809324 986610272 847480034 324176334 390288432 280162776 103609390 719115558 131310228 484158898 219332264 901864528 955896250 17107662 771122612 776705096 743805672 716815902 412663134 29339526 871642108 27439034 876125552 535180350 36730072 117365614 858998394 240441126 825648416 433410742 661599912 895993348 93305562 629018674 804823086 500455798 462944302 99733466 507255644 801733628 79398886 639723414 8373838 914725146 232876664 260461128 191964746 878562420 445641016 112176998 297391222 399509994 235652190 378971354 13606910 75202792 690624482 351208948 209131306 469103074 927372248 822400620 444916246 498835230 77826410 554465732 230576390 817485438 69687762 764297576 339433840 592828356 467135108 375436698 54357802 130865894 900727694 766116098 459630266 839631864 27668736 844234672 742955174 709599340 564387910 904567370 699844456 23292940 316135238 688792098 537962494 630648512 743423412 908828530 838680516 193285424 901404648 755071886 677576742 994854356 71215190 833078974 842958520 755603446 275636418 616873636 654688078 941633356 993684148 225078822 788954206 351091666 709662968 164374170 46166518 115607366 451924426 176604264 281031412 528793426 925847668 201841648 665876050 2773532 111856686 843881332 349343638 238486018 755014488 131905824 443887732 412435226 180310336 395619606 787163160 489723472 646792822 256260990 311195836 845289010 650543110 134947280 709987014 116329656 971017856 125421506 721750102 89143976 312058492 868930494 643882214 947252278 241520652 68665516 706056420 348757302 933818280 381905214 67012360 963252922 970991422 601839980 811468122 541016044 275862798 323053344 574203082 966665130 258165046 105027904 366945010 616442644 757105508 528808216 564642734 992019880 32789990 358450358 546788014 329809726 182409104 667079770 406724098 647367788 612071840 396495108 783988604 614783330 821560746 963603210 814214210 213220006 841540530 305195356 172726492 722378394 164309000 52257038 547969470 903121932 968113912 697604868 887058536 254342298 397872568 918682568 446040276 273534582 646652252 470057318 280688192 324839134 831241650 820975880 584221596 627188252 414155626 582986540 429847610 863874150 570911908 259176480 691757968 935452734 626166676 986567512 381168004 361670382 104189024 751356428 157271874 388856960 107608552 226410356 490863026 924476232 658698752 30975112 534940208 842573446 790152494 200659022 246871284 123292396 92529666 546208102 322534412 648032216 886474400 939035736 543664750 288592730 973689062 968591524 556567908 991883354 914249114 388893226 717737676 893322784 957995122 334386572 826111658 91722540 822496902 569293328 113913260 299364370 343541410 524182372 148970462 792656172 229345924 826226052 890433934 902251306 248843430 816162740 607816276 150869192 497593450 559218194 537863090 739370418 283615308 7390210 150926274 507175752 654223498 603607384 140500040 583014460 747397664 909685578 246677524 221607888 900462926 437152162 305571804 184196156 139216856 114749826 328917130 815594462 530017868 106041742 375305570 660014912 322637384 820178096 828056210 587672984 469059982 652756468 760451380 257158186 392930820 2004142 238132980 600580620 687379130 675247946 915673654 154091818 147268204 46503016 400329076 601457866 924781330 995770426 716479052 802836394 531677082 715585724 738750064 59545466 381473430 701999954 707459054 30055486 246506450 582359390 387476078 423570346 324867990 986330686 409728034 671739348 791464604 659892564 894053410 17272094 399738648 173162462 117164808 696740760 904810540 103081892 561422644 34733400 83710876 366621634 762423892 941318978 558335744 384413776 556866506 822530552 295984058 915825568 128352502 596911860 441549182 3115746 954501726 178440666 923515820 531010120 132885626 717762814 480286538 275597282 252370580 934375616 889564220 949501036 262060674 879882110 109940240 188314228 285531784 87260526 560997896 307678538 820550092 777335080 340760678 982236792 621782780 938771938 500760020 924044374 882860136 716698016 483457404 690607388 54408734 999341378 154577192 457463368 331122412 832582870 542465518 653864160 570395400 355555800 150198322 136458186 625835124 57776658 171587222 487458352 869206778 947846234 772898890 295505918 30831862 558875878 266723122 219978566 524998944 158925266 630844362 890411924 202378000 966997342 880406412 340269268 516820598 491569338 80059240 486896894 238297024 638583460 855100486 830424298 18093196 485227098 81546468 564185192 305471194 475367960 557114208 741650324 958798874 988577926 37426404 201611230 613175922 26020062 277224134 257974002 557163418 953034226 963259916 209530006 590610648 217225232 447297030 881638418 844710942 297638826 328698608 44382618 809421972 782698378 436435026 65100340 125384202 41561654 868257130 277981770 607329562 87811658 926736722 64682688 942328938 590582212 558839700 751839708 482475246 304302806 64013742 759163604 421541358 962841908 63451046 432853640 922800690 843868500 989544498 531486142 668454316 125776032 730474908 89846638 871981044 234407662 626927300 286523160 972588900 482083808 778572190 361815174 577215984 962667432 291653506 970770110 189926678 710876980 785698412 452579034 162198352 883674814 312843012 109187334 895197506 576913934 50683688 93595622 77877974 456579502 286912994 21641452 364682400 142475242 452135492 484029120 941760116 671418046 941115276 885711112 824150356 29018274 950207536 473075728 727746426 748920404 525768832 991801090 875422534 973183408 423928368 427456748 199915972 195907194 203258134 452015198 634471900 508033412 906500462 860564974 618977138 508010994 821078858 467795370 451361292 369378310 28939800 543408546 7873488 782118030 974132208 193549812 95435978 645030624 397647902 43398268 972511218 480591906 157531874 158943328 982132086 583775940 263914156 722941202 933784204 755855828 2944358 673292338 421638668 234323172 437261868 497072408 70307032 333780384 713596816 91063726 215294292 310485684 344160676 438924670 204166450 916311518 517115044 76938252 900691942 52022842 370398176 514746712 976137868 940064364 443018476 755990294 91684866 163522960 496423814 166790784 776748164 872867178 111586376 530070912 720527728 26292512 411962656 299750568 788278010 23169900 681294678 606157338 124763054 329378036 3003292 204742494 881317368 532685078 134650588 587491238 478456544 353688006 608038308 222761398 618832346 964348758 980265996 421570338 277830364 577968844 596580978 866900038 522319586 258987630 293109136 794366534 787088708 644679276 246030670 41989558 767238482 915024502 182683928 883971276 257503324 478048302 965743958 233754424 115934916 228937868 672685412 757212586 397340068 778241356 257740116 53649564 430115878 854277794 418157998 512085708 840481266 519520632 620131720 874409754 997165480 773132328 160272728 481763344 554081978 305845180 685303496 327573208 990652394 771310948 314380908 528270834 721992664 685607528 919284374 562408722 497678360 272338914 469680970 290971872 847437212 962988346 304732740 766173230 715379582 871383108 360512714 197369030 179861602 907806840 284849786 86065868 886835554 575454824 205292170 961623414 15613058 129763850 112524976 836389526 874732632 906724636 200548064 797052118 668808170 773538734 263476254 552633484 272063754 329676066 603658218 947653586 315729820 497528652 182772676 14830750 544698852 684580906 197373460 637200508 973378428 107667040 878489866 297737080 649216148 875974560 589385128 293482284 478114716 677786898 235780502 838278350 688093296 583798268 749032328 278101180 63006082 36904272 653898218 168018522 759199216 874823632 697746000 366634822 342350312 381640818 728746962 500622022 850812836 992132784 154109284 445349414 220992658 925997886 333640212 512380526 565995176 45172164 449456170 510574978 899013088 418195844 776483782 20029818 65367900 127038780 740625408 125734748 982555224 314385300 533756762 638175460 441805514 89913982 480511868 926890642 665023328 149774312 990576312 178557924 343182168 426359006 513112926 278521372 274984562 628121690 344120266 778833118 46523614 675903142 306154246 848441072 823839620 489705688 570242228 240168734 882795320 324588606 979797630 85357270 592337646 885453234 580467880 778693960 249950414 847369840 806820642 147936450 278188030 210132440 609447564 401872914 331997924 971884346 879721682 743228300 394263154 316122684 38414474 304438080 776059622 457244388 532862284 932255462 900307756 557424398 419242984 101911114 278682604 314531150 910147438 278455884 526256026 382291812 987704020 23886826 576990512 681060722 13866326 169537090 544676674 666889468 649468630 546152466 767322974 418605606 790134990 712859156 649048090 372844856 872426354 131530958 370137970 513056282 757202050 459273154 934226618 324408510 285125682 165976188 765739686 238500010 635906202 345375236 5662554 329594794 995065746 339045520 967818374 91122662 799696370 694621554 208384670 510073432 357203262 943007344 962133832 643842570 214084074 686295646 227418992 410504994 114396516 434394028 443912046 409246174 926510968 418923110 306798496 665781030 227136384 503885104 65120366 650028222 375082364 509054828 730404882 361440860 343445286 478922806 654170226 359091170 19978098 902903248 192662960 652509502 138432142 881503356 37068720 45647676 544239770 278299570 806942302 159612934 579539306 540010818 459768464 112934220 766226552 268992396 618102434 109617936 463093366 81995584 815244254 437940084 138791696 763672138 795633992 651206894 208210964 305594992 482299780 37048870 838399510 244594592 391438478 315041946 977607060 407834704 983550030 603407376 423763594 586775110 201301206 972662186 248961760 242584396 614435162 701629840 606520478 47929558 837244576 524049698 717877208 950603528 772128796 245440926 489354274 401137008 453037146 82574572 661123374 588916922 939347380 166271206 793260776 268843280 789810038 21797108 833323974 63794498 538255628 339726966 64200930 724836544 699159412 513523130 844088862 339469852 693148618 146987000 801096586 516171740 980698774 82385886 602454618 597308566 548880340 937575250 72518596 504687588 170563966 865865478 340560576 396462982 74461226 595151440 230762874 656289650 494595480 617020352 240011088 486921046 9492512 953402666 435135240 900994816 39276466 912135718 669226056 380187670 382297274 43638504 606516620 301211146 499205710 84217604 288759950 166784770 438723822 230854830 801093860 931318412 606291688 768021236 228814408 67298684 687471842 123673660 367140404 657095390 183412932 89116418 815380292 221047132 848809250 94884614 259877754 409252880 600755360 188849480 885803544 92471800 634621244 822674514 813630508 164005744 318216646 747225492 588538064 794488350 288494772 180374690 933334354 156468216 446601656 876044756 237131702 955107504 486762090 511655534 934582532 489791954 690305544 697370768 407691592 218157082 214410412 235997734 399876858 95511902 294483876 259916124 848094202 135741674 845760862 24543166 789207426 209842622 428507528 431794958 222619112 243046398 597733456 598902876 651167212 530418516 215645252 419279674 976457990 110114868 282400298 972219240 772232928 832000920 654349816 517247568 311940872 93858460 858733082 81499614 537121612 369418408 889477088 539334054 601101448 470270712 866270570 124215470 688654140 599671112 917976162 799115198 392916798 435491628 129217648 151494926 243689344 454144712 135272204 378922108 30702544 917102418 497196088 739299714 136218026 192801212 894741996 89154830 410571706 287064590 31357960 625223208 310791074 638007426 498711954 716509502 532241240 399828042 888997766 845766324 144460230 384247760 579820196 912804802 957601884 637811382 617649220 371070868 128807612 254224434 55392220 492534004 398996682 974765110 214821326 466430336 113142440 958527040 655893630 738004850 66875686 2180056 524703286 883838208 734020662 747272856 361403516 827139954 860583382 37626198 443532810 314514800 90602838 180028480 363046258 903855358 867005576 457033394 423961258 145531196 146036242 428673434 346666346 868013556 685284848 457077058 848983358 733183698 237164014 28094364 651354674 318174620 985451836 864032590 149306660 27750422 646515596 168050552 899116256 588046832 577703228 633944618 430110068 469894328 199043936 599800752 116742824 131230562 691978826 32421348 814281412 571028528 571584380 184451246 913958640 358587510 290728924 102533058 5124132 426393418 739089944 468391280 589745384 629845456 344449696 388925700 376006208 353705862 341855580 273189402 660345642 834349964 329424474 796411250 390706348 134502988 723792900 630488770 696320844 825058046 296544534 961481888 802754804 972138632 545154420 586517878 556556428 962055336 162564772 132685976 785396334 266252736 66672638 873540020 505755156 426922644 24413728 867402036 34865938 852236732 436726240 775382392 201218902 540430128 631225332 1953922 727269804 418327116 726865460 324650912 512447462 448849504 129508052 166278786 228886372 568710252 964133878 281761304 38501534 509067746 490673252 686310682 363286786 400168612 219473752 463115806 496612756 877149418 407269162 300147010 564855410 934599420 211148080 267880870 317152316 568879702 690423858 884972778 261988076 883986838 771052204 976663872 990472462 974307496 313727384 363506240 670348548 991285490 443448752 843393300 676642016 558204162 976386582 803738332 803770520 317173934 826331592 292208724 584046242 26544238 526264318 980571200 695211220 390628016 277596916 615873350 562032812 149492860 579903722 516730798 795597788 73949340 516356482 377673552 351922868 598825368 391563438 345327102 415211068 29529660 468526722 442185294 183131942 270673070 101430074 806234674 763017792 38268816 422761652 641490186 472504980 353616054 923929946 862531164 690657992 953366980 722289700 6138338 791067486 428689158 604365870 248603796 481230860 261250342 353789410 46564806 86763872 217727158 692892578 690382882 802377908 371295222 493339362 449635512 874086816 167200664 91775654 390218760 685850484 269675566 276476028 319282150 660973602 75684168 547979638 761421606 625069178 484756130 423213110 676409770 675506536 286490364 337959408 9034822 595356286 222373478 312999996 669240182 660720714 762371222 404854352 393629874 888864264 436235612 755378684 745007746 459391718 601312366 747943068 177279962 948277552 510089952 980748060 650204746 986467764 427029032 65202850 908318008 672556350 56025220 875445260 751813606 199624490 162008518 190060316 234062120 506019712 187498826 12034240 888855194 491706314 117312582 73864966 996061120 277149502 788477760 553839318 224397214 306142344 895617762 349879888 85045090 508791196 440684958 966061604 683144216 643840766 995881218 344935218 196937114 133369948 589312598 428188230 252975638 179901798 407665718 73886 462944470 823181504 21082974 970572002 394005188 40727336 566197002 247735732 17109444 593938338 487507836 202783888 702162562 798729898 754024626 171298596 512998320 327550696 920383678 918065120 245697418 413315220 985008340 312829990 231518908 766668944 499419256 331639378 873484546 619087828 766225758 431990774 865176366 783574322 315025794 230616774 687208796 470837694 765802900 690026860 279708556 192430194 404648498 418625676 553408740 632951266 138668590 546861930 948003134 293743052 231434810 991133920 7127560 147234620 939111554 120458198 259916964 364675822 412235626 162539654 930536222 177420198 531768720 189793176 151493518 227724582 180936916 213798858 756476826 40319572 608553448 897666248 145262976 975348864 812787394 997229530 738408636 763663796 570732736 586047042 889256968 469356276 556829698 680164002 449718702 837967582 485462686 163479376 456135248 896930456 343738592 504753874 456266950 96964540 533567196 929866722 553217742 888614774 630378224 94305082 891757960 792306020 538733016 374276794 641276054 270528504 362773828 411932852 324774194 830802444 27035106 641749654 679550670 347703294 664518382 665749274 708087920 202948632 940988976 626450098 901964670 347404322 975589828 315845498 769001438 782134314 595147900 190840932 217500572 118266988 77960660 149337390 924690444 481017020 443574434 757387620 676662036 732845386 947701688 317329904 528858008 444437260 249494860 813609884 842653228 726716284 867554718 249428810 44706494 550961410 160116720 314572870 13948140 777758316 145325046 499866442 547022136 783588036 309723516 14737452 601192188 876224242 322261838 919410278 626335834 487119600 184201684 469063740 417134144 384203180 775501392 502572572 334703618 110811742 453204002 872550092 333283202 362066044 177351342 381097992 235372338 130430684 98081688 27282008 97387818 219242580 847981812 587801990 805423996 485955624 207990642 935784030 13191178 26410782 485469444 488824588 777801996 465805470 684150264 632578932 638705476 46425808 35789696 449940294 55396932 94500462 859537098 64865618 190457544 897335878 88414234 521885038 807982410 234548294 601893186 164255032 137507298 898259650 348986492 933058292 22575440 444921436 658061312 134617820 837090824 432819932 413010812 882713712 175475348 616846982 28492696 957700228 953876984 872304162 503422724 847406312 278407936 429631398 939371996 503707584 74538768 817905904 507954122 68251566 291910260 286605922 670785616 708590978 719749896 748867998 576189608 615550836 639016884 682449116 588338530 98029998 437725958 945182156 172461814 189399992 78946170 850530608 576204622 668101340 336361034 596255060 251214090 587942108 817349660 150428564 963763426 5936712 707951488 247126006 713937650 24259368 209018378 449287726 227524684 813163960 314096240 658003036 33225712 604428870 615738908 262707378 703411876 575735980 466909264 601859440 637504322 332649270 788611576 781648438 484825662 889303792 548890368 776198250 53960850 791022190 756193062 508784756 304043292 402610046 548324460 917764010 907396462 805067264 147625188 653123540 514953844 803459324 982730272 907995848 417286280 501952496 345510872 300219108 112247804 720754174 96953500 326343638 225677834 740187560 981622460 33036554 972025602 698496070 891585248 445634194 695554890 716160610 876888244 139007306 94472656 5355808 926348250 260026270 573991148 891633994 749058728 714720052 889052312 783585040 546139058 708869936 460400814 688653214 809740250 371387858 930304882 821948682 142079940 972033432 471596410 571889302 401464822 359379524 655937368 468700416 200039192 876980902 756593086 560772198 534450650 536256114 34414748 363876504 431841546 901288992 860909750 99066058 402227386 932812862 919445986 786214022 433113072 187020234 259550064 34447950 264063744 390739982 673069274 297885860 270188784 240282312 404691120 392752668 814510446 308122522 229153320 41581620 804224416 111246002 947969880 459476994 578321650 879114844 969990890 660245018 674306492 122503852 243384564 792680062 967214318 316382100 836145460 409264624 24350516 513997062 624791708 868389018 827023806 375636960 456751150 111318950 786280964 440193720 204006988 769472836 576608586 667573286 410744622 792871440 149275284 534941740 508079888 617270218 141686808 762654838 268624238 290997158 929860290 272745332 802717472 735544664 129767594 354021066 72885398 961384296 570932406 759090268 633017142 544765984 926817002 456518444 36540378 940549174 4439934 103810170 477072282 971992450 651288056 825539312 999653822 158363236 107579556 508046272 663588048 881197438 902917054 525172980 352149490 105404290 625726074 718771734 706374914 122308978 929555478 325141892 189724820 296063196 287488920 524957776 598774828 511728768 330705046 542741436 334278316 177292368 831726412 300985980 142526948 131434348 665316418 188854664 215027814 644550762 233270780 430470094 706480210 48935100 653337362 384768398 310783326 299342060 418981686 51128184 753744334 830257298 834404180 999359382 131404704 413051528 60136156 639998330 582158788 748117964 203449562 894182792 752777974 753771530 543672948 432080908 816782350 597383508 959665144 276380000 975347926 869800748 490937562 970692474 834229568 405608644 806427978 490015864 916284304 363809394 648287482 805876132 395523584 71647286 404064080 555195152 976631660 196277902 430342000 866058812 455827214 395541396 257618822 550329612 479852246 228445376 337509562 20789118 523333104 657179236 167112588 248413840 618159166 853734094 850196546 840380296 825428432 898372150 367011904 948752016 602214346 103880836 83565800 819896480 799427196 230240624 619073340 338435016 406973858 635870394 181967202 455296054 86499530 214862250 870996026 544507996 370816868 950503566 396827994 410637548 892994984 79618946 486852676 159903950 810815308 705212600 880400756 338988564 51177298 52622722 786818606 398698588 494662524 168513560 540034084 86036070 290381712 675946544 814306742 96797210 425475596 844233332 752760500 552931316 471959792 847796664 445330416 176949982 480350136 448454122 357529416 822868092 316045222 873836760 483647502 969908794 226433786 558534344 299344290 685550806 170374468 304697528 600414260 77929000 631349278 150495796 981070170 398164420 841767260 66203500 669852648 790981432 676353120 806935492 751414912 330670744 161396506 183488504 133338006 722761662 732363582 625287782 780189366 224158618 265450062 615645622 934806746 404401378 502603040 22577680 164457878 299736394 160762968 3272192 622940006 623323062 690075290 846471236 996150558 432057766 85889662 500703264 204119314 237037772 733885956 177237264 197840218 380813278 677971748 326165374 925576138 143630664 96581904 973748792 262819648 391057746 479674164 388649804 34946986 858524168 880386424 75316216 708589308 13329182 788482634 479098590 824884938 851863882 124151732 589448340 500202896 33082046 199817464 267695032 281983762 487692496 9682652 338171102 864808674 878246264 627384802 266666224 816084768 459901578 767352174 113673842 71350674 207429110 292460786 165372620 694716900 596795644 340534084 582947618 592850438 202084730 261814732 807560488 532189060 640088620 822958292 298286402 371755630 25200364 727338258 411139608 757098190 902346262 247922510 488916288 294583950 538006778 537059282 740212946 948234534 800270082 26353648 241917658 684210552 452821666 629219348 671560798 254495126 750050442 937534020 365631242 14274152 582684900 273104752 193791496 439205106 700926744 403396900 792640966 568908510 544524308 701544508 781966334 971392296 434298624 235188234 481141860 482741394 176602092 673443110 235924618 298223906 344135148 785604058 86309956 620240546 402188880 126267280 795887350 839995022 129426282 225577610 82907974 41751392 156079280 654871724 51194802 687905814 200191546 8054632 704261074 787140066 863791326 179714120 508448088 353313358 667399210 137590244 883045630 420986184 908413738 365433756 29999648 213428760 866542518 649696484 761187772 119369032 121103622 890468806 125186606 889540694 905246052 870769112 189553438 131972772 795995404 456588062 812096440 868011250 809482864 897422344 123097956 171765348 68090588 872156910 231786072 246397876 789986048 741560402 46206502 524296236 676348882 775809904 931686846 808239838 29534830 259278586 9012092 77733476 710197562 239080516 852084354 656777918 517783932 656285258 125950682 837896060 170528394 364040072 975595924 455663780 866744910 241504992 923126316 532914932 335274058 977860092 109539860 126021438 828969840 424685286 375973888 678490986 246623350 448300252 720564296 980952506 451232824 783012696 998436672 632159144 609022652 312283990 941847888 592937960 224240514 859929926 506504244 52811236 426846418 203737074 376247154 587817878 422616380 321632680 875397996 511832388 383850880 870214318 724236826 293969426 489771366 403052512 919779860 245984420 364204644 265437018 435992774 48446952 961744488 627346128 340187158 757294446 26912350 383308140 458728096 597600534 575597774 72871906 151895410 879019344 979363350 125523130 401037732 16093056 510288758 582936278 866656730 394434488 775150260 544345556 67144348 233375720 116435246 94585532 515122870 756022586 905712396 13188618 410881852 626983056 152880408 882602952 611159390 21312290 45222074 760715490 954359100 47771800 768255062 416988194 207511504 990115362 240312544 922658292 600244430 392196170 865465002 996369862 262245824 192424670 343651958 447853336 813170270 459316870 779327404 960783210 447864672 193324454 694780778 104158336 43871412 146568854 809473464 335029230 223192364 371561208 19615282 295373664 329249360 428043600 947567452 767114532 590225180 574423694 295941096 282321166 254920430 430218720 790611124 275585606 155392026 362168014 438081674 985022196 131318520 559880658 818630830 659516298 391769700 91832202 407198906 161874864 569554558 211805586 566300704 660936822 938519978 355117722 546209044 162429912 675021032 546093284 717599156 475233296 180996428 587396614 106706480 781392684 817112080 9825246 576243912 447400596 686338858 660067202 910423120 88788602 977153452 224264786 940689600 509464688 222825428 167620582 173640952 182631504 962566094 532874164 499614424 254420754 951176282 591151270 35082774 732479696 486992948 783446678 670399396 85879442 607544544 840061964 25353406 13969034 753410614 930849928 549510374 739602400 927433404 47859314 390360412 996828936 694811090 694181576 559883634 274528874 184519270 851287756 771882298 218649856 512466296 409369882 534210012 184754232 974817940 730027344 57914030 682026612 144316832 304425286 95282876 836684830 226411804 246962924 279998264 387618362 447925940 23037604 399280236 315815182 577468000 721308388 971431252 356581470 261501214 726159774 83488496 740245588 557146758 324377438 315297578 879415678 745393256 549310484 479879468 644709722 545679078 417317820 515880510 562376034 971266208 109476154 718643976 571217296 504216616 984590518 196212936 810159200 146805476 475105046 884644772 681161116 829203132 611989458 698101636 444162810 564637184 689763426 437878034 938933772 108654156 264402016 308981940 111621778 121936324 281094332 837804094 927611822 706880990 647499548 417019098 927658908 189089458 428446950 970408774 375619834 54502808 465352874 864437112 952862132 700996566 203253310 218982830 704202244 686406810 716162070 526473480 646692190 383378810 571574074 820329144 592109290 860141894 403308466 344801700 678752056 899230978 787032522 602353188 48974942 513007980 243142652 664731570 324531352 71399998 205733030 962691986 637971870 578258272 910531762 482373854 277308806 888067624 329429110 259093794 658404800 272111978 910424456 563015318 99919886 273260650 801533060 773478618 419304846 532248532 364508812 113741284 39313616 554861756 975226456 920370584 153279398 89625444 112413856 767252806 602432338 297448164 881866094 350642242 371642266 701237196 957960816 325260790 689001158 786585560 326193620 753168730 147885814 461619964 828841284 556231028 558865084 426839184 480567296 312336290 867560468 431549876 381557418 565804866 12842640 193023430 233049768 77301230 896766356 170618780 739005328 656825606 346111758 440768636 821781680 510626088 458978458 728056872 26537704 261582258 226233784 891586492 356795010 575791652 205757004 642503680 217892280 896547782 607815040 872191262 428481158 454675562 389574304 993138192 746867848 47446916 353767612 268604902 138814512 908717660 476911614 754198688 442002692 467059738 938128060 798314584 591657214 984455264 456803608 271075554 864928798 587245644 281885978 504423106 430777766 109911576 588256384 369362872 517606930 798302542 600947736 315997396 793072500 957639002 986771258 774811808 907692488 134498486 504693144 914448292 607754612 650351698 216841548 620582254 91551388 402746918 572664344 219185692 135231512 651018100 397277270 826984746 819302180 574056594 684795604 214526416 44820156 490490368 489507976 862962024 14892082 442548246 416397338 39181328 488432100 738828404 814429168 481798452 524431858 697518992 391812780 525150020 29227366 713818032 994131760 187525286 748120966 648542874 594090464 185710276 237064666 36505848 586839946 543875908 92862608 643975932 325063910 874729080 623325310 951617766 449433772 90520934 494651440 141476422 199443770 667914568 218583704 336261950 461204260 121156230 198229218 598627630 481051708 439599680 563990938 135227078 614684704 277857428 983575992 203925296 67950666 210356118 154791246 427070570 595589534 225462008 228310740 474766426 638942184 315588038 591075900 372434164 842775920 284510452 735287726 733171344 123130778 860811604 334495452 311900396 870221408 430009750 474494270 101123658 667580848 750518640 695929928 984617518 239163620 505975584 338206410 982485644 268725804 721473436 806315706 148382364 942153538 361103460 819123910 272538912 216572682 947593400 450212060 784456994 47874002 814498692 947189886 121241018 379215548 559984618 17931292 25474384 366651628 229478166 217311950 4958364 700344578 579298218 165135776 371740710 180311526 654971464 595930146 241280380 947962102 245479482 252865480 145232194 951742510 893280916 922030546 443487904 124569942 30568692 457706640 630427772 611389724 697300204 491878796 62072826 50765176 976909642 131909788 311981126 291142654 61355656 773177500 896143974 639757632 883173594 269778298 478190892 134046016 339189500 271992606 827228908 559074132 722324724 894832956 664601896 344243060 574596552 72659808 221717508 518220376 666287272 790205042 968779630 537395954 846124484 763322944 94872070 363971550 507588606 871500500 58078622 547346234 526569552 402284832 946916880 942152228 951611580 674102492 747517462 715912952 888198962 679724884 575211754 354250918 490244364 321119636 791492684 638431556 37521786 341226232 399950556 861044982 523806274 980563754 916812218 998261692 628687418 850204568 784851318 784391380 709768914 377534008 449859102 726410178 505242818 975316630 702347046 658703640 145593692 4241644 169303174 731767696 232995438 650804144 776602056 600612354 160490012 713422474 908351582 347565644 680265694 882744424 538642556 681427172 378243302 821240954 646714866 218134352 107713224 612574468 800375078 343517752 198447658 560714884 941744756 523182628 997224892 244521354 816798300 340278846 102156322 710999714 987132254 185361678 447798398 753305890 421340278 17195908 244707442 318275710 901830604 837437676 771379764 370016020 255956322 527122286 443608848 77483468 605097932 255903502 757163302 163978202 533451470 697485202 835723478 311818944 763032514 123663346 416910828 340976274 831891186 273313090 776532684 323489914 848667692 415606640 993626410 632568060 975563984 935743466 784002204 410602714 808635026 236984436 572375090 653728796 491661530 281150928 968462564 11321088 511380664 560197760 932663618 976686042 44969940 359539996 29813552 191805308 783771146 480925184 234245078 604929956 186933766 724739126 874524460 796739134 314092286 750975390 981936282 632756082 659123518 793057608 443262322 989401376 978508226 544100636 936066472 508729836 998730380 355151210 680724070 153727058 419205122 260703130 386112532 932001984 97623020 754286546 534497904 197091220 547495282 829742956 620048552 175072668 672586994 616504320 548281268 52402254 91953852 738773382 987891090 144279584 512381478 938602626 285236084 798175518 136697962 143747132 126330764 851296174 767448516 652086278 425009588 997741082 107325550 881277322 367723168 795972674 982926252 96971864 895242550 35140076 646041058 765081798 326449094 906740714 765592992 573066790 543690534 89617792 308179602 887401348 193687586 218804830 919394494 584888438 849384832 694228858 384635864 475123872 385781842 467844078 532480618 481438126 460336608 347188458 669889428 626809434 254703592 734547400 431150298 206795268 522614324 512433912 556940986 566116272 979022706 430225774 27654822 578348630 571275546 927141014 79907982 95153944 989191920 872897088 569600148 516782402 813982366 548200730 40854126 387472778 352016190 429632802 799750420 530561674 402413370 615207600 18721276 526057494 337335076 769629202 508325648 24089714 480578552 595335186 682888396 910521662 604038218 249119190 585176934 799588492 995557688 749056650 358967720 714685878 200451048 580043426 434838464 138088480 980866440 258080268 569586244 210763480 796510512 251197088 366882264 69048310 190180216 806678136 173422740 874531612 246031258 432423690 379652540 971885728 206728076 63112478 101312898 770863794 453653546 180111544 240485264 106105968 429598048 776927172 716248012 210225988 835340634 734506446 943671124 290743482 788338060 940589720 338009738 477787238 895855114 311603550 319412018 168423950 971219518 5264232 816348048 17322344 658514304 105417800 916752020 137741526 868763736 62541608 298891990 96127254 603145140 933481096 471517506 836274600 639085888 468197170 792676062 162485898 511603518 956925252 936651172 358275784 675309248 219169160 321203320 12406558 168084640 352963760 586085648 66140012 103154064 886803744 606549852 373271876 976728080 634048254 239526262 981669428 69253468 997680138 31010934 354919384 307065362 248524468 369726590 364248536 115128466 811241516 77034634 279059910 5064526 516488804 16052778 104659430 383664030 972531324 776299610 816048418 467846958 175661144 514264218 677119086 310933530 519637768 35519600 5170110 60495506 471247208 56262470 932490022 642847274 358439012 714099832 19565416 822209422 905862276 657334842 242143890 973880842 655676704 762546348 546439818 144613874 498348040 584230956 887657258 197322580 681619846 197296316 451946934 788732996 95183688 806712700 973215828 721579882 231185596 848339890 689794128 108146706 111606178 266560678 729467526 148404046 492139242 76649118 664390034 219706452 99618600 364372186 326030884 174055930 255169066 761440018 746675436 224911066 578975066 505127532 808867250 330370126 722230428 239062954 657666062 495194416 205533642 357870260 373866936 132868292 774565312 855650514 624199178 897020946 387215764 154331518 169958014 685864380 333210402 891627218 471564306 892606290 416963546 492744468 808230814 552649168 365185232 285470468 92117508 806683056 805261684 563436776 449109424 442185582 141692286 420204058 303806958 427732300 546306592 506603156 404294408 486713074 828877726 322037740 741424226 335025470 535538524 96420506 221119346 88196424 128879034 359764964 976201436 655046296 806779940 943125678 477309090 884331158 814375514 301219366 437125398 712810130 795413890 794948076 614959406 837054644 148922428 851726764 276313278 972509504 644843528 773601878 151952418 210511302 133063870 683315106 234549016 924780986 909772742 354187000 905164290 474725506 743331806 508758458 706204602 41393760 192914850 659660414 348953384 906431812 225022048 722301470 281195016 26057184 487381296 31479504 359117116 887291102 233281660 497075558 573367362 6327968 330124096 802941816 766613138 196789390 852188020 400347662 368232956 80525670 18150154 442047902 520954884 359989960 438189530 809114356 729929614 203791690 221296652 615829614 980752296 786033670 501332138 255073004 344863600 438345418 554477876 97219568 224867598 748027886 557849668 788821464 270785572 525506554 522678714 590541844 28792002 508743800 437324696 930374684 936932818 403744870 828692968 899398756 637046002 660910494 939921544 658536734 543792808 566581024 441369382 823058142 842208204 316178708 415885486 365100370 2560874 101377468 309834850 805406546 718195484 493262622 596136870 283292278 147781596 7476374 941275312 971885256 299485340 945363582 662772330 466761588 821858234 125158712 236140884 244633414 279932718 750860394 867133900 285432032 602369822 754515518 700023984 194174832 239108384 619710434 718531260 361711292 698302454 789487278 628282064 36452460 777983344 69491450 391358584 549722242 805749798 31012058 605171772 666150486 277111432 135284664 826020884 752789152 208252678 921740226 594539572 762535056 269268420 649068812 497802776 882204064 982359920 97983844 702428928 457334810 135283626 365138540 843731014 765882334 718621600 463189482 951767990 791501958 371115808 269449228 943292866 372552560 39402674 620263184 878789280 22703370 556840602 597161760 778412902 945905110 789163126 891757984 471827376 850797366 347138648 789125242 884786486 116257460 507078054 635981134 848789916 949494756 625233598 133078302 273497690 929939044 408735562 769431966 213605812 531421590 427528890 589548098 37831452 787687226 256319088 90723076 377477568 909788328 791049032 340367264 17320648 958286544 377316542 880732768 673485266 213022292 776238452 85977112 263591198 653700212 83443798 943534602 712090492 164044194 159398234 416805046 837037830 102584612 605396736 638492272 516918042 303021378 610724696 659551392 719021558 467027458 36597526 37980446 33940056 629565406 805820408 662403906 210546530 996210044 892069304 190843064 235966264 773424008 475698848 375364922 14537376 448797532 335411960 709139764 506466724 561844594 635292844 944919204 260112430 976521244 182128336 303596032 208082724 571199498 862413200 722709858 480719974 381613118 815363582 87492936 585287122 725805368 241449922 163543740 907009992 819618066 802155002 683238180 330033656 108669446 330094470 849204848 600902644 322459998 982641920 707198234 36080692 257049534 633520048 730446988 510547442 944088584 306664990 917471198 149571314 568807432 164380364 249763452 900940202 114078386 986489512 905090570 632908650 291428242 767819054 759551004 944440178 310064230 465819706 428470214 925121096 972174698 640650176 512587772 700216926 427107968 675549232 228347814 260274378 86915118 270062146 546850996 277609830 710681962 814965762 666651732 212106844 839624934 475631430 989354330 289440218 63181600 832861796 16734094 945199408 227944200 189750600 713884990 892915648 969122414 409170444 446704028 892197882 881969002 798445814 588492764 486673800 943961478 582419342 187995168 898174622 269044980 449856920 400030756 348187186 543838196 856968342 433900128 540949194 995925874 320942440 564464760 517408774 434057420 985380440 567070438 934049610 99152360 491160792 746618142 431887924 609321726 470971352 529371862 891772600 78902310 678743236 632611558 75711848 95574934 603855470 663852420 798507886 67687936 330776422 879833692 925952404 794646516 435001354 932168930 39406676 930289928 105305842 412945686 406281826 267336108 769844570 928652742 742844046 399228258 484480626 200639864 635603812 766787656 855254626 420117826 202787906 94851410 167084930 87262156 684020302 529840796 944422412 934485052 333666864 900634784 991726828 895014896 720467572 240935652 488179096 794652550 64844538 963575970 108088740 557271236 11268568 282289532 902700516 83193498 668167032 641077452 835150170 760167060 378704090 258760068 501854176 248138910 667503732 906266646 751054132 376555444 142011224 385215948 993837172 177059866 914537444 132693548 19616868 211169920 360449924 600038182 604130456 820727156 293686796 800056394 404977008 229687150 628677614 39951374 765848640 812072592 936025358 398685494 193184016 176213442 604081938 269258994 286122746 830025166 511745488 949394438 449886230 159543894 667605530 262295288 433761758 411207636 879814700 202244094 80678482 266690620 851260738 600101078 511094338 723827934 792633090 315922804 228424584 380516052 13646174 628145720 341234180 932578280 507678918 189121118 737615396 680147238 838366062 746391250 674447338 967005850 877357198 225861720 748403442 739258316 319731638 65394514 524600558 278351096 565907420 697601208 450555692 761338110 503933202 201002452 239300392 177861926 313383758 678819628 933371914 92767544 418135328 572659294 314431420 212350758 176015670 554472626 336636808 630258400 413326874 788781138 871274684 165501566 30763278 105266168 223767340 296198724 607712196 28909360 650933676 311959016 974704496 137249224 169007260 369137534 734251912 764535236 931122500 946575512 166423580 13360172 980392938 799179824 236288480 232516400 369243714 224132880 478588776 452789638 933926702 747811792 872059138 294825028 235783932 849186412 952301234 684802594 36585066 187486660 751517552 78848176 373659484 429798440 93333488 164422866 227820982 170927550 908690714 729163690 649273688 140505598 303114564 242501790 408258120 345737924 11757530 209078428 712093578 117295512 298742212 462425172 665015762 362195564 405114404 980737064 523013390 357698568 489997854 146930740 847415504 945701224 89531460 558426250 174955014 390610590 502953466 77487870 260665362 231744180 533899752 183719836 358182244 951751622 799072150 945765644 860855760 241478386 486574088 910447500 142979162 990444110 839715374 497858800 210850530 436436030 105389578 165898616 52773184 343030316 543295148 175881238 723909560 878796328 306041470 96442990 179255230 150268244 358432984 20063184 581803804 333551254 968642390 908451012 971029376 921667268 109574600 314641766 129739836 472153488 977176 699116736 955072684 923809346 664409236 200460570 982050520 496381930 360485018 439812118 931114146 939461256 683771506 4131172 331870778 430455906 272915802 979690400 972970068 504873458 530197978 772266860 845277166 138100220 721072724 979385452 541663682 2607858 403739084 252329444 86950010 201781700 969913694 566258326 718017246 154420588 729048428 329432750 853962086 303617436 732384750 232724284 622753240 374674598 448752074 370298438 568425112 317254122 687429858 644027960 202474076 403140606 52948634 243697122 101181836 103988456 846802364 997895594 230642720 507563984 956025954 655533718 41137646 930580408 853142906 270727222 274304450 845537278 532247866 234153760 318152464 893946890 299758348 68055892 12331096 953268526 433162756 677595704 311763108 623957386 668276988 588763452 654688710 234214328 245755498 922503714 680589796 822835682 805443446 903508044 769024030 577515650 552493594 878402862 931251094 393949492 857474412 418955946 748308716 296679458 808594256 595627832 261237972 245849162 611813850 742617450 163259244 275370996 943149798 315921854 980136944 394524294 220078416 288533750 903618188 545659296 720041844 390120766 962657018 223418026 415846956 365772224 22987906 256149524 411169804 946434032 24836272 428556430 900320016 662931808 354149136 752645556 465664352 179665276 868617996 860934724 767640410 583497648 550200310 777322628 326776526 760758466 853973356 955239114 230812804 355445718 112189436 454267818 146493964 724469836 136553872 225902472 243022870 256989738 400748832 11998666 18029892 522483484 116180590 509800690 459037866 923009952 143858484 571862528 873509752 606907296 265114376 491373548 630926492 840911294 416496436 561977918 572857302 136781928 643517244 84905812 958077990 802048850 238053392 241059950 846425510 214219848 966208800 141320084 47117846 408280114 61898482 21604162 698370146 245755826 643325498 330239166 821560044 763395088 959673334 221825490 374045890 739715196 953854362 290628950 648437232 695233760 76634250 766071534 273269278 24912292 302006036 270090686 980652270 764835634 609687472 985734660 348149476 599684790 515287770 998825086 128654984 474811674 576265124 627951940 738351656 973878702 710799864 313204792 894056330 902030274 667025108 105273290 446037148 421526100 294604678 970608704 492361922 116793888 188489322 623080386 37458464 993162332 264827944 381577044 485229042 232065192 24406404 65474698 818131158 346349152 753820520 697408030 101808980 735641614 10850912 689431270 282765212 36708076 535701830 162656836 263046004 706974348 60961892 257541148 928920136 475428552 938195828 472348724 874332700 829134072 667477544 317505930 432999678 375111258 119778078 100830496 276951628 609146212 588007866 425200644 966358038 738659482 432380112 721468456 577632518 492001924 634559592 647864040 566459536 305086296 924271924 446784302 367258696 342093620 423436954 290954012 192247466 829737866 901343368 410239892 578179592 585421192 26690410 332718016 614828878 638448400 297962470 721537218 829399144 335066168 303844792 775610882 104378344 710721356 346534628 507254312 114835952 489837140 689169696 783361956 627778318 286529968 711422306 435515912 776566402 664858114 2101290 217262798 903577318 742309266 810462484 159329758 561024942 509009008 863417132 528880762 219934800 770945452 634753722 477196106 646213176 302762056 934222796 508739822 849049906 907327864 768198266 983024062 970904532 807057758 10972224 977402994 570657556 365210668 232851220 756202266 6470592 922381450 497607342 973325796 412643484 500577898 963113276 359106838 815399744 812677546 910110224 1828898 450431020 377123596 507711396 272672238 188093996 699193166 504288510 775102156 967946448 803826278 128794998 889617800 583839176 723678324 170128834 338167570 89546802 481024800 549845994 875846032 124009580 932104910 369084940 159870940 727689304 659247936 139998158 954350072 11726496 95421172 823182536 814631158 963788940 362312734 77385650 428407034 642127934 160658624 235505750 201817992 723097244 914252694 200755640 958516218 717869150 909251794 197422112 349834614 268749458 979166774 930044072 868762494 46483756 541088534 608520758 216669282 305244428 711757458 363548264 435953884 524834802 680197716 455522442 663221456 344223446 599595406 138161892 84996360 763599622 469951928 966453828 551045142 664243250 123830982 297953446 839910216 820109232 321582790 436538010 710550042 738959012 707910822 515064466 903268398 676230066 561029086 515857114 448373014 826931712 615043282 615819560 68199454 247666892 331522486 103902460 189250312 181441676 124898508 703332926 802972422 906184636 893912412 614586924 266881620 380277456 454278966 157020190 811720964 339589014 58853224 702633298 69292740 713348128 460483474 292914184 92432526 618059216 486322476 337276560 989150614 572625968 943733922 592036 585513486 429277434 918098800 542067760 86450518 112305444 727086600 805303454 469454612 835186588 707263168 94959648 291915334 327358036 41027596 131229150 573668574 16019208 569527788 764139046 94309936 74120072 66292766 708156174 92742908 548684976 231648628 882183242 640009070 576657126 868754166 160500884 514424714 308399076 853763572 788094600 705336174 379630204 908398804 398720264 314549404 799410160 488482138 582459346 828852838 170554054 358648734 771046280 142714010 459686236 896981090 25465806 771342644 660545790 806319526 733188926 803563350 649179594 613285104 50093078 188708802 478925232 969343478 737806662 966517912 374883640 473042124 900730028 73800432 661215182 805705378 331899384 739099084 326834304 211822840 921593150 5774968 954133170 637298806 689527822 653680366 266901942 689876078 269672370 300838402 550854468 953998396 467673852 948236764 708765972 284125100 776100478 663703896 832397668 479391674 762951314 738840810 488089698 851490032 213695300 508367136 341566598 47883562 703796004 179787594 59736492 23235644 360437076 953729666 567707014 208458354 831095284 235036930 747004322 569780828 525498832 168345228 525681176 570005388 104118396 986173956 447972588 633703000 448468052 914922318 739497896 50911122 246651346 903143124 874780572 646098952 524527074 898331758 27057658 802157750 12936158 726350916 787114696 534009526 438379298 493739440 599044764 342181590 714235372 789862632 853479364 5452094 50972052 881512976 176640822 461850866 431108170 492335968 606955760 560907056 897867672 786710078 935959130 59929888 526773472 480748150 815694742 488009186 537325204 656509690 605019484 870318086 323776880 622485840 657113974 908469516 739727116 113427074 383600532 494546744 114799024 724523952 277252828 737331654 896069822 805832490 747078120 520639472 482925956 207511690 399977570 317125380 887048922 920161036 525502286 53999852 942007794 268540586 935291428 829468116 805927846 549537446 894995998 776741024 617258910 221046980 882473066 240708480 954766810 496489596 212022774 8810754 677086344 723085752 72859252 123546690 559350980 485018934 440168602 112480292 972799054 935072108 71257040 478485662 747478306 524642252 809647718 693892740 505134884 288100610 815658300 740055564 141802204 626869152 404975972 718085694 538454904 68337522 448784306 201550060 396621830 608624488 437145182 345295704 204644140 215123904 681748950 209126346 175411198 555653042 893377532 75166176 552110732 328288698 601396028 832775526 579254022 33017652 546530904 260665728 956095226 401153374 279704462 529998652 499756140 724102388 925768342 813035882 742663454 970700694 824398872 215753402 671905094 14371356 506085544 558899974 60812512 25052514 301779650 962117682 123550838 821898384 251906100 408254866 96541420 114063008 666743178 281697444 87272254 825211102 116022924 932666196 606478946 32673584 114952562 921605528 892673506 106992896 883721494 6128088 469740722 210717484 405143508 358830114 471547706 496093170 113104926 419100258 310322286 206227594 447723968 248700950 798612754 87052574 42475182 933855644 509346472 232846952 133187534 41075276 301091756 841749722 274379440 636865848 596310248 475142766 402600094 376003236 437437120 209435240 132531668 631363632 304718488 4205638 463652472 234068012 594637068 478024488 817182476 995253164 922408516 442514238 33685318 869778472 894768730 975732606 897773636 184143556 14049992 582322212 844299830 639888388 722292374 991362836 415556452 931270004 365964202 295689744 886031724 600464112 738703022 514226314 351830544 438442440 504375730 689936184 857043484 386619998 66220956 358176924 776162660 169098748 982976644 2702046 740360204 349668100 926503258 502466852 757217440 617223628 387445808 87335712 863178146 947161600 182528482 130816342 23584342 441727664 270324922 837781006 475291138 831369326 926176880 3970248 422375644 71191158 981500250 250335374 221915790 290412236 886591192 734954276 741632382 509231812 237212648 839797354 930960876 237745276 67477564 633015086 212001686 142541974 462829632 370916344 907403368 589711252 548059024 658933510 942530180 777103890 467320364 343379416 133449242 606588470 647980692 738983056 344587738 128653962 624907614 292756814 219269054 591010370 77008960 383778232 648056022 121592070 898236434 141925910 130456000 399793176 960683086 732064800 556659616 150328178 885043812 357265478 165349528 367348736 632586570 884742924 357154992 148323762 380786440 561841076 887336642 410546236 257129302 60437490 720947756 854059012 880190008 140460180 913829302 351299034 845606476 913426704 202045826 697252054 284397224 709783512 267884728 124305628 502519898 113810710 888448538 234439494 308756664 962431524 926478408 484204742 936644388 502697560 122433506 281180074 126244764 620126082 902427642 119626640 2330196 929424928 847850796 560106356 896418586 627461516 496924046 959039334 25613824 431467318 4551990 831946206 123176312 856536592 506689256 944214378 104695946 77220950 764313384 728647820 469471316 447446440 647503898 332317804 477345476 81718410 176028606 13625494 785250978 217171340 842570630 555232358 694510218 33321046 384424888 773868056 113444930 571002188 240272904 696845826 848759112 268486576 429302738 220964916 565784774 600944994 421232006 583564592 408320672 640944488 486694448 179045940 440778566 999115852 141952094 137482582 992620622 880494154 115571162 664513938 835631170 116798994 556558470 98317648 853841026 813655466 990545250 348789908 132538920 16050992 339758420 220020756 583022362 483311962 504057712 22457956 640266344 946658814 83805536 849226912 374581630 789115640 385282592 556037030 297665040 13170788 396471638 365536084 933272790 327294284 962226326 420354412 26505320 359653132 249343120 621260010 959647782 434288590 692794194 563139334 566649454 229816888 347172908 505927322 288471802 876994760 530276730 34764642 744051332 426433068 442770760 404256352 812416256 214908044 502151850 204697134 757350240 284650238 867600344 361653344 85927136 256658626 386881506 594751898 464255202 146515758 23593822 558910752 987842180 651163830 669581534 944931346 533739994 825355404 48846314 325271312 277513206 401252962 713935196 397703908 860310722 554157176 468540376 795699232 447436686 774783556 665070256 254197766 638879724 128747542 818025356 120830736 157384684 290337312 212847370 196811166 189460854 789378218 531545846 11689292 487514526 440987782 829736764 350718610 448075742 736423540 404237630 594987116 495517846 755836072 443602270 675219224 35040174 402416650 997152028 271726416 111614892 986380134 383170774 272175332 102543342 106341980 648206790 166024390 983048318 245202954 56569876 50337336 89551840 61702128 7620148 544173218 561195214 798319776 360880698 654422520 726191492 883058516 56177752 676202786 321152432 558125276 337874270 306814652 222935140 278166134 948330494 226058254 104055100 971728222 887499056 599397090 359322420 815775806 246013862 478844884 964170304 858459126 707341620 17971178 747620282 759083246 314867564 380783882 641265858 539662602 992053540 335061814 788717138 823645230 714383318 106522318 363625042 528068158 621742060 78513364 119754654 203511894 778653294 739033342 457487080 220775774 868566966 921040538 634243534 752386772 445526102 228495558 614264920 313770328 456821636 126942290 85289548 27760614 122600672 480440922 551216818 440632652 279127290 299000626 16199522 758481640 5780154 735685362 100709748 83314188 691880308 161863600 490340594 664047564 690966308 504177616 910724964 67075748 881097422 70398292 511628600 389454862 470770772 901994262 632158866 39133158 932586466 942404494 213891948 473534648 419782940 664357022 34298284 338137658 608662480 371481838 66892056 45751344 489632102 773813630 29178362 813319126 679436694 49748196 117689248 734356852 273971208 336510040 699298270 826519482 316232742 710041888 119998246 559778570 745615958 555155448 621720522 750278204 445213836 364119702 700035126 560261070 240914814 541492324 229301846 173445550 458890878 292191750 260205842 163408582 106445656 997055380 953827158 120932770 662135360 345536524 360896006 488362642 963589064 259323068 205664750 128595954 983784012 10443074 461851976 475554178 911972646 611648624 4698980 358425630 973127812 534942304 820292526 710122440 210091976 219731188 245079868 320099700 42053042 83803780 504091740 10424572 789586010 173134148 267721630 124132618 847669828 91395528 518750968 861870458 803443464 722734702 914240702 291289986 858701926 508642116 563714516 102815456 308524550 903442118 501610536 226319350 371493628 896274354 399140508 274492804 41153916 391547978 362356566 694878616 210101234 440044630 108214728 480358914 315600504 659494744 903236552 459333006 500824674 371019822 764985974 427114676 923787994 366171490 837970268 863463782 154387602 559037612 452730154 280186092 945155842 285533676 53224322 156978690 120314050 234738818 478172858 844747558 114505270 115168610 252967584 785530232 719734656 61474928 255402268 804286310 104350476 692757106 401762434 150939660 604824674 681717080 941593424 160616728 964002724 293800142 350366088 672779780 578101950 455014054 894278996 560848316 760131380 246670962 345223122 928474928 478538600 805525572 993826530 435760384 356660656 99763416 547962122 217665274 569919558 615926114 207320184 698832662 266767800 469590386 242047888 368206578 731576910 70193176 450298980 134641304 481536906 431403792 336014126 990779842 807789290 607855076 357830786 541249692 59375446 81253720 453624530 580769970 953417558 721239208 775665488 994146220 411459286 982441992 692645434 389990046 153436074 155277150 280087716 661139514 424644580 120202690 903353464 687292096 965979156 500178890 898774234 686473378 839256444 654707476 235246624 137979664 214431674 721062678 557128034 826061400 716772388 30431410 415310076 509758384 781586538 695848772 638630480 141023694 335281928 525584188 532244824 177294688 104846886 234008824 148826540 585939088 585073096 589688118 623517274 944894962 526307970 874142748 920030660 578913310 932444654 28036600 828355864 449420904 281992920 567851646 424686438 940267034 633103220 925722174 687024546 120397126 766805500 630968650 247321972 737137644 568738452 670191392 493927520 672892474 430292270 95513540 417669094 233835324 298222124 775915804 481766646 824607868 475894794 308910378 901722308 704702890 516884238 614584354 863649124 888412154 555510462 698523818 628132240 491553974 916688410 781856262 80102198 821874420 828934176 175480440 548330512 2923902 996081892 77486034 810363536 220677392 671422848 650366838 391252552 648851846 722386624 810201800 880719278 412466510 29643908 817296734 171830786 249385128 413814268 964924200 414033168 656801308 436247750 285853352 195704742 424576736 412309280 63092670 37232170 779612648 232078620 125392008 627967054 886198694 567898080 851099584 548355512 98589918 372597330 388666674 616152000 993004064 90862362 627015310 686074476 671324754 544450894 741842904 493313152 838558754 888652322 142587488 943709736 534746000 752483772 854212782 591859154 367092288 993829174 245393446 749418610 120975554 488846418 492397902 151145930 149460354 952819010 841923274 959579158 94156968 920517802 853554298 437648160 33831940 439592880 468294142 511181196 928512840 134818878 61239952 59177140 863043358 151944520 253672352 892591520 330774594 780402976 438828428 509803848 544726740 735741118 280173444 489625658 373400972 426187908 839993022 275994738 410603360 886241976 365837446 129816810 299936056 81412264 492486060 163858252 742223284 966253664 319733958 427006046 547645662 185320764 45615320 879338578 630592538 143694384 711848036 824577656 829055138 525715088 163612386 663631444 467191256 637606180 136816782 473060196 764793308 686138606 235909200 48962992 379420154 161539574 923086294 165298570 463317718 459179674 89073910 385754924 144143632 760263824 368651480 279464408 883225926 602018378 275880950 247413440 122876220 966422048 939186450 737415246 811827066 430674894 630343370 638319556 581599512 87448730 145530902 561837280 516644058 964977032 645108436 453432910 863458158 845361862 345730482 188298348 672085254 556710226 335614820 788111292 376487180 69862906 227641464 761491562 77536038 559579536 612305874 976281198 702271398 158460626 792887852 959026882 820248312 622939000 628405676 376909072 526866422 112384018 59812846 32671626 365973876 329639266 474518794 131219504 679640168 516606436 629000244 986232034 827206806 262605550 749753346 451955998 528066132 742368930 223895154 728009122 477998308 259541772 156984760 344927062 695527860 815823152 939721000 29742888 207496136 449268996 773824018 414089082 550276816 953991824 633958136 571296662 393602114 292477476 169742606 170316078 11213254 323603144 376835004 746388264 745013102 344316158 288691420 246806266 50741426 48426768 60913846 158111730 381375186 966599102 768570772 165460582 85088982 794930234 300312718 284758700 638748948 270548494 429540840 313318946 360465334 606019780 310318698 708992748 179797828 882008378 352091670 394577112 378342658 561070818 997433596 520698712 263698478 913109870 322730476 946701138 69450976 256267080 321043596 562624770 468693348 902960628 349041598 874386130 904241668 955372690 660336832 35038076 777996084 629195236 469534748 384651326 548443766 694709826 711627746 814641520 71189862 915104876 167535418 197332090 501905300 363104898 286982704 809174776 301724284 322815992 760513758 234120954 938352604 567349120 607238958 957031602 593218266 940368804 288447500 757738946 356066436 946021180 470083520 993747008 985452734 243705196 74014220 36670276 458144836 635011308 988177132 266200908 836439090 892333940 173298134 30595420 931909118 440345522 324442164 342735962 174858246 461477110 421893300 13453666 930248570 449683006 488426150 352121290 338367960 467976830 694797774 206754888 346776172 493657150 306448136 86677962 398965184 386603012 489077384 963353184 39266726 194943348 562090184 731929186 626101720 291900056 897929408 205917192 726958694 264026626 825347984 541562932 123616782 130727432 248356206 382151258 502974846 917741004 917915212 858822798 259527286 856535446 755134842 396846204 442360888 566384778 639737486 863213860 493236898 859328254 955906646 669325472 430741118 329604418 363104618 861809804 446067602 215129096 427136448 991091606 435860416 879994630 573840610 653205672 301818974 486060732 809892570 797089918 471553730 150761592 272864462 762234718 821357966 973084508 294490030 317533794 384362602 309076108 291200014 646832928 847947572 968767040 360544046 634970732 662283658 659766782 837898590 35720392 199003554 44608848 198509344 483086480 616876728 566525868 256518110 408369660 966042256 175271982 561290040 578781490 947607768 945977350 959114482 470436006 19009166 39735252 523177288 23793684 897319980 522747084 204290718 807883840 752847522 723687890 108300266 646346284 272719026 235901298 999451766 419054674 433856144 609038770 291360338 174374522 797579504 477122618 269672814 612863738 944226578 109888594 483002658 941638772 656524560 282133412 266324714 590880402 420540080 87294368 272961534 336919964 542529858 53842412 717873458 128816796 431810410 973578682 146644406 990962432 375728490 187994482 774358016 886302060 599927286 207661566 890285808 726989694 2750860 13348736 717543802 928469912 112789768 94673490 971154380 697714026 115713414 994264954 477558060 872654562 439716542 706255810 852142826 424940602 922181302 87189764 124853608 825010706 753624146 251896696 312839824 998236340 438386352 204007590 341356176 352734014 401781582 676823720 581558162 122240500 273502020 329436878 81364692 519676830 283943648 735151242 910225104 24005036 151297210 843476294 859928416 241192088 36259074 660636262 952655378 510032986 818098912 877459196 158012622 931756074 567438054 496193592 514951318 191496954 585750250 864313540 974476056 623810930 180499466 692565512 362848062 570861194 890221308 264389616 353711010 816985674 698279350 73663752 708066384 198956684 30500770 71406634 74950192 962081254 661664108 775061796 55499934 707711058 284482450 903928522 950059518 763722722 113372802 465830140 893059140 424926100 640262888 587100946 258579564 340648880 347486654 266904784 742183232 976011282 25693944 300426386 933285500 758036938 949034400 128511360 824521132 3475968 484603360 246365578 995869220 348803690 468390594 269860984 184454734 104719834 259876970 957222492 644549068 606895486 796608114 683650804 583648180 656167126 933186920 355312538 500689512 498263198 324992802 156123456 212521698 543245772 314412478 861375662 237221716 353483202 862991622 167905420 762665014 641761436 308855960 155201596 560840766 628455080 668111302 143984874 883878636 372485016 252211762 326841256 285364520 41947080 402653558 296526930 284334748 309003528 747519462 796050120 557217152 487814424 179447998 275471290 909976062 875129642 659042172 47478352 245361412 717577566 929496858 909612746 218029864 269495786 431302058 336151338 930341008 460968060 571770746 773059338 327701868 246426336 906996132 877158998 134278176 293999234 645698740 113810524 219876774 421175936 574349386 619853324 455829316 61868268 809741480 603285722 697979220 412079424 232132566 591605398 195648160 484846346 498831982 696035026 216951210 837824680 801864622 3471160 756963056 655632812 735204200 283658482 18486756 558119124 148292042 412456932 584279884 233792052 56908726 357993012 722370524 390644944 187386830 11880732 382887318 30279082 102601914 624270772 586665882 275029686 981817922 142315418 762113686 590823468 985495104 726616350 388197428 937513430 939707076 406969840 154312656 71810196 786563324 506636762 774012772 144330886 931237760 566500100 906860848 409387088 846644362 299646252 372671366 112667568 610150790 119150880 531051624 723377098 754585042 485564852 248855470 543969282 252038590 417505410 476300982 451974392 636850342 151926546 608161838 833535588 48057778 480575630 183624394 701743392 615709528 178085804 463288274 859525034 942285996 3171072 323459534 5656324 595324620 117965712 804234032 592059152 238460896 176670196 321375578 128586412 482239576 574020602 674088480 87231884 185222818 555359214 767061798 855730986 536880984 143763382 638782900 782997920 644661010 118195012 375641032 623962696 545908108 537386736 865957962 592687930 612592850 459434766 566323636 301520568 415827870 245957838 452031882 856626274 787967150 283843702 387004942 206506052 368232586 512061312 13678710 621118040 432421502 840368958 353404600 467390802 383485816 802814070 647652718 810957676 990471614 291902596 263098018 673667066 128626148 280406942 95028418 814397664 353404928 948336848 125366562 844164676 932013896 801260000 314716784 306469402 664401758 293854148 814929470 367608570 907116086 294226266 892575046 12412566 117349470 346131114 253622954 917585072 882639838 364852350 238438728 841925742 498556382 641086090 461868308 106959208 962040814 920803622 107277678 161833910 47404522 834731632 865908964 656421936 475982230 56411476 694891814 276323930 687465324 147244272 943260624 215950396 526862990 721667700 32864116 855862444 193334386 623833010 243940366 317824548 797567148 781424614 582678622 673116998 265807278 941728056 620064874 391538892 841117070 644347382 770700974 735992696 830257010 380455016 665942772 428553166 928405296 575731822 250440824 810398166 162991650 241346112 6495916 804320810 244226156 970513340 326789316 781152872 732239448 494249002 836969546 556411862 46908608 906389154 555898544 127705276 440162458 61841922 746945606 853374140 606785062 181258298 111961074 92302994 946153122 129150666 180978866 578524960 604594530 413715332 265762226 992153498 196455356 259696580 566505562 152214790 445045658 329222232 929292376 80441384 919309166 14969350 505702432 245804572 554367656 247824940 568643086 993216690 83482780 706818216 681965616 638617198 879399820 879985154 364176172 978575980 254801876 142344678 296983238 397920490 138607858 874607060 82494840 914481502 418816668 841647744 219448272 790151674 870771118 424772714 309280608 386354326 949590548 864111748 705743784 371713332 272121332 35769124 478949946 797482280 999435900 473733732 445433938 112515660 875155600 241554866 82463268 321162986 953555868 388730420 772235026 853446412 862471216 342412280 659921384 222116424 753868758 786990772 605368034 409554986 762966078 582715944 120618848 106275820 426291654 406423378 706799692 411687592 835710878 224563776 993656682 742572678 837309494 122886988 775456682 851997552 621689714 515395486 786119328 748178506 946215388 267318930 387987730 644981796 787065248 380553108 74169098 667288226 736381858 903070728 994798146 211731938 946025566 814521120 270960602 911828428 44570488 31124114 391267640 260278242 170250824 485836740 229783504 279129726 836805318 551111318 575372920 960908498 908497786 479351726 245387312 737963466 985959614 518767522 11133182 963310692 525413118 993695146 201018932 500841008 263980662 176647434 153345820 575317144 156008356 789315414 582201648 732427622 781449192 904138440 669106984 917900056 279320504 605443832 464837938 855973282 142390762 431695354 713657082 519114428 906050372 171602854 684996782 815332898 803214024 176159468 207619796 723581620 858459222 744967996 774371674 330744928 934946274 291940964 110530114 604779194 426213400 994545794 45733030 251315056 404192372 722556686 105206378 398430488 151938048 610450614 912923856 641538982 644288172 485783118 284933016 685106452 545931448 755862180 728755376 257210722 834057560 72819828 647291096 147629572 316766400 588068658 23188856 405424148 214617684 2019556 802816956 995297452 538417798 786621072 910523916 184094814 37523602 960606274 145738464 255766756 110133464 209848928 891664166 356575072 773460530 642244312 352996810 844338668 519351300 424517610 455983278 91444322 10103386 196607904 943041480 183857330 151901372 556852782 234125540 682807092 727325386 346664132 296296800 127428912 566570644 472671620 547967054 875733812 476664620 873966978 302698834 614414286 836818314 314040186 806754194 938700592 978403678 751902884 847633762 102240584 288900008 244173292 596542638 12977662 860020464 204285686 417757886 96110098 564946124 908630296 53162500 390302804 663729578 541028132 780811506 451350856 874191266 981795132 136448856 184502566 759010480 418766806 404106480 586159400 743016648 96155626 700374606 982600712 577011564 547880248 899940510 579661056 622209334 54331500 286507140 156928352 643682830 348181028 824673814 684029748 899432958 886419364 923155402 418148672 51001982 561887042 213437928 676212960 100891542 157354678 72355110 960173858 97772474 916400598 791918718 873028454 362025714 851620178 10007300 786075154 957304004 276733832 966973470 901422076 57545944 150628960 896900366 483799672 957857842 609065864 401970682 893681250 600073278 919121574 58491622 41692122 166716626 975230732 110993768 597208410 999562736 820725960 106386850 623594632 422984158 901957190 569866954 355183194 107054454 515406438 956636928 419754546 269080552 794311230 314177126 958707662 430920672 345824066 487090438 831300008 596384946 54636574 277167748 3049896 818122712 826604354 725105938 681029386 841794776 787566198 967783644 471347830 581015272 287238944 932070580 730068624 681435346 526078748 742398064 507458054 579616284 308966226 503093860 27190788 17149758 124809998 374687282 121553172 514998348 657491860 501621420 428783942 930126412 106393108 927330200 22129392 54145826 116655362 116264202 884152488 175160614 73982838 122277680 454122854 907391206 807227418 734504244 529270432 471779424 383730098 172756528 995902072 4964088 57957494 529623418 566088022 744336468 129002532 613249598 621837914 385995692 631970486 10975668 714416858 887457852 121762922 283278122 141378336 33206292 860995572 615015150 29708448 356052020 373521496 896699114 775752996 514962422 448261686 210684630 72694456 313798214 795162374 820798972 881683930 145887526 823705980 952440198 794522860 863553846 914095748 120177678 223802112 632867904 310798544 579627888 935383960 422080836 119007754 924157414 471888898 450650196 191760736 481458282 110619190 525782426 775267394 60190128 568256776 799842434 992131816 241242984 847741662 994339612 935447244 718640168 57422468 14212502 813231406 381441482 801637022 667786020 868247030 444602476 368196776 127719334 466799664 2056856 710429000 701957776 65989934 100652722 294316234 187376834 173055796 279594970 522024742 146211856 688927538 283779608 868381976 359788496 27618648 579609148 808901880 548922762 788465210 278452384 418328650 536838414 260563156 820049570 382171146 423025386 526357584 988903330 796932352 640596810 719719968 844408038 408513700 454134900 89317264 537056830 665046252 526754864 288789778 966015138 336548546 391885918 540516098 428722352 979825766 680094380 571412592 675041238 919249272 151741998 39691034 584075474 471852710 885747384 911231146 241929128 768778452 976836446 723390120 54589672 142151032 807333412 960828428 417254118 435292002 265655512 500150088 447930982 788114676 874643736 294572380 603824134 958239726 602180820 716248412 533937940 978237692 21552760 219858154 585433322 688469210 937060646 433694810 176772462 914432828 332557308 59604970 961760212 614057056 202384984 291033524 203968968 965399434 171971072 330365494 194267952 681754294 189248252 406858956 195162096 660961232 6978974 920275092 909940986 560143744 296140026 483963900 86786038 569273118 496755532 184396778 434054064 922798128 832335412 929886654 662803728 322138354 929622934 478307192 821548056 525430514 869961128 855740758 376013228 726097206 689753336 148988038 87841962 126665760 230662192 14802198 39569866 49117808 682003108 123346612 267112288 163779974 80552976 941478710 335386686 255609566 25947034 401630990 636224536 723172008 213884 180913452 316948676 683644140 846733070 679196044 339846494 25428340 830143250 888579358 974056458 428208188 622441840 776416246 527680514 826599004 500515356 361973232 214581990 689134184 140382906 232108460 663711958 291438604 684414 944561248 41539756 583313762 707265932 739989896 452252112 761939386 320567054 670839662 981885050 187652950 659710152 180765360 54091208 299198846 323961578 318941446 446512148 161079736 850699312 122072654 907641946 797114780 589651442 217359334 517629896 326969120 436603960 760429860 879071732 383644866 689289806 397459380 554202488 96225688 261565936 806934444 749257280 739037490 953382536 57449202 583891188 503337898 180846806 407024132 355953020 959450512 391799600 946497374 896614490 776783014 293543760 448943404 276017352 213332946 883293680 472320430 533024080 677343930 654106128 492049834 223753872 907389602 287621452 29581894 185106616 400091696 975028396 280706536 146406842 625942184 890781874 112993126 806487826 322098744 819584174 382525724 805095978 796329522 501615746 936104008 926095130 424399696 930977860 160281770 799936498 168123536 892627202 10372710 240913710 878751580 486532154 235694592 540553764 383185964 815993480 707777506 264672042 301276448 137430430 952189120 52805208 128396710 256954500 430688624 274977056 601053346 866788206 932012338 302517288 956885180 804456758 567744994 442357476 839048662 344338828 2794272 784715932 791681660 226778362 462764506 656779962 32004356 676506648 379022498 333086232 434326442 489383438 156136756 675741362 81434358 195295834 808895244 935717222 539954086 138333488 988164376 36838954 729585602 143087668 677719158 38014348 631244530 617667184 110835328 649259590 238275836 732375182 763430818 627232398 270583856 520884318 365335664 999661142 280034576 513794700 266439150 775434704 449742472 680296598 105965670 5688810 28723036 955508374 721548372 595208270 402138952 195305696 14170916 492228604 369324116 535098400 412335414 362759764 696928758 573196232 863331316 733392824 40804120 933740772 744447386 615815308 296432304 763352130 819992112 399536844 956034722 741025808 257209018 411014296 854811072 642068230 995929812 36380420 333078454 793248338 163874338 837973824 544411798 742241516 606811600 883019304 35214192 841194442 664491336 167075572 396381262 975723642 348822606 578800230 168529958 537756782 683839706 991410608 946722354 278713974 491353860 997662228 205230512 624223222 996063998 653282432 298352178 886251964 553845170 440349296 367574378 811831450 778869904 307057128 943857874 584942556 766746230 253968698 135023562 750560742 119681480 53189214 130484148 319351570 956317276 306149046 951695118 965879264 958529392 84875960 335107766 432188534 901938522 864490530 218204996 286157142 271788004 188608872 848678618 259107876 450953862 123649638 629565822 83408510 435997436 778376436 808925754 618527228 798601812 128183802 302654312 605874252 692596256 168941446 232281544 36137990 194213440 750700318 216157002 229275340 160529130 924304858 832348806 353764900 972875624 553847058 372621454 336139558 151730632 836995512 73386932 375870420 324449548 184991224 28601102 186106632 690246918 854347812 752986388 736957184 633345868 873893884 672303458 233156544 90379562 411795378 473420376 900810198 681176192 442215898 30442994 887885018 464528082 905376874 374402954 763075718 711591632 966066088 510321832 440126248 184660266 322747486 215749502 460487738 596152440 919096806 998787934 234190550 76079412 758339640 373321040 38421408 905399746 152084030 895810762 739311926 395992794 398055308 239292484 647975212 393556610 39153724 556272004 110272326 848777298 84811628 75874508 29373760 271890124 917634788 289587962 520788370 780943844 821906760 217041856 979416642 714490334 242781554 960022100 458978192 827354370 697132136 595902972 857852292 546888474 98940114 621118224 627545782 778578634 827087140 684383534 49857894 715242226 124246930 6147146 189858658 199715896 624981492 108382046 353778804 493020674 398925592 394349168 538152792 191756402 108131596 156478008 512031038 198911154 191465844 311551802 796173530 476225918 611597534 173389342 233175026 272454764 385168798 101333274 309336972 440438226 468101114 514913640 730944448 51367060 474299850 283338934 984170186 951568402 297903934 322654610 873028554 376377008 354378436 173519226 325476608 25355718 148092406 918257942 559827472 417012970 764550620 242204226 488533958 614750542 970976770 751160498 716274054 741691678 631003376 579086954 967908180 950676562 699782768 100411928 829102554 444250968 800981516 367107252 128212362 81086538 272028744 359460044 655303700 773182062 354757188 418386772 120033428 385919290 484100002 449269066 599067468 696847386 132176558 513411592 74621940 886284878 319844710 271210584 279976984 50509252 781487852 79925008 883776504 299386192 861272770 431767708 239948088 379813370 836293782 742146218 761376978 201570224 879189622 37046336 231608082 85413636 346662772 166351560 392435294 254308050 937291922 187290942 951050566 865206816 921333902 484163944 370868692 586882042 866036404 941407646 659982118 503159600 363365378 72730518 89779424 213728728 708123922 311707172 245202182 326661984 101939972 766242258 762568486 640699386 826926742 264636856 907557868 227459966 127356496 535194440 820247438 442575456 277336406 772536458 172743286 754523334 686164828 714436728 260798764 597715864 442136368 326098040 296699390 520221548 68806698 772053524 95950240 385435154 53034618 872110048 765704528 845365426 361084062 321268580 957161248 979477388 439249096 254461156 676251960 335691950 703865624 55680740 505623774 224585234 653742168 35122086 740630332 181890454 715533108 553596998 529987560 201203488 201195302 359140872 128923678 134561274 827970718 890541034 772375536 21542156 842409574 760027632 790243372 664784902 613456850 753213970 49850924 389418096 807305626 7620906 900497658 530591660 807393128 373923274 547502846 242558200 296231500 713161638 272214886 589962892 58404052 941264080 201446206 642950632 946020434 261195802 7392548 212603130 732813548 476415614 414151196 800015884 46947308 43313058 16882404 98351126 924417442 169991452 697610792 269778526 574213904 363815370 59230288 220717828 956430216 360342172 254784656 584706390 603875482 830644084 786969914 315148058 300745064 293802816 554906930 945509478 290327200 318102672 619782590 305570066 587605292 863338496 486051040 564916532 874295734 455612832 329753010 539107976 233637608 721547660 396674860 847705152 44050868 599185726 857368136 399983364 54256094 417432430 78535802 66988246 534274840 652276100 118448214 542375954 288046710 932653744 929152896 630535334 253082752 32824114 220231262 965439686 177007596 167807602 248842292 519354816 330570334 438091994 804578264 154731794 999835378 954551084 13521822 267796270 446731670 594258336 272413058 468892754 454415196 200410138 502378846 124320898 352614572 837716316 795837448 222198788 384951366 523226028 673412754 933963318 783854762 857956896 611212790 562837676 794838648 798286118 918478262 185709766 365118902 785844474 551756224 897752978 117249872 855752656 20856062 229199286 384987088 773963610 351019204 678925722 479314850 830878736 724843432 410393416 652459792 979799872 37358224 630965424 434523070 856413468 802584310 190178394 773772934 408742018 443336780 533009034 29422648 303692406 132202442 666476034 473720094 926367024 995854426 555855074 323042168 406201030 24132976 416432 118900192 242816210 286262740 282843954 759673014 939678758 552120370 997977380 859144264 765325270 245599496 195913654 291846686 4599598 347953942 808349312 780404846 110392052 179660240 342911622 764071598 607974116 193509108 280184232 981537028 357525216 251748242 282046184 197444084 668377540 490695384 730010618 854766328 397958544 621911272 290267002 321298740 466030042 321349440 807517476 11723494 557053270 604227214 46114128 75145346 423283244 330478332 24983656 620005518 891151446 823115450 24263146 596143746 337138252 29308874 313309688 573653122 750616804 833838592 633633572 564606458 693597292 513631580 239861570 148431550 584290792 575359660 177244504 768516458 823371112 339533746 419712412 360464552 510719410 954809978 638619510 585307280 885534026 400673576 717956438 949475018 198008880 80349068 877675440 855089254 511852962 94808702 458759668 672710932 882077086 282044320 139930022 781917602 396511826 279462512 443078184 432995316 571419520 570968774 34333592 875697074 523090838 219257622 69610428 337314974 150480286 413185522 973515736 901271780 923698522 187105270 959538092 782341356 75977174 659426744 38464548 655217578 674950522 377129688 664561358 736887118 461987812 954693872 382908802 18445888 330603254 591063132 705437474 864977394 384198254 569553916 651379472 274848936 28591632 337258818 467836792 838012420 926660564 237639786 349300238 779898170 384459472 558975314 646095208 541850966 207651424 286566096 365112848 271116892 345186386 576251556 89620978 586891134 416874394 928488188 200712944 460584236 321750214 920825532 208511330 575956102 782040810 862588860 84304810 389323468 473706342 744611086 442087426 314959276 352558730 824669688 152981798 985714636 508438810 507667034 198224642 96901416 200933278 394248868 206700176 782720760 793650308 536259710 331808036 728369890 880520166 620169736 134601256 533613124 778871010 545266716 319752024 382640312 920333170 360013896 206835254 141063998 343444856 90147376 110958274 462845094 781649736 19990670 542796100 737239440 242226218 56146156 197006892 75997174 764683948 260943542 705889998 431069738 490972774 575489830 506704114 426374524 557759658 50682480 226850866 87687244 691102722 960294838 45532356 801758910 143616954 952622678 387173244 645468644 584912486 37487002 494769816 588169612 324935110 287616050 89105486 659427420 547907590 557123940 371215944 115814602 285618190 960082804 943662830 324445512 660092572 165534988 339592230 571831376 428217110 423066588 294386634 292423136 355646286 712958132 103144140 731557656 497801184 446684442 33170932 168493154 165066928 221221904 192053122 785926652 259760592 626269110 378212370 133212014 923537944 315382414 523326272 539354818 148969494 534643168 867094080 219667822 894685866 230721132 441638722 71972864 193189772 20327356 542355810 533716150 100391144 711598584 985524768 558695974 580225336 127951880 746960208 73461756 495506790 527848946 294743236 958035260 144599342 929072214 605296762 548716674 39645274 234351468 382721786 997010202 297820188 295120350 399230418 107916852 411168850 15629992 629714098 453265264 690216716 482564992 164732830 753250500 810139314 281244404 522223194 383810118 791005810 84596940 433579046 579226892 985769892 161840596 878243394 895922330 778217776 110497210 287530160 494585514 537861870 949466590 75769130 138164634 649961884 375599132 15775754 660137470 983090928 424160980 308271420 398945742 835211522 711980096 628824630 373891380 890750692 747734228 209763630 678758156 356415584 753654814 431755758 927945724 356143416 152314734 204278106 520503328 147965508 277538744 30329662 607681940 261821440 788616110 445971584 105153854 523808602 921844320 208153444 466499164 774425406 255439120 464285742 332292286 171031994 691391864 234195074 211565740 413292932 206033846 265766954 617295694 612993762 864563478 872389356 652178404 83755672 269905234 309246570 778343088 257034230 18970030 170487074 705539730 406882312 457898596 736674668 170008678 121054090 932936322 678702018 3844032 563132360 332338602 452645272 155781754 800966278 579853310 15680030 946814666 571926094 942055058 373838460 673347336 263486098 979055048 331377596 264708364 377399626 667432688 979244286 673192174 145410350 416304770 215447662 563398980 809998060 374643036 174763220 840101764 425811784 499418322 224543320 486833138 131620876 792176326 739142840 246789908 625526412 842945654 117983914 718616122 619608178 799553594 825551132 513041860 235419220 33276500 668147504 681080084 639094594 421566626 680591028 423012952 565839808 133525856 683872352 362621270 224524326 649743234 196849356 475232986 562772464 916808414 900015150 863969664 856602960 750384468 760039776 218501246 925426496 71745130 668025668 786547060 933478254 172224742 164366294 84045144 303332206 86125408 55785748 622343664 998175252 984980452 681374650 562084682 859768520 371167738 707221816 807806202 96962982 722952900 603246330 809894196 922081728 571144904 312969504 458206924 542384256 249029458 950623092 678860262 394077346 391859738 371084894 76643898 121784628 824440980 336263452 27545146 989031200 253872170 760595646 623068530 755289454 732472314 245522248 604290246 177373516 999819448 451606712 309569434 968946520 518536672 716265664 153736616 600587678 190103322 157684180 789654908 2071372 273670364 341226182 406005324 359045462 964338010 545453166 273287888 7687984 56664230 866715988 17438844 166257100 658022804 500712910 835506830 997483310 772587746 363936434 741708462 577146926 573180518 418606862 829782656 310861790 856921632 806067538 714308512 55585506 693684706 28432924 736138120 270258858 914510170 120935004 909786812 231165680 749985544 365394344 551487412 832968734 289434686 28884888 974884124 954387544 761359988 81234412 313671616 755123264 327247282 3352082 40955850 805192626 339158276 773020190 632534440 492017180 641017444 27408340 650416454 326609548 759202754 393715498 618861366 806934252 30068344 983754760 999702532 230166844 876272828 709374060 317671486 426158042 517952778 693619060 142433512 175998470 517426886 625656354 350555266 276900572 742896148 449159024 992578830 631559014 899737934 468271352 609420388 583597258 647264156 825833202 734943590 936937932 399511604 457790068 393636692 920703366 323148112 988309146 554860214 958868044 930518916 319930002 446722684 452113464 400818624 171257646 997821142 371461790 504947152 846805958 729444606 371081252 854661974 304404786 920027794 263244588 897198510 387738828 769638714 835090598 115465102 725223452 414763498 749093564 646794730 636976004 39408052 119801472 655511130 621119186 87454256 120157734 695184266 723980146 912886214 573597354 940351506 543774480 823929822 892309848 855759174 596337674 170439822 228764804 447156288 630996260 470075774 803520396 382719232 68744734 584938230 742881548 160438432 449007366 83150934 349076878 150450554 903914348 626488584 594292126 525263586 97036992 519280858 288623060 984536772 370941258 829369758 961717802 51379520 741235238 293508674 536436828 676311814 778291130 485574310 449170052 912573770 189639138 453609690 105670100 715227742 41315022 471067352 219631282 730235026 196675106 964285108 9073336 893644416 888662260 494546960 957485900 374978244 273324496 532582466 688596468 847473508 355604008 752861100 109093072 132258554 970721078 249678506 404714416 647113258 510273766 645937316 624051116 816606338 726051778 789888764 637919160 168849274 725485896 562445316 621189186 200023944 723309110 341886102 437977228 131274784 249434684 288081590 656060462 294818070 35855140 956155362 316876900 849109178 165843926 88835084 254524606 872504692 70944224 979457246 979021666 108334088 800269986 778676382 935353986 512768048 690954834 852086392 907451678 182846694 596747414 355916526 540765544 235625082 789415626 658444378 134506734 906998160 374373918 781221132 425913566 258579518 474057882 519706884 315169658 482042236 166653782 104807598 187514896 637391376 290169506 563958132 522926986 328092844 146464336 778186274 195566186 497770840 267513782 266536368 380125184 846080042 306993438 899945816 42193346 664043056 321451168 193509026 927189378 267259764 706422996 652333440 463440386 271738576 698936074 415373564 307533856 851456112 22973124 511053072 30314232 277946482 712908712 823429736 602546462 816474520 211685958 550871498 809570430 466583956 477548186 841656744 851795822 642779896 409230758 50059202 807286784 202998942 550461800 95026424 744095100 962646306 730077044 762665788 592216832 866265382 956944000 104770024 7477100 840719222 855235270 967013894 467973882 708253192 173937006 84072194 96818280 365400708 967298084 200799912 615467234 34100738 640791424 384759948 973437686 417057070 86027532 840273062 776803758 103632654 277722174 40064606 196596052 556804118 397223758 924401192 339591630 143557708 482862762 198565158 62247540 452217706 411758908 195072948 743025138 897681004 483366238 4275480 863373256 294757246 231547620 662778828 252035306 553449242 103797624 240569088 859216782 906043718 510025302 951167182 571774896 298746680 370748550 167278774 842839022 822839090 361654824 942549878 673646398 492899118 210164056 129530100 745112524 775522312 566469626 81356278 253917494 465750472 169438738 216935962 757228 255515580 396836608 100640916 4012808 354930966 434148184 24938048 390060760 853603136 476192200 65844008 663333166 848075348 377935726 270690696 676820004 858787414 424564236 439885152 73235134 906269020 832330426 867715128 611134860 837159696 816172910 13149200 973139054 671999528 927244182 58915506 689712144 723620474 757533498 788080354 371178774 843073830 15357806 669628440 185929980 830546590 665555762 570562544 778572980 860791036 120765330 714590340 536868800 32269764 966492820 227904188 295613380 631003954 868498816 258188884 262114170 83957250 91561906 14556000 56395254 616252746 677477480 787822686 238578254 581561772 629746128 414931410 698908118 393396348 813451728 522320744 556201416 48162166 680968904 660843622 960495388 587587628 663722516 65955824 616475402 135548442 338040950 969458578 352376434 695145952 781660404 650447358 392186746 11264796 789639382 794746332 396824118 430108692 493111864 57429978 9759178 678058982 501628454 818804478 576030408 673104170 912898232 562613906 478492336 849362256 624712884 283040488 491723032 453071132 268607398 4896384 622920568 906740210 320388204 413620244 397400264 974627880 11541072 409469716 776994420 151050058 602289390 144480208 120102672 442352158 267749236 410519432 539880742 100534756 946803120 537030752 805465468 625716130 403497632 317708608 926346522 723833450 579185696 231797484 746000960 680314246 809374160 722417486 763964480 584198304 781059300 532122742 31849022 98018094 511513200 961745276 18519510 785304332 156197728 210091910 673811190 32454870 714955948 506539812 159209288 138312254 970007342 591032386 883078222 138080804 642344260 468814416 23468524 740210484 406054632 262843300 600879090 624011890 540020660 692674992 86075806 50422932 205012496 10904556 3600196 162613888 759724356 429319006 130740896 361767226 3728912 999899404 778473284 739108160 40487868 824990600 274115820 506542432 887752404 51059192 733659462 946100442 327137302 3581830 621263882 221145518 400261274 865568246 4231244 772338082 53493858 820886226 989987462 368879406 84768350 48563774 724884398 950962348 688510578 155868674 815430064 920256588 512700674 559315100 661932362 925207886 551802548 526788078 789061214 971998702 735037022 842894540 527767328 115325700 608942662 201905712 648412530 155824276 687755242 691781598 406595440 792441794 720510078 5045814 472146510 919262074 758544938 959879740 952052676 115992730 368549704 755274384 350082110 565272828 644628646 12404266 633089374 331309516 209388604 690704382 22769328 967411776 150465498 152380680 952273140 527967604 110718194 562619826 416532468 651391746 74838340 523628006 202609330 258333312 582663580 548889960 199535390 379234876 30853524 603788792 746044768 404089896 239039560 892321628 767516516 885776224 427882844 934428882 324925858 872520002 73972544 424587594 251107888 302448306 96831220 916160546 299663376 589229802 875676276 41248240 256828898 994376458 697846252 208605488 211896684 891719234 604824968 252479412 295188138 4707452 21374282 984541192 288251276 577267474 644745144 949196612 403727572 384016898 948564632 654271354 40410210 60045928 4954292 82142958 515471144 949268356 612233904 336087504 361283168 503782192 611546560 108606810 420151162 644088544 212573310 739460226 841760460 708600802 17901582 868938068 279010710 194957688 572919702 313385812 869557092 732436534 59624218 262706956 57827314 169282642 586914444 561181480 80704708 945191510 118354562 380705574 95675958 310675620 754306652 415835440 217967338 973446608 163076268 420371788 428660106 135926582 51452670 169546716 960570794 49570568 531649490 795711084 883966292 294367684 503823084 730622778 357205668 318263994 630427070 168079338 956513936 549034228 76079572 613550564 558600682 736245894 51339222 47744864 783195456 628372544 858177766 789178662 225875180 122578588 203850794 932560880 83091532 66129094 634732870 157573552 3578506 961065540 247710646 86381072 273544052 432100730 202323772 283614176 469408140 899363706 406874746 744534782 449163742 880770650 310892596 910711612 989684784 419693710 336492696 72638172 95283796 104004396 975947186 414135468 199622990 509623178 539665332 102062928 332279410 979611470 233062564 95595872 493117256 181889528 131196200 198805758 583389982 534375604 512664598 951695560 967653170 409903654 32364962 800112806 75318158 248348422 555839316 543887976 778798794 74827436 920968214 988978144 732537686 20338664 893711610 296135462 687288548 315455968 537386224 804685854 122301924 986332454 930907006 561753818 315639702 120953504 307307850 566199690 117023864 247233580 888742608 617634056 54305720 62809226 620964490 174418224 193978790 664938672 319634040 131042566 497919686 358863076 222703160 349989896 887122456 107975210 952531160 353385782 517740746 155411820 627849640 145278814 669517458 230419100 355131876 911022004 57591796 299731626 702049858 965875616 563172638 894027114 707835800 993666712 569375522 829107928 276892450 832745768 44541854 538808120 354743134 152064612 390183316 624119430 53082072 581115134 452573522 304422540 122334070 620088610 198633720 620811728 622744554 202463532 83973126 276066336 796537162 337540446 867924870 91158876 961548062 302958482 362126074 363329830 636886118 500951260 460194640 739634178 296394092 278711344 430878814 472763394 887240112 887131634 526868810 177396250 414380696 475087190 44946696 37717930 750804594 274112726 994113612 777121418 726449972 624030198 72163982 822328038 933982354 846854250 449701440 322298444 318499414 716167550 842074070 342489660 900357894 430259302 612478812 368832654 336132220 641824008 484183812 990797288 76992262 449621292 638397612 379589614 514436316 178516054 177178698 439343432 698355194 254735056 599461126 993137876 475615582 536068108 698630390 887395578 409760052 682441646 10469168 85318126 862582864 854685836 166750364 174869734 41116326 595689556 926919566 759160770 18573764 800363598 478377340 896798586 810969138 807563372 98001254 334793330 288027322 963027870 363911436 224333216 460128844 643498066 124113042 101161320 970454618 605306506 974644912 266711508 253540170 569830228 358979224 730565256 29606568 911863466 144794470 34427988 497384170 122246634 249118726 51998194 247487334 732495898 487841078 354384128 529720258 222158370 735156538 454765312 821338196 847652898 677342746 51295734 684555396 943964664 898211736 267862102 403988390 863061254 986100712 605269734 540833594 320629506 837996376 438700358 876377428 912827630 469242974 289218692 243308496 933061036 376195702 635692860 293379992 902109494 628356902 916539310 700531574 594110890 834723230 979484228 873609834 835399936 176348136 524926760 337034298 440823794 668259000 472510748 475573060 262825048 442612010 206821082 411329646 210648072 570217452 825458488 554378386 993852052 195728212 2947438 567538388 265091386 694874432 388156902 65220470 245733864 569829534 11056906 821407678 807462994 575170870 479964456 540447266 440959040 956070882 626600300 981742146 462081454 833388770 189329066 733722338 241254830 856000204 77598302 516821398 664922208 419656584 724321214 36383724 646192596 619866410 513198902 818904254 958911296 580592168 866593050 152101584 293323020 900215186 490127358 811138266 786757902 354691838 374354068 771011310 510657962 789676076 953630414 350922152 768835406 967996320 139690688 844622072 269209402 687975496 393347082 831098772 414283462 836144844 808841852 493941104 787012376 501414430 729276858 117104706 450273904 197891736 826738976 996090312 571791614 460739700 977588766 736631924 654451502 106438512 347659772 380324226 706390512 835766158 822886758 872357790 170652016 360285932 704689586 439703564 289747194 269851688 690157206 650857486 568700842 66569524 717491988 714304664 42803768 285926442 949274688 52517552 377956780 711014550 111828784 56879868 157615770 540698502 30203602 336983512 246103700 784847710 961946192 397332658 367253386 392113334 593730380 968879668 950197980 666807032 293756428 30972346 944866398 616970554 583441536 683750570 578509248 94058986 732866282 631846542 381672982 872393018 307115502 249780546 452336800 27413298 204600406 787206654 240580556 206122128 237148620 307979490 654009564 73379366 367908392 888697504 592055714 852929144 444653886 601309102 505098382 893830330 366819538 650137110 517669428 525921176 143095050 222613918 886945744 138391646 718013210 345665112 43576262 300332758 403200810 534547334 390210446 310619882 787771738 251342078 115021366 446613916 433983242 744585290 47343504 105495784 226263412 673147922 480352152 144538812 99730022 433964054 730888024 959876622 557255146 985488106 139445206 163226796 735463462 58107244 939340246 770591394 512752032 91731024 332815818 962353798 999210706 760611384 392961112 305046144 789203436 451601378 918981956 731847016 528168950 535335074 708945826 757876268 592639386 164929026 844473476 117145904 778568432 511603654 42265758 999296434 797066974 578197598 523389254 436534646 955089872 802139744 802888730 799556208 731814700 804561734 541723422 400545922 734520464 35635458 368455146 780960958 733930674 148456446 800866396 829332758 171065310 158238 873030800 737687444 731760562 335915946 617052918 651437358 942422094 227501010 593740490 444748642 551814854 7160508 290487724 901360880 947317512 589972718 963211624 564158094 382712436 714159202 593956236 318004986 737326746 616166376 288897410 683880410 164534314 603662654 136553320 251617162 201959138 343742702 667871916 134569202 982094634 478065472 361435748 324318662 788210388 199914800 910477966 749492068 761466426 293739256 851853634 928565418 322472502 486735256 389049438 503907586 420305488 923154334 106369232 677499954 115326688 13052758 673592610 22373342 806750826 235972404 803838340 455539566 673246344 442561528 444571410 453119406 204330654 5318736 530005496 614392022 873729830 474816908 102394164 103573062 463639376 402568510 278677222 904454482 175607736 525419536 664713832 571949410 136838240 782195068 253860626 760959600 933135162 958538518 365512810 820018416 590518600 658203496 627379796 664053550 686962604 931945144 882050850 826893206 332156216 786329610 316768090 8426040 975874240 231141380 655213430 84038340 587346968 306219420 77355660 517057184 353871456 893940872 346046904 827478766 810610256 868509664 697243388 615043466 312556316 527150544 354139364 507960318 21938278 234079524 144202606 522003190 463739540 780475688 105282348 373675206 467549556 387101902 948441152 829531580 722398090 244961274 74285142 866371934 955636556 683437462 602925770 179871624 443488074 464194468 599716856 57181362 414069454 780006734 737844304 889078972 800408368 444966748 29986658 141919992 583715340 299626132 928332262 692206470 749612164 934230758 178592720 58386896 504219438 230401152 118326168 260541414 625547236 320183162 515430442 574527072 226441286 428729106 608456232 918816610 275969490 922235896 383766694 749139936 486126698 877089744 83070158 519475130 115609342 449346476 733473516 79732636 130966212 882316724 963797190 841810872 95513394 399532364 859697598 660045224 483762524 759489702 297055622 99523384 332332020 169341992 538643326 740123168 759123698 239205218 579578180 373077884 739685340 431338776 966014218 769059908 74903808 541608056 73085542 765092742 690318454 997523438 645249876 233798918 662681276 738140872 41341490 330968072 888873118 369918768 713609346 983667966 45786660 213954320 556872724 868927970 897000758 721889878 602842520 312397122 333777858 207257748 759739688 539141598 191973034 64450172 164158196 60205382 746143030 620584412 350183790 229644760 386352740 584655722 339526834 22593462 934351192 48998208 328860394 205742140 164073810 758545244 632016310 116401974 189674980 635323844 877919892 24941210 128092038 897200502 644161972 203168232 996021148 19089544 853121378 918746698 583994194 664681374 572330734 736242790 955678272 382307106 116133904 622512020 670037398 318417804 643734198 513231662 850033640 540762884 685022992 371022340 291875036 563998674 287271334 288920612 62695838 831412584 172045522 470145012 981219932 290160218 83829214 134484150 425204520 462207054 427193218 484468008 199820062 797713120 399784652 42042212 693647496 736413912 834314550 866911532 949226126 202193542 235624900 395313904 27017370 309949028 878615824 303178950 171359302 323796182 164855024 482059948 164595366 344987000 795442896 938280648 233101698 358696496 869212880 472755502 156506632 117105566 505745708 413144544 197905936 465180222 217395664 584709822 412041512 297774728 263417438 299352770 461075732 295144132 86314526 50829676 262061656 492664842 559991048 411491838 730840776 545996620 352715444 448427568 105038288 863031500 583197490 715353450 882989542 696938954 847992138 956090094 493210392 603896614 467280004 661055064 163754752 497811282 274305966 502833600 868443446 178362270 319792670 606583286 141537560 822084504 629756450 905304118 205944780 842934054 566177956 53081220 922378028 708859474 370016414 58173468 55960542 781902366 125177076 622977468 241222364 586944890 289254384 749977132 9049494 85477430 78773602 535041058 427747966 150595542 790586702 706162350 75329342 685427620 591202332 352020398 787686566 517879154 824291142 684123966 678409420 77352576 550156596 32736 384988096 942310364 206331220 581464152 708537156 763699688 35233872 603385298 118025248 736711300 536407030 53725726 434545238 367052202 233859074 390671924 34427122 818126094 319749852 843230378 915976134 786395560 960323094 212877760 997197544 732859862 152992610 158279566 748317862 865840012 344942808 642844004 94890702 624087170 492565458 387439368 451564352 744249742 632701380 337065626 152997894 610350822 212311126 702309382 374079318 127424976 107485458 19040102 900113378 754850348 841883624 382919108 766786900 839803164 65808136 195404802 916150138 617010178 444280988 389950280 439004938 647429216 882615484 347665278 357791648 184195176 171765746 502750654 179227320 121091930 382819176 15704912 942846634 545500036 657466892 125990348 137445028 444056230 339019412 654024524 275928428 411016964 670230660 691966174 214165936 806153228 414757254 771046204 759793118 383500546 277875734 522020844 407014416 730902218 382991058 589761186 314114848 422310838 860652302 661609944 513256656 309715378 163705706 284706330 353308978 868769154 481509808 428026356 496506468 223882828 230680940 12765744 578438646 582649542 963035392 377392330 716430424 414857960 17095398 256080624 42493532 872269056 211014950 997185590 241845216 369351096 984991060 124329578 176951818 14149912 316712694 989411734 939765468 707902322 186833252 345200788 986382280 866044174 310494422 151049782 321410626 555057996 639380886 741569924 907461634 510744778 890987532 767523298 136357654 314024916 649336832 888806642 706583412 872530120 6904048 952869326 956172000 253315424 198859806 510370798 619075912 872645556 205341142 594170090 640998262 150997592 178816760 797692714 549711792 472401252 242195196 245473918 534679664 286971386 981911478 769670174 927350518 638744642 92189864 236852820 38899586 75095372 734629772 329493244 371382852 870683074 628374210 997503094 849044800 390003986 364215346 943519900 258651874 261814966 202735180 590221400 456757484 964113878 119654886 123467354 124292282 448759272 14196230 568141026 946950068 618737836 256012892 393611344 733214458 874039872 230009266 296656942 511389752 826868354 409087454 29413364 764905548 956202862 867749868 267458428 895142506 342390304 979277496 310877014 92118366 307137572 460760038 455006570 722705024 294411570 889369820 907632826 862341452 247204784 474662032 784931736 781341712 503806858 131331704 902887898 225942306 645623122 673782036 281960196 134282460 124628076 410479328 733159052 541064702 948944920 974216114 810821586 910831348 564368040 268803228 4181698 333083348 179406464 639276550 890468438 407199312 963776956 885936586 491750080 748740932 389265584 974070810 656780800 949931494 144350130 902596622 480000858 243476300 286488138 690373866 106257224 858239258 410851358 276469098 972174706 386497154 565901126 831940410 973397154 489578668 58558480 559182968 70838572 66756212 548227042 81835856 186386570 954055490 511932372 601354124 51862760 97288668 997978414 770188358 562890216 356572812 285986538 990329138 12517500 747319958 99929484 835715454 527673022 624360216 965331142 279174212 47706360 765690528 94664976 256276708 17137102 774925946 420202280 466979730 163186546 483438610 193497704 663679412 627934960 28974956 353483284 974521390 869636912 143011220 97260446 858441880 422547896 997958626 707711028 317503070 997586948 436539848 182676230 231546466 465044026 194818152 94007354 476297758 914742442 253544890 169779972 707036166 345932980 839314980 3321562 997960948 476892160 114244638 68500934 794117114 529947496 739607842 402316460 118602512 893118954 773071000 150529576 830733620 955381542 5575662 648526602 441870200 132450278 683835510 419112908 512028728 667591130 100065276 725904584 380634744 669129786 517248660 93018976 578138658 69259412 834363226 304692246 805622388 526902218 867158560 676729184 641829620 203741156 247981660 566633708 588134952 707110458 253079482 787705188 997662288 416755482 7632754 742295586 28815078 633480156 90567724 764534818 289005988 495851780 39744192 554000712 188708524 122416092 206011832 730628296 211064448 642490314 851834120 492109274 467724510 92389730 920580440 547406048 746838902 11039308 499502314 191116126 830330196 547765854 955639730 799762160 690165144 914904108 383647324 306182802 850263684 833243554 751897736 625588612 181707126 382908608 864751564 603589414 505062682 766922140 336454648 96566282 882230772 450200224 670399662 311912748 720970620 166023152 461296852 840143600 33178318 694992014 670983442 453084682 844683432 113339786 766507606 730220658 50576138 438176324 760374672 734118408 735494452 892042900 522061904 715898318 567571630 286836154 223815218 903525942 972316278 495596492 228209118 618132408 222050262 797572402 798844626 95793310 421579142 521610018 659022570 4791464 479836664 260782724 945515744 287392552 897233464 674980054 760442646 954884138 830101308 123622780 286052278 278396504 964642400 989372052 233642620 96425340 83085698 903585498 887732354 368459772 122633304 207078496 999192124 348726914 864320878 578884124 784188618 302027222 62892050 898021004 858524 980487398 203996990 352516860 699631032 376978974 505053818 304092988 984671584 303998264 225745238 111507646 378277052 471713114 30994366 645049908 381554896 11436630 341844636 687613790 582368488 3135406 742140768 924877842 966057938 807944576 841438578 405009678 480627796 557138800 378573394 652601474 388823122 995789174 445266858 204397268 898775278 366931278 376250162 540307924 946223448 828702696 94404440 951500756 551233290 215811574 363562460 713243266 489423474 643882922 876123456 200863758 560655726 534187080 189927086 948597866 174328348 777716326 793052754 55085444 410348582 355252896 544253650 28185580 351320558 293914388 438378810 164135000 894065114 835380888 876595552 228435028 827210260 159646832 974121680 12266966 134994758 666277564 376455040 105019262 387962654 438240430 620284466 780207416 21067646 301153374 975092420 648233676 316701026 208199916 192150196 51029258 771604098 349611338 254539020 451228022 520068418 492137816 171683124 164074576 399048922 400358854 421857588 179877156 785740306 997377120 98652334 637804264 584896776 932870906 349567588 931568334 922944008 85814514 650726828 278927094 455974016 929952282 413149780 157367804 885877354 513942760 773166182 718797964 154807658 802071416 387412806 706810808 50010358 199824722 433164880 45077716 909161008 54304986 29617616 259441698 88108822 850349088 596223200 846202838 753821950 508386908 631341700 515926364 867869122 955371848 101111346 341657608 85585616 41661920 418385556 790166022 726579734 187925010 957595512 302785166 695037444 460098264 89891306 651299078 646591894 884088854 230950084 49400394 73078168 174728132 152332396 783793198 902866656 582194222 556790510 389787942 980022646 398711380 58750426 898300764 482737184 315192876 472586792 740260582 35086292 842905570 870506958 550245130 784866618 38748866 394081962 254910238 487949046 907390196 205676392 444227412 64575190 119440744 190414596 133836036 882248410 211901148 328026470 13871918 376131414 298932086 162907932 550074198 995209620 968299996 219614712 793007012 680759658 807478312 130302738 852481592 740002626 952850174 218486790 539022178 13335664 186171880 515352340 587858840 902491506 730624734 428702230 831232424 52224820 116042990 955032404 267253442 884130116 205781814 94349884 5092246 800864468 334877764 199813010 741974790 619872996 24365022 905351820 586950166 113901056 10482196 97873978 769992996 483345186 745831338 356149404 997637300 741042478 149096174 804335438 717155546 117131602 889741770 215609932 707102370 115175760 718920624 308930116 750292592 933080226 250064242 966245912 428830578 985539704 367685452 613924456 701257264 625502598 953618310 647262294 816511196 3700916 537710026 56550022 217785598 259005820 902287332 925250572 837708662 227611900 808338670 908267620 619065210 531443048 158660128 44406818 541044012 644947030 855220328 32158886 515267256 250205352 553166100 25127396 108753594 772418472 88875742 773074576 926447384 232475820 105128996 871191348 387578108 194051510 396336840 571496720 249781382 942607862 656698874 105879470 201111132 371143398 694147364 257413654 679218214 359210354 28615754 515456858 49616654 266191670 266273622 452972150 599248840 156686102 535988984 501948984 566241654 349338736 222100012 840678686 848721060 68473212 727539426 705692394 944641804 909941068 687080496 930754380 339447822 251682630 519745772 785537612 396337966 77994464 174709074 403399796 482126824 801175278 528274552 320970256 376332914 574802834 949813496 579162032 292674922 681882412 528708532 864310738 370295260 70264956 382183510 196178914 37059412 750040318 66357134 875823150 933293742 164927326 570118234 722611254 310065448 756308240 96523472 535962674 692934312 181224346 542044694 530144172 797999274 54758682 798001272 56240226 444440746 838349600 927478570 387377816 439116492 941378092 774433508 57355854 728826742 118169114 876569542 890209674 218940580 281737770 384844736 351097792 651263736 254827546 353273552 117390108 833042848 319336300 650582288 326273748 613138676 34020998 529586276 206713902 633121404 510652746 289368600 158463478 544224896 71585750 136681538 575066088 886745358 174809386 435094206 261804904 792698416 305922748 934841518 817281426 505152646 863440630 293872766 90082950 562865576 443934432 698869466 594021822 505290378 600770086 643985520 418215140 770090764 759308102 687241976 624284962 569856568 736603116 76466808 275148538 460051416 193403208 785683230 626145642 294362040 321342620 143355750 428795132 240461666 543838828 336850532 791549868 943540486 232608922 616786124 146961454 242828322 26305030 396535248 226290620 606306496 697518286 26794230 531631352 920630198 689783994 107417502 829049502 220540054 658531192 535463042 788412166 987684324 738143736 59039246 558488976 512878362 156375924 387902774 680540968 231303230 695349404 284863668 688830574 557396850 140423692 443192436 727320558 346473412 979213558 896451086 492497698 942990598 371124768 683024050 414829466 838361400 665490932 692874542 722426922 34423942 552962828 421256142 95525822 990761368 646261320 694223592 877618810 189724334 167197840 273797106 660845426 353981382 998679190 568934550 539932076 135957998 847445562 868744894 711333712 564286474 765668994 268576676 454499910 804162458 758091062 902363898 490104316 153820012 173673066 364896370 660262240 453484516 111984350 549400620 668361060 231980846 966987282 465525734 24008608 18423794 477056754 350590904 674895346 792404498 317118666 46550138 449026950 62256454 205155330 213329906 205382084 570342650 402391946 62871238 8107920 616859266 29423320 924421992 277578668 400854368 47764516 335604910 121873880 978138458 91445188 484447888 33755034 423024734 440548310 137976546 103135550 669976634 293190234 368225682 554950750 252815450 589272822 415499754 732853184 684904688 785321462 728086864 942246676 393496402 266790884 299191214 504953340 525646714 756686280 108169620 84502716 91446776 139718444 463232500 282770852 524671270 645696498 998226684 207580320 151940770 771108328 957797966 492408482 893234356 835353124 802870516 681922288 958147506 614483262 535404476 253609320 360674112 316820486 664395698 234148686 734191842 802835894 952301936 739927640 799062020 299673686 778462098 499079080 733519814 538944952 405637230 624727012 675281338 624701938 146497898 620324792 196608772 879917200 292458844 218619010 801562072 816609936 759343290 278689866 763724532 404203792 369714856 257974850 394461558 398386462 588395134 357471684 774293092 716348502 150219694 221957430 29528722 613196744 505366966 24976686 565677016 920342680 478231350 227661912 197813694 20754658 582222786 235781318 958383346 917387322 766428712 161356670 604829046 110997672 209873146 707744562 524731296 923648178 267653876 372018722 754892916 836558240 397278582 652908122 899501348 406904898 192278434 473219534 774454544 207125268 338998524 564415218 116981534 405279022 469510000 72710732 389905374 138410504 213505850 805112994 113546862 316715262 231813000 180022062 889518080 289103820 93954832 477431524 91017966 976220786 923778554 698991062 944304828 648182572 72452954 785097910 220015538 259321018 999419794 242452774 666232812 994856518 801186344 677470656 720147208 122837952 301546502 555654734 129680268 782433696 486193942 193987216 888834726 452772528 459184382 784770928 938285980 498361466 999939634 761141476 992628474 449331024 561049756 145394962 900770144 854295038 702387162 673646226 5289698 42792710 557795154 492980802 759398754 645857856 63430254 251581556 128196812 144972962 990533272 857882044 794359150 844348040 254451420 939499796 116401146 268097934 51338424 862108470 615477470 915537274 234220594 822265582 259194460 540998522 142925710 639673894 387445486 680056284 167880104 615157208 954839622 772657570 917309860 221428422 199896418 583335694 267638160 958287672 611035104 50119584 789421280 777876146 416067100 955233592 668763798 228311120 630240092 899025298 473621584 233855040 116408874 300051222 327412876 129874176 482765946 216205922 203245992 36893642 963071486 703912712 680087100 323552242 433473184 732232798 218607282 927888564 721435080 968393124 179943306 350365536 602776198 404508592 282461858 132845780 495330970 171151026 467318814 670931940 840516924 549435870 628190198 312755660 423158824 825860854 239633868 992115990 514215632 861133318 141415072 670686942 599151838 752579902 770740716 433593884 761754824 968285970 349438494 147562866 972581606 695334190 123128512 520188086 307255148 217988060 354529566 403791598 569316888 55661532 649283840 843312958 213663336 728572432 737232350 67052454 229262496 240185566 783009594 3060184 280403478 634398490 739000096 736475602 102199296 326851714 834635866 543568852 802327722 652953494 581238774 565648862 225749154 222433484 996734466 896679276 426351386 531033072 884245190 937609012 533682338 433142028 722412604 718956060 725813274 67912156 754921502 322908344 53327756 269855538 114614486 373236692 35658568 302941320 307808294 810068120 314296712 594872908 588889528 85103004 695300724 804948908 348486940 711285908 864500902 718534480 816982476 866138784 530845488 931635262 101612182 331289572 257265888 403414222 422190910 114308646 963501612 791541578 978761822 477031504 312929504 424756232 397820532 534595672 812652654 218639596 811889286 597172848 289676956 399236298 183608678 567465336 27952502 39794914 918044908 719256550 278960592 249098918 294054294 67123884 203266640 918668976 287692282 320153646 791960896 292492910 387072622 999979174 454694362 556875222 119367266 13825314 275920500 553377438 518880626 659563648 335895386 634243622 423313184 112498982 561080826 987296120 799338830 732364750 802679340 350005204 839447722 210354264 37152162 25823744 880369452 173579496 439418534 35196606 947914082 320169244 829287832 96938280 39930720 976800598 674802104 852951812 83029538 16391782 116761812 75980998 342670972 886606676 593503530 131737796 190333180 794976802 42366454 309528852 825622814 278888182 567112894 774320436 901902784 827347318 866178202 921759804 251669868 99764214 315364558 782182928 93036690 322737310 364691640 800895266 421410712 839577840 191288378 501072294 219001704 319484408 271346412 568725012 387594044 782406918 937118040 795940926 426670376 461121174 557826452 72634022 888172544 849168674 746265054 603425376 441661646 341084040 687464726 538694890 947596462 730688712 621514554 422731142 421104852 432551866 96650550 298402082 130355204 210684686 573487846 879779454 990087768 976737280 280697356 520969286 315975834 470646614 953854258 568111152 392510880 543241422 751349942 276737776 510155886 268501472 686877774 915183942 724554564 396994996 834688398 735648394 966262164 517449314 347376104 876139340 578754788 525636548 238079602 28487616 382894838 239906142 813279168 945445754 546901654 815036738 950452216 384250548 821601092 445276524 241921502 171786216 916351498 472528070 326570008 700310882 860626056 987529710 485401264 649033334 183377502 974384076 597959848 667679184 872357440 199019824 151241990 55191594 950667804 289277462 485716218 478768006 288765538 422363214 816191202 476910792 970827498 333567672 644213086 706890204 460191168 633503020 183700110 282060496 367844432 961037058 258300636 953134188 347917648 741072482 89223382 261530830 666425746 755628370 919707148 347143350 856574282 829402288 750840178 637224780 580795526 211222996 467326634 747881356 701955064 103016116 23696876 766999798 302118376 802251492 351023676 963513920 657251000 94984184 508728760 221499846 169758540 955053242 359659542 816204444 181654198 876238192 670808094 149745814 451237368 230189460 496030640 274801378 672489118 492866220 837943712 230197018 470752066 343552220 331695186 726880786 170044914 130189744 294726962 172113940 223591092 460973394 228573328 562481810 367908260 681304128 961668936 142253132 159137628 489445340 971461342 915303466 983708098 741470018 386750316 497416334 76508830 982817228 650090944 178580414 805871192 695296456 304621402 212229272 147853422 436302942 945976732 74099232 353039670 125422068 122357208 472585530 380572494 304734144 291277834 965161656 613043522 272412048 204788900 967633154 456635470 94869162 847398438 208010126 319539060 620063804 554481266 729010236 974348196 73625632 538576356 815904086 301681070 739351766 730218426 995962994 737772134 865739392 722434738 264635548 314883452 746582062 548085172 404704446 338564800 124759912 957942114 741321360 943790256 885748354 795610388 504243394 687391274 209294098 874103292 459836402 547996748 522726296 124247572 540209588 466590054 881374076 325855756 435806364 80485168 892169170 344647798 89651350 396481812 296847412 568033622 109285610 25379306 576227848 141768580 159262174 100624990 565530614 71004310 986489164 471404364 138421258 330329276 611390410 183621962 413983696 576933032 185079092 111722556 195265756 359983308 937447778 287164290 479084550 182001640 678040564 772006858 679526480 431696996 100651550 510089346 464495990 165016578 437737366 29007954 549123920 924548718 246793002 214230248 635512616 51696948 11639000 39916568 262231584 235040452 918615118 91425286 606179416 603282946 912417554 998638654 374491174 267514756 92983370 300252582 304006382 333953378 631680430 77409320 197974854 851584920 572872522 142249366 204317452 718876910 970687774 297939062 266134610 978309834 250743950 948576766 257342476 50614076 231683576 177099840 646845436 619988770 1657808 273191152 74869818 480319062 235649830 473084264 87166540 255774606 779032668 801107572 539785992 824697496 563006510 350898650 733882756 345979326 867277614 71691116 492640336 173138972 445866298 961917476 983100764 736987542 172766142 587867018 557010048 550472726 512985194 346023898 848266400 590159816 106542022 885537608 693132160 50329384 414599114 686504804 79226660 801755502 788932430 521285116 343603198 943827218 399642532 547482672 24970822 3090252 606830740 379915706 49740302 51430792 893664624 538576806 812754834 591569554 10474168 369765802 609381384 148295050 592809900 225091966 487287984 849676828 66768266 667941794 693720632 441088750 309726058 388930326 132295316 480109258 649430846 859478642 451984508 802394876 607641896 835243168 596425514 108847732 655872224 181676216 118907708 216331318 923371540 654679086 836587192 209979246 420795516 388279982 297658594 22074898 834538994 391412454 915791266 352472060 91100796 108245842 981719694 702831100 230795288 43831358 102493534 246610152 357814360 329579864 826651398 805151820 287310474 216119318 750557444 772206610 635049772 480406026 955626204 90839336 825486052 309191430 122433352 315392998 953461430 821384232 323955946 274319416 829357112 590095180 455277932 206864672 294541700 323587136 634067832 987058706 746404102 651575704 153867710 678292478 543850462 142605014 444661488 940419064 706024562 594697548 256100862 230163968 495087566 619956560 580159110 474100276 658425190 719609304 621614046 617810168 508005924 520614562 639036496 800134446 43673256 439374874 95931000 258341260 389922436 453735694 630922868 367842308 186328988 868742954 726629146 421313150 757262688 494544170 323653084 730283418 133188416 262900114 212788340 249420386 873599810 300237008 628831122 705995558 732327366 459949578 631444856 6894468 940371030 473348910 983849276 983951934 506576806 77209702 548726008 9603674 734055860 726352290 179775156 55487368 516851184 621042948 277426770 472769608 903643938 566999458 546641184 693784730 175619100 834774020 968481764 14779370 160505236 794297208 575653628 539748972 134400728 517612116 260559104 656860554 181919194 181862328 465788124 869890270 509950210 872957382 117808364 852257666 133400112 854784494 596012994 560008764 478906118 498694756 241034044 200933166 523284886 756060846 245581648 869482752 206897276 18839272 705588586 177622778 516854006 992542548 127672726 492937854 182057404 363481994 286012942 21882302 188213072 594646488 558840462 157152636 933821850 299711240 976248078 905864668 508720396 883869160 107086006 957488708 676041254 347593350 467762816 824500016 709815398 883482684 887032480 695262384 761725590 214891180 583930314 303575762 997121790 604346922 29976518 457140224 518538624 401292606 70354024 982659764 36276122 825545476 554762522 635440550 646297764 176937398 393696902 894350638 182897026 13263778 599653574 623828194 987119984 340391100 64838490 246402742 331569434 510743480 635114284 585686160 906305934 689861376 140736942 324494962 855696350 667118610 162372188 928050272 662244216 539800598 732596730 776030584 956462426 447178420 365795016 353668832 333081206 393610722 257809148 377559348 807036422 39736176 388307258 294754494 160540122 317226512 109878338 554813120 893346878 821737046 744962000 730803404 472486454 139763096 606832052 207683040 741250370 460837522 423879352 196413530 598191038 982229576 525412442 567072258 359732490 898299100 533009906 72943020 224379726 365578264 720610798 259276232 156633762 943747096 434436042 277528846 669766246 657278648 75648670 784874886 132986832 405871204 278287244 283095186 577338906 323579834 159521094 826588850 816806204 36778900 491420482 521262784 162943190 142713546 800295832 617556288 724510862 132498376 445644072 801565374 777318584 570179418 638924270 939879558 191684890 609898336 568788472 386454290 161025996 883039056 534896570 693677052 352168342 787573108 196649084 31199866 708105580 772316782 179802942 318829734 498175026 789876016 723972112 816102634 491058250 323762238 178404732 428327232 779985414 398678186 358092664 267670168 372178722 102482508 889574212 701374630 510674418 146368144 137967200 11665116 799903868 421981762 400779194 903476892 945092852 896101742 300659932 317075442 441303710 993166250 538021268 906251520 966523080 728672558 658296018 543986970 509901910 983796416 713159512 874993768 581480734 768858280 664028374 894964162 166032822 700966402 974211592 439239030 165021552 190835316 134983770 302394748 791116272 679874114 794000842 668026704 527663938 485168838 125823210 93850790 238502678 504950524 397236364 597219342 987806900 422893666 776995530 655651494 657970766 269601026 232305606 795230174 353676812 453799238 573898128 604431234 65047738 104230052 363094636 200844850 731577934 918138424 950865718 165780408 361492170 460856180 335933908 599178780 525143250 159922896 884103954 520200544 94859716 329946976 426213802 114468108 984605050 176619144 346421290 221631972 519989750 200770454 778671318 332911756 713088592 901085948 704422530 820741978 534346234 230062118 902479800 612351110 736665930 859867852 615095812 903970730 551624678 101819058 963064292 621727974 678632594 215282070 140310834 781447552 280111486 217846704 905655142 331756152 607793288 703977938 228501888 15116964 187861182 640802228 893256816 275562314 723916944 202757964 545554212 857340300 947611726 376668524 691457778 540115634 467711188 345936162 246454212 362130530 656879382 537204500 904148262 996009704 409086316 860351294 194401254 635975506 553198628 821615558 255056732 956049634 67147642 471450032 696897816 808173398 928525260 121533122 422283000 830306766 162208590 151712616 798029302 198917514 236738642 349050444 789525420 497929626 912458878 753893358 199356418 776086740 563112220 977449540 960092812 182829156 304135516 651148438 352256636 91319206 732034708 491729544 758960176 135398830 312612016 252665240 682743272 202943306 836756736 137020272 894381768 568817114 299830520 15626406 678020454 777198436 811713924 730216644 240527892 391519574 888664306 646128386 324085696 170187202 385110910 381486802 4666302 228162416 771270160 725761954 430977184 957129792 940893820 638457662 563434010 737609726 297010430 646115648 121761182 35075906 595032718 219925278 246648842 979621494 225509502 852129446 471508506 542585202 857081586 141562396 736456262 485047324 950546088 373880230 994329286 354146712 810959412 944579372 435601460 158462810 851638652 406205712 498696076 308632746 687024128 495428226 935379212 436076580 995009296 774966622 61816162 779389032 685594846 472144106 245608366 33653868 786923906 216929986 201038648 667864594 813183662 930699808 520493966 316834624 612578054 488993858 913571098 312259234 744938002 978521820 603227278 477340432 467623200 852288634 13583172 583659412 215241992 139737140 982362456 883340932 698592728 43611980 584494236 365731310 965989236 735876404 629883726 537036020 740520564 739854114 943343300 538563812 635673764 679596820 26968630 748953224 405142518 586774068 684600264 476308418 634323860 596908166 539730446 374446638 885547534 93192750 927856306 144394210 744756880 634910482 903275054 469948790 16366960 892270598 123194136 773159360 115783476 595388308 448072142 861026530 110224604 824323726 592293532 243733564 361942030 455860928 154877498 161691800 898795142 568541336 521218602 827704068 759105304 369595370 995285724 829652066 303332866 863576736 129643870 701381534 999176060 44460192 230209978 873218022 112156106 268559826 799231038 622156430 321990978 743420884 67414556 336483172 688348172 348479844 156864094 226807162 532934004 501018134 361679004 967997042 356405424 581264840 771880880 970865612 909874264 643774222 301318310 767145526 396295626 5632960 489532576 890742880 651773890 568294022 495738814 401571478 965171862 399655958 57985946 604410302 604892298 171468726 939299496 578205128 236182852 88012152 660179706 462513486 724718576 273352328 454674042 467859988 149923052 966248178 216878228 945604920 70042016 551618658 441491230 494920760 845829902 526740606 293783478 735134752 660157354 551812572 364904354 201129844 40426454 320747222 726267044 688812288 457591196 746726736 937002306 646834522 528974698 334192298 878214614 331379642 823200688 219274226 947756780 461630272 697500190 358973776 416567826 577158184 575875778 221472218 726451926 150722922 637445124 380918996 569622116 379083174 152269854 278050736 410288024 701011862 29536454 579303418 1644894 876116548 627769626 959540252 548818266 441089492 433527000 501031318 835326086 689437394 321034458 127936952 91638678 148176780 709619134 54406598 784912778 310320540 494345598 472211160 858267034 904786552 310706122 390385848 35726436 361425828 879858496 731108632 35558094 528079596 845433212 575013110 29763624 678909598 468074106 403572650 18368720 557390774 512440816 19377390 742481032 836827116 430030554 950567226 518258978 165831188 94961526 920416720 343318526 61550680 598833056 888336052 600710298 934065248 586340134 753040074 561517854 517139820 397835490 342424754 958689506 277120052 295275844 912961398 603922464 53774154 4946450 198957978 353406338 947147980 696110998 889287646 306367672 773926070 126121338 339408832 544979242 12592394 761613592 116268882 605656924 112662938 279449240 957163348 413974134 328976584 791587438 814819944 972636992 365907638 432561442 425137578 605134956 39370810 695765350 710804044 700706566 74503812 273540210 323268470 659366416 26240212 691627592 166425264 827833520 909087054 92639562 460501176 814535192 950975156 428834086 422663046 568851456 35010652 742970968 780303820 589808532 517283586 936960174 353542312 475377722 867422720 104981108 148190188 639006962 817421874 951664368 919182178 155722776 271967598 915418538 67430264 325676670 27933428 67201944 176444604 184021708 215893540 795952614 552280596 375587676 254897942 921414914 813117808 698868414 804727852 787063880 830873912 447592084 142264510 933148590 320591670 214402826 267983062 294448024 870308702 226977438 790782058 136254256 867739158 67323488 480641254 392574932 947978918 547824314 353297776 643504208 521338130 457770026 267873694 319440742 91544766 570434564 224415972 178882198 121997600 614255322 876112738 265271856 529463244 449813042 852885360 444136316 795690062 806478528 719701894 660239240 561123300 876506530 956518348 205657738 798167572 389252396 64399440 361487530 132306044 371289100 557833918 369645096 131516222 711302892 777245732 982613656 242169552 45576934 283408972 352423792 21502816 427411904 713487364 365990730 356625746 222729782 260871786 134775722 480826070 54213626 438877480 810040816 753656394 912374490 425491396 188888460 796445730 954972072 622806690 674507582 155575670 187129220 449942374 984295976 127141892 466430290 914613744 901118256 731903736 455103076 619105860 143159666 915434550 807524786 268093886 917246350 178409202 500629212 318451494 480128848 479614168 606971574 963100664 902750582 765916592 545377428 30231820 448333898 273193014 949414028 308916954 363506198 806633950 769361712 509367036 992637730 168881556 276618692 970702682 382211672 129863232 565355980 27824512 758786638 98418644 799794696 323532424 891405796 668528604 690553552 203347404 260802828 747449368 165671082 866796192 643647028 433931246 784864270 412731326 718510836 193993378 631031354 785418564 454840968 985208342 772913068 3228412 178280748 354096774 839616 118882658 708412532 357034740 30980044 188205400 262589278 79393630 640611098 749013754 267126976 427545288 246281980 330229012 560806594 517680754 521000512 919457124 869628190 129625422 192052386 829752106 182220422 682740346 42391530 601991252 512268220 594369916 707296722 360692790 790752104 405289696 97482104 441101016 357563464 84665664 157413992 502492712 690296030 701248370 748002050 671480564 167778798 834763518 625558906 320889516 844174346 530216520 536668876 93033744 741813642 283316120 64441084 668247242 31347394 67632648 942767408 872708736 506695256 823267846 587909202 692518250 859982474 739611394 248709198 109118596 988103372 753122368 505714944 926939528 236784762 670660430 762546348 889071510 677522470 130458638 78599674 687211804 141338058 280192994 203090174 954822796 530310426 243473832 469379622 476407612 200840594 129239428 882927102 984559022 727477608 381766286 791489846 159171240 519888176 280004996 525141370 261241708 396170698 681110398 545750864 510230060 932204398 94351700 941336160 76005554 233773608 111750188 585660988 283489730 950340358 204899290 412189992 939909610 247549568 792664148 457639812 420108760 960181322 896641860 439999900 483291374 16368368 59243318 290798944 983527974 171564010 658714936 433654342 894388678 557755258 909122172 227677606 348968440 642258640 210547786 424626702 996518956 805386650 2197772 860272868 917315338 890152018 759129720 837773262 441782400 172186714 163332766 605338626 118618684 143197140 507184790 941758228 71106298 555825798 362740606 810258402 121849894 71918516 291389332 746169842 376624750 2419514 753579614 310833884 295229656 417352220 135771976 812032760 497117332 304774824 152132840 662017440 694109678 446445312 400487442 868448270 935574286 282911580 974553024 835009284 708543178 835725482 173840974 576399962 345980316 265267992 183552826 387605284 63852778 159464120 560931394 694559580 360980418 360201046 376311342 130557492 203311996 537232910 704095092 361287552 729159204 605883186 72653836 242589336 211392026 907799312 495608166 316771760 667258774 82529572 883613822 91524800 118174170 392795180 332038454 585869308 676366298 786813586 674220040 729059516 187718092 732865764 321325028 610920206 684205966 655847756 161190778 231449140 194459510 585583328 952480226 289884784 301319436 822891594 561493296 820879830 574825312 812802320 847436176 525489550 373379000 514499304 88856000 814171144 115965140 466370670 322043048 255327350 973281304 54853038 175982424 393675104 288285564 252343814 24606686 93902134 442895136 590667160 945626700 612728842 460786010 718306492 517204130 862443076 570063636 51539358 142619738 840521458 960286422 893393700 393003648 734507096 384767258 600592398 950591136 25000890 734079560 92518302 371386408 367338234 275837224 147788394 848012584 971003334 936523178 838624206 231243572 922955006 374383812 586907560 136336068 266814526 613087544 591595426 9901468 942202042 160496590 448301130 378526592 874695374 967898240 822147282 2583226 132344492 326616400 234441354 772096378 553146312 779623364 855245428 698054428 954590918 235668922 221801676 985277834 212752322 307900724 275962388 804996346 948592058 680925708 613089710 302937706 328483164 644977776 750530470 163548260 113243728 31099146 94701210 954554298 405719736 754376736 791416114 146798238 10474730 616794834 762319770 578650648 103515198 793342374 633586130 21782448 416098724 16335028 895649690 652231164 228014108 397431536 237122944 765471876 629333262 752765614 301050688 598094018 874314668 622875016 153636098 754666402 146804710 652402094 315332196 719302704 784642680 228945580 596508528 294356446 88749228 170376578 579257118 58740840 794390144 246984644 333623100 919191606 261274508 771193470 754125238 829450870 851672988 299791816 968345472 873393478 952638784 327623828 380868012 279025912 93604822 768355390 890547560 282362146 507900 801940470 800940598 196582418 850619336 317590196 238678658 735183728 794819702 915520132 315223502 209097120 735062892 866194966 260365006 148662240 526895126 35957676 369238772 990451966 179713204 906506526 112905412 336047540 941183038 121762040 699030362 518062068 182494410 450998736 568378870 598683014 819823632 604738584 999108192 862575992 462875522 257261584 14855122 52330538 427258354 313670672 249010510 846175880 131616464 757892428 790794862 792837934 454795796 689300188 231308874 99125690 378361778 258731400 749265724 129594504 363249808 982915170 956220552 829468626 60458474 713570234 231010446 326791010 799112626 473276510 116441944 394830050 420849658 634392858 83680552 476066660 222347446 818559350 268678452 630591326 780885504 22334628 982496172 539724570 845673102 233430488 866339174 230325268 228042776 733406336 629161778 928159052 703857292 742906854 936024602 334422126 731964350 54327982 83443752 100911980 371602878 5056894 963095084 8389986 296337444 968856714 616307754 616652966 924900186 824034752 61793672 863580208 492202528 847732126 498649266 88153648 478008042 313964112 684018810 218891456 298811190 573541932 44530382 292140184 974026384 622529246 841295878 244718756 483011112 748489638 649931682 578902076 204433524 696833924 38631012 275068854 796462234 885898936 331770140 173715956 664440572 938734344 169977064 406320840 175751528 753927688 539444894 602197910 801365674 789962142 294626394 604535764 496671904 835530128 442896978 911171518 532705620 808094032 820951172 379695278 418198166 463505270 952172924 280778316 651590990 13402790 819372818 836884398 306650014 90503422 612920848 109754000 291369430 94127290 712196424 686936172 490051728 213242414 393966172 107988108 421698994 924731000 196819092 68233718 863805206 566244926 81672410 402023828 172103916 682995634 161906608 411095530 635512886 931615862 968207264 246005258 382661808 340671382 491081378 514497636 442115556 61369454 690711302 955999110 875841924 669985790 588515090 520939652 770099824 766977392 977006702 739684250 691046038 374865866 651708142 730293890 131438380 743800408 654280630 941972902 589107586 989738178 486804384 156347780 232438148 964451026 485728534 187989656 329508110 444857308 10567352 89124668 287978536 669996946 547498070 865611440 881628300 8034648 297485566 822245242 205814818 806471242 543257848 973987026 337845936 782469294 427527504 31673602 447992452 437087586 970936662 983028106 191870740 90073846 195802698 419918466 397649924 381723402 732202560 811286538 784059360 37246014 566492712 114398266 659486038 267165228 928004796 103284984 774875788 55278452 326320002 822938144 969707314 494262596 704177050 678675970 433938350 606077218 423855352 997190914 67464716 957070736 760184880 751883258 297261762 966818464 326899794 380690836 870964540 387929484 761235160 599802824 375656974 183331566 169265954 867408372 172999976 512556612 560687120 26363306 281059376 539664508 308364424 854269612 899491050 983788194 914343624 864976720 134180000 550572230 604798514 713327544 518893944 623822748 922047688 764618142 584267886 124564638 308916128 698955832 390316080 97531272 639277692 449967482 690889812 928642264 414702468 307669840 538982662 877853188 824426104 714728060 566114436 619962644 663123218 910696190 277338218 875694374 977337030 422229054 909081242 290903054 471919910 253454244 996071942 902351544 987389254 626830350 297994310 385104450 23439436 807011540 193383998 124289366 558024520 693589980 893565064 484237872 889591884 768807656 569822794 998404162 219747156 813725876 829280182 243662048 527995840 255463962 786461500 878269656 915634418 672821044 569404386 178062306 185938778 467409872 735453138 172000104 761471732 506656404 839163622 463845122 740040802 174271492 883282488 84692822 898712874 713466572 559269988 227743584 797169610 163774730 522877244 665290144 327361066 361489968 248993532 11577316 446263566 732699812 358260256 474294568 946111746 240858012 468131152 338014332 443170886 772725866 491634062 447748850 511442440 53705346 215874990 609208270 99317636 760169436 51083814 825189118 311173300 832237816 841503056 730729838 678648264 735510634 908769972 365506284 360378992 24368534 598068282 671840176 33772998 48114272 214670454 550805118 974732962 23714694 364849616 373214304 538255232 169942836 702046696 412574920 484806482 198471270 255801262 999447076 129105798 772423072 7506724 686771262 760565622 99217506 347916092 549207960 290637198 489990872 990457282 230252218 695224212 123773426 255385878 63407654 877461130 280619836 517877768 868509522 843927680 744740088 568748144 700378804 492542238 501363916 403756418 682820854 500426700 415535432 218159528 97063768 872242794 856979576 385781954 968956544 701114644 276029382 532182922 639323556 881751496 716960192 617466450 360388954 196015654 634859778 290113494 221740188 493302542 461704768 710754526 299050168 695957344 806591844 800637636 576886336 954515098 573577898 408895868 423935862 15250518 242726400 589290226 757967098 696721468 55806388 276853434 367690236 15055642 978131920 103296550 501037988 140016314 995352570 751442176 438836142 819652344 858094870 366188274 855364838 679258114 801485686 328878128 336100718 928445302 104806378 631938510 905492860 451167638 641950102 313470218 455633142 140845210 706043544 727390760 717796794 734937390 578124770 31770830 228786038 949621280 996347702 255132488 692110976 631781196 799208512 438574054 264473338 74197862 630570056 460244372 416696388 964283674 989922944 257877974 62845480 733153530 898697144 842536260 666339046 115109054 656135146 39082116 861078528 128836718 922491156 688763726 273451766 121179868 663515376 967167516 29604102 86656216 203733380 71287260 360095658 922441012 457226732 6073690 678407396 36394884 390071138 605885814 920191150 379990702 84886582 279816740 897731340 647999938 763113612 278480416 471811786 942494382 145986648 387897204 703734218 176906584 761750736 8645412 275675182 69360130 39865608 597376376 792702856 222724442 523923218 785310850 239049282 839939742 879577154 1839102 351915684 15858556 930456594 988915858 327038208 635684432 383648460 585163194 362420082 650912662 937295742 58546018 595038672 526681862 333069062 641248634 9661830 59242950 648542162 545017894 508307772 781433022 187893976 780642248 986228994 779458400 820435192 909480750 97854304 1098120 242898142 362356696 522103714 612177484 99436922 84111362 740615550 918599730 866025808 244416792 590791512 169875028 219753398 390252208 206691468 346832504 575832888 94944754 82947306 414681642 178427672 99226176 726741192 158834144 884281478 280307060 735948284 308457964 650288276 735971086 114231400 81670034 261175786 766889706 365324310 912162136 382730200 717689066 633063888 730952564 372336198 895491066 179985820 374212942 312662176 807092818 274251504 420571394 281599454 24164660 882599428 370604562 595291644 577848334 43723934 246050524 819381768 904469678 912057380 46651734 596136988 518318328 97323040 923958226 274253938 862259732 342427696 145527004 374009962 671024938 5885764 786955060 163248868 106037754 631515866 934785842 528227020 758817434 932230136 996100044 715933196 288750684 184586726 761095968 819574658 549567270 511881010 176712598 504549614 762218190 362966440 646933540 980302266 121790526 65421482 828622480 720334506 970221006 333337918 577186192 779866686 508465620 278532724 110732262 286255474 437548542 818725328 192284438 996983180 616101118 140497450 720035642 793730766 482431826 737186360 191575368 191390414 45521664 785584330 33782898 330585578 914322270 980359130 520891454 15213586 174183908 87062112 206361632 406721406 268467598 401014896 81939516 664018148 979426738 379019642 148063440 1520512 60211128 401419822 439465422 488232154 736687742 346350296 443595740 75015146 279344914 6403038 72625926 610154234 6293304 850578538 137822570 509921512 225952676 349593260 626323850 697038296 529770282 67195808 503430704 412044082 375018022 417092296 30215464 443624340 661876498 687297502 7217082 703429642 77876246 771281252 503973274 839892248 66546944 892403052 164699994 843684422 21898570 927805128 88140138 523366082 101915890 525640008 768991220 255960924 493235894 810302120 717961090 986792858 490078428 934644742 745532460 931466146 702539048 885397054 279375310 168354844 923699482 264056550 28719836 572177624 162571558 780369080 714610872 796498416 883813936 621776092 877929192 635777012 882966502 862481894 183279942 919716858 736033884 558493734 450854802 769038802 421057242 317333444 354437220 719442112 388737190 480966408 724783764 617549458 626112310 804336042 910255964 907111306 645082354 68069594 971405908 874712928 642719906 912272198 368037448 627568596 952346158 84365516 933244996 311667826 37133480 548406678 78490680 6095240 63344442 941050490 168218754 194212402 806495076 45417074 670471488 67940792 268190564 146490598 346174024 956423820 870321180 753374828 970714036 187306198 857674144 755271916 632783698 416798604 310969810 247358976 747730866 369116332 414863182 98257292 46160346 284152514 827347258 883077520 213686874 218257856 978286314 779586210 806375412 276057768 692034466 526168370 634278002 592573130 626846122 223380520 770173278 68772686 28109248 915635704 552249276 269606884 997349096 236185182 212589700 258480938 209554834 601166060 829528322 639450216 492663626 210038912 64159890 452454792 111575132 252182678 714011966 851967826 31514678 861927116 314151544 608308126 897999298 452282958 427245724 496550002 470998458 58287788 378284344 715523876 173604700 361809580 460885926 508312294 712495652 161127202 325656660 137575168 164153588 713291988 820538420 707369892 845710042 692760120 207337314 441051236 462218922 268466894 919500046 889337082 107397804 507971256 842974780 345529986 67975492 332395984 825847812 734905994 324936864 481151046 796849166 570552106 617727594 68295332 223811396 426569934 2749402 854938162 777897564 432894208 959656640 920934992 305416394 433049128 22491798 129234224 179084274 731111694 324255738 773421546 500035690 59688112 976294778 91005338 234218630 919706474 363548438 547224832 480938444 631615744 471384552 961982670 303335466 576877628 244949778 398544798 549719266 120526880 553471308 988612226 370729422 967130624 726920366 812637596 407973852 31278976 876989532 407634114 669686962 877572280 348653900 532376590 859932080 992871652 373471014 550239620 767861348 581274740 871829350 214966714 501283164 317560336 132828990 879456014 150908004 903988598 365097396 936874270 559091518 518874672 74007720 496459872 464424964 911111850 432403998 910471002 97665376 352431438 564698320 947419846 432158026 265367438 433805902 71791400 415196194 155044856 967993954 890372960 722493660 900399098 552140674 854939874 381763856 97789616 512434058 682150756 73004442 365107214 377086182 794398916 623937830 179501826 154212354 675368774 442455834 888957080 231576466 481897110 370856108 270494282 964050762 909660906 974348914 716910460 188757354 115575394 759264158 973413788 448201210 702774268 215984964 573645582 9833488 5221136 935906994 408854466 804147740 668172654 138867682 161879776 769924076 975899304 255903240 737554506 245332574 299399240 807899322 42543852 954678738 614454402 780951912 339243048 553638436 4251822 75516298 972261106 801323336 479258446 628490272 344382342 819665588 29244650 186296960 995239880 267562352 916956204 666917072 703924980 380720426 60630976 865620228 882930870 354045386 334663972 865011380 550794964 529365872 727691670 641228952 450535098 567337170 687539374 126511548 186828492 108189434 860445810 434660084 33062932 755359274 729955060 815934386 425037490 560648016 288805594 738994454 877320050 751734990 601720450 68589864 993504726 294874054 778611670 542835446 513606644 731936256 520643988 678441262 886796950 246850086 782313204 983796950 942407764 702194158 184133174 500742684 603765782 27535574 228665858 590602604 9001930 600588082 716921642 720232912 268475764 948637732 196246726 24997924 110948112 390762526 661924094 410869902 8707348 798483708 405448280 647470770 722188652 99745598 147927808 121968180 392893574 458429412 296899682 201523528 844455224 804141324 399331814 727666126 108744576 505816792 83307260 37271596 365548646 507565694 463497590 101268792 260008734 917718202 68310282 563707066 146936052 890678840 355736870 455287784 246721452 808889732 264063996 416199048 182923332 697668774 760459714 925162324 294113244 87662848 757753500 616139426 546055842 745040196 41534496 793102052 440131012 556079460 63975388 856703648 469651896 59260020 351342566 774054694 734925586 417870372 687453234 35569390 532559966 774417288 664242002 393905678 35214072 947445184 771462202 896144644 781239788 210723660 521558448 325325178 444415574 81915068 909365150 454351142 504446716 120249460 717330244 901437958 514279284 19269394 637261762 454930900 778507340 632699870 209810694 243507300 228276794 557320364 647618206 736526784 924001066 881073626 568993148 411366598 115038506 475450818 226992800 214939852 761368710 887971038 672791068 481828860 347122804 143388680 724580400 869491018 628758322 929142514 804562802 77837554 947702742 981331678 618977882 664023406 814974454 311449600 579089932 738411078 866899154 446664790 445827068 701747398 464942376 209843568 215947576 619381256 489911520 27749716 98367954 946841160 374388614 440633988 392620264 193136528 411964628 409964914 27685706 958573316 225814734 777533434 845209926 514178394 561545744 633003590 573264020 394885806 415318616 519206006 336819234 260716626 474187284 562768038 795188776 329200888 165300804 167337746 480098846 191148068 272080454 123126946 737849670 542997034 572005016 806622446 599546726 291483874 940652594 804745642 753745098 474846018 631928324 448310100 269248156 450003148 370699710 605918330 652297168 936732804 132841296 524572282 798922576 207074362 504091010 689082830 108994482 757432230 27875864 542842292 969198616 890233258 78160670 224879562 225437096 419405764 455069632 734782458 110937430 653841082 158187426 727634604 205978488 103618224 336204498 650020428 217255370 380268406 838420954 271038504 574593922 692975856 68420204 815883588 300357830 242722294 130416930 198551460 612104344 493595634 547393506 396208566 441867110 878015524 482301160 792604678 207459786 281486730 612079766 555973356 964023862 124877520 90642942 973062230 268646306 580418698 807675548 800137798 181185518 969058996 268959530 879420714 471271026 193622904 579092300 763514482 740873210 914373144 862767756 138938530 50780168 563396866 552173050 690939168 330680796 556436252 34719686 838602782 400268352 25616416 131150920 530568210 813573052 892120770 153644920 862301360 418761714 370336044 421172284 186077362 664665838 393431688 301019798 264161802 824761838 697164140 121969916 644196562 144004338 725723136 798149206 445163442 437781156 908660254 299658232 877124852 370821190 601181704 298250366 973113180 128062830 592566812 927775646 832163306 257344446 161161284 409551304 375918336 851697310 983610336 738297602 526911868 487878922 478679110 267626196 408792732 725413014 565074896 793695062 103798840 619448698 346826344 783069618 136611542 451004312 2122026 576855466 768145146 833992824 245167754 667351756 30702132 420976586 72756402 596584792 923653754 779921202 576679694 340258940 624075336 422328590 190122314 326091618 373230732 963621820 859939518 487962798 425873236 485319554 835126236 310450442 275746684 674302650 270891512 950128616 161081578 849510866 646416112 714868838 612572752 615099716 846871050 257548298 264698384 649683882 625485430 517556750 883117512 740180454 900016172 356331744 204719000 895724262 440097568 314069694 390697414 210834680 711854002 407783440 657856798 761504510 306134204 240366976 805161638 65551464 453379640 18305580 188584070 529992126 509965388 158377276 593571854 854476912 623465586 1086804 592091072 581219454 926361460 519262904 5628506 727554668 184531660 177305946 485366958 109839324 203679332 241462718 457049630 977474026 491464272 766167666 456158242 279054516 565694094 867410964 945528572 835241840 747251202 244072338 834685062 19646514 774673414 61457568 12780894 827133856 216789156 426493486 566415660 310163070 479036148 954407774 593991664 661480298 714042478 858674106 763863360 412627188 819261970 99077194 469794460 919184384 869490894 472971618 365692680 715456744 364099402 734983870 205533178 744260014 570638890 175521374 498078818 789322786 127749354 646523224 675638540 378564106 382705576 376928122 475545686 298989190 334507336 380638346 837204446 206632672 555483904 849402908 558811988 254456008 635630648 680702192 701979876 408795578 902954312 567139600 603178184 211102160 468759488 259955458 605940488 407887430 541621886 101405806 926106126 998345052 317392400 396634708 33586088 974200074 366461408 138738986 240405994 776196480 155095786 247770624 699481090 911961058 236479494 214256320 312304114 581446462 864753474 618416830 169155358 483831072 534635880 545900746 825056738 110704232 737937550 41608744 973246564 414198670 281993484 513419970 528189276 726659912 747927244 48147242 371960322 540829488 692431346 940361374 766806402 743894400 93958654 583057616 980948050 150061296 815276558 645445086 956416102 252477506 500277624 856986870 375550958 763795746 592382290 99437036 956888776 373419020 852178648 747549698 806149458 770809404 505875096 268163678 439277630 121080304 530737896 906010694 761586166 787926670 197884318 931672438 245573772 792550720 698854830 55718212 331751864 492959640 477319438 888664878 969123090 68327074 551811708 772262232 123866400 857805822 259991446 409410830 57469374 603433598 392506332 968812460 102255936 532212844 626050776 66986680 339543242 530653440 601446916 520453298 424174070 981178166 482648288 303493418 217309914 487974394 655563548 863826174 240091880 15682486 186473000 206491540 127218412 107681758 259414952 189639892 230781006 874175966 94080776 107276460 440070394 635496690 699028226 524481004 906494394 483276470 244000042 497057226 46693556 968868760 159162820 587757472 727686996 836184762 554562768 363723668 45256328 166405232 573431930 623428474 746147162 739931050 557660388 205838070 645317300 822074400 619727168 932184632 172343514 808391362 100377644 219621938 372157392 120584680 631074604 744423620 278104376 992316018 341708342 610079684 140327876 576001236 417368272 991140638 915934898 191019988 678468468 932907378 408265334 595467278 794590470 827804988 39701682 525221010 271337740 799277138 23461568 137238938 438152598 64829468 130645296 74446612 930186140 826299572 884855562 413707166 597026630 100889966 444454022 416433772 945016492 579778910 418155198 637906908 257893732 912069388 893403382 601845120 596124508 43065274 435678168 677251158 971056218 920914718 48987594 609336374 722488374 538758710 821926200 376825344 696872458 754272548 503115278 66134420 766067742 678792322 337155728 833181556 877908328 368255884 171542362 63893024 986361824 547765020 461377142 592432508 793289852 59656076 601662360 664375842 802827334 92324616 667241068 392155280 277461030 633665842 959408324 422618520 55701230 772271706 797993734 545988390 767240170 815452540 133521054 140130266 511755488 900024778 885299680 15383588 698895220 8954352 579830122 698329526 284091708 645214844 266316348 184305878 707514932 452903652 554340696 635978424 953749758 914229882 464631786 63327630 595653242 592510918 613866070 693967420 217677822 76434782 532144694 443618386 935911324 887409618 406739744 96285020 341941964 460395238 875763520 450086368 351285274 758755630 238677564 362937124 78229328 369697804 456613590 966794960 120582248 952961148 862442990 461143332 134007274 987158390 848386028 640587568 876626044 443084658 64247944 625139866 204942984 533469730 224751370 169573494 893303362 624481050 679286170 436774082 984784758 984793212 62695040 855452698 660696960 800065908 975622664 867115300 181009864 115211952 151604960 549189502 165996282 319339018 144532602 116933006 885600802 304103898 736107360 506256044 202129490 118718540 169186576 849644550 493654132 312992374 10492080 614212790 652227074 108910996 812724266 800521712 317562740 423970634 840685668 833685868 484248566 114646598 231684238 593090944 481977158 707127262 889349270 387629738 974201792 915481196 317393592 746245924 38842474 527306614 709408846 53018946 65602804 725235828 897786208 374479406 76773686 313183066 617440044 818522430 979466696 129907964 356435196 652073390 681944586 859194676 457749212 879730912 209425362 134869194 458210038 614180884 363573088 888447350 964044172 644274496 607393786 324245980 552082038 20828270 791990018 129913370 850704136 683002494 935859126 780891036 177237312 155442508 516576008 632693148 753556410 972587254 163117346 98327338 460425030 516493086 253907548 500594326 586080430 328773016 838828828 833475324 821177770 483849754 515916452 130817216 99199540 469775298 790434668 494212568 667898580 708449136 707071848 74745354 589051224 240624412 226825574 362030230 198907372 611240130 214380686 924739716 772331740 637528120 235720752 306070992 178404632 10410182 521311298 763689744 451359812 22764210 285328852 587463922 207635668 744380104 873852178 447760328 21802350 776676524 146429120 4070074 857972800 231251350 397019934 611689766 72092524 814236206 304056452 733438038 996172912 1364548 180171668 105760866 809425016 186801958 504853894 608208952 438060836 734742180 734812782 328806344 706371016 687645012 671539184 285415136 15187468 145653484 131549248 479656898 512792424 59132484 307037540 546910710 111810928 189152332 539058772 566060010 415411398 107906864 715338594 680419796 252583014 34303382 332999640 705051800 915250088 89790542 844155582 298794806 221146680 928439314 367876176 428726412 360778596 516781112 798286250 570773780 290339944 147267932 887994262 853141224 989873866 580831618 38166494 944764788 730341886 130827198 314078212 467150624 296021856 291027384 719248350 95374206 811800482 908014714 336398046 742548762 735680992 276249932 180140752 380557284 531387888 495208168 638256462 681781722 544861012 234314852 461648500 764845392 270227854 453283172 235762088 645476234 779540394 210183496 256180858 154353734 702596712 745946350 669876426 286249294 225570820 363541854 108056232 546624264 466107552 575961886 52173494 573714526 655378930 20574370 945532370 471384780 526610852 856783342 331622552 517694012 935121660 235773456 544122882 292313580 424182256 68831734 628350990 235012302 465231962 761631050 618445270 593401246 123975402 316049028 547900458 407074366 69655114 573734802 411402488 342946168 968419756 423391500 316848234 109496868 748280182 196945260 480307822 89486856 955688030 255715566 702437140 589861652 805097652 644867910 92821456 229027718 116351148 534683174 681585570 875446204 190029194 898728396 701841618 179149414 673893424 829930278 512780236 256580332 136695874 252501186 278467252 550000550 296696376 476488660 246250478 587041348 585614348 66815862 785795712 73005220 38717942 562775040 984293626 43082724 365786840 269773308 215298720 707862462 897121810 363251490 674660852 785122678 561981552 223505108 637084820 277367534 277620738 776689060 62159160 933220790 819661218 560203068 56854478 159973944 345802292 506284260 698086730 874833770 896638618 525413694 524303438 919960842 552878720 522859998 207122002 689092894 660433134 651281156 572272276 661844588 957297062 560235072 961137656 339803156 568488184 997310110 449545646 655684246 195614690 603289774 350913328 690647792 304034384 156540312 3539444 498417574 994485336 437337272 633995604 469150482 547878672 424374238 227053726 69676110 221546644 706828296 262603356 304957598 549673766 40831522 687974204 870003324 165475686 786653606 400001906 710221532 766607864 861790960 875800420 734871292 834559142 612722926 355969950 61808110 500800038 559093666 50174516 172339226 126307476 254208930 809951652 738133338 572247940 68097350 83273870 523558248 699182574 384875492 102865996 573955102 534245840 16848148 416390520 628418434 620517878 501091748 823539554 905652800 860037150 452531204 741404826 882256232 904588224 390897550 824170134 627624354 811291994 936185116 441665928 457384188 775524248 197512734 833366340 310741516 229284584 744825328 933406024 990426612 315730274 390504580 838663026 232674610 147834284 892493836 830806634 451802044 362534254 128288638 654817746 174720042 163390836 459526308 189873710 55507712 982565388 224751674 391218988 893331214 130748264 969587654 84861548 263491002 301403988 661742066 564322178 175814288 913959002 387398634 452791904 921820156 671095294 603496506 311182878 957113714 400382128 288231224 553951942 154341380 69779562 39076240 969952984 452475818 624102522 578807670 426745908 161845058 890856758 855536180 549206260 846618222 490169104 434753330 169563762 991111326 163628296 428271180 413610406 650216910 710066224 325883552 548395858 832735274 960831324 912753054 34203420 746525300 238829302 392472006 607958848 323449110 690739558 433987082 330318550 818088744 175310648 314147214 944105418 840012390 640006480 440991576 348938432 118947778 682569764 752330788 740860806 578445700 848851196 962507666 516133638 436223028 882415410 147854968 917697922 510249890 783251376 34576108 722128142 993842864 819784194 924545272 913636038 806212822 53746794 766021052 426100708 53903266 660979848 237779672 705380732 635160344 432301700 624595944 196236712 39531236 54038644 484719364 493456256 611705332 922164088 2173234 397328572 43500280 11510288 444471418 942760238 402152122 510982428 140201788 848556090 84253660 719824498 143398762 19531834 740316912 290039174 869919228 132149684 541766760 697725534 917190802 940142750 577105186 593707372 631158710 159673660 432449836 709184102 648743866 157578518 207948558 291641532 231758496 73905930 223795028 483373950 690415708 560896280 961659262 383642334 345010394 737771452 467988718 394590618 871634668 761418812 711422724 127995580 110960176 903775808 87142522 503156066 809548622 309246296 558925534 943722312 906345340 506005908 508325454 799535956 808695890 530059114 684608154 639202480 184089938 21038064 4604374 435713500 123970892 908883254 698059804 196868578 366729660 408295272 794045000 266680778 265368160 344543004 191791140 899576440 125920170 683400392 475940220 648396840 335597752 953669950 533731226 402432584 745326160 283975242 821652902 849887990 998601062 33558774 14698504 987430998 243854046 435404258 306094802 868348574 313090730 739207664 833208590 336021658 369924472 4455632 296261608 357477112 678051806 459042200 202413340 483467482 655905414 123035270 622926334 967428530 282445272 6561516 79681872 917539080 373035552 186716698 785168378 834067146 604722022 896845826 152074402 249239224 117347068 272363118 369369666 753775278 235002752 174162122 218167930 469672504 988397208 802244706 251923336 432504284 410676260 967599672 255800082 712939104 175917824 359610644 86874240 524337432 367006502 676934876 566086622 639593742 785453064 832700772 993472792 970314964 906335424 384952972 87313356 766112924 484907280 719536192 827227560 726788790 540003782 510404504 636516920 208097486 662832890 952081186 135276028 332490652 518715110 786207672 130090850 891360878 738427748 956618308 763040958 786196878 456556934 178333474 378342108 677804476 16284446 520934990 138819052 558214030 96423760 755812098 344197046 375046388 681203082 227427768 457311210 690296662 714153008 225002744 383589876 967988486 569098216 199685532 168137458 267927010 452441140 400598476 267776804 180403074 940342482 510310804 325654536 541771378 35398830 716331914 435124086 731205064 188781072 145615078 406814132 756505524 725673160 856702124 809856108 41473210 303890928 735248418 684683036 601720628 145634434 146285036 867872654 830474972 624723418 401010938 56794682 692100090 653332860 929241826 179330974 211746394 604857584 455833702 979948266 813532770 686862364 936565304 625957658 362315948 545672200 648467650 719181738 235687796 855072190 982010658 279213844 333901864 694376350 475797290 764697284 712518844 651647018 655223766 378756878 425491900 414836628 955458904 281749630 167438106 894209788 635317316 339858484 569968760 182336522 537329884 13948558 782916960 29011154 276427964 951106608 428787066 763943648 341686024 943042542 214605240 688425440 325253582 482564110 727777180 629561920 731662796 239707290 424572512 371450530 71011968 501514422 807365672 909476012 59944914 214012742 692967912 813987562 202344108 881896440 412901606 497958892 276085188 877484506 502813012 817247116 549197632 527326424 815086284 131876186 144962718 550294838 5840352 154675538 740057526 825354174 201011608 478310808 173159936 371791610 602370788 698862428 486156202 427023994 872237090 509835892 866049520 113000966 156136506 972831428 55543572 854167288 37606692 507879836 177673442 968630602 998230456 606045488 968758820 953491142 842390448 458217474 838440464 386160282 881079956 172031744 183532884 582255854 416950990 138860832 919483818 143527612 536603946 513290346 862883308 967420768 919777180 105659482 84591972 622227658 587605492 981304626 817067494 934036548 441758868 860456426 154233822 927442556 213443206 127624152 904949660 682637432 583655790 529472854 422734366 819626010 504528880 368480804 218484950 266469400 45935320 907628354 646137606 905443852 364138754 171202498 350377440 793160254 974414868 910946660 419429698 697215798 913837490 423614922 616620182 247625628 280030442 222683856 840916352 760386626 285973464 122807336 313891988 624340228 269050330 714708404 505299878 18834966 114240276 940308804 138728882 665677224 360694604 237066296 310777304 585238028 939020340 370869110 142344062 120182562 827103012 937964740 24925778 94635274 246747642 502524872 603566228 738001030 844185902 874184888 371345102 640336094 116433328 897199478 102930652 905070396 28653574 260536386 987430340 290043790 744990966 635571262 991250664 64825580 18031228 679182228 920559106 778057826 397459784 227506806 403839440 918401104 735942356 440454716 766431842 602491012 614538196 238662840 397835416 160697758 808927954 421959638 621984918 886572344 866152252 605888652 539211786 672191388 701401666 766105292 459271526 881296344 271422942 209102206 942458758 465822208 183082940 331620216 490545060 118024204 162836886 861371614 751532324 513098950 448289708 793248760 210810566 264207080 463982324 266727326 205341072 381923706 444553122 995050166 715144126 894010408 46968468 557672442 623268706 220607964 536106726 160611200 82158320 819308884 986198464 923840124 326826266 740333230 933702890 421753664 914111472 307444752 32147586 198932842 121559902 567680002 329011182 683528518 520627524 154975070 217942090 228043162 314753258 531616538 744288008 974760184 189168560 674559490 255605220 317527470 695033272 261613834 618911750 647326714 762079664 472206862 59759590 847719634 754371252 176456170 621471414 456731652 397216854 792705864 698862598 580623922 115788562 836359408 904634140 858535630 258251856 355400246 514693020 676998 772182620 773364916 387090896 952570852 676854816 909338164 719395884 820225522 6948844 992660824 400993352 290704782 933142090 72539964 508890812 642073156 189968030 909675256 833247600 406152964 324351666 528432900 679163454 360395280 992659500 767518488 138122644 488052678 260390280 967276630 234481008 506517532 114702374 49764662 538012628 471101030 952654642 825343636 971686692 73478200 579835660 964787704 687376120 322510776 599711640 724941336 676136416 315040216 284471032 857848048 916580370 591247128 853017638 85199550 635274070 509006512 144772518 824577918 850623678 699481414 643808762 179240468 114055224 895522710 385112742 156708884 585260698 212489980 951168778 962685160 198034764 262906492 499939334 643450798 236058 945746502 187768228 370461076 959520406 911095978 397146524 566684782 647318490 731453576 823451860 584910624 630766110 452422004 138277802 584602050 219886180 372140904 298376318 471061110 924519098 554420978 909237284 6599996 934007524 120847848 40088860 647740520 536402476 845592964 781348840 359626776 743125512 426056046 810691142 105417684 557017036 606635098 742468612 285017788 505167630 403879454 309331754 839180552 754071532 997890562 258350566 219383476 453955216 12426344 645026600 455650926 949768356 898456954 317239948 529323224 945075544 189219564 823965018 392004444 197617992 240527290 926004234 480235726 967789384 156515054 657856344 746406688 330271660 239288868 684427510 82157398 891648570 83326160 174313348 911601764 520894100 450499446 991411312 857590514 13526552 436128822 595746670 87814830 758735252 629946714 904303390 917894762 731110194 981360166 618768808 130590252 579147788 196128948 332274942 455439200 735823166 235952592 80823498 77073362 349544206 997902336 995303914 660202110 844294804 224444832 399092686 116424322 901234700 508584906 272513440 468780632 919349778 946453020 688840920 731997720 243092108 894220554 467618156 737879642 693846186 210254342 275318638 471878160 416226288 857995070 870437380 546234818 497175554 456889818 402739190 121273736 46599734 125168078 143424674 109291372 669134782 872039660 822271980 729440478 151526088 538403624 673621952 962588672 827476726 511586330 801159760 978532500 435363846 470287432 608087474 411882622 905756438 264350400 29051058 508387668 20712014 18205362 698953946 788664284 866330538 212931154 829113396 80749038 240286026 822329536 466169232 156462326 678735276 773892490 695252496 188285330 760662134 539528048 583110238 976545024 60600128 267597970 710992836 617286214 320894018 226958704 34261396 454049684 289944618 601751938 369314504 239742452 706187720 507367400 833398030 36788162 557981550 252048132 163121416 73137708 589605112 557219336 762678114 997753204 340445530 769516524 809320330 459636796 400350376 605939668 992619956 494629730 305999704 329717054 266231396 984285214 417114584 87775040 282753554 621301670 778150500 872939050 615170066 425223136 597093312 871550838 938887238 685957174 568820292 112253758 389404956 475256566 334309094 782540798 815857302 678383102 73414142 894334352 855200158 184146722 366974572 16507960 705132968 567199812 640328226 523063172 94367662 32140490 302040178 879631676 936991312 119260630 681252272 497193892 995223556 182142760 34168152 635103642 155144298 60055488 760025060 730458104 828014618 385048370 583572356 792160474 506546528 262841996 199400108 851521686 747574110 10877798 382747136 18287160 718318442 352984736 67346208 82530040 726882854 759762860 80049488 471021942 803566224 735919570 786204410 592076710 742792152 665082934 32492094 286684564 827862788 625833486 6286496 792374744 806072870 879095048 525626320 533490962 905800416 802640436 307972522 995873640 774097188 69210018 853243832 629919476 4975518 875964732 316970464 133078106 826518474 622868902 326997526 421135432 126525520 102354418 884073444 758295780 27120306 236640040 206877612 101344890 596727306 540362416 170797428 874431398 61570544 393569190 596119908 727326612 753253888 587395640 22993746 16186786 336534156 976302234 201611250 613447662 543194582 947054506 725183352 512607852 805403692 983353970 220104342 188086338 329811414 923172958 584088024 410602262 300494352 342000520 756100068 672721178 659834226 27672500 284947732 352941850 83866512 567223242 757739086 993512550 915694334 183149906 821658832 247610822 321324542 688394900 834253890 946554930 281127818 460276000 767444186 232594574 460027310 114191408 448210246 723226020 715790700 999894068 333320080 139218768 247022306 96305090 454129168 254482874 276235906 377953346 260354926 317601182 13317522 894217540 648909486 374293164 577767350 163506896 294718058 242636194 978908372 935900896 343718626 355736984 713310742 463642226 844497186 730684898 295423602 837321346 705861630 65590964 918524360 110888740 605359306 273295086 509144748 580029948 496170396 38483122 900548452 935878488 550703180 671851396 29740122 534346448 484019670 365879820 218404760 976727416 820504150 282972820 517934742 208709186 542272626 396040426 904406272 3584252 745798096 158014964 52937758 596440754 805187206 753981432 801824218 76439686 264262840 428758598 899373866 608584908 531576860 814264432 416254814 836846546 817905608 754529030 254405174 963501682 993679384 292599248 371807112 41062790 649744266 9511232 835387426 458422814 313695954 988693452 273970658 96961872 2920998 164861980 225021468 601736832 86309854 441067266 390478778 699749852 477165262 837115154 399264840 957709808 213897672 152524256 447817060 422935026 166314008 907175746 734987032 955121104 483060244 985275438 496081250 951931212 956889538 658136840 643848494 443671732 359783744 665243546 168451750 839033788 464963306 12551850 286962848 553679142 981552576 77635066 520549816 950803762 940039446 371255738 267552322 871623410 301680626 667931234 677069492 641154862 707914038 541192306 356204614 467400826 636059096 100592420 304499568 673446396 716482672 386832206 247492232 237011652 310910134 916672382 880609774 329016044 836280470 418084248 516634854 777012478 280838166 164590854 353980222 146218770 454413892 830482982 247566204 986144898 201967966 123688662 107368680 760169120 64266068 569054286 599033052 221231222 558168786 174684510 178203896 712830860 322670310 634480946 443611228 383815034 803693722 123663388 214962996 901041836 91679588 802135122 658042402 374272228 125618388 275193894 879690484 523513946 221608332 896333048 590184122 830290148 77651680 955216016 351411412 582125708 834921146 118280228 457897398 411998484 135719110 424643238 543333050 268170210 587976334 647497070 678006570 786472274 275597400 989390594 515855044 185814844 970379748 138140444 973631650 278781182 445496284 556913366 156309976 80880744 875384764 358044688 771695774 255653878 347194930 537017768 772395076 257665290 884635612 739003788 410422598 991527576 521576028 129082974 520475512 279836802 420277746 112599408 617444626 742386996 226921682 897415502 33373530 255801118 831940172 616916682 853051502 888215070 537631328 635152428 852859854 634179976 52247544 397450414 251702222 407628774 605565508 133994172 85705766 217501610 116739900 675113436 946313596 88036188 693909682 653291398 385470934 137509510 71431974 190285520 237156386 89626448 947513706 418648630 289404002 426017108 722591278 298311478 461950124 714086608 534030822 718415462 155591680 507512370 82503782 347500628 158217138 812613092 154626382 378848406 570063436 947842978 507821212 707627512 925418914 62340166 523181656 465598046 172410582 505859870 53095498 399554092 834028742 560296970 28614586 366971438 554943004 660086860 875883020 166231666 598496498 750257826 781427998 512772670 982278890 263240168 465878212 876187680 503593764 421308532 932715720 361586218 22395844 233164842 786991054 226306858 279927358 859916642 545639220 116656472 14127100 51229694 519352088 256783404 851144610 472354658 107132270 564969230 720902660 684900168 711125144 363675924 374940002 1528422 470878760 910409308 954852296 103388000 735890196 165875908 654899910 356431188 190049638 994944668 808772324 245501402 64961162 283568206 214314162 573370114 212536520 812984330 560867064 710145674 877578598 541943938 399328788 98450746 153845352 500228206 435343136 164108892 173824134 497616836 543754840 580271538 664453942 303415152 650642540 814390724 902705512 180899662 582607972 422954386 247079558 636946818 172463560 615995540 160125206 828402146 681800202 876075556 685380630 134796332 798736984 780194092 285145534 737949800 406569494 355377576 801057934 661345122 945702068 224631276 955673062 444310286 82420416 287713766 302138390 272062990 105976678 800109288 580472614 682494060 263079098 92568410 972461866 283013870 508518912 541754322 815204640 367785018 410981530 296984834 861509164 923414444 986231722 964891860 444610730 492210466 106801164 791423752 60526658 428879180 212181268 994929292 767097716 621414464 497813960 486927364 594814264 554329568 725246080 789829790 167215164 416906968 955828364 739952840 760870926 771901852 125665906 403559194 986379428 40385486 143445828 33666098 621082116 133101774 919696846 471113842 181415980 68816690 83629462 65281772 234497556 970627186 835160136 834935964 447362010 637275798 985455592 488771120 691079512 640072802 306546794 110122070 222022312 777727850 818641232 517351854 778407830 394431772 413681068 133586762 528972794 874463652 684247710 91599252 387808458 647904028 413923378 112937430 223610790 439613292 301086454 852407106 267342044 792494846 48270612 505947702 564089490 973384084 608817348 43392328 76783814 376355624 827757788 550956204 601166896 638719992 167274830 917821920 523795442 698007462 254197528 188398774 431796334 177541756 154995108 910209576 970331258 653433214 56577646 937936982 731586752 50255198 346882670 891524718 792688648 383917902 739911882 328472870 132961188 387992328 965412810 79353476 349637494 11275006 272654254 93494786 58939274 75122874 121243520 426163556 536544180 698656328 253872736 574488360 71017598 886310588 154208996 945575600 15163816 857221880 609893912 197027488 867262972 191532618 675794556 564596710 118767956 711853858 452877950 182995436 657971630 822215424 569821118 844042362 306971294 132543052 746055180 502238888 787278294 115488304 457913462 380256020 508495236 452986324 36978280 931154414 360831216 171026456 979156702 342331024 738774280 930491596 589693684 97936558 612990130 127530218 37244430 539816050 922358494 229816288 901705656 479307746 204312526 615134220 427726810 610035702 917778394 152050522 753776368 504566140 420117912 914728598 179386066 979362810 805564542 726160366 767737298 832112318 898026006 266051728 661711994 367172478 257532152 838391630 688830118 606460890 257645888 280530466 981647152 436758220 536990572 275671282 656338148 547681732 76525624 793478382 905859818 423007750 954540490 16616450 528316366 391523254 542349046 692374534 471705106 290478562 390770186 333927910 408057268 54790150 134407910 771392920 560667342 984566198 508308694 505410986 310339048 646954646 270324568 365725416 914368 805267620 510797280 819806486 100207406 989691906 878551922 903146264 952849504 840856966 177902102 306332038 664089240 346564196 134900700 901164858 458162018 710474256 135438050 553921974 619263694 450122220 795337594 695873540 706692278 542203762 107290548 408576320 249654714 592393658 757857402 751530624 52365046 185204670 324441546 755137090 789600240 521132358 972428890 448087882 550452686 36894426 628416050 794016204 278711226 112139614 452086820 772802754 654336332 994195922 902440606 791988184 295897374 643662476 762983698 879567852 120675170 390483096 572855072 916472550 177163082 822195090 895673746 817940486 758203232 153223060 457905702 235480190 880779746 638803838 761983220 203968922 366224860 964505800 934207436 423247732 222698180 430413370 276077680 262901782 45698430 850610782 376768432 908297822 564227280 269575122 733703188 725197554 564142 85820070 732638196 42068216 963043858 852856420 466317396 692050512 666469388 685375718 764150016 925974376 145082788 763611712 539841644 611185428 593061820 19605262 670609938 966110024 477501022 781930732 815998534 217346064 332111642 628731384 594275354 265167106 383938656 344772660 42321066 726262044 811877376 55997802 922563990 468449882 909969782 184944792 465718366 641269694 904357838 852800200 377784842 758072100 508019820 644393830 577878512 55764732 547085274 47180052 830135128 990482726 523320606 58895782 497549988 953039142 898228490 679106912 272228734 930180582 555292476 395699986 248941978 66528130 443874934 581928650 849846208 293000934 292674880 50151794 633062636 392224784 165197604 840056138 367471518 2454728 239782946 266363630 961392104 308248440 215336864 659475868 329214926 296236882 756800994 788661634 772150834 944213974 742028696 842314242 745755312 678142112 84064758 553730064 483179762 755658790 795318420 875433616 147297648 370610090 42399538 962289768 822409096 684184030 815609592 752789018 556732644 394503878 840665750 759104690 304343862 427291046 351591050 508178578 34758494 685093438 264451070 863887432 814551072 854927558 666765008 479285954 408275918 150423932 577019608 357650556 987194702 952638424 435393426 913898180 74026350 703154352 652749810 391683904 398558374 682062748 928355716 668830700 772840202 838831478 896262604 643000488 989141420 957606204 655664122 867652810 690190616 399183118 424665688 833919394 941567196 440097172 119587836 405307740 152117988 170203814 834680008 739175070 707683126 212796046 233243550 399833908 409825554 699033568 397197530 193762820 738482786 832705928 484181334 643296282 189669596 863820416 778560644 94602680 796693864 984859424 516041272 946710088 650160992 669355322 700805128 132875078 726313228 918075602 898669034 683013706 317888820 614738406 494560922 228942568 472623614 326992412 40644630 880516072 853011034 711853476 548225808 739384338 894342326 297551654 439521382 933001248 390165940 214176214 784026880 504253088 433270502 45954652 364596158 610036256 199084108 826762622 622612522 206625148 649496862 939578218 88605742 291330570 431081158 121007942 117679436 845833358 953745566 360198874 249460002 882955832 809698490 137654932 344975140 16450738 75256770 495043556 559957804 494713736 994179892 467773022 139653014 630057560 386293634 530830900 937073820 132788080 231062930 972065366 607868458 532433256 174064088 699392920 210372612 30451340 484703676 615815014 491707264 605243440 806324430 137498666 737273996 51101732 833321260 692731670 552469490 626817514 878504464 421899810 97518158 536547042 655137062 430772184 803055916 25694952 190332052 770253376 737110756 937490586 825106148 889583068 301182156 186672320 170757814 552121382 187394762 797694070 860214430 622104428 353283814 761586314 664413322 94149964 817348690 684324640 100037574 951594044 358693664 146679978 779941026 447473556 389478194 985542792 242951408 743727710 238596998 571693284 452022474 60307782 73074256 653586512 332752558 194455240 821181382 254871946 279838218 514296550 210518234 139873666 458857296 497798330 583962156 332037244 699350232 322946640 982636378 10714160 638293876 837419070 221479080 340302210 601946906 834548948 294723764 902968568 384177024 467314582 831263060 85472672 767065164 945530566 283239728 321278586 872292230 564850834 722001302 138569428 49565656 836349556 13181220 665255496 17190876 862427798 48645922 527550866 5397188 5569354 197910894 194602458 424251870 307120304 822460700 498651860 791213786 511949786 480777230 715152278 912652648 923089052 643127830 490518332 955683684 841984432 985262338 303972824 276108116 930809460 211899252 9131504 918524712 793896902 54442568 562580200 1676136 360105698 725738396 298357254 112379158 529931102 726870092 228370444 747446710 911782690 488427498 683798228 22787042 643297816 853606742 468568414 846200028 658613234 265873348 996700266 957868706 120861526 141142962 163635446 428873738 469702044 871712910 351354148 16120480 942233264 401651514 392413586 992096180 895548538 782328210 497832366 428202794 83833636 18660442 446816198 786848166 628838598 930553126 229852376 791138326 761724498 965548352 797713186 821798494 522870232 114494456 273904958 500654970 569253586 670896896 912732810 283369588 625943350 370818422 347299534 72823858 994896622 970355752 674646200 892107972 19747000 272521238 307098410 132985570 713339502 427772982 83068458 699870422 264385240 145796582 390878000 918012786 897894802 683958034 46189858 732202738 153432498 742577242 64172216 129459966 997892888 488944668 604606560 167427766 157050336 922629318 42593488 10129490 915855726 365290780 791237680 549410882 944438182 964866218 997475484 226979042 845859712 43104412 568228798 819036950 393151164 665071420 245344318 573224874 16993902 436828458 828977132 959496374 507810640 747689934 515538254 892924772 550628326 990603192 743530964 666331376 24125614 621158362 991127756 534836986 252498900 686376816 924808176 189941982 162430972 777143490 307119686 203148408 649290694 528748728 131059464 841957412 868020210 869170454 387811276 32359572 267646664 234626840 252387654 689506204 763051892 365403702 169380916 839103750 728784344 829705232 212490764 535163736 328031384 685978136 121176490 468143564 736176100 224695970 198131498 213455150 6144600 327726128 225226532 292528866 947603462 727320808 29734722 273658654 371684412 295908514 548400654 421503746 629442678 755700332 993608308 660533726 625539308 131068962 995591780 634508496 29706362 437853640 154955328 488616472 640607400 559940142 232992344 719321538 415660672 71056050 415293426 66356912 302791028 300383892 732866184 577539658 663070610 818222160 952001606 840205146 597682558 322338178 966423226 470488714 604684194 530419214 117145934 280336304 596881272 188854390 489805816 873875698 668260824 982180772 779666848 221129190 193376816 868569674 678501148 489727376 187706612 777110694 721134684 123053472 937372172 515010222 234001046 631935922 672881942 193424992 509890542 301508954 295208514 13864886 786206302 158748438 618151108 414895874 674317448 151215124 544575996 113734604 903912630 920760696 735330446 487371836 16676994 613315590 147112716 200310800 852345388 176494380 831637154 586620876 846575932 694297484 104349516 246557900 548268940 766029680 654884240 637489768 594007770 674340424 74941424 711777452 402145728 591551740 943503722 435047394 947324828 731062658 141217628 342934896 827524232 572585116 539917992 207948334 278360740 359601626 944943262 100778254 417739144 188228144 254920272 245775132 312127036 463612674 70168374 444966148 820540890 532640768 338792368 707515964 297969216 847705058 969615926 621497882 253858292 12151564 647114040 38764944 326903670 97293388 7531466 925840138 127222618 148990490 635734534 945630568 187531792 389377858 919904874 89751212 58376856 519629930 328230192 738617748 286992444 451866256 596150166 942117902 559572604 388935842 380504190 792847886 818853184 569105416 682680826 365254852 11088 978198142 792626960 98093780 664188618 892873030 26496466 102545682 190040898 139321996 435763754 599125606 340821118 472885816 755253874 620568164 697735636 867957018 635189582 424344364 358669298 89496470 722768492 630086546 3495930 735434334 786628280 334814020 618383006 143007998 580686484 76594176 552316656 110929022 531897718 784100316 538769496 765951802 21529462 331924684 446092884 887469316 707889106 295067940 354850414 455948532 396972502 118872482 452605084 62633906 970028372 948140712 874196960 211754118 620170662 431344382 266260802 441752592 218522070 493931362 777219468 553200036 483915848 258005114 548033300 431793604 713065852 612826472 79595646 348656720 50949814 297808280 360106238 50834584 44445928 146251842 903581158 427216338 544749682 78102162 10506992 532804512 543259634 229278126 242810168 278036236 352795928 939766408 569125796 585428862 182164734 775251508 432791876 536464748 693628882 877795530 416723298 812972220 13173032 59291444 827425300 137459360 140949254 417687046 52341268 473689014 257465436 827494426 731725000 417748416 786036630 806387800 409908550 844149896 931084170 762359820 832266130 746523916 278151256 954292214 200678226 714124244 939693822 303063466 216680506 983096546 774047016 529993134 141922920 636788132 83479982 17970104 117089418 656296040 862450 945086418 400008498 613377798 100174810 417541984 880608606 945560912 891688480 248071838 233314206 265313638 610135712 241219306 36258926 402816462 300397052 944519190 75300064 334593658 738864584 608545082 905079948 348562924 586150186 13948724 244810616 485069330 712753420 52597694 942305724 911400258 681964132 293940288 313918966 73596138 670887766 849849424 986565838 467448420 687060640 724053900 569712760 695127076 336608762 750866194 987002654 456410776 34468092 768692294 739056346 464640444 48926520 126015460 784102818 112993204 642032010 318826856 293929056 191062054 192038628 440030202 357600394 545776302 507465914 415520858 427471692 217015972 906673158 381372216 989530676 392571028 5475872 400124226 604358656 748400572 264385768 270488920 534783962 211510064 182648918 893631162 331673872 112856810 673916404 579167558 600424062 519815776 989496730 865222466 13352988 482924296 863624528 977220600 930692012 787187102 415349320 666294626 327435682 678904158 609943238 366133276 861152638 486313536 964927384 189614346 19859630 328452918 534703300 510120764 916770848 682869106 240083170 11752770 186822858 686150182 122535770 111029564 424511938 52810746 726625762 840743402 720332522 515689506 475075744 467907690 543738110 879276260 572982448 513921566 543118362 396367218 694362186 603119208 589454172 723661128 81757290 33214718 513879230 837402250 848118966 909475884 118055430 450930832 790352912 13238486 403688096 704138498 938264124 201158580 642952706 42840200 881915970 217983476 464130108 251800846 901514272 906894646 468416806 483395626 550824304 385453244 476966616 486166606 483310940 886203654 255943968 638272984 773097204 14257698 430149916 498841454 128934230 726563322 261720378 951280150 770253466 162322222 804624358 881795124 738073160 34444726 672481504 892952882 343370274 339959016 832048814 1721468 955585224 205580622 969740234 964715132 849179598 250342380 424404338 911860312 734246126 858888098 761503046 835777352 626570174 838062224 366088944 724152532 408353564 652938832 194109174 79342594 460419914 494992820 941180172 491242280 832293610 258093468 669419216 459376950 758293766 957739762 272597186 449188996 127302396 777658098 912097286 669550720 313423714 604735828 745370156 379182034 700416088 903721876 205772988 485763392 810139998 94322958 455397500 934619304 59184050 873743736 563116384 425052522 693222356 876480454 279584696 601929430 719263136 855180338 873224376 287365168 841780596 116650334 357451220 161156692 712072052 773583038 639131494 129894158 715543106 661982628 231058954 148194952 736507870 565225796 356906122 488172300 232512668 34541952 58766626 443503668 429140508 665392868 844192398 237560942 827922490 469527758 537934786 977575712 876415842 973712010 528562326 674129618 50772570 276991140 326168816 606495310 579113664 749362270 139049268 487847096 816174464 909297722 696265500 540357312 686754664 538185294 234668750 533471968 983654800 551529978 408579466 308827406 570794462 944580924 552634636 299894550 434431150 438690402 319239724 257374804 544099862 613759204 443583364 387414988 168610496 362545180 422908406 826145648 933192630 109467994 363138330 667387852 711490276 828647134 376795086 616675292 179390544 223991030 189783772 80532310 913907050 755217192 373789918 265504672 969564522 977948796 72159182 115213130 764298180 475487798 856308976 552172422 602434792 577413440 888146150 785312828 678911834 153175526 329165024 740990108 67571090 527865118 746355740 895000694 682605692 293784260 848782524 382493654 378955024 227870590 706489560 813489338 76867236 636190344 45651356 631399386 753715528 887315578 910966328 555731100 940730632 226639204 410142106 360618014 613900602 24012984 520480866 361518258 418012876 419100030 776553412 223424054 733239144 629768518 749489874 584366890 741991160 554094288 868931242 123474044 631255708 340764402 416085710 595774758 64931606 139430726 276857752 605164832 213904548 323903922 282552158 9388474 769663236 674202226 824206760 829449562 708841646 409359076 739252336 617384150 920271222 372462330 385734766 453773570 626812460 763762232 809471690 67532318 550770132 85470226 734566794 44296812 264219042 69320508 956371458 396018930 298789954 919858702 725300060 898330532 952112556 456300136 596428914 901594838 462831628 928006030 135460888 981421458 751045224 628511786 219815650 212582376 138398818 446326796 24573960 763451410 640961770 508146146 978315900 946543474 640834216 45874124 672130168 530466592 337965530 370010410 616806456 955004732 998769782 142101178 564429976 423549400 254084284 421035990 852514750 581035052 220427404 996197384 727211900 32468886 968619718 959464894 606359880 448844414 872438392 625937770 453821108 129563596 959808954 914188080 787664310 730513808 42387260 884692468 173385552 449027484 390874880 198781704 66626152 575475664 728957300 654748064 557685432 536277070 849946286 994584710 270042932 501332602 642979120 840633124 727506608 218216860 376292980 353047894 874847096 451291682 946030184 604432892 571780410 395367672 417147014 83039212 679282618 448124988 872351542 895076606 48020950 546463510 990134154 850578452 775775052 372471676 304796186 638825686 687858292 727477696 214568060 820299222 916606422 256055416 259221736 487506772 999685046 306483762 48916736 88941198 29614738 391310880 512398730 713267472 351255346 793454466 269048696 476876978 361249160 76248876 532188628 794722958 931078600 558804054 701446476 528651648 809402954 609297560 718698836 304097030 520689554 91040808 25321230 832648092 547605416 968823604 694362990 269162846 472879560 614400136 190579150 199579048 91106266 709564692 663020712 209250824 511846808 549790544 541345944 541688826 924581564 731642876 340079898 973260642 712857924 915987162 5870236 17336852 272643948 441014188 398736998 594414708 619510788 959607532 611640770 909689090 860083550 363172288 849538908 414773670 573303150 703146130 572508512 95495628 759710464 321303260 288105406 610577382 143612102 821424008 181634804 514248420 462384740 338414650 454776890 259453514 890322466 560701310 543498294 312973600 558952370 651825724 590186682 81454320 58039444 619747516 342799414 946213268 54017024 299765488 949184474 209063648 164340998 631819070 3604640 454078960 188765854 861126672 1226614 900773010 644416268 471749606 222426986 932920996 26850098 161892014 641198818 267460928 960051858 606880426 552340978 77227410 952999242 37051670 493907072 615281792 86968272 110090478 454187232 451432904 708848474 887939340 722853828 63036270 190471104 469937006 375841040 202290758 878325414 441280064 848509040 305460618 793242906 477253438 707417262 786814148 741558944 144924376 291062086 65166646 815517068 232718360 719503772 250445298 490694636 901087382 638654912 503068532 802784076 186357132 275458618 21450444 236985642 393394960 410910564 192648194 762368004 490238790 683050544 624875968 270656488 558429470 399753492 928123654 404657676 621782002 284358272 864277824 585165128 976901636 962740310 141043306 675181360 753687948 240674028 184825778 952491638 266059528 116242604 900887444 259279576 290713406 883495258 535527632 455966364 992367894 593162106 902168540 206430148 880714678 544283704 522493182 587125924 823381772 845936834 299040262 213603320 111731284 751931626 715633296 830673764 256739014 693157486 340212432 111390528 59621808 897036178 525505478 933947064 6173440 846646084 571622156 732859362 102277316 632828048 71382918 76814260 47706020 725511090 933783652 436959338 816510732 12056092 378897720 445451786 817804342 928031858 765380668 790728452 546380258 584731870 922771046 92083140 412695836 105830810 743447030 408197088 514414786 698140440 812768048 819367582 970600648 626157138 772012406 161027124 510931824 659983900 695853834 39454938 420210524 836682768 270906204 501521436 729130942 51932356 227808358 918138104 139325130 593772736 364438802 760439828 452083918 703781168 127676602 333940210 155114016 459804608 815863880 739450638 594725772 298898624 235953228 477162052 933498376 680150968 903356750 488687692 983503852 330233682 516289294 93079024 865025540 670280938 136688090 200885866 115382394 752192338 482103794 720003342 563205146 215644580 52008300 946698042 90301444 876429640 720740404 117509552 672301312 48956826 974733886 954251300 204204202 326488740 501302874 825786966 826781478 77529552 56383406 332371766 750209432 121335314 528091542 65761490 211656142 311530540 595708518 450058430 492707256 55363110 844463718 698432338 76698016 125243200 99167896 599716368 588276452 394862714 220375502 397696586 907859234 650257800 34167436 377737768 856258172 766681692 43897692 140785194 374177836 353473998 861480002 822371272 750026784 13402138 646450600 1996202 826154824 776349966 484596066 852352520 188470106 141201684 209227962 385101866 522866604 81118674 79720740 897036234 137472722 879514240 366934146 378808972 278610082 804858964 347389424 730541674 626177822 464062500 961300140 191008186 484211684 869102316 801366 885473864 185526488 377104670 959492948 561544336 442141606 638364408 83701566 463934714 878671902 689188138 281189976 312915980 194208072 438938006 69546684 825957558 323781490 216345176 304892392 574439072 804818696 965586718 858923098 1654386 579569532 938080214 105179414 153153222 866695124 293938970 119566756 799438588 757414250 240549314 393724940 413688748 680454028 613519500 271363716 29909346 999934996 201950862 628750046 947127846 454718700 981431836 50659592 79209692 141629310 897499644 499262166 360950422 420418816 626737050 242406454 705868014 836457688 887727788 472981984 767643448 712787180 719906530 454875412 175549416 507020766 958024478 881997480 730183672 807504540 594795352 522557336 920086748 12152642 381832014 101087752 223824692 559256454 123414134 413418510 685433770 519524498 256670638 926422446 482282618 291750608 917075784 84683012 993390994 646533074 976922904 352248240 42626798 588133732 354333586 819082562 83367684 348931500 593587068 486977102 377888090 200144914 390749714 889842374 501162706 123760184 790205444 144274416 285710484 255947976 864718542 505013222 334576900 496470320 483364656 922640492 835998654 97117912 452984786 773180264 929040894 676898170 771005018 837366648 19448480 976831690 434419318 599093928 153597372 463824716 278032404 22950366 332813308 735638594 847509938 984448282 153482762 714595964 986709432 330423958 165603080 831288660 653043530 677835672 247217248 806484960 904135698 646779562 309253092 643612794 104778808 127600792 119715844 633475832 945557544 353286658 658883812 437528174 518822600 340958352 825827196 629480256 958771784 236758444 144632884 418830464 107265950 231193524 24711904 607332772 68252856 316431594 4361052 703903080 803833694 180140098 414774248 647314018 90951204 525307390 621718960 668716548 420128464 581199774 100793878 169358308 926911858 481371148 604246026 798970716 634687446 913561590 997556150 644286680 338090442 538902016 346271556 175631980 732626922 612821172 807756122 523101814 814800536 793930616 651290798 656066886 12616986 474197034 578134176 620230264 394957946 430022110 922713194 448477688 640231094 3085872 678622570 922833910 773994110 970025328 854986790 35270118 696409658 972323258 186167678 180293810 258827994 998054010 924967776 537070476 232261400 225683332 718075676 394604550 491338658 568926788 963069448 232128090 860069996 306551924 371665094 518403972 124832786 818107900 283031660 234915848 836158006 195462836 334482278 805132328 424233756 229385918 20865484 441792812 334604246 498098984 531141036 160267632 443109356 978063200 659783886 722527966 740331550 942496718 508355418 188027722 895370900 29027020 952406200 803535720 762995728 991322106 128525824 80280840 481967378 493242918 463297240 37516382 646282946 663196268 621861370 659055008 147781102 552488358 287397322 457732062 40901546 576841442 745487138 247129688 244316238 814408896 37591066 867272812 138620512 985590968 994072284 790619864 101420348 935998042 65213420 491398834 780153792 728215468 72643154 975385432 170636108 100934708 184245264 707448440 704476954 356763794 890571478 336182148 403008292 903897564 86640624 716916724 246768652 444763156 905327630 492888536 19527002 602498610 658470352 972281536 334547834 493468974 302820464 655101812 776256722 682456752 15397836 301499958 36465010 716698756 253833816 347160768 276301236 126376928 515675308 85350630 241441962 353959940 339754242 732805382 310384684 272198158 744586896 210463028 691949110 634288582 627068248 632740000 646833336 700806140 658542178 8780850 808832134 909727308 968061688 130071682 166970432 588595554 568876232 242193254 325126636 952556394 581664258 612349924 674159818 212280248 947209568 63797278 890207952 763057686 325378530 103883576 449004320 590532160 406573968 127045016 999117646 791385440 271501940 343591070 297104978 738624874 520974120 670636358 68917104 53783244 972099990 34430566 40991442 834575250 847405566 9766150 488042618 631228488 743008762 806402528 556356988 66815688 590822828 769941118 872942528 182963734 384672036 697556688 784301030 689764390 675445546 313633340 557497828 255427946 53091388 514314404 832504636 645437564 735559214 406815844 203186778 185497724 510762664 599473936 463624992 645272008 272810026 159029136 846716176 181118444 457458800 529962516 796758524 669467136 837076790 428452510 271299066 237995062 225560458 624179140 89367532 236584028 954166320 216732802 222600396 457816168 121082476 284816588 701242382 340611580 857483776 669027332 544929868 297451972 181387218 71892498 497133774 974910178 463110450 347942920 817334892 147565090 197448054 375270672 918898644 170328118 537992188 500387772 891022762 33575532 656997786 536701990 763370066 487142948 976191046 948525690 15513040 109337766 467165796 950001568 928389876 113860536 20383504 861092356 2911484 277859674 729938446 72481584 438395238 698361886 213702384 554076508 67692768 335450776 833308 844077244 813938402 440222820 104017632 818004958 854502316 79326032 8128720 673022892 781150678 207593414 588814142 890122686 899446904 4394082 326742136 1203638 225360988 121694372 106505734 461500422 141955460 503608500 43656246 374552570 303257530 710303900 983994 69380342 575103782 840279652 789600652 701965738 535296860 807697534 476363388 681951812 434706862 935370838 512458682 183182456 612608956 22119668 356201484 314877732 952837128 984718312 729210230 823800432 807409442 998347886 507525606 906985368 340199480 393579838 167955278 23799544 801237562 125163782 95441076 940287938 967651828 596392498 480533396 233668216 830187668 843796504 974116206 759332750 989912182 188119408 836900670 114834632 36209440 199474698 857917942 189072040 985677964 377310558 752126110 922973794 687437304 132775176 121975654 357706126 606718156 277754778 244287176 752513610 122151876 560604642 319316904 197143870 215813214 822569040 990632052 288290804 712700634 430216648 516427124 838722272 455463118 234761568 535930056 323825076 433571714 494751196 816096924 23060442 598550994 732418466 812719532 842872386 500045234 656880480 275689404 155287742 771541230 930876006 279280152 117013442 20699120 883631556 151050668 985207108 175327608 730454166 380545340 140033540 164466984 164687134 296309676 929852962 462827638 46417032 356987880 963828208 190547744 418062470 885029356 45069804 502967184 449988084 334483410 760757534 187842486 316905902 265391232 798540462 757116374 180688518 801764870 727531726 260916378 640598524 489499936 951612482 772559914 849264556 109844178 219545740 792924912 689989382 752973686 7888354 842099776 866862664 278017652 111943808 226466786 874692376 873018450 63085898 378774094 201680404 19032396 234943222 599759640 520635774 426246116 239195448 44975808 290307430 322815786 686410616 273132366 463818230 957906154 240863094 292745346 267269924 917493434 71425036 78145130 775039182 225965646 663459134 886065906 666583706 60628688 236582258 748398540 146700492 772905416 632099208 60497010 24851102 163694418 812317890 609175798 176021298 962525232 366562370 876630370 987264616 431417552 901078202 618081594 521226846 19208970 337725454 293474726 754878634 493743944 155557536 393199532 775229702 999581250 862405930 332757850 637786074 438926994 509191006 839371602 54531884 242695538 918356496 173196534 612660142 477435572 734604042 894465232 747031492 576515164 564130430 830120546 593928562 96388938 348927356 442236566 403043996 749050648 97578940 695506470 233950428 163171144 762936482 132185012 645622772 487966866 295050606 804929730 119580456 60992186 217354208 331438338 441278938 544076544 94438086 895909866 886007730 440132024 157566472 129203330 454380970 275337736 639148376 229354920 497285488 499090006 730372804 310306924 65176888 137512232 102978856 71460262 302300848 8312862 433418226 70672734 817909908 707161334 655888842 538569134 830035356 964784102 282869592 505287778 406369894 51619856 736564466 967987350 316990934 910050550 89832720 245441332 160158236 455792908 881882168 11924844 263889284 942844518 933257030 640913820 235246162 816249656 358113224 602628096 709566580 48541272 919503126 125346924 386920188 111199534 729902212 89521132 269317448 223626692 249312794 33879234 732951108 250272472 94589970 318532824 430270896 643331808 594537424 665592656 382131622 658486970 43157282 439207822 61680376 514424456 76314894 69466204 862834616 379887754 627801952 540984566 607739370 845844824 97830896 503915836 992039932 978970212 987630916 632276206 63722978 244610094 473138840 982236156 332113902 174573418 662625984 86116146 900791944 982466934 300513514 626775130 147708488 255986004 207194520 970734786 307406756 831167106 440524492 353458048 711934874 349905158 362420540 916143894 338223596 868028084 399906438 267317414 266679834 870923256 827509300 668958968 592461670 484059316 473349638 154592530 946341308 783447958 10394082 774445224 13468420 77693822 402315518 134538872 448975654 675982996 350440356 608002420 751040166 788227502 288928222 945882968 712324964 502580908 346039992 876474526 846769486 61730584 949332734 859026546 881999960 50784564 528312346 119671720 375462500 434744092 646733176 166849424 241133038 714804204 818700220 274443258 982453374 40324700 833424140 330982872 473960922 982244782 788867444 992484002 561837658 182705856 934078520 586661312 457914692 159854734 327408966 106886466 383252746 261494950 330523312 105901284 130377812 946721954 405723258 847155284 476514010 834502966 772970528 938149640 450988716 575143332 50868492 89905546 430483272 376774714 439586174 856183568 813913448 974789502 995576268 490670400 473825270 851307542 228789604 575873800 207029354 306735334 240464408 880192214 424962380 512931758 758698182 523846516 846143666 503075262 631362974 786719002 27164974 17650240 379367144 541784666 412059320 73552474 404833312 907830944 714699268 894129452 310136472 348218384 764550062 163335060 440597170 331667338 979650048 531219336 409939646 639159140 179135090 822603172 381473970 174713156 946657084 935627390 48123388 700150442 778510310 711507030 830092258 148698050 530991564 487797154 921078434 201519942 23802542 368194510 157597798 275824486 579308528 752683266 973089688 273633224 360019042 628633820 518376418 457581564 954019954 519813154 799760842 144068100 318373820 504517482 30965472 374548624 927235058 195508988 992645268 243868466 108795618 559219832 778145522 848564402 380945400 753496942 187521448 828631678 851910994 991856582 126264518 681367348 220540226 147863264 360171192 830978780 935595650 436655586 314915542 79830086 191824394 167137276 621066452 215315122 9000546 636505684 946249464 18797276 10197960 617606318 904206774 341476254 647941694 503227404 314303052 946132940 444457036 802776790 772354092 180537456 210571296 764528744 284662380 873939696 467590040 627820816 559080330 709199294 106276364 484452368 840210228 365127028 665283074 184528242 689894276 944579792 446416790 109065656 284113604 394619638 453149162 636664938 206014018 303740870 222414458 65386122 250657114 530096092 517038634 212753416 139806226 847484864 991129786 751715528 232731988 235554328 623932600 523407582 618309986 102563286 283606104 714814292 427004640 167203452 270510916 630841412 502610246 435773668 409487468 587036324 485846728 178669016 551508930 651136738 771525518 934952000 658506546 710178936 494322518 869570244 260573278 224840160 344512888 154504730 648156370 584715300 10585630 121027312 119982792 886370742 242530264 359751822 762062938 543422410 213084332 449834954 413736212 957519690 108150404 918062534 101197170 785123392 820536938 21507474 798551014 988971048 730251064 49123974 109263368 830154388 578806450 741458854 181055354 563098906 593678698 742493012 994763216 741719284 408265206 785099254 485731222 480688466 847262062 426418554 820777326 286136900 649914986 474495178 47035262 475458212 96835264 721148440 390005968 223339850 300764804 362353340 291553932 283648960 184043266 716237326 894357764 196081264 154104036 227303022 902188628 243810044 21696710 358185664 439106550 376445504 351588992 461840652 380707858 352380144 874864488 169396558 457314924 246069280 17698414 497353942 221787450 842901522 360633412 818015202 716302574 583527760 401311996 636194870 356688562 240447366 247551236 669140352 23865220 576096562 136577932 114817304 73141824 880740376 899126978 906957340 812468430 566474742 370026994 52930390 331962656 660630480 125856826 299892492 699934168 20558848 580825450 821419786 104752032 988241956 719872746 997643522 625607738 177723038 558236490 68879910 464107974 850167956 917900178 31934820 788284508 192412772 810740306 402892710 8437732 369629480 701256972 939937382 664732070 648729072 925668138 99270656 397738142 973629212 453718302 611925534 246683854 875320654 70168890 567710834 948141230 896587772 394334362 350876938 926975384 732306500 725275872 853560444 911808556 705749446 360811172 707219662 787063530 307702758 920158910 313308886 858668050 928404410 790848460 277085304 31396130 13384142 350134538 226516 809254798 553534934 177790064 247696078 102542118 865000102 204827444 295580138 112249632 606734242 660632908 578647870 805390090 862921264 201991846 13673108 550110082 702870096 337452284 865633962 619003138 85319818 826118616 315102990 820659260 35708002 497438444 307884938 581943872 738018652 884378996 991793430 217181700 801514912 940380266 83130818 187844900 510179780 808127604 420700724 4858160 359834920 331957054 136252968 615971124 906586060 334601810 792016006 989654570 251447386 308324440 21324460 645729756 414525320 17239450 142834496 505620556 668546658 934086968 186790648 897889982 596252894 542936572 784548812 430201086 560272804 470173988 512617324 8188006 821154876 145039752 407761664 941558142 205965178 829973884 984407608 978806040 502309126 379564326 612602388 816947818 612043446 118883872 822253442 160055442 533959968 402139052 557994814 940865356 387924818 940583178 524329022 123222442 772894290 458674904 366408960 938127408 833058990 332131780 992666546 920681012 122046160 595351540 129479584 694747754 790690352 250045316 421745068 527286432 866029980 441159480 316349452 539399012 749990990 382170354 566400760 877573956 488486428 450665712 604020896 799770404 260528644 869524012 626319438 415765928 342198794 148464602 941345536 77517254 801216496 478267304 721534814 146023888 311324176 238844058 205816954 272959996 104547502 591249922 95226292 482991692 814061784 852346262 19329454 283006404 836198034 631374612 217809238 701508040 68624690 883250244 117850834 103316296 249313302 715942104 974437404 527638930 680157554 300758032 459682016 844542004 317453818 247399902 711169532 988892584 398846494 920966740 205460112 982943132 662115056 84558580 494652420 180381224 764062604 592977068 789776966 612897256 94721216 156306286 903128834 692261722 389800410 441660048 107343164 331244854 793012114 151144514 239697622 328695886 898983986 420655980 278651708 233914386 802495148 924578780 499594252 933105694 476628262 553031734 489204242 735220376 529653024 407386372 405903028 981758792 813263376 89367032 164165438 691135126 128159956 85976540 896992954 736072336 375846574 330590934 140426770 509819296 203276446 788435516 771663898 380431674 458927496 455181108 903232558 121745922 536732190 883753844 14993924 458497272 442301274 307117868 560631508 60302020 443105134 12038988 346475118 871949528 695664830 665271590 319463820 766096532 554691446 170280426 379427886 614945992 75292608 21184260 152243424 858130588 406490192 96059652 655706542 244697516 260585976 138163652 874536644 907332340 322219542 184150852 686840904 52993450 16336782 642294514 324020076 170630510 252357056 927834512 474655054 327395984 700054078 523689756 865861538 220977744 892730306 237203912 145164644 381951996 291388236 80932336 277126132 972052886 189615600 397871292 926147820 40041586 982749046 301644726 258696990 503217562 524472506 127466284 88430604 316561008 83430376 85001510 57719918 860668752 446939236 32670278 542913410 535626764 236793996 386357450 36589010 111133718 265854408 404813410 639206838 849870270 946938794 768751198 800753882 795431288 887222150 371753660 860268118 208452554 615445046 624274814 592136640 137190472 841669000 435530558 528641610 571865174 231768558 130189404 398091338 128110686 539217638 587413540 444973760 306032992 672749780 532430346 550627396 640214160 90031434 391356664 440404998 38564530 549929800 689475452 643132080 466050632 250030052 541349852 623268608 804553034 359143714 102928448 543772076 296480616 85582064 381967574 790666604 665943268 371062058 543743158 21033168 999212926 879266272 441671460 44123932 592195776 812310406 354887192 964834472 447648438 671338170 3316752 841090748 409587776 283807806 334145424 648733924 830889574 173619506 502605292 720394816 463964162 6509132 397589898 48798088 989876582 738149498 397487192 535256686 495094572 442451094 103411018 751004896 284006262 994283592 702182700 380788130 472647488 651319122 21910324 56604192 488294434 215390594 349317714 402729896 260863812 339687994 236574736 742505482 311747220 703069084 610837906 32306842 159443980 413973120 346742226 999466332 461996258 982260384 15122954 780680958 188044210 953448662 673396730 260118770 592237052 432040184 236674402 215272474 26385058 274712910 884088874 357642508 365791746 988516558 128651498 925964150 643234696 166846398 625615848 174138768 633129488 167271726 47069206 328270408 930409278 300106198 268478620 771371714 284182560 815496256 468971952 93338578 354768550 720608884 390210838 363583728 283917860 854629062 287468192 417571046 793681418 231056702 502090352 173013810 372421916 60038730 507196948 177486854 954669308 578606054 768149460 656512940 473149504 828293332 873479454 47485152 840695014 695439172 98589116 486601682 628039198 525840042 608763430 802081184 146669442 770761328 706593788 545480912 928097314 272320914 238296386 826075502 184653868 373303268 240285676 138762502 263196142 381867262 408311454 844614778 19116132 908727920 715451340 282991998 200060534 792045210 527368046 410856860 278352904 764679842 516261388 349412844 974836172 527258802 696031758 621226094 292767322 50916296 965680810 271771488 42872412 615270610 539684184 529590678 907312426 585929326 311984634 727832968 8639762 627561932 79651658 716003584 479090812 21101772 166131544 979736126 145854044 267235114 650871144 221983594 327934882 425663304 999077440 740251582 386680826 85266698 210894570 331823680 938325846 666901840 887753498 437170042 289105180 706507180 74347058 101252548 86374560 220672622 765562430 752905550 241904592 736775820 734573014 625479104 76149958 623670598 232159090 863733900 270713900 842330734 593568626 983386586 333250952 193320436 625926942 147917902 40512782 994390302 332845580 643513308 71452556 668025706 87525110 936923732 284607690 70389102 422069592 876085182 380121300 125942970 909091420 854752622 441276652 714731004 393504968 196206184 894278582 429415572 141589802 920851134 96533826 762074636 259765618 320194042 598721968 816192086 709104038 191507270 286642716 38678364 190361188 658970522 622588784 290170998 196695050 133343524 620354200 835609472 100603204 961275154 577168202 911336692 978409606 380282938 882039134 600103610 597429262 8163546 568285164 808267072 908395724 936233820 584003874 248222086 170364932 603216618 945584864 267503724 222012336 876871948 728907562 484839254 157365414 865034502 810114264 988218180 216834898 589888676 556448374 806610560 5955558 531292368 901837248 326045570 673730750 609448476 314229490 251123542 843648378 947717164 551034832 428139840 938413778 968642002 200128834 914244812 560002618 468826486 891201672 45786932 376476088 706424718 355288032 549303338 888110256 855926572 77531700 303932386 139870146 325065688 531490838 191178404 148537650 484978642 152900164 966199724 27239924 473661350 421346986 302718996 448463954 947465848 977575924 464015550 89582720 831200890 264353600 910658290 7103200 36426068 84952992 102792614 473886552 979374526 199351856 689739406 455523224 392268494 498044886 815295382 601147202 783261574 284081730 373770340 262581904 262712324 440767508 778360190 7594472 236540388 155935248 612535594 655969850 984722756 838271886 850664368 363659728 890032206 200409452 320067646 322570868 937265642 22112070 806125862 903319092 715108408 247227754 286843292 263681964 161835912 589337594 636007890 465058106 275064644 682340246 943290588 294529218 727140422 576085996 244818032 933679820 475287284 617001772 755323860 454862282 172452840 118992276 279095238 112979560 62861162 42650818 554442910 824564928 242158454 995500168 595282612 769035964 330729442 949848568 302145348 321672738 969899654 380165046 219809340 822376022 735465486 437706514 47705820 95537072 842154382 158019480 457363668 918899070 244161270 148851686 868283214 873654712 970386644 132362104 863801476 43947326 409203412 889522550 921387586 172405386 240444276 392742650 420146764 724204148 788082220 638863770 179254712 136407220 662284534 293023626 982969844 501123328 786875422 620591000 919747996 813671316 858575048 366359022 708192732 418929732 573127168 209860680 972132842 828157090 907572752 65653526 533806542 662640388 363626882 681773260 567574166 658912274 758112094 952293210 585542636 146652348 422584892 917986908 345643326 491231584 497944542 910561398 738130998 535623910 685843298 176743268 553733458 259438934 449062130 611163338 940977716 952077764 585461772 876915506 415036870 631416996 558836756 134530654 895248758 646686142 705334992 381952076 742153816 305176532 919199784 309033968 67326390 569076042 748080056 491338196 414655106 423927294 889787736 274865830 763814222 168432704 772293548 77194292 599650778 304532420 692178144 33021284 168457230 219405064 145602012 361001104 200227846 973105842 289085490 703311984 78360782 510319562 990955536 195450434 286352176 444746922 941873006 190742242 156827464 946801834 59929306 486901128 935050022 998767568 987789790 289677202 335040754 30218308 641980516 441539758 417282160 344141746 584600198 260482746 109929470 571041554 421673742 261787054 188995220 935720664 383695512 241282100 71771138 188893266 528582576 537366550 493366270 478320314 281315136 702825336 465747770 805104674 55536242 317628138 884276920 277965562 784015942 793938816 678767652 639035836 797347546 582769816 590895010 33101446 255109376 100930884 806274582 417576342 149755718 295847014 92416148 482908856 842873550 63557818 275542128 276305786 663459158 836929214 604512908 512714224 277189988 108169332 511629598 689206112 803732052 792264926 63321766 613680646 511406682 597719368 695117548 569469016 951888244 518865968 351748362 667206498 426746290 6165424 509396114 459621020 998975278 143544482 244620718 56958000 336634428 280847284 447157784 822143924 247852538 499903602 263518870 381194230 723577078 734571538 816856102 164485384 152666272 406179346 59019384 557815156 985548494 500977536 660866664 410514626 174161002 484575784 943584328 732937586 496799560 640869192 994968438 667383620 794091948 394072412 316364354 803577424 109045922 494447822 158366520 968435890 968417268 346724000 236312870 378641762 578085780 552968274 336001800 275124240 12478528 456644386 68624934 114434256 957591238 781230118 7554136 118468520 187691588 774173072 986161000 896275472 367346374 203179216 727942682 121918338 705182552 793757826 223803962 639010894 580020864 50373912 644389888 345374830 274098078 434964 286121646 900391284 740234956 900539438 24455902 316486546 26732488 280975420 239427972 128102850 655545952 363610706 406460272 494759886 225817988 498898690 669521256 703720324 503489160 999705872 565701696 626314472 656646642 772389454 967153944 687450444 102455864 19920754 203885666 306653138 848505138 605660356 191932890 688430596 628660146 425227342 511438912 675253352 80825142 988228972 63600694 875802104 746794686 157243742 331989630 339310206 581447006 2091440 777445064 906414824 644936 948337908 710933692 965658116 150600574 303208746 348852600 43196248 276947662 909725944 401342434 160786706 520253066 338950212 296615970 345154386 655124320 802288672 356849800 29431782 887652800 975498412 750575064 38648360 743293432 617804698 960227442 320869022 711753108 46352118 156272752 14641294 612112866 367987832 616408244 641210742 619003360 409579684 627890258 486812828 941492714 458005178 188300290 132478724 178164658 114915298 992329808 752881150 489948888 169874778 796945262 578897622 145512476 923155896 244588738 837875944 446810034 823028860 126918152 726860114 728961514 989831656 810436048 246736428 439061302 667818760 532243180 748880658 317035548 287939028 617371966 304168492 319168838 476520860 844880150 870008390 491000130 583489964 701044754 390173648 119406444 521286158 66983794 883301098 603818054 815314750 320997724 4191406 832083354 320253286 627440660 785463054 489577100 188121436 428160942 958504822 756474312 731383084 827298584 375414954 631450722 755492610 716147944 649405712 766898070 359158138 456284238 516479140 541866996 366443862 697353142 117646858 76294748 377301550 964671034 428502148 238565554 136692434 261647752 990564474 680576978 557205362 988365030 553648208 126847880 418301464 150607282 164504436 891654506 239558276 132930922 830056782 570441610 906220616 655284396 908046874 122655384 419726838 124107984 541504816 433876964 609722370 672373160 562179276 725160942 298744156 126935534 267043068 33067540 985664188 139702718 888890632 20809902 709886926 339798472 65941680 363637468 28882722 384647376 728617360 824432060 24016412 234663804 45195966 460305184 551437322 148203738 621324124 76929226 238232150 6293918 731461838 518949084 204488384 885628740 883063034 87268806 761015688 200872602 452676852 451505370 805691072 321699462 610019016 62291224 784293500 820650972 610773920 759906778 311163696 361467278 483916476 751797398 591781018 68835966 983436832 97322120 332314006 556159342 711096266 318309214 196109672 723782726 769227404 336723878 946961238 963608256 294404044 325350026 758669956 951391366 874085008 342653268 428388810 513533462 881411044 296354176 953236954 225243776 708022012 913608100 177455906 495505642 67956434 15085586 261876398 774483404 518299012 810712948 934701170 391269612 410731226 505621820 627156944 637215932 552917030 102137824 162971272 97512702 888151652 369044386 572156416 998247502 367202400 266324426 796309246 27858778 756237654 758576190 714944310 597090812 764754568 640275962 475560868 241142018 422036592 454070670 351897816 80394908 949075736 772634940 337162400 179425838 485564304 365555798 190463168 18932116 308677798 418599962 91442308 398985934 761903348 790058602 842016632 149427788 285391868 776491340 38772276 924175046 244746874 70639416 69669022 919281500 427982372 599456528 993970982 780705034 865334742 364819206 490071406 812927882 901192478 532271132 890285630 739682702 707846934 541808222 912040256 130142528 78554590 787318180 42001256 490364364 837475760 653344016 315969986 337709880 82664 519900462 177083404 52583864 818902394 284038806 555884072 72459284 505456466 112195324 308817608 43466036 85815448 90533366 933731316 623144478 310104174 648614654 853886716 913165222 916993570 460149052 53001924 616570882 701376368 109937494 440473970 277025190 126898182 951520926 286723286 524323672 749687448 194311112 204824342 470524196 225985072 958893632 920048680 750941940 645394184 730587066 872745898 522876318 91374114 128604572 159538038 729282240 45589376 912781580 636532072 141130206 909054492 526565074 372744336 372996682 39757126 393205464 591899374 925949692 257042030 508747940 602599660 848143340 80683254 360034376 786517952 284323800 668350088 575838390 547396856 977871666 904091402 83838542 545898808 370317418 452693304 701798776 774254856 628420306 336381990 116890136 736255012 37849732 687572438 895545256 302078032 127410792 796582868 413915828 682250976 876914210 667723526 579545592 690824118 764003520 62819534 55997500 949605244 730625888 893676854 693736400 710898174 657138286 636186896 430254552 630006290 872257768 160285514 332255046 76391042 240368888 159810606 484817916 166500240 227443938 329209648 357032480 454168630 720082810 750659150 315783446 550097578 970253532 79453588 322942470 699475470 531971966 441029422 977573812 568384080 35504452 841671148 427410070 392453892 913118774 172159028 702827850 4773848 535356398 496870522 316475590 357385830 638993300 491019660 256753226 837574670 39754148 666421690 198810166 828337856 889337670 720304192 20345998 512914216 449405312 439008586 879255056 990394736 800588128 946833046 522370356 268618458 769861424 778089346 901347542 581913938 368629962 857206252 708039276 619999386 546055710 865843004 654020170 903986126 356314820 484164392 113399678 184212950 792098072 953557452 652719512 49127700 142922320 61955666 181212668 531244382 351632698 703144350 585462532 737070764 920725268 868960736 564545042 111004280 575125026 474495594 733985574 241191258 567758062 580127654 151789838 342792054 298513654 579975924 371786036 294971838 773754128 954192890 780185370 268869858 641166410 479548166 325228930 48057664 526218418 397015024 893052856 193128388 696990576 753497800 80561766 204916350 638713450 843296512 250740250 706316958 257197716 927762012 653721516 188754752 747550758 522449808 358150656 712648348 602248510 361402770 680533786 767730640 165366874 516360662 405599204 698455500 259373506 536282314 702624800 438783812 372713350 524978330 742624064 566489396 52364814 452177512 707363948 392928190 646950434 940773214 265461460 458142696 236090042 811702412 154418842 927648744 997303534 42587092 172305414 576038660 448913822 934981782 380163374 354771970 80440548 243423226 788097724 850617384 204025856 187318128 550911810 856681458 936701974 121705438 986799510 111483040 650453700 679654998 806365390 836006776 950049312 404624328 122844158 309641066 245273146 959823706 979512162 319447604 127030950 762955190 521182866 38916484 790219940 440416330 957266444 180316978 496030530 881958854 594230062 101667846 471267070 825922364 835527742 702389220 49072398 514361980 814134348 732410502 894249718 451422756 942133572 97416244 358569832 139697940 107151048 584857478 202118534 621620494 189942844 405722582 640331148 229903904 38240866 87928990 528352520 521452436 797157158 923203936 873165542 687065682 129611094 728568642 463827560 330002434 77469484 25458026 765477652 914837554 29737874 722831216 662442832 344199140 767454722 781642590 206257894 660246890 783994620 728933156 900697958 103443878 286744834 626062746 865816368 174731200 426665774 723066204 96460960 566776518 38393866 800192020 355251982 171739478 767584708 386712420 408874616 459933794 329887376 785167074 300863840 609211752 244177044 808829368 66434160 987794774 295588164 945857466 902750400 804980246 219576728 386166382 463511236 298766570 309065438 494529638 822770936 140269004 886723382 881146504 4154472 827788068 473033738 443390744 72039434 213447310 934923220 81892082 319209478 794036438 720633054 256216618 813152760 441026356 852290236 909798724 284022436 734348092 744756034 463284310 273512444 805749146 601211620 647067050 244824448 287371330 40425126 833148126 73839402 711228152 956914550 474364494 876018176 1671936 741235052 777867232 50949272 222217294 340963568 499466098 597539250 126673042 808250084 717173198 866637152 125834988 671742596 304698788 298853828 102229470 586754104 277128662 244449098 868597348 64064034 617479380 716308910 626773308 216622722 983510066 136844800 671745258 680460840 61828532 387516728 379840130 827999044 327288888 194064800 126900500 978776648 291708038 118569670 605346452 718915062 619413640 187088190 197232344 928392394 293966460 729649724 655815118 564758080 228795308 444801858 672170318 842633292 444086872 732482524 71720258 915739146 930380726 256480718 294701184 170395692 665975070 448522586 297003176 928702860 659129526 746631394 674583710 275401426 786368134 558722558 508194120 739177038 718398740 410132498 268712186 868365182 539088820 751890462 883302364 643061268 177817658 249134184 43451006 711271778 45840346 806756274 144357234 685046544 430212424 151438306 529937030 935677484 76305118 213392352 556260334 248700280 867816552 859522584 592261910 803260612 892532606 458570748 256001984 448439958 466260836 612716088 431442356 973887068 452638220 102453694 640478424 174081000 299697768 790564048 157497982 984374964 203165818 591601832 704526696 641842314 562380232 128272886 594337510 325968972 158953980 12547086 332010686 710737256 665241274 149747554 803161002 178446802 908058364 72505352 84586334 252728562 213646224 572513886 676334136 496456758 243903508 277362572 52381450 986285118 95951286 397344958 935022784 704951896 32715178 773107824 886224278 323709834 686472968 3941516 194903978 901524668 721787182 586192180 35777858 974008274 639678566 181921138 439210198 730457774 328653130 871905188 291462528 999314974 968009828 413423532 712623202 203055978 216917792 284476148 347476850 268268124 468303910 252912680 518192532 874740684 260901940 559794002 544909216 15090014 923544098 682426664 443135260 678443234 609243980 588268416 190545942 99891516 890363494 794116500 923363816 468373470 635652312 234592684 182197364 835366014 898316510 18362932 982238264 43322430 79048904 437724782 919529712 540553820 347246106 376532566 420447210 645143668 586673536 95023368 917895660 615689830 413583698 152030418 701382298 301121758 446537564 81037120 480912112 257135070 242636648 465262798 885878420 926001854 868350338 713348454 431150134 662358396 492660574 65171608 72775304 211724318 35312188 105341888 38791478 390471362 110498078 471862080 774470800 106608404 915460642 427960480 93414910 742826392 123744726 631690970 554108572 653799190 844383008 8362100 581554240 469172116 158585222 432553480 255281184 119409314 481762322 883484632 43294930 465858920 727074408 634747400 948686414 152135990 237243752 150913508 894214512 513942692 652298980 396565610 966246690 920297338 441697086 340507640 98635976 556061134 136484094 687078582 134294910 857600070 954681686 607204782 138908716 174294940 638902172 15069614 485839264 218749920 425799976 104514876 311448914 799098780 936072258 101935626 765672854 398462866 728013158 479989054 19657012 137072390 266722894 688673490 218921470 129220594 198149330 634227284 322859544 596584632 788952222 694970114 167362606 530986084 760433192 207297578 924519494 604585100 95992352 709436380 679781236 67155286 59912862 900782716 54159094 439145164 264346674 686786198 452965762 454717420 305820718 606214490 658301068 474553120 164568362 744349224 211390406 307761498 723912330 810172028 833370004 666636408 270232394 79656736 391679542 894590264 947383854 620887212 349770952 892247728 909511660 826732602 505084236 841823298 23819916 115633088 272749628 262977078 291646200 132810512 382707004 977234714 427329800 217600896 327046416 221240274 64826754 83383208 949236992 826649098 285253640 757225878 597008384 679630286 308984534 590896632 8090026 680576678 172186868 453440596 318472010 303529500 549327210 265943734 179506550 248026560 768566508 153851832 202786770 449817210 464813976 736194792 583844890 814959754 485588174 27639456 148165440 977794348 294953808 943577964 94148728 37340718 497157020 633555282 19667952 337953172 751026722 610891452 195106148 833961852 618086702 370398500 335982270 487971154 990773662 383432248 61983340 316296000 1720664 874971946 859147792 425098596 573465318 537183426 883231836 143700770 733118156 490770118 290707246 507600756 801049958 357726086 481670832 65861600 513497440 726173004 279845512 79869590 891699194 901277922 64698274 233458674 633558192 13285968 307010522 927051724 515409898 862585884 502658318 35069868 200866218 87661064 572307972 582746292 767502278 222114762 623686770 940327720 336194404 188645582 848312964 106872 597129782 515434574 639137820 225018936 771574338 531916222 578383390 329107270 178529460 607245438 749857118 171248212 73264724 7694664 686421258 433295078 632535994 223862806 646911758 310182678 929527524 381960210 206434150 288117574 396988308 858870736 221710792 570865306 291381434 225447948 695143856 514163676 772937620 868677958 847493536 426751272 662336798 301046316 426152422 343472464 830672036 217743898 327621172 271256716 903934230 140258556 246364080 936900768 834081588 782259260 647495294 386975864 686013812 656434358 877905632 821833204 470397332 195602108 212524944 153297038 100415146 804762450 168357466 41835742 217187546 884030182 417702068 372792942 215943300 396969332 67110524 23701022 497799254 266742426 551358986 409661948 220435982 950018282 439712490 210588098 353817532 374174948 707402690 686797080 618668742 959057758 964963386 687670458 479018484 872040344 224403884 410711440 886267404 835432440 325454552 780520230 746274678 580034898 382131284 971482116 817855176 883610100 581657834 652189296 114195788 389632478 758326680 194529636 215853674 861622482 184757184 842648800 650367696 525419006 840258856 542980996 214503402 31928372 62979716 36444580 473714930 71408692 71675912 66869200 857489228 63510696 800071846 124678128 90474392 402427020 220615570 738963584 297909154 966128788 943404224 671176102 873613566 623651660 749056376 57542446 590063718 629586008 608041124 606511330 403169406 285865842 786013054 313413066 792896248 106284906 715949024 976266502 255619676 73908610 255829804 408085708 31773868 35488148 92092060 200912468 158748508 20274332 621824148 996541150 179465856 460077210 692801200 592696268 359430792 389530196 786921040 814632506 101096376 653725176 76812892 775968094 651216746 22252764 100397252 237406010 799630652 442762594 24853564 134613156 461540950 772535944 733633430 187152810 693747366 385684702 647080184 675371714 478784228 29976406 720356328 478230820 645492668 659744648 575197458 989394884 896809152 223731930 437936494 498939054 6477108 434156520 233709352 900346464 889988100 575039312 873186198 403251400 296136180 990315350 609621094 617493292 193298554 77367294 786625602 282000546 114073004 488285740 76408718 613709388 841196618 451225238 309855596 560876290 961028872 274259144 71552546 51295038 726627182 227629702 511352722 952110066 454376342 443903570 509259196 595598300 677134406 932987102 911757098 596449572 850013340 845475480 548653912 369896804 432198580 710118520 368428770 873589406 11700500 328114924 423115788 538341450 309844298 294909278 444301938 599825564 215624940 265264188 374479066 109667084 662590308 319112220 631724798 431522392 201599238 252732320 402231706 8278712 132919490 177386868 352143154 440577812 221708006 196257624 705926 512262862 725249316 689427190 982887436 650732352 125864312 220561534 695316576 490026962 958039264 721087444 109153610 444028226 982556452 726140446 563676552 226559470 113870144 855076030 846289398 784965384 921061472 360171596 862911230 882700040 473829554 22637380 489407414 111519342 467668424 917513338 96449420 928760694 799163040 107847214 651984580 235747112 365046648 640672898 906323934 883504446 571858264 699484424 149614808 521858048 425460498 930220792 757384230 131098096 825304558 824058880 47835634 322914228 321197836 67400538 296797540 222343756 815288440 920683870 752893418 369031030 850663194 306390676 584197896 582005946 22928358 777342644 993507126 373808282 448960548 550580222 873696940 345428986 414927760 768139824 779472098 132566696 979301378 933363608 64171340 973416404 117441118 360941208 213696548 357410660 719075160 250711504 873707592 287029616 817245506 272527628 222728900 983312702 666873828 563616420 122891652 480737722 820190962 497343786 158293264 130768160 884196306 53180458 392778494 782640870 999626150 184964938 118954560 591079872 691661838 308881626 227545306 857442000 793187938 266554876 210110178 65689736 499297564 652693462 312020246 530392034 526477302 28497734 910029252 310641160 24305748 434854376 715188326 860534026 357563524 55520770 346538456 154587588 369455756 872950146 16086032 647731982 965941072 243563420 300057418 293713506 206567650 873104870 299583642 72782950 320977568 939002674 599393884 206565060 461381864 828427556 909035644 13667258 263112150 99287710 492856890 97241798 852114760 110699572 33211564 307512274 915326044 412749636 907348088 329674414 944515296 639148336 387060506 553474698 471181380 984053566 370693242 470468372 791908690 643369128 653927124 557529594 688726184 923936162 838900858 231815612 401652468 145406832 805854074 244880516 954577222 703695354 78568850 113896160 481584968 756058154 796855940 515603366 25387558 425143548 286860682 399833536 452339756 566157470 655259996 174191192 741859084 322467156 634670414 619131312 134747746 787806392 358646784 895486048 472925130 777984330 987227342 800949964 966877440 291091260 822396194 473831468 927437896 453267962 615478674 929144452 830865800 276724628 948241560 68077652 800306118 204429426 706994610 977885144 41231234 322162260 777345628 478692098 946129422 241621900 167530736 878173566 660589178 26161778 115064366 487124396 58891172 943328902 578871682 276177300 574150018 599218898 608209554 691492724 581425406 79438434 337145986 149297628 398380002 304695434 793270204 146856742 693948168 155943258 916138208 278499180 260651910 148131132 359904454 190911300 429708694 837430272 700594194 94560936 218803318 406267370 49331286 875885510 681282878 67650644 992454894 202314594 453040476 406650788 218717508 760596000 402825810 577144018 145463192 546919668 111667998 8520530 634107566 131805556 52058134 431014082 82622752 631980268 365939790 673803428 751990994 621425794 993921062 685182526 180570928 139772558 829524400 468110360 466921224 502515260 876911746 358754836 930784266 62622922 199186588 504181768 66498664 965378830 250194054 947432358 686560054 780889866 799336048 648893724 632580978 945847050 598947272 754420952 944737406 390418782 767317336 642075408 98488458 566731012 853457976 811098862 456172882 394229062 478959376 463135348 418471554 75139660 507694704 911070210 361444650 346284560 410838756 462716280 488889222 607021720 538965576 540607294 486130352 108267114 495834308 781505786 269345038 963936484 661087912 232056714 480558662 796755552 363182364 601997788 399887212 713131406 192583392 927289424 48264092 96074432 888037652 483455448 318181060 330153690 29137352 402448976 823545444 655331150 226980548 23011684 503923294 507526552 535816950 513853116 634928890 995051682 189469446 163726630 882397924 456465352 827118900 209054072 465665970 739638868 216948152 541154402 392329398 746554110 269999330 447080816 946356784 599866630 976556622 279735774 209470402 768587500 710719568 282476898 771824682 826906406 389409146 647591578 445826070 782658274 753815812 856322316 785909322 217873132 425853650 836562728 797761652 441356080 778938326 68802796 761480940 28095924 50545712 980078570 216979842 725770412 606666114 993946594 909138790 538937624 166980408 616142060 392026402 590311834 114917092 642589952 403345814 204593582 377343106 199658838 214693482 821685566 661305568 215144858 155685266 716272728 823356390 421746856 144062852 530978750 728065420 86617136 70416090 102615476 936733820 290761618 282506802 659154366 524579060 671459672 565922468 812207476 866149254 886603138 844995988 921465690 286918008 209045250 110902276 212423944 776549578 385708422 370013044 786352016 228349362 745105356 133354530 133031904 51177846 787077492 836106864 610929184 75510636 660570218 208744096 327383178 20432780 335135554 296556008 641155484 440285218 690440604 745747274 658682472 931383636 26931086 245021968 680770904 599935380 985206212 301067704 148248002 784388594 658083986 805878818 842564764 74255338 314048634 566942014 337385350 812329546 889668836 47867930 858168306 609294788 898014306 636009040 734127310 910853456 342847086 7335710 756032720 245542662 836343078 635708262 203534708 836229536 372020402 897791568 17498144 76246762 867211188 113237652 224688964 677813426 703458990 750410958 227548488 829692742 139924606 686094074 259291024 536726044 932351670 487326930 44591874 835249824 122479650 398826344 884630870 534154078 619725102 26646354 937678738 54676940 388249814 197920524 694905560 487654414 379452382 990727054 800479168 524354416 141246432 228449282 956907212 276734486 69328838 346285448 694166324 396195556 824971186 783116882 699718992 8301824 779294088 683039744 125446606 531911702 817568502 412533942 197959306 455584480 226027614 253991516 855790018 142411916 706569798 779593462 271534868 953151952 863996606 827393124 394059470 237327164 985726308 854060220 122557698 517132262 529502330 986046310 775506968 437507662 396271968 10587192 307839670 874359018 248497246 237223194 174514898 623293500 763375002 231675616 25604894 714579002 577702720 859235008 857271134 840426322 709205724 599980044 989026076 757988210 269469532 332135498 219189270 57297900 55844244 743106598 629604604 37410866 668913426 94256380 31772496 365115964 522173028 402471286 31303484 470117464 645633884 287733952 571112146 430919442 923499612 875718482 406343748 190675094 282169036 241860816 757719620 172325742 235607672 49258814 286710510 950292996 624493624 876787630 713704044 352547802 156975556 876123014 509041808 578194354 494778796 942859688 707366954 171770108 116294022 64237250 661611914 64519204 730152646 151562052 891497110 107957452 180972 235339240 737867420 855224196 851555020 121420666 19579040 899399252 735572822 436348440 58270782 428975140 924240368 831177594 299022264 509633136 15650226 373294072 721640066 987392246 120282732 913966372 390214286 550432574 621835832 840788102 111080568 950415678 310184096 75979488 534509784 882606606 404400356 351981380 667734784 657260176 299636676 669526626 11152742 723774222 854848752 485222840 548328320 19554400 682676614 692693662 40244926 160323478 612875166 16062962 508041210 751902816 281049466 964123190 640271760 642614430 606945094 896981614 927541098 732052642 276535862 579758790 224668166 101822158 699619090 934025844 52079384 807973270 565323228 681878686 677912354 406251722 299343714 630979932 172628820 729997972 167201454 309815814 972278552 15903064 25675710 959755920 840225554 508939238 970865820 748909588 705727466 986102758 981131002 341789090 985828330 423903896 665127560 864241040 4097188 44979730 643961768 476136892 596707288 964665532 414547648 707892650 386987502 923592998 54438858 33428696 75133098 510588310 288879194 16139984 683126570 122684168 319099428 888899796 867801338 496736816 541535536 762910764 92540224 13442410 469734138 852589538 37339206 974905002 352999306 930910888 341030018 640624982 180113930 779891382 195200740 344586078 289287658 713789184 986787866 377910534 613395626 737646974 301388386 299221294 538405280 386964612 184078604 88809964 122704436 251890256 440040878 443181456 616760328 189759270 712454252 43437764 411631318 279670614 546532088 295208272 741350354 588951786 746528622 813192862 288989492 671705838 23855730 211161442 847353106 113932490 480270280 796580774 168092822 759647290 912206772 134459878 957919288 855459028 199060312 578610646 851632522 267109236 521500894 356013548 683639626 187120268 264023306 825502770 174730900 472143794 93379584 815273488 431889772 822675016 273392622 601176070 667852242 709887556 90323960 29511226 739328244 894040962 231666928 600900686 328495434 843421880 73946482 27515660 903654228 24327590 354974690 441117082 956122092 585222450 693816882 19538870 692681498 282893398 505708948 818822422 40955570 514060316 512726700 900936498 495351026 99839844 100116774 358832126 255497892 534176660 56673896 628380974 448540038 210708678 67381700 826806402 447392656 141001766 974757202 671789740 116038760 47323232 911786408 877441558 173250416 229499944 396496814 523383238 991476932 574430118 524926302 422832632 779855056 493446796 6990022 855328396 599588430 425212404 279653864 214432428 750164192 132062718 393437244 861918470 383964556 312995020 916629570 593800520 962564380 565989010 509254630 948563250 164872376 638052740 957321776 25225130 923552704 93714308 323019008 559676360 554231796 212597446 401549874 56854644 910891250 975169940 868897870 292263730 826345968 642333240 99728608 710609868 206791736 990893674 298865256 712633090 110602840 12133170 42145942 310200828 280784706 45986522 150991474 976618806 554284640 188531068 119789192 172470606 148240324 95093530 845953704 638520290 759417656 271925980 628253374 335789316 489683206 175578904 127244528 908234250 343420046 814051556 800931438 619981628 72789938 201887158 144822814 562764540 731556970 851463732 136759700 942540534 584839444 343075272 206824804 21443810 404659180 554343028 512725080 870273080 135543104 641550092 957127236 891433908 920068656 46157850 585499742 564275574 236291334 786461860 337521226 353140458 789027174 43658624 798843580 640282406 598875996 798661226 681026510 354121788 46327204 540702260 154777714 867631174 699965732 67401340 466327450 834021594 318750158 385829914 760800562 911998092 577383188 403143590 354756988 61083882 322297620 466648958 7749268 929948570 609122086 15687454 185989984 305144208 801632440 735110288 783621058 407420312 883487450 47667510 410953940 765350498 939440638 689326284 165527232 892108828 640004270 466984034 179506944 476944716 662187446 417417882 78768308 5277646 139039974 765933850 581048650 684125406 751134256 571233548 423592598 249546114 220287896 391503518 80787548 380986684 457008846 262866316 703277038 304682430 928341356 973143792 804728348 428651538 174551262 500198110 783321546 663762522 348755314 283185514 763096466 630443026 664247944 639177120 49509122 624010808 583714808 26884918 76568114 677420396 509383444 27738998 773252906 644894920 277896868 564335776 196733726 28607102 396646950 690140534 676844002 578809330 11916176 75176434 742918768 328598014 136254440 675684510 709226222 15377904 226473062 952948986 30805726 720771880 873771296 55189162 16265030 397471914 706393016 830154292 172826544 974717958 783252052 741039222 765044946 573998816 788780428 955063120 638806056 610777262 41170652 958690004 409473274 107520238 955549276 247154452 58493992 542991496 474986860 477570570 867667148 871898974 842646516 613468458 787633514 178277960 841219254 142181790 365436476 249386892 607608700 550512698 267547950 428836678 446480962 742860534 815664660 309591900 235437844 124999100 645065554 905218770 556441498 214563650 699990462 498023668 566903614 923555170 408251970 93424840 585881776 922933026 958937282 844125776 879111864 556374890 428503586 743292004 596343200 14087028 951578470 725973982 940592970 977393380 847923382 518329888 373280262 684762698 994218156 887136708 544109046 864901708 668551374 591750360 602123474 401404198 849442378 510274086 825069182 515254174 205181348 935992418 696497414 361326024 253630168 715070194 882419754 776472254 600468074 175940402 961858490 652260630 426066104 709484764 884857770 819207568 325797910 445007096 312446050 842017118 6285654 76532800 577391270 931245934 856854974 747946436 236135878 463207174 701707516 857395516 365710060 13244632 296645678 307686266 187554800 870181506 75161872 829397186 321020028 454498862 911227772 274962178 794363202 28359686 745764640 469596448 244144004 665552202 979928742 774802380 369424318 637257028 298161824 902485640 297651030 720709496 548538824 726691980 876434332 641629784 775394550 929119192 648601980 289946334 908026948 721564952 979337100 132759892 653178018 542829614 830784406 169970728 420112912 82769974 885582378 470656986 225046632 254547190 632637648 445657086 16909728 822371548 55838318 96101432 494759480 798449106 882338432 280415892 873022310 476430514 123883668 115296488 824402636 574643272 219135828 144243464 88348950 641635124 716332604 506575100 174258564 951086114 237334194 261537188 605374772 470355866 986466572 43596008 998593714 566171950 899893252 228287298 539910668 836026862 60722148 511088090 653050028 738680794 457675926 886224894 91560936 800209234 741602810 485623676 770292852 354937604 176036172 519119664 879658302 136429762 344243792 526136852 233905988 425053852 490370724 916834620 353093722 903711812 806725314 926939754 812548434 592920394 797100228 241549790 401157452 375781558 780682244 66426172 513545312 578606324 595462840 686684556 868062898 897476596 765497348 806532800 694665684 590656660 310459048 759328102 778117746 229008304 478958182 498148882 468538106 254542420 319128078 335408968 992361680 304799940 775966396 170534116 197562406 66180782 371337246 61109378 716831638 555164152 172127034 804204134 951171168 601398720 305535466 366505678 868839618 171381658 619115356 166470300 736675436 237141968 428698310 335871122 52587298 362019138 639288914 245187926 463409968 844885998 4982130 579726694 893782606 743800276 153113770 27588406 600028720 59588912 816166388 85929052 993521086 570557032 456838990 576117762 658566468 891105782 539124216 668108096 713312762 222317444 720013270 367612794 745327126 231006004 328978078 967575418 865636918 833467622 333057758 514480102 584133708 892242294 394277002 963834832 844735538 731898234 381356156 386651254 537566238 314390938 885545396 92777004 779214440 728284502 776771176 799139710 165139482 399179270 460056068 471713180 845641320 867852582 610081652 586789132 892009118 860383996 231949550 749084480 125182728 820460144 730570192 289762714 992390924 919691348 609282698 270663012 331911010 319139072 656176530 94150650 155787304 376738954 533883504 920411306 267707976 261027126 505023848 78178222 708882704 977521686 68423482 603965838 452665576 862304144 261146146 102647846 583655290 488820132 831656158 50884166 456299564 918574694 397512602 813840998 766622224 62126924 399008184 438770480 824566742 595659746 65574482 919424846 587497016 530552294 757582930 214696706 278669398 249797202 869971876 84736320 310214834 28397460 296376260 260201574 407612926 791585686 457825150 643292988 886761886 497890098 717383818 855739496 471569156 382425118 859126878 106800344 911186980 133316392 16652272 865416076 278613658 565899828 473475856 769471946 511825646 574803940 439910 501102870 278662720 675007932 312109654 418413262 766785252 927887264 77296858 997396380 707991660 354139536 6351590 784382268 771712966 848781944 418073468 845142094 863788378 68544472 32342694 791129918 597948578 46595036 610003122 319042778 731063820 29229628 396995878 391021574 96809892 502339896 576474208 164476022 187895440 11473540 895546220 90968288 762173020 144838130 601219658 766026226 423755446 234033032 865482616 123446286 183611430 582090166 344121126 167564152 733196988 75274140 733072544 147177874 900879712 645177152 734692044 308144528 444691200 921106058 639994762 988797216 966225998 538030882 351394636 111201062 561454790 558220800 634181064 179377676 334459680 938872218 491796746 139765750 14301414 68020682 605175386 393004888 712139780 594122818 978312638 889102950 506869284 492402002 946038690 872435614 544492226 640122260 240426314 914848696 583475696 546886600 446405328 164336710 133524438 381045120 312534706 519047756 42869110 112391274 510697744 891186540 857793142 345336000 261244248 301479436 950243212 454735274 98856226 893657718 392608568 974390250 580874954 150048442 595011160 442470362 917544140 211749652 835875502 294124002 646054120 181346782 155642876 736563326 921156310 91426102 973121686 425233938 39779806 738175616 898529896 88514500 282789870 33238024 168785944 520123224 197554466 910817192 970851632 669802060 934134142 36923822 838574184 556174724 16797722 702805698 930955486 821767554 982471144 942343402 906281722 212370194 470719820 590291050 443441886 72024250 742765468 283697482 790137806 814982728 898200554 433481582 914081652 766874910 177857258 300668634 576654274 680849742 264948580 42243264 984570026 990410024 867737272 313481174 615258028 19364308 284890046 983278510 851102724 109074992 957233142 981985264 921906624 495370656 935904248 830621518 270482684 601052846 625943290 583641042 942982292 904439302 717424334 849801996 869870412 248385750 139966424 96729306 346989980 791757080 673030720 98500092 381240546 546520950 219246442 200203398 150614706 894862210 634855748 269395562 643562882 187654840 280643390 676869284 610456544 815382982 121169406 245199522 477966174 785847032 198585378 871229358 400257172 76616056 376770156 587969250 726503278 490323674 403651034 242586672 946554426 199934432 991966920 755189856 978487860 44765538 906735710 838645646 981573628 33711764 679732106 929998536 827420978 902049106 801462378 620321558 18089452 834293574 457754398 579070808 426676262 892721228 495045280 892718074 950620774 604037134 646925526 299736974 197076146 811550874 642583192 235784658 880236316 920897366 469691222 585068646 33764424 14247942 796731602 718437752 599310340 615964382 558833406 250111072 418491190 864597372 574997952 203640156 68745046 696661412 92764494 109041058 597709674 563323006 644611082 991021996 663495592 476487184 816761698 948658730 412783424 213231458 999307592 504112056 762528946 549364290 192952918 125033692 54639312 383335748 606436658 899836428 469750584 51621740 54648348 37200594 903629480 836825322 43154228 647433800 171885702 388625558 44780432 183494606 728760884 296342486 720058006 912763962 129601166 228895448 977838998 671464008 898658546 29065748 192232402 494935454 801302202 318513684 191890368 636512412 804290880 100672866 233446884 332921328 779968484 763766228 108969412 426789420 295949408 132449708 583271652 816004974 47463704 96948020 37670338 51788988 508953244 297471368 638757310 698862326 954424996 442109138 340029832 703628164 719817816 835670542 187989686 304275158 378218370 890448814 364329462 367788814 517402344 209896778 599001786 216242120 570668996 236609266 755462408 940462382 52255206 415384870 153026942 967852276 234789022 908001834 721995904 471964506 697560018 827111396 256894976 743527794 569032218 281607840 366823908 271417526 28987690 602792194 266745908 785795956 177224340 818967754 435345246 733104478 63771834 409000004 126901924 857402954 118389002 89885420 690581432 236692318 619319032 879104152 771382278 352691846 910943958 789511622 968945924 559796610 5257338 631621434 588638656 112480174 936168790 480421028 568907474 613654600 487303088 845207498 918205920 188529636 194690646 616092558 63794298 531210628 403050728 528560134 439652786 128488744 660279044 719200020 908051408 188505526 849241328 448159206 781995028 964324402 961010368 717170942 197438974 620149026 230409138 900618378 560275786 84673316 133239696 858184634 291054584 676914010 640612038 60012514 360763188 461204868 607038402 951880046 348036616 808505024 164971728 165857948 21710226 874903846 605081798 493412940 184015132 871056038 175249106 565039882 829416310 681723002 428099288 443750554 534056004 480848186 519716380 717882076 257955668 998795034 275232332 411849018 843109014 946094000 612150520 536348904 497061238 449235232 41743612 764725314 644808322 647860794 442073812 847143336 115151402 925291992 804074070 877130344 1269438 181263460 114334236 542987604 364021340 865876606 164866204 533708438 59146994 762676890 138210938 152657158 782794694 909064390 523230036 163220924 12905024 435647910 551509824 689674148 566560880 244917406 401189762 597267402 375708464 564818366 428903836 486342880 363262364 788034646 176569304 941958608 681226432 270309626 537736976 675058780 719132672 566674712 320491666 905976600 481941476 552745404 96195874 372571314 577520554 306648006 796797148 383672370 177591434 290230232 414589330 294929258 467392696 209008616 357315712 726350640 69715266 932217206 605149042 863289856 969168238 261846068 26727892 969046260 571108906 735647182 563991814 82771484 613585836 335061120 907012570 154136824 101673404 131002744 335857322 533316122 663067680 499392862 135678338 871405838 487483052 51992554 833911258 868771210 939885340 816758144 528654086 207082722 215541230 431173374 513027496 768561666 872475854 5094120 829271050 580941622 246480290 465926332 567961764 217670358 956976016 227713596 970338678 856646590 270059404 393753752 952598044 450830814 958668844 354994438 648932476 143400094 766846434 629614640 819671358 843767166 587653132 608916046 275160142 834251298 607008262 34976744 837359526 231855856 721482100 271478930 732712968 813757600 410780390 457795044 925268044 367798770 863213738 141241420 176241746 414286750 652604592 149863222 956113990 703615382 930880694 338554944 703315352 899097204 206689846 350874114 857885116 226691372 401204940 746500998 371083476 857312738 927671674 646490390 323240952 261220786 67380432 102051378 375743786 538199034 859012610 948485494 861112998 935620144 378963396 757891512 836943778 468177916 390899880 641052156 750499164 539569186 477128760 328414142 19519688 282333164 552624762 337284276 624814418 678618062 989570100 573495422 624386334 432870176 401148132 908731218 233416844 696223294 114919624 690412788 193028648 755371046 537491058 6292808 856723134 758068278 694632030 771955526 487875662 180056578 986625454 241614678 684783878 936623676 219453216 440491376 509465992 711315952 429270820 383347186 734021898 21924326 702488496 614441800 248850406 787262568 358175764 399440884 371067322 361703424 984501122 164397296 801867450 226250758 761569686 571154164 823053462 739748468 914488250 583527992 767743218 5571288 95463072 818502904 66094652 141195992 585486980 81449106 723634442 686716430 205913820 300522370 330485848 342134792 890611622 499240924 876580572 146999008 785975018 678415202 600926700 668994100 175762056 877098818 954808066 445292134 865594758 984060060 154044700 47904206 625024754 954636644 642099986 656500726 9680736 578150012 153020916 505178116 867546656 202758164 517133092 110613910 426023232 426000932 933849810 258175708 10128782 8710476 561142762 289661348 33497598 91667524 347931546 192575740 632239486 104879456 843216070 749947880 212189626 932948178 641556290 445437340 500677938 674425424 123201922 369883188 191179694 266343730 826600376 826957380 680912954 28979896 128644742 232775870 835215526 313036728 50101382 15573062 405011916 903188014 272795786 717369174 532009956 402140144 947117182 334998852 463724734 693676244 325952436 963111012 414577896 346311732 30696340 981124152 60706228 831700600 232714892 146299126 447032334 10590746 489584412 822114576 553298764 443738372 752393852 362105040 600233370 88426416 484444662 635810962 168027206 432940574 230698510 927430060 932159438 793394736 265255408 772215632 431733566 272771458 469692046 13669256 821730502 128555016 44639038 901829596 652212000 67683682 379394814 420419450 973561684 678107630 743976056 804525040 71937348 338606246 893157892 711952006 148393150 353378964 253160026 492257856 434012406 444926066 963646602 221607434 866238156 671546398 478380262 36922550 729324022 51809484 631079182 750169246 661786758 253128810 755626742 250716022 853834090 673146978 648770530 231397248 972613812 5260972 191422246 790765718 221102432 419882890 378968746 173213724 393116780 501409270 146330584 924375896 390088544 720470208 923116038 421693246 221343994 100771292 340239922 529980786 404915184 552422966 91147332 657566198 724634518 489239352 436470792 735099148 211009662 220562802 239797456 167386584 138465780 657471294 608679060 996888378 471732896 908572122 799798026 36656468 992091206 606373184 942560824 848504194 454864916 382208920 982640390 602509178 513330900 70091680 545298428 445933390 933660616 359381400 799488040 230153602 35708386 143891880 115881450 5088722 65202020 667791624 557107364 82094484 191008018 415532762 993670092 934180108 652007904 145539320 555115518 989657900 336051414 814533842 770082066 299989440 464061356 84659078 493682792 267600922 212661556 181415482 504032164 856504462 354191406 141386968 695384518 857441564 354825932 345771144 835575464 738264668 490783514 571519328 829895948 673008700 597307124 49095262 493191622 81347086 618259632 801937698 371476600 371585076 566003224 379702838 178552844 894769036 446200454 491729658 653690204 435425186 37361592 819542118 990913364 37535130 111866160 755408952 96700722 245048784 330036110 563641392 813104510 192288294 106699464 828842228 750332872 204502298 538699374 444010578 714024172 986827678 134194970 962905610 859019222 817350674 482520266 215517922 899489242 895639456 187626088 563487754 871063672 227474088 927780382 243714848 351523782 109654264 384029818 83151704 797371388 39715588 886571026 743120730 679304894 794329048 642872088 86043460 166622046 53298350 801482204 137827848 420712274 366511558 188622418 344545434 509101520 865976832 477782788 640830546 464225552 612187948 639810656 204892356 964083892 820461230 344003936 277576416 286633074 733599468 493540442 931674068 517358612 739163410 247277390 226499926 445786854 357783042 96132944 592156382 157958260 837181262 483142450 570129382 458362414 409767752 392529662 269830398 360683218 84201566 835282164 644907824 793121942 537629632 286940498 113919814 260828270 519268136 606906730 700902360 447626066 75185278 238486670 841282214 373256278 863268116 341226128 628651488 130697868 623737570 763571814 778379680 6329842 184105036 42675256 723138682 818807818 406030888 151798264 774189038 657882636 28228414 336978318 613162212 447234072 13792402 112488616 127438768 754322148 790126394 72574954 689702654 496645610 380312366 379887212 841136864 863395638 206094010 674943716 429873106 949855492 341594734 580703072 748027616 740514198 58337674 257250270 497139876 771850774 546078632 55634672 475715522 97646146 898293958 683899908 98614138 952467570 142216512 984363982 587191460 669400830 145048302 942981198 984311448 414944096 380670272 281090538 641271786 217554062 294142902 580810438 808022380 398444382 551764648 308202578 309784840 919364686 691874786 292188398 151558662 782227288 92684230 902178762 235831682 74875080 431942688 326945304 887702262 509275288 429481634 281403684 89181428 459743380 479961842 523497728 555226232 29971276 914614902 610200620 298287660 974359900 66017408 353928842 3528792 681575798 672841676 718779984 346760978 952162590 145238842 161794682 121116256 368972880 982366890 749532148 985722990 419062686 113672082 124231580 482576412 873983310 577410750 145105230 270460756 853274814 862362126 511527402 3758438 73871764 251875174 422305078 963958162 699386260 455753614 991583456 839752254 350478268 233949454 777363026 727339722 287510730 850579160 282063144 812190122 669201402 440966738 443439462 483195862 674862016 153975406 130215090 751799858 893077660 455372574 855680738 573987686 162486116 797367626 662301572 958090016 166506548 164082354 838055158 463645898 389239266 50732570 336661872 621050126 279217370 486054840 222565280 527127268 97882538 729642708 194468902 462742250 479704750 294131556 308307474 900270874 189230790 281784862 242299936 468011788 985205440 114129010 217790192 835886808 84170312 74345128 414913706 539720920 32067904 619955656 496372852 992216818 939797808 707776034 940104100 54554576 654072212 807337592 723024696 959459250 805918348 574568768 881924226 903822860 844577450 911377104 728161972 308163516 514988936 239276270 461091426 390446786 278772114 751584956 445534134 778430122 152660720 423373518 755550380 535882112 644406240 500551804 673765380 643909964 811167092 103267504 541726354 183096616 827265574 893698392 697714110 204847676 754088510 571466458 137290894 430239216 627777438 804233558 203374002 383095204 684385302 267307890 260940060 473527978 438211162 312111710 153007534 678293284 61026864 688844118 391779142 30382348 976116122 877832622 960675864 527547794 708550686 44879058 378176762 259021234 466551742 111436852 647690338 863531620 68392358 392039698 451706938 785702872 181746728 603068886 596307988 424329064 923847420 830108080 58639364 842179990 88657106 327213178 862574108 263049452 18117464 775094152 451380202 218647448 789167272 98299610 501693506 19757506 922906588 365960918 757860440 722979702 237724026 128494064 197954278 453760888 398006104 839570454 762495300 972431024 529564632 905089308 881001202 836337398 193185362 149260326 261182430 660341500 596346856 804602908 633317046 105455022 920556244 557047846 807928356 444173806 83225674 870951774 103721444 667549076 167258808 778656700 362342612 496456686 75098278 308810982 795491064 861982012 362947784 293729520 576145418 117492016 735481416 372058372 937066118 626887654 753235358 474551152 625159270 893645898 872689026 526897954 854295108 383848592 65064706 99820408 233464420 186884274 458655304 398882472 136106346 13907314 862567804 121478786 560408368 42142556 355081862 481759804 577813562 229435500 455446520 334807952 724868422 212421874 924766202 240310760 908962316 216185248 132692934 146238340 153219284 993605972 31675632 390347720 776798102 243673628 517891036 898428444 932521514 913159832 736061894 410357676 770713228 671592542 520202352 962569568 200527264 789877466 767332322 343054974 77555136 590857620 875921048 17305212 443710452 418210386 336182554 576588790 15368776 967722606 35837110 464480024 731627048 651648004 86744856 201455098 726314954 375643508 357510018 897866892 28053750 430486534 582253896 895817334 276650508 810746016 863410688 893145118 61007952 359329018 773892072 74984448 240213250 162496472 813745282 220190096 541631880 199513094 650977118 629938816 96971558 387829554 969282950 642302428 856086076 81877618 268112190 469545042 459378612 609825066 860308016 789699000 545114314 781261500 86011894 417112086 905065036 213032764 834583998 714138434 456040938 518991370 806738480 267270514 823789408 410537012 432426934 268902834 745767800 829164416 661771034 848704970 651573624 880165894 952272674 937988206 604603346 729245586 954288012 209938322 384180686 182611396 622387190 14569372 109416452 834188666 761351898 121153022 756237890 930469638 109229092 117956688 258223952 527080692 709354682 978035568 912366080 668186430 781988064 358278712 544021868 882398834 18166564 828912786 719869164 300551588 856352432 651818510 575945354 828378160 728543438 920847972 307823914 440105870 159774526 602860248 683251502 469932368 783214174 513999400 298088350 387530438 886411666 333152116 403637588 970222528 632004746 522755970 348509700 322316990 869327696 760026134 853624236 624656240 507324914 210367256 951222504 957125426 617736172 984490822 115034544 129306750 498943692 202225174 418094044 313539318 650829770 220978920 908770088 238309964 370122804 713351162 380375826 198091362 786313188 927074980 605272396 959335058 174633518 15861932 713792546 915373432 448196660 414194984 436096150 36764188 777821076 105670580 164561040 123494832 919156960 654464752 821098192 515855708 657832568 894961026 436319038 698356582 867617740 250856734 982088994 745566450 166980654 525495504 158810588 260983510 658238036 700398462 877762354 227087794 501597440 201371772 895196676 579775880 699152640 558044548 445496114 14227470 205697584 873330574 291748436 661592214 794732348 172997868 58630574 57763464 469596906 559449644 515467002 655079236 536826038 547066800 485539850 291909238 504739300 612031470 984172078 828886324 916810926 483218996 134645684 602527200 186477386 55559294 225847174 363470800 576122632 936021648 592946528 429361350 238923088 347251360 574280464 563399914 776666706 264058382 897359016 19477842 107161388 755072728 220272704 150495284 957267202 792387490 14015960 482426324 162590278 470621284 848463414 979088450 93306696 202897788 971912092 974534478 155586824 315313088 548759420 210494170 250193146 947994436 480153626 844249066 897155060 557150118 600759504 929086350 252356520 130714424 912375776 638306666 454277074 137272416 302345868 804682136 433459128 632222452 759460924 640977498 980820818 430492280 280582308 846780466 20553648 712924204 997532494 422182680 815672478 174905232 741698004 729350914 218839924 765129220 682938022 723585206 868438310 624790532 561053876 90018998 604540116 50457286 949277480 624274572 677165192 589929704 776492940 344536634 537847434 420571654 433208524 657861328 677790712 676962586 246315298 751547226 507252994 275281352 365152248 867002234 508455008 579695750 280945238 140814994 153230932 98727988 516571860 194085436 976204622 45759010 371050294 44928178 342665450 865234250 829611750 484433854 890710796 241441238 88910842 241497548 423490196 505745468 990754138 719670442 37252730 573918422 947813432 196005780 386787332 525404336 279031422 45220674 451907822 866021742 860261354 114199678 474984968 79356450 775040840 310021524 370072556 555029004 326138054 598389966 135249358 17506334 979921772 5157392 261067642 421687176 980292488 594798820 172048238 901579068 365578830 42886180 126748302 951299006 446938082 794864594 33422654 783323182 736182414 214813740 802296240 519752860 367083110 406059350 749050986 913703178 595254518 463633180 539007366 908716012 592252544 485797746 498416884 356245222 990670716 414144180 360075660 120936424 570930526 209926584 738084844 503161704 198379426 193397742 92426442 804876202 192860056 96056966 275605886 60301506 259141696 441615262 422139736 478193778 643860742 187521248 563325580 903990452 279398362 387703828 690636590 839597730 868006002 621145588 758275740 435950248 508245552 496421192 208892304 914051446 998085342 67348350 571026578 870029486 735291894 182199986 171089000 939019190 200483004 880279204 238558334 736270458 653577350 968381636 334752580 112867184 657501752 240158802 434398 273962070 356577146 995695668 600010664 895748616 86269350 187142788 436596764 673737202 466906092 59207782 599646964 414934840 395392280 572192672 96705948 406453692 418932596 815581682 704465230 964561120 95314458 997593972 20824436 329718620 263104592 891309232 665522686 870912902 536772334 699941380 655538476 54293280 734236344 759533826 971354642 218555538 683801450 455367956 761442598 104288984 678513890 889800126 224256292 564931230 238966002 402374614 100479474 37427022 782162988 159208312 927613496 858473776 186776648 482640594 697076566 245110750 579787152 290256144 87805702 251318272 456759372 259660242 704602880 888920754 853906810 174533052 52173980 96370544 886212932 126237586 864332372 120326414 290218796 106363298 577366636 374349588 552545220 240419564 840385348 831780366 956040862 125059120 965631946 369434902 966917290 334358818 630466720 308122830 900371618 953221842 196021028 709860440 946054476 64172342 566923246 312954036 158590270 336708912 444658054 31696208 782256316 322476742 308434260 771625202 7896802 407663296 414238718 195395212 477240624 597742930 528550726 233246654 477817130 106732548 244757894 823168978 394258734 725300436 670770448 105360146 739355728 677791580 186200740 680621112 898393534 206725388 751844822 129282262 663028038 3822 140591890 235864880 150762178 100310260 860194830 796750418 714047972 406295234 697464394 146217922 470126982 57506470 297827156 141605256 680669254 406171922 324679204 907410826 129549492 494277302 477479066 335264444 695761018 989063424 713907658 856721150 552865390 494972574 525747674 537285502 710256224 329008786 249669640 136958534 694556700 93935554 21990288 654926286 123051496 391499378 725782002 736445912 843321964 782933890 533997774 738139096 799785060 597094328 691123918 663668210 71561368 952160160 106257190 117162892 195270462 293986518 282936674 860743436 492716902 273689072 162278502 518088080 50812994 605097554 89191930 446858740 157151508 428132618 27399358 362431518 605414012 982541340 552509948 620303296 403312756 393876112 298346436 856532712 164663048 824538732 287990670 855567436 200339492 84773036 325482330 589935312 413880678 529303314 300665906 636861940 934702356 541878620 951510390 698216684 781527668 970501816 537170968 471733408 846414836 277552854 112989250 772229172 970202230 499026612 594412238 599446260 766391310 600210490 999945490 378022172 978804792 152824926 875443204 403444422 863145420 659456972 981152826 613564638 63813908 359662174 350634208 417841558 666237122 718610448 954341324 936474716 509911992 88577044 433804074 424752862 768241308 712948256 993638740 175707156 177312896 41910028 438445658 22894784 965217892 67665540 4646748 120148994 454551746 229298740 483138700 347083560 880666414 2429106 379224320 131055358 413949418 25086668 594212330 292577742 32472120 47201612 160854032 908858040 426950146 295578370 633813890 657674476 67133096 752105628 702506934 753530718 89236268 447192298 215970468 783316192 452480158 112287652 938984240 190229694 340829656 35803776 685232264 69770452 980064688 824510068 224982366 861337404 748760116 289234154 771303862 284490790 114384174 933424636 5871754 741881562 504253076 328817288 736991210 800242146 706029938 19653950 831701520 41288086 753602870 338354326 492587618 83247926 69559828 147553848 744087622 121869748 27316256 214439978 801073334 410230884 920844536 700396054 959510616 759473808 575165788 766915272 775333006 472049084 744425654 536111696 943936108 66533894 573401134 445674456 579175754 647502408 130533896 677102888 431221056 930691142 402707034 338825050 750139898 861104312 583246806 962220488 282443794 838025598 732105100 385124208 701171258 978690890 537494030 503978682 115681446 997224268 484982468 828578176 708731132 166036540 987473690 469559328 460112222 886258762 681215812 480825708 177525242 656577650 198593356 600506020 162345290 738531630 900452920 286721108 116337782 537741504 509393674 395267516 457607166 191031394 535888454 368330220 198501442 637200744 639614620 953413928 711503670 646896366 508881854 688985282 837320828 562546944 662740446 692219642 919521048 163964728 576803082 72461392 932326458 992099656 991833938 126171486 718037274 86986154 167413394 633736512 855407144 870093530 294350014 550585702 22582324 72767134 25554810 903484110 255889754 771920678 497391304 366594012 586455366 337027726 241799908 396881490 654449016 130789736 381893878 926217208 597802346 325809486 915531070 239462194 76431026 68851116 984085272 440957478 99323336 238209506 996161044 714667908 472923478 912463470 478697502 546093612 28603608 579477050 933776310 747204628 8933664 981889242 108013280 30805758 509849794 30922466 216554104 81788348 403553832 323547844 834219232 166643976 843933182 455708074 305338884 243421376 642411632 447999044 793738338 150478386 834074164 851650032 506996182 297598338 625171560 771870300 861120352 734977474 532550666 391720362 330860514 545086638 330760378 653583966 648381036 409948260 789044758 765423378 330016954 92872374 392151742 497454580 127014720 322625770 951063494 948317302 530372136 170279268 59103954 502725966 229282612 243864972 468111042 362417298 570776346 278957798 217427064 461549598 333071088 957464802 4047656 630091362 680955802 445119398 308787714 516272726 425562914 641368816 243807634 999725154 326033732 137948762 457524854 360492234 536187960 516078882 608504284 578460330 783713604 798898110 21983694 310004668 190863520 809076648 352169736 232336804 209858692 770949960 343985340 866838728 985761406 42316652 563839870 485024178 244441476 526641552 531323812 453323186 710992430 760644462 681107732 503346674 715335348 578373166 326576342 694835842 124810088 282042060 393166890 112430720 459201554 548987592 416683858 728659464 492176012 718919304 433187684 591276898 244573062 92605800 509432660 925652912 157460246 242929120 333429444 280957256 805063846 782144418 252551824 344629930 594729592 226993066 516295508 992019952 558637050 539470250 675911014 78322328 934446684 924312660 175682900 947693792 866304556 332115826 746543348 569299394 86319492 50364518 129129792 920020684 391305492 826541178 48725214 846318378 134877912 949363936 373271006 485534382 326952204 960751042 622250052 720390408 718691110 555755558 896803062 792018890 972027250 648253926 61967506 278808866 110556494 926316984 390293816 202146898 940943740 411772990 204740400 782263898 717052680 386983174 764995824 40590838 326173248 588460888 124816772 483387578 862477510 310871786 600590182 422677304 966736688 992847922 46115790 362011426 527601128 414083794 288466324 20114530 605697342 146220608 822981426 872039474 729625244 815684964 510955760 671878826 820084810 943190066 159304672 824989124 34764128 876161574 66155960 948321618 701528304 869189990 681792728 910752126 148609710 698068892 42959426 595656898 546236380 173644674 90604052 466917600 967364414 207554480 785647380 907823196 56739244 598494300 937038810 612157640 172324420 450036884 479346560 179201406 116013722 212798772 665985198 893727930 265290960 305797522 747746220 514524014 867457838 235995040 560715562 84533748 214612774 48811928 879106146 481161852 505603648 221514694 505848716 433785708 922438920 476038002 92152124 770823444 916058022 423237846 213208950 453085662 483700136 504255754 367392292 501833768 699373056 92282360 411290132 696522946 130550240 565029194 448738520 489780388 921634724 165968860 987907874 719056090 128778822 6077124 286881820 194544382 448090996 264121736 261824278 711389064 946972056 642617700 884044234 879364450 7852854 157969568 140951276 276411028 355924352 881357644 827026156 545523374 749794158 837301048 730105308 75334114 432173740 846014860 900530170 162835282 527013274 843838980 697350466 403575404 305397636 537805702 323858748 544754200 47327116 467037336 525398686 322966578 526762662 543459608 941856896 738875200 778704168 96181026 579175470 785588196 931312208 445430146 384330020 25470224 211958136 289594862 39795456 722132174 412873808 273206486 691885250 754297624 788363120 427169616 987148176 508921462 10801676 835940236 551655584 824667852 572425878 857562044 488050736 92369436 922375678 66847300 120905274 660191928 769615504 676643312 723866134 806195694 353256050 428044056 422348332 66577162 390294288 901446566 381960480 241760724 221276396 600962768 983684370 351595998 640241740 182156736 850574546 416206618 564322880 740930936 333152124 714728604 34105144 115648196 336370288 420378156 922165578 88658370 115113202 239694346 17935140 435988910 740263330 279011044 371809666 141533996 496981462 735673974 376465986 946431080 104296738 144094168 163986448 976823666 313452472 41815558 269688602 792604372 536704330 697437250 322293910 118728244 823105864 299013306 714254406 33524046 97339536 925373308 847696368 807030400 953557366 832753894 82381550 171696528 916909088 178193690 491109522 8107772 756346210 345774650 926956906 776439286 599786428 196653412 429192264 557543416 680587560 452057834 585193736 274170106 973305758 120579254 269412492 921675962 486916408 271731144 884424328 694930132 808360292 750613644 287107170 958089826 663326890 707478556 117989692 28673876 341602290 511496484 197656700 266574382 640253330 260178026 798549572 181627554 944784512 410211206 299144460 840547882 828844730 132131680 825813746 121036032 99641588 14497354 548902932 122091454 99888588 60497026 749918428 108060016 726732358 649829244 938226892 332851810 514119524 202197002 846350850 618468160 450040620 80331182 85986316 209897750 856739582 163961980 105961788 28931770 914272586 702600072 724560214 646258620 415238864 208985398 181434428 187391174 567519778 692732566 702788606 716279192 465523924 590001874 933627792 226679224 161694162 673895924 107284998 626658056 25369746 657653800 635017574 125506706 291980828 356990292 453240502 82534482 711066298 479770484 444692870 521049764 343881328 599335872 899205378 469208064 570687086 232154730 235393518 612552850 681593036 632019680 230628618 625347900 200057516 580696572 911184214 754288630 254177888 92029090 211945556 313450440 127170992 745716216 884361520 816714996 193953004 352503030 933192452 682184686 941427144 439780738 768609920 523763108 960816490 338160232 641053534 684007156 71276166 413670944 172313248 553248988 464606602 41076916 939674702 155157790 62435904 523000592 3733454 594966644 403243396 637723636 591794206 447246556 683165656 651423434 896440068 13756380 606124926 565935918 389490340 298810124 153643208 865687318 992844232 675719414 17757916 703665026 572272620 659711740 804803658 300192220 253486148 486041806 556017386 113296094 167715228 31138612 925275788 416720436 214507192 780522232 17258196 462710886 59334472 682935546 903415284 140828074 279418046 337596900 221533988 782263952 365353480 568332986 880514310 336864562 276984292 954596896 42789446 962706122 686805850 549172194 717817834 736847262 397822006 935151458 577422738 766754962 545662174 325181860 890115650 931680104 510765994 41648862 185997454 172360144 921013032 738257006 233581632 207896406 581779522 279326190 33489862 703613138 393434270 920592594 845291440 453078794 172038502 510822188 45668668 6032190 973186786 486489844 892335198 34616058 450883266 972312848 125864832 416857182 944330652 705185070 330453228 489314084 553164738 665092718 260601326 720662108 532674712 65598906 311863162 920800274 944509574 887550762 551001676 874309226 463078232 448514114 628526582 276621238 741322846 867443858 219210640 527313034 912135456 100302116 394007260 873106002 373330474 760271380 825389266 669892390 131329410 44469908 336066446 57006766 661731476 597861698 34613510 565942192 303023866 136471970 197672760 625988858 62281462 317463114 569104950 726644302 158963298 748566746 93850462 191507464 523095752 760402844 781944464 399423242 783409342 129950932 984640976 209161344 104350936 864123976 868603702 192455402 864946466 179681068 157469728 91496602 488353306 885097724 775684348 471742626 795239628 865547542 655549598 632175246 126902042 101616988 605838368 150645736 185823366 862011200 866306588 69545810 596660126 730907468 738470552 960677046 479363580 147212224 477210096 990539566 195026594 917804498 287692096 183456666 156444170 294466850 310154328 651273570 180188330 386556082 836332620 79153788 247709222 158091218 120877612 243185552 944522400 286566402 836969994 487151110 26453466 887526414 163735750 854982402 751348640 983267756 393047872 452763380 458616140 154900442 275059000 34435662 393604254 33713960 721710850 925483404 552460618 56774332 155139518 153561512 534295664 501553474 218703676 547484926 182487782 465907658 465941502 782026096 30377352 602673812 432006956 740203450 907167802 854566190 498753598 224308924 650914976 343561510 347283936 977911424 373186190 367571602 169742508 618168866 530811420 48400026 595595722 430126686 6897170 445358410 816791082 313398978 64852156 133207418 27213808 681673076 958794742 358619988 956998638 860481304 24083056 864292304 793874472 938511154 949544294 982800082 67306684 418667680 75181806 137126464 598614068 544324162 978384920 518864136 654492204 633771406 98573930 33154348 3581796 743676458 220199434 608918540 590055908 725211006 381425948 321376968 842698650 390719872 192957876 531360382 246072590 997574138 883249676 20772040 528634488 124199648 747569018 998298506 832140284 732436728 139217652 355670728 235716458 788689092 380557656 304215298 498412686 108690442 139790430 708236802 217279722 221969658 812009680 150635428 864833094 900763128 326177992 415346480 953507948 782337372 79348790 485933880 14738812 257549026 213011088 188257428 318873656 999253118 203416644 730960258 630518114 262544932 760722376 315309312 710308030 668425954 376697894 284689238 912841732 724573886 399420736 13030296 794833204 101138440 103276314 28988150 886394360 126797614 233917818 765739856 95944996 919471906 235862294 595388550 636848876 346288508 558510670 567276596 400266546 653400882 418465028 823199124 536432510 43871250 820230522 635158762 179373690 99013470 838284292 693890510 55561766 999985732 426892612 349042348 659272010 639041308 742745986 750283510 70162706 980943702 148207154 107742650 356292080 796732100 417353414 190786034 111485840 758234708 162060298 814035220 531158902 807046330 982915376 989384770 950760266 215177796 277404936 476661732 642961254 130475166 901694622 784620598 868090688 43846700 575896046 38081526 865494900 767007426 984906404 491022760 472379172 389464848 101073548 735744390 507737160 563857664 560643806 593008634 362075324 903475110 889335080 94100870 438461712 738680366 838231690 494603924 515872508 544916694 927727324 173183718 343874216 190110656 178726130 206068192 332133300 16891918 628833810 458052510 5598010 470110470 182477526 577506696 383623888 267668632 454197588 403832594 408232618 892554994 322548208 24119306 853376796 528634516 328706906 842010424 175548068 582595958 930958008 810790678 473521602 783584952 882988984 616443760 578491314 164880162 416632352 357018328 517410456 389278266 419313420 121736236 25913982 763794360 693875382 272893644 21032424 847436586 220306906 263686324 71784784 360177326 453950180 9647710 320317876 931822720 401475090 91018896 357608910 201515964 603441046 459684760 366818770 185072668 948585068 710700638 155432814 330265658 638074752 988780184 498029882 536042982 691252516 871558492 838690778 505964308 502880854 938746490 921134 162194600 16049806 144466460 393288062 311809698 10853198 162772634 725066210 26152734 367098610 728540154 541301676 54584458 708352978 504562562 325458292 670502112 305626334 342565556 877894700 206917884 215683576 536644426 36702204 682934816 510832494 502436380 683197118 943889304 939681658 240802654 730822554 650507206 348532244 328403930 24475320 132554682 732915040 262310582 222612572 782519908 308343166 266630260 885641374 572067276 234068910 649331284 853463034 766193944 111876978 832823630 315601152 893030258 698723284 679036642 901946610 405677388 708985880 963099518 813667948 377093066 340127550 444522018 759121100 654423962 24125150 172864534 294091148 565551032 147292362 135187402 894199168 54277448 287807466 156401714 40587770 729444256 680054948 53047418 555143176 146902566 559074732 548872854 423233612 699436292 935615670 151118850 241114674 207415328 56601182 434870186 990222906 699797870 189672186 74696632 724259992 985581266 174136108 350788178 923630870 813036762 709842350 760908076 103310294 256764302 41514660 857177730 724262482 678787140 820434498 615432722 495212440 747098944 831242456 518850908 307924612 102587224 953296946 859020516 888949424 283030838 393140116 820644224 813625950 568566126 647117382 579383668 890798780 79280226 78140734 854243932 136029606 179249210 376496206 651955624 288074166 571376948 565161860 633050650 719326650 715353326 123150690 43340686 389597836 554059982 254015560 833535798 336654336 805184748 614889860 278916006 992557132 732976688 549894494 507707076 202827862 900385924 830889290 186948210 363673492 310734466 812352040 599066356 82231570 421342126 174184032 591969832 462265764 195374078 779136420 784341538 112211396 444112772 491780858 127625920 103744726 723609992 582022902 918298116 605657432 419376066 518718616 461371182 287203344 316268302 281170344 290625826 896760600 343171480 342511892 611676596 947041584 131584104 246268414 869145064 105318660 14983418 842193096 676065564 196224460 205867754 117130168 626392514 870783500 18218304 412822424 381981348 437819822 728489860 757806698 46980056 221136192 185212044 237269036 90924206 944928192 405545416 376060582 226656536 797878900 931966094 5212894 678258342 419609588 866193758 348868420 506536998 860075432 435287442 320002716 568961316 198852914 969839494 223918722 999184776 592514444 724244476 34910072 170607506 309052168 671531604 664054404 692749770 336266216 248235532 698347626 137246314 600488432 233803532 26175728 231660912 625248678 271782936 520814218 7741644 757675160 958050936 310342394 130018480 375496670 632951082 228431134 382992182 11458978 834814826 476084912 546895846 482980942 532434064 66247604 303275376 624798010 273816172 571326374 208473656 430128846 542338830 338857756 230102770 886102616 967673372 755182660 753279714 672612668 737874284 26103962 477615990 620993036 26929328 661865422 191196564 615086862 821446682 506670508 381160824 826503370 495105006 337623546 54200990 729409556 729899184 976814782 553403238 363914676 194400610 370337952 743659558 280971442 916057930 457383560 354871924 953226430 745707956 449132638 856400882 55872118 437022726 419147552 508442824 775344162 314814248 248128818 353272470 752000060 446897480 985441128 756861234 573943086 99099604 91203138 218985872 110792240 731733058 772809530 888922416 357818104 165582016 423199888 852166344 845814950 572601518 885238042 911542066 483160154 488702806 658530508 621778474 249602800 629360006 410909078 719277298 394073762 673081146 906378594 310404140 685565018 354666816 559175402 216034018 744437726 696504280 125879856 868336230 647495402 607004624 808447218 367656454 233667888 562478718 135781040 422565560 690231826 2900040 60888554 598746288 193354064 981757364 163811740 597791846 415532786 336472382 88311242 159513316 48843288 117721532 430300378 813283850 130003212 662454376 574844200 303050414 506362026 8230674 714227544 145774578 347470356 111419898 117574404 591830402 614136766 97559720 468868188 5014658 407248038 478326342 698640170 222905304 444503120 88107994 823571890 166301532 665087950 658106928 242505090 34290090 813735376 117286376 489994584 878908326 545478032 251766820 403465694 833667472 860175458 943618978 315521594 196288792 40190230 695460724 245125966 982846292 196690548 407789772 863714548 184447118 454821686 720785510 279679212 60218548 711995336 620651044 207934484 566779136 574291566 459178992 808940318 554846940 736055992 12017174 727768286 631828474 378106870 265805638 607382116 8279796 196169276 223221676 936250956 925939534 964743004 866115472 945029898 49370590 582878638 985907594 411025060 556937760 708745938 393070808 133186692 635137892 444954448 729092462 839281984 764235948 501095418 888099512 48528860 585027756 997902888 861054836 581331200 108312754 482071758 965134890 748517374 983063542 683490934 183685808 584596090 266082942 235383436 377251694 272529722 618335308 164368768 686574892 914693712 427190326 87495352 27724832 321977290 654729462 351266444 225310596 779755372 624646894 468664420 813928464 468349312 123250774 88296804 100413502 298591492 246797024 467421922 692514026 332010252 667264082 733789840 60456096 725042262 917508096 335524768 433229400 685602054 953825376 353656350 354795702 271327170 537142736 319855054 859570014 896929430 611736792 750361580 759967464 930958650 302828962 90206208 399487794 22468374 354619778 171100334 945267004 138154072 941901934 413448088 493910768 452166688 285693418 679411478 621434580 853753180 81604684 846249916 116022512 635206300 814763144 654427078 452961102 987821834 590138066 635563944 785238880 401133998 521509532 570581256 437625214 768564556 957159616 99069936 700820188 565116362 536406660 577301138 91697032 107467998 846366978 120289774 458542322 475227702 494075892 421371030 607801166 588987212 529381872 714565668 915807504 335538936 95839516 889901576 901900846 118059008 547712618 105314606 612322570 724999564 119459878 846972198 791152416 492818974 637476448 975488874 439829074 146193898 887857276 881083220 513575050 413762728 973322098 43859194 1901618 294914120 432607084 473838554 170240138 457009346 200729012 834807700 138427016 987992144 106748056 891707778 562915886 172983454 932217286 46414722 540944852 49041652 606637850 560535918 673488940 721466256 234450416 325385124 840486172 767306278 587652398 883755530 695271546 300484732 362126880 248777602 699537862 697136436 207590554 221705052 893142708 758863842 201355760 235898724 341293242 152083248 41893484 337818018 15668562 245814354 230812160 441689090 325048770 629003146 621450202 886168894 973280932 451737856 178969708 949940676 969654312 707355338 297422506 726774230 342770044 283507490 224708454 181577810 100459944 113466824 118313338 546355686 697778508 722577260 857986456 101394052 258707418 75109844 46993484 217777844 871086432 601971870 474736300 544668108 262909196 120133824 991788314 62581130 72150584 183000874 362937834 952525578 761810774 697869734 433179258 956667356 715249470 943793768 440178046 759151458 672895342 823543658 2587832 565379998 232789166 53967004 708747650 195582474 268432316 301921980 79194748 471116064 735674304 506201070 689170632 498016846 571051772 120790104 945589850 223618332 453124598 27946790 51289766 464000490 993579042 496356852 171558380 309571720 599157440 222579156 488536610 686017846 839243150 151371992 599722148 598425716 707375002 672226336 128639238 429692110 518632742 278547814 622582928 435009672 949953378 858366796 128239230 509000294 635630746 516956352 45200566 443591038 524195008 262869302 202114898 308910330 687848438 337697564 611366700 668367084 604935586 975191576 565895068 332232874 338450988 354441872 722745404 258000832 772850084 949540700 556670770 895489768 554659422 315151594 849063588 730453938 717172568 834155764 31918976 656428232 739533728 483872304 152269862 892894260 526928610 638380104 207450542 969629582 309855476 580160832 543076252 9518412 969870180 478867130 680485296 250184934 833338732 374522458 24890858 103551236 147384534 781981470 884583810 848104802 897735260 722714368 212976458 896349176 65391198 705199300 479550604 335903068 511192634 898445182 800753142 517629500 136384218 359409964 158619264 397568148 743674204 621649474 180648090 735418404 247319002 966911744 607668984 682024888 715803912 608562558 768308408 313550824 438586054 993521554 716751310 130036022 643164078 653002322 410355364 245001730 158424252 859171718 242943640 397927990 623113292 38602206 363428390 76422654 861367504 709794638 832688496 639329990 700929872 348281658 411076558 270137884 484770298 963200432 990407280 102401672 39026838 293193684 211151464 269594356 645252592 962006724 726136896 752556722 249555196 884155614 111731338 322894116 281770826 639570900 712550114 639023112 551878622 69875418 646448118 28490406 384992988 922391530 723153040 242312264 688642686 686439566 649202770 795281104 511650836 425931388 803208194 421523382 19817126 896234306 295293370 337788014 719088582 669985416 753982874 927220114 961621612 509946590 412453984 143488344 350992474 396485784 215420508 492817240 757312366 530027946 794990658 362013762 943187062 772996488 32947282 593788226 40639152 773192480 709956568 812973064 968184770 49362162 597024482 404903242 481851334 867483968 550686192 176777806 853825320 291093618 940031984 857802654 520502484 69053190 85444414 305821518 272850022 449366600 167114992 365140556 78285180 591995282 536720262 844307580 158989348 623777072 773018542 615676056 661752276 734082954 524981138 467190782 766518288 221141936 676125312 885067258 605779546 446845548 123157746 295496570 336106900 868311744 240927392 164310990 641346910 535082076 680424744 354486696 67462290 207777148 705623460 125589332 751666986 517842412 883723400 499102236 313265260 251844182 47186894 915105972 666731412 285367074 703682748 777681270 461753028 705537940 915364884 968667888 993066714 831737366 442021576 290623626 762531834 935206568 286463910 411966056 190581370 88468300 728708772 698701448 834847434 140717648 514207450 986684918 148213666 592635780 130302762 889476212 593531402 68095872 207598070 641494398 927009352 501060126 102749214 251046458 421223128 256499212 390893820 11442920 962259522 388728234 317858796 869766736 899185572 306166466 413165956 438430816 301974312 952568918 903498962 689358432 666543340 417326836 615531544 666369142 52384684 176981610 214832974 36456232 489751746 978552070 951067496 374151824 306099380 974442342 634959692 811802292 331623534 656162782 611951818 842893016 619380348 930833978 746222946 702702120 96115218 342363558 77710310 439965908 312382958 234037464 985834376 156646164 414715868 316939316 47399154 407446076 944390058 619146050 311947856 80762162 687883236 965301522 829812988 88657456 30951828 440092378 961692798 819070404 144643472 501234052 300779172 392242702 583917342 459529630 279392342 946629134 563480044 2854254 824707184 871028100 193781978 723476562 439411712 219368504 645459612 748891960 983859272 602834482 902705668 263819168 521371506 155538866 88369662 572628134 200692622 9610066 859460274 117626968 770775312 118532900 230908946 706343982 850146924 31919628 883807846 784220516 580220912 207294716 996564550 812454380 577133350 767174728 844290074 823674298 170182798 636143586 932043892 733149998 86060870 951104476 903684096 782947056 545289544 953999804 436728010 891470704 111145792 958492850 148959240 675908966 383806318 681821688 536154538 237737810 120832276 453369568 396446686 999201222 800443166 61883368 643484606 112366786 376281712 443041130 868612634 944650110 667264510 290425852 233748828 759902044 972357538 706521590 487321158 263397932 561508060 683154952 412027134 407652402 39986722 609937080 736654638 903178430 489939592 112313034 88351726 695534344 239229336 442352898 618585960 635597804 910881482 660673900 268187140 337154740 321102580 376604544 759767822 335111938 628535338 225740868 642951050 956316050 128427378 271130026 282604262 279022920 254010694 471243036 393568988 216265926 993883852 420874980 242776306 548854938 3061766 854793626 136316798 940208166 438598868 630259908 475728372 671381782 112514132 43579006 119283128 392547110 817091790 733844930 883244210 754150546 59864908 150365204 301202740 374055572 102823210 186025398 664632358 496177998 756102374 650528752 183076244 692398466 612350436 561921978 792891030 423391916 289314068 863560476 367085532 900586446 711666852 637208346 276354880 10287726 798297564 746260646 443395474 77423964 533195854 294689264 468117124 192812250 339351102 29732798 957801548 88144890 728868622 743095826 288610880 109397946 573759866 927986238 380965978 661742528 746368070 761345608 430939502 119183258 467098948 239716268 742246192 485312916 733454234 290887640 975157748 188968370 896343586 276881020 33186082 198078536 540815656 692690562 419983626 78848270 53590346 996721558 723564304 411822578 944999832 403923958 738325116 161936492 250033160 990299798 86785484 476927614 890352664 872250652 499374798 218208120 268310764 932032306 131932202 719914010 366769348 607351104 72482614 901780502 42279998 333904350 773466792 49760322 777556194 191772074 75330074 658206864 879680798 961623628 177651160 142512766 571739310 775725140 658716336 920372790 40635946 992605416 900277596 36836996 971316306 942285574 251726386 19490158 101593624 957625888 172906942 230633572 424826282 875859244 522281726 368443440 595452378 142565050 171662584 818012774 629058740 366640812 672292556 794175966 79318094 888723024 125797942 555129120 574866098 244975698 408813814 729716626 148623772 349913322 948791880 810247742 646832296 309694776 265501678 189570778 931135958 635878266 86884298 39324440 336948678 521454166 973730588 685508284 114143608 3832806 561747946 66769012 976132562 954288390 26122342 870919062 514799452 257065798 380164952 292766318 274206628 780034506 174653110 892765502 816602534 703805734 225752644 37381400 587936382 348143624 752475108 99560822 120472712 914224600 198532868 51741806 520780550 281810214 133020930 123447684 799404922 856618256 503387066 262679162 386179548 51676494 616362108 688813098 188987718 102382846 50624352 496098902 352763110 503703774 80235752 314671534 182010344 619758134 881613298 29608504 26945808 299811472 837588776 403535068 311550666 920129976 824365246 3728868 2121790 230019766 985319480 945653982 437220398 419037378 117193224 537176590 741613962 548525712 759654740 499891318 421526846 458202230 471715092 584188344 267125374 337733204 458564928 55323154 184998148 610716568 391101746 353435364 303319774 910332260 888899356 48608554 919532716 946798754 900042714 186258972 293399622 782315180 163113584 751397276 774447166 360209620 247120188 743860288 464050140 77240982 767488286 179245626 382253324 862622998 63623154 890726472 673217250 173961956 699645924 158239892 340621574 840971542 938276026 7802874 82993130 744615620 967701384 605571014 338838568 549216900 875817128 755818364 906297584 876878046 764657180 698336342 44361888 847129020 124790942 932901396 125158358 259278588 353659582 359342600 363606922 950721550 882418080 694696560 854272308 302002604 53992918 135063244 931703324 323051934 116824744 574726282 401580150 492718152 783265812 296527086 275643674 560530452 260745592 310248226 877041176 400273096 305698422 619739178 426420 696804504 62266210 104056738 241129290 288780536 57072418 489447462 167519890 941667630 947978178 93365538 512871286 424359640 807604780 658356552 947518288 615046250 859189020 569910604 679993244 522413318 287975488 742148762 975671726 413825366 958866852 990683038 693550872 999966404 546572226 895902070 834335798 749814388 572890826 62565558 155406448 187588148 807318572 735285258 278954572 106047084 274277242 925738540 424655326 615074508 655748646 423398224 866861272 241140128 592796618 486183874 918940816 450699864 651721536 379723132 278535180 101626410 642193318 961197388 790058648 839828632 856357976 117530396 959929896 566512998 388359718 75383866 164313910 496666884 895730216 5701770 864479006 557930658 269972444 932626894 798546242 558487670 950014458 259693558 655705634 24740484 22077750 790926732 541229350 252959308 133103330 12971738 943816940 348476902 657164230 872263510 713103768 686623728 59629922 792758396 988120958 692794706 318698998 488238442 419446598 818195682 415877326 330280914 682845296 226363476 413411288 454365128 553157424 373882726 820150566 574055994 445158466 386607298 789449812 449555870 551404256 532189428 521353758 956127810 466568152 116597886 595070776 211169030 941030700 40720536 541843542 418230686 56965536 477196236 32583158 531061276 489844602 719624070 831107312 24194494 267893084 963397912 251800672 22696140 709777162 769064484 401460440 34489688 197955928 377212876 303201510 427704232 476341156 864910548 732984742 85828344 142524596 618256482 14181382 230325516 108958430 196100308 753911412 550319110 670497146 536187764 410471564 568752520 200680538 782606092 143165888 443121920 102087162 930107112 159303872 988503432 789675260 68718070 861953020 96360760 202090570 608582560 214149704 455641170 621665928 462900528 810884050 403903292 580745604 621898000 181389486 278028378 448882096 761475858 245510800 49520850 381984034 641260024 445821368 336338164 827048846 783121882 319453898 38215544 25158474 557511734 404684376 155376662 880110990 240809424 342663696 421226680 294478202 587418910 15692066 727885754 43015116 128693500 435776828 175035570 133027570 881132308 226156016 900082018 391944636 183056118 254843508 848816420 409118262 138347112 258143392 567035314 976427512 374120554 882454106 464206188 311446464 70782290 378441794 442200882 384825520 664079126 537788282 591523316 797413662 874773894 901954166 248914956 39204734 702588612 459887472 132176522 967902296 767841296 116811986 832573096 556792644 237090126 518299928 167398670 220494278 613363968 720244518 389715200 508496842 527090990 905170836 987554316 545485042 66581698 39851970 34577960 519773104 571060908 954572056 573168644 685358144 74904554 821681854 374659542 862625408 605718678 732271286 291418458 734705348 580269562 490203512 250601832 419738842 548172942 608270904 209045972 848523090 752363718 977544240 603782624 257389796 519073618 159822258 278591470 870567572 855033708 957681052 310375072 440915842 591931900 662572438 423697190 345984386 144145300 494505764 279107948 229975078 751909924 893341664 855135200 438047332 709186916 132161098 188684538 682514236 264023554 185640246 816585722 701648346 985323336 786147334 298188574 545904042 621991260 569213704 762791840 671087656 874760130 184854888 793712998 566638250 50425008 60392604 121154786 755610564 568279366 501784682 412128212 488587796 404620766 709140272 454483896 713568656 831906730 32882156 949696302 896562274 159266728 563334102 602084738 89892790 946976126 576226730 60512798 686202694 956243924 730638336 11494926 40559768 94406708 38307808 661802670 687978146 472822134 725327330 495876572 694085236 134168160 882064138 858865318 504468768 149869050 766991074 111519090 680659020 398600448 155059980 996406400 554142598 816471568 283694894 989626334 629373646 138161270 605184368 188275708 138746576 57050016 592987976 121752238 650381862 190347622 210400796 424962946 65303706 265356784 770301974 90050876 620040242 644365654 358014644 431272092 118376802 922299516 151945084 1644348 803688124 830774590 162290912 505433164 774276624 798408158 126953108 275515932 392640734 158824830 451341232 406375576 982325838 324528336 311602 319682240 382255308 860933440 952283066 786059038 788398340 484072574 241772520 624646194 506379382 884086900 245176480 71280872 783421372 999862846 942907318 678685570 595525050 292567060 592810028 866277882 628506128 287113754 550412376 782452564 89548278 395309028 737374992 6321674 862453910 585580650 671785056 693502896 863690250 196899320 141535898 632296478 252534066 32175654 917399078 709774976 592541666 418912440 648228820 666269930 385342172 420290662 509685274 789380372 228914952 773100302 963106686 39940534 727965666 286818532 782689216 77851912 222051670 843558582 345267658 495780622 707065210 752418054 4040870 829649666 457799290 458369990 726399466 660004702 729094690 692852452 276316662 868792150 706905988 289880248 503735462 756604052 389044722 339971666 171421214 899126518 248645020 539719554 336255672 255386782 226937654 410117944 91675456 262018730 52447008 791951338 277932050 88317466 21271558 546748872 496060384 113990864 599275774 772243326 762747592 243441372 194835002 127095046 956728074 498512910 119979032 186398530 39373160 252811724 393242776 125545248 190781774 261256920 428587260 779611506 851068050 591807274 607357894 293530754 931469604 28352460 152763318 243085784 303882700 217431086 412450140 215184600 84558616 400708720 608776924 189447728 684997964 425867018 946278310 849639326 820859930 261696258 248290172 428413390 411070634 303337090 566747564 63869478 119104062 417050558 8002192 109922122 478938120 848401242 609707958 4275106 808920496 225490170 403671202 9041764 194070674 907493534 954984722 183443002 406571054 938306392 191207460 88968070 80127640 165651670 51673310 873604552 111790642 255707156 235702838 507706642 927582086 800594882 452964230 626931318 207203256 502250436 232617530 726219880 559546870 723123012 513354024 26103326 542537022 630436424 355359270 924723628 92583968 869073488 213280894 648764402 501129566 758236628 885905622 704141992 785266666 950047182 908512042 65827806 511853808 795407626 694801874 397038848 707284044 306185882 221853188 663958762 857725230 746107388 529864400 355442056 305760964 316174562 21570960 507960578 617999260 515164890 991787956 140554060 902098492 850217738 839068134 986354728 692452916 455896588 580396738 522227214 746897562 482028376 495959710 642303412 602325082 193505308 557446022 172443188 341389410 140333838 222478582 618368790 84500362 900887682 420434982 294473542 437625406 650926586 727719058 407937090 236529902 452511266 87107308 919199198 619721432 740421214 65547936 129169520 940530814 971758016 866477944 148684444 967738824 800909938 603303320 839481516 401875744 753982886 551102074 752091736 302984258 173100008 85769554 255028504 866022988 185839256 416870318 986374748 808158218 822131274 20509906 171650032 808594204 674330516 356130420 180210448 398144780 503196520 2420960 452313180 218053784 977766592 832130180 585848998 477338832 850385834 207465086 247402166 856928678 712658030 1435104 784226472 989638168 124358418 57613042 216699744 188187218 936154950 244800180 997309008 837816044 549606438 170786824 641540910 671108134 673674828 281884102 465878292 387749326 593330146 800965814 23593948 700785832 846987908 483399784 884581438 66327076 165235060 951305098 539967398 117152712 454256374 808079914 313362860 779255198 681985758 886888816 36865944 327781590 454931416 318089504 566289264 19393134 629307158 359196462 967818328 947429372 931335858 233319250 661284662 609242404 297736646 510425686 823231874 225490398 430414354 365671796 969099448 7154048 51047454 89317550 687763590 624399758 882694692 199269006 455588572 294233806 836693682 575180276 141099160 54852322 142182538 1758664 893881664 859331532 157940598 640563524 925456072 670172198 215163810 619836872 802039340 585223560 295049130 43560036 143613898 603292660 660320044 890866310 115311872 630225052 828101004 332224426 203511492 394751780 414510320 698957450 753574828 788481108 283106522 464336540 276504944 348599096 325046532 720838838 656511286 619368860 196669930 17430656 382307404 248696978 572246830 348495122 963461000 747971282 568844172 447555284 701795302 856055888 899438440 590326768 190174630 636939398 285058164 312037618 479972180 559203710 509355708 712322176 779212426 236162258 586048828 992735872 660195508 38378860 614630844 975532230 562896812 468386820 322704514 807945960 633667028 585372436 503146480 49104050 870880520 895598114 706367026 516390700 630970154 788515078 331684984 154940574 524620232 31103992 111358948 126471656 55054950 832132236 297136792 664109490 58899848 569514578 497949144 943059136 862574334 218836698 471166062 417304368 258763824 26625874 773054016 109810420 300108628 345632054 423116044 180340776 40770000 667728230 929974316 765756012 691845924 386958632 342003820 540921234 977503126 925127944 11420598 387387790 401469024 139840608 551335996 180621580 415314000 458498660 949716964 869483898 732165784 373637714 3679260 563279408 398457424 497875922 542278858 777757870 657588174 464643876 62657456 693484796 715927462 179157058 470615906 674938344 220339570 821085236 902631784 3376366 341584250 412462648 165021884 460253922 893744440 27375998 259271056 260827104 949577890 293986632 657900154 880606886 671401210 834372250 541700522 4239408 867713580 194033124 530702986 661764902 849151596 397709072 457022800 866656594 423223902 193253932 858048916 143883968 215962516 206882628 575642816 592497376 438145496 522996472 826324830 240712122 474894120 651271394 779745882 833556062 387490036 643115788 814797002 73190702 771986894 526985450 441488914 487404624 41693588 149434732 484046900 222427712 537241600 927112708 767577156 242523454 364721662 463774116 327082674 408693806 76884442 51312932 18013656 193680096 388973336 228911830 71918692 810656556 737060 350762266 99439244 156441870 199880960 250040738 445759622 997028220 288123266 626021616 984714368 617588216 663486896 753206370 95772132 131275122 641637022 294304522 747746308 379448048 122527622 905896760 822810938 184815058 80819774 791547872 223011018 826281350 219911844 86793682 6756218 796089054 698116036 285248666 666258174 520222352 246929606 600587520 886673710 740275354 574439738 29177218 291890176 484042844 253439644 190280262 760292438 521948346 417294976 625259456 267802594 475324124 249438648 495208468 75693566 179023924 254092394 13916602 724492380 868067462 122105778 250039194 418096354 851974390 921650888 102291092 391100770 459166044 804418566 982563218 417326432 334757972 155701148 684569886 743098636 931892136 250616720 323596532 721186582 776935844 198842814 761893514 963046536 469816952 197438340 647185610 218475148 171549742 755742936 39009188 73531920 360523446 577013424 191962338 731586482 857790502 197432172 747805250 966031658 143597010 251824820 311275360 859781864 168280026 478320760 313051476 308041570 68081612 143971868 451085524 535239816 553015572 651736870 323811162 738934854 266780182 708815416 677537358 186148090 192165034 935109282 699889960 333984956 869104412 740639354 446326976 349241030 115308046 988421012 24757442 679622946 70955256 309113282 606459528 810330050 216613874 973514088 575849638 212432054 269850890 236507440 898115462 650379906 806832574 703176266 903334316 982715494 33929402 110951510 916050860 354623040 775626246 821630366 979892644 576677776 729571236 663232488 538895834 767829040 179943516 547533016 962624818 20111478 912161292 479161462 991115380 331963764 245270076 148892506 739417346 792182662 901222942 28392464 845043512 349768798 581498490 249195342 634094332 375559970 251942394 740202622 829531570 611622650 936142786 664570820 955232992 919038396 337965202 870368006 170792052 704220486 473062848 77633584 472286026 192652780 235439614 170480666 190186058 270001508 227909544 554837854 389234760 613636948 161264946 319109028 783568560 621586238 104247912 280916598 802679012 10097106 417645468 664316204 756252150 539418316 852540988 212286438 402134822 655089282 802550394 323874104 889182870 437417420 106781932 179015086 873598872 178411996 52502286 609263508 902508590 797458134 756557716 639347286 715262466 922150934 335726512 634344704 815415144 372904044 283868174 128886088 423777194 803220506 845353654 205185760 508942980 73293842 967816752 256407488 22330450 481499948 826087658 71388672 121441082 532481450 901876930 605879406 170894692 999869864 879775128 277485282 720299246 173496318 674742954 477659084 13111050 334695322 904071864 900509644 177161022 463869012 814908338 642018012 231222038 523666468 14777262 766380468 618179608 916843054 755295586 73409508 767298918 428052612 355412292 750768416 609079914 391009266 192926968 492265514 926918490 66989402 754204162 228464240 84485932 383482390 108314428 453780882 682418600 512080542 760448984 288247012 5866060 711038852 795420736 210380516 117040744 10066238 571889130 314219444 797184430 542608024 796433444 780280820 285316040 88153458 71206492 415056114 845427276 510209122 646697386 378314596 551699274 170645308 377571808 196477574 399532672 802752588 629541606 970457664 722977684 665137136 110183432 830070512 668560646 410532604 480662022 757718442 24208628 397467046 209886234 981657774 154545018 523702720 123535408 3924812 506557886 163078658 811839540 607166494 375559714 511332586 304031208 806676600 272685442 423183924 511699616 227701868 459904896 983775046 745959784 790619380 415638736 183166468 734521830 945816772 916188190 6057832 190004412 551606842 872030890 274316890 983343122 191987044 40506034 822110888 106946770 252297364 423408082 861614312 905022830 779246750 341767112 394292364 753512190 879736462 522488264 102652544 701958548 399421520 672684378 901204068 825626836 306614440 737440958 352753376 650376924 685074502 616606298 90017266 602609096 627790922 797894610 380702370 106083504 56370966 928524286 935981856 190273228 708892750 868806490 643829550 596108706 976954884 35434638 110160362 381800650 923911470 286319612 768769912 696317464 749640136 477481912 813214828 230688956 412618416 792077772 834922844 958453036 915234176 287925546 490247970 710205782 168522364 920345178 924960912 258781074 642558088 588536012 448793692 27425990 44615572 559515740 846453970 875578794 677532180 396639138 65639532 207215922 671669134 188970512 497563102 956221106 493632308 255182112 228399230 830207308 87153740 565108304 366388758 983041318 423634416 890484192 19179994 941543452 896230158 541251856 247061580 456815892 468612686 799383232 722809262 775013494 63066536 626709848 865291288 64876336 875500360 636015874 458813136 641104686 469890868 588206942 3890616 707253586 302552896 151368858 979732886 870764556 837869116 948816092 745649110 243134868 809034664 275002970 619549082 606815302 701710938 514288754 707588024 531191816 111708052 151602070 698093426 571561074 203316116 422491976 61433116 332702272 504116062 87540748 623405224 553984302 82493574 21216094 689657428 358009036 118569986 57732800 55376096 171233442 648256322 903027320 231375914 585671352 652236348 645490468 633505136 118304756 261443372 903034080 320450170 915396814 862068770 270881612 489773834 768251248 314419398 964715114 640813724 478280680 286413158 40935364 717715720 249543422 857112944 414125996 759785494 875052548 310484538 514398912 205695876 181899090 646073180 449300414 546074264 814473576 247344182 557746110 182979748 634337466 619910196 483452038 325903082 628393122 594723258 932044468 500344308 327147326 423826880 456424104 972853930 374992162 31573626 55994 930692058 936392052 209666992 614219704 46785212 144911272 366457620 765506708 396764608 931467558 828510748 103620812 501754 180865858 612175950 410840696 523978638 183732082 778337464 241780694 343208460 59112858 840064028 19546388 756060366 188028566 5054734 340268782 160917572 186040408 238209822 495640790 734317690 693415610 400631798 29178154 723213152 112286568 123802774 308935910 614815178 305643772 952165906 6685460 900840306 668346060 149539022 92433544 690492392 598921930 358012634 809123034 564257230 235013906 815811612 36052272 203570482 400976648 355688048 26390352 878227296 674084676 371077494 348157416 28616228 358142974 452006184 817119798 413319284 365688644 668063664 866118736 109201294 632036930 854695756 352138918 756205624 400111960 113573810 952981128 916679726 668980954 733090126 860461692 4520242 191467548 464811764 76311774 730347500 820186198 766761888 957575076 291506872 868652118 751433808 912367444 731442646 1039086 697265996 23770738 399244046 922462908 904980998 530346768 817456334 145160288 943371396 7919310 795703438 357644438 876434824 917999188 686384952 967632830 869319988 696356150 714818686 874607226 572183352 142490126 139116394 811015936 999053756 341599310 851028672 128010214 342688902 910450744 217429000 730199048 678670932 684642468 164482754 989835162 544754158 638294016 228857402 73993226 122136856 427222514 616673448 854030698 738902656 84969036 124652138 859170738 550954740 828379284 562651948 734359740 524957138 109397150 249281744 20607354 805650454 350384092 913491080 800026468 645222550 667923332 116219974 154900184 383932638 278166116 461893856 881844904 805915070 209587438 743687288 860730988 455573432 133753246 107352330 735275572 624694290 416887690 102028184 148961986 752533068 415802398 838563470 558819232 284211480 877512766 516075720 225218658 230736040 358600830 885251798 97619026 168165608 801749548 615323734 508354192 496123406 246582148 135905704 288745140 803102628 410629320 168413516 792413070 742772804 229176466 266340300 539754584 908638968 321610322 749066634 266872280 256194234 752742546 542219244 532713320 918973594 875458962 783571590 478145774 912703040 906077118 376166322 152117868 844166472 167090216 999576160 977258286 84767954 284675302 707796704 917871198 105924376 965592642 923656234 520437860 944552578 461750450 557081326 280813300 299504316 544927446 810484764 75887776 646159444 798948852 133201922 451173366 558697422 226401250 627183294 255143294 966322406 868511572 645096186 700199638 108671018 411413894 162436046 815900782 541881972 832089154 730957158 370539056 67757384 203625458 41482466 55804176 327606176 946410498 885447112 553528740 69591000 574496786 988444742 971865380 919493644 638374702 711976732 567078334 962021906 888417518 701072214 328374962 748611768 255480350 117944540 529750358 336440866 719624026 959027516 618832660 305826982 559494162 395827242 868098122 584137008 715512338 66327200 363382572 384873782 20769708 37307328 227352882 536140042 938527220 812472622 764817504 921321390 3411430 150081886 579671490 98769900 790230380 806676234 907375978 495339284 657216464 635731272 776392674 528331808 352700266 305005142 928128570 881022852 58335308 696643044 776227672 695528284 784462964 210405060 218968036 486536828 982766574 127830402 651747234 681335048 743711562 440767150 642567480 887697800 327853774 580192764 1270128 819673556 807176718 283890858 133607206 863248350 373779594 132839972 143611090 125114400 783233158 556077538 692480238 269955048 144766240 404759580 848261572 262624650 648178110 640309574 386933280 844163284 547340894 565242988 179697642 625062916 864026068 330591688 852507248 885283092 661541130 61461326 742369482 495252796 418983814 99256098 635941504 838437998 427924226 915762176 835082102 316950054 236430188 578297336 548066032 721010596 332576714 292276374 334960646 577765906 912074336 248840614 255731852 990479488 753210060 267569896 399830060 702943728 230903188 403780122 224518286 450408784 988376190 435871342 48629238 957417264 345658290 39704512 406708190 813736604 560268568 617408780 961221266 403371920 645510482 327111838 641257524 206353640 353946940 406125398 785008938 121233026 8783084 935051066 673376860 467450966 439202806 107027668 26216414 867012704 206358930 379142152 525753918 305400636 44770954 458428806 515700668 585945106 865181654 715564086 758598182 514646164 33718312 305215594 833616478 580717190 581024458 356293534 431532828 555981030 430753998 387891908 391534884 859379906 620021932 641127474 115999140 555908274 172787298 501388934 345216616 386447778 98903126 865890438 295336432 657564262 692450968 418862348 366293738 355197490 109902592 863606766 797195696 96373852 990738666 770763486 22577120 54347934 607667350 329099924 709522302 521073834 159523278 934324194 375989548 276992640 563722982 330161784 990270928 954981258 691547854 200550552 289612294 688986044 359162290 127863084 503508264 152256868 567772658 688431638 162145376 736269506 851177442 306277002 566399162 65317640 494526934 442544798 259065836 12505232 994143204 777058032 35724806 736830280 639816664 275271866 122035518 885959616 990166590 235664266 501783056 533476694 864476112 590822214 106998422 607811606 646138058 205525932 263923418 882703148 573329302 922915842 190970992 443523736 637645108 618937352 382764090 135161154 63789042 772362680 845433508 227497498 304633238 40847488 883636990 150014358 912167606 55001502 17452792 174540758 843574426 740462112 886899902 388708808 872582452 985661274 854722958 38644152 233368378 445540228 970754868 173938344 803332820 604963370 827340898 454958928 724879706 338951070 706953484 593281706 920262532 240104844 563903652 696339860 703053102 764031818 170476914 628602946 698155708 775277904 926014288 188116372 895937882 315020130 978861644 933769614 251183234 320368902 803225274 22227506 309840774 232357370 238817462 259366896 364289094 496934346 680789078 460656556 426297754 628469038 497738538 573463160 135179528 494476794 525947920 309833304 309866408 202326544 200786262 920295488 689141682 182940418 623785032 252718880 623135178 823968594 652271506 93964334 230723602 758789004 373804268 936567208 355484438 649693514 148465784 832144634 368270576 907185886 219648840 722938128 255443132 654734996 511078332 363330442 256185976 555208686 54289308 137924266 129039670 657773012 681975990 336333840 602306046 26854292 921999732 163280158 787013996 523397480 292418816 118017232 171566228 703384544 151549228 419207688 858701484 989990806 459687568 395346018 543053288 609859528 886398518 169531956 51156732 656385260 202374752 516851014 482379768 815599732 319645372 851023736 23365604 678705994 354058444 265089518 693027638 377596172 864519224 928915060 715021358 911450628 900269594 509453868 911366724 494527724 981225368 973993888 275241048 857210418 815321186 622152602 155404632 310693564 50566470 365708856 560595938 985767312 117559520 517049186 863600730 988047670 58332150 538421886 803723388 682443330 44779396 656356492 661722202 568149408 111573352 711314760 564228210 705962128 824748864 552241202 781150428 709746018 822087290 658693608 945257590 79806556 792843718 192936316 884179624 676694898 257493734 61288632 728803566 296135216 510367332 776529200 264930398 878761714 987457760 686194768 647230438 427130066 411328546 196951804 920554798 364973366 622039426 394619700 511045922 754024016 488334958 402381204 217741018 398161352 30186328 926413962 659683494 514848548 677865214 697420264 774277836 295106800 302134722 950143498 80106310 384441132 904645544 24125060 815836006 403276812 901922620 259162128 368736572 15918338 837354160 865577078 309668656 956660994 552363090 736445212 631666678 386924970 884686990 795784894 117823926 11351118 397511886 245332884 596945214 270677082 919429538 221324056 436714976 273357514 267281558 431930816 450512158 27438880 51123956 110084490 43798986 523471916 326361824 746684940 365207478 116863538 986157768 640890256 179569692 552637414 487090994 497019990 113531772 106074458 885527216 137501248 842876466 670550426 668953634 830231160 255626914 572093764 105129648 742263954 588055790 202486676 233167668 167881522 709189434 638053626 972452570 37438976 707043126 484633870 603498776 626113462 630499054 396827432 447854782 212390570 256555478 698792848 688883506 68167924 732259218 751519592 205213452 23169400 40176212 374161548 940910528 650537524 434960970 117018280 637958042 135110174 793968022 381885568 896980160 623077232 944703936 55617134 128415772 914293868 162817900 723900508 745614652 785887086 835835742 583256912 158568278 431812888 203055996 766296796 76515508 341581272 477636108 218538406 486071832 536691928 178692198 435594856 384603412 442697022 700546640 818688310 294804032 572345690 449973740 699633502 82936354 999541000 951843156 774608186 701906780 237146406 963377852 111783194 672102126 45861966 252577546 426954230 990710054 719059882 428276984 188328850 922489398 498013906 795891382 391501862 603049832 370268244 804004442 763440958 98523776 860550392 189430012 914556632 475674914 343001700 967831774 322089076 589627626 677547296 626297782 995753118 755495252 196361632 857974860 84253488 168141356 894281000 371992800 616749606 843105082 814361280 242933958 398544678 89807224 995866212 220146838 46888962 211806072 898424300 63454642 511943950 754938212 856087450 356075044 70594168 599887916 658623164 611276850 403003908 281383992 854813670 269252012 80503758 111795008 781985894 985324754 660622124 451323032 950637960 170199754 943892478 931091596 681549356 496578954 857268524 135190422 843106420 441467262 839840422 450052748 701558770 991734778 672365762 92869480 976932602 60915294 794555960 774003318 632415644 224374370 690023878 659553476 591121322 164298970 505942692 687536138 113068536 871140918 404403034 69256888 328023044 107335622 361736306 742644624 6176260 738887170 371449426 333219646 666851584 110534088 950496400 426671916 477667424 972334906 576937218 382367032 777767348 375298486 468205492 512897816 89669510 496982788 700747820 716533954 302494568 250416016 746890506 608587582 881462016 585743888 406335286 217850738 992925926 616141716 375867334 951173748 465080548 646445376 945443132 645553614 546648352 711262422 739386894 811079552 739205904 62718184 753181628 257568678 319436820 270713374 536937088 876736554 15945682 688649732 914704704 976675394 748941832 766771022 125114538 535382650 134983344 147201674 457879410 531712470 151427100 912616710 377759904 297473944 335898964 357355150 261179724 405572266 663248036 623339982 299668172 293766666 106304342 293463316 846577804 452847674 775711420 577663808 625090250 198599114 503594720 89413530 697464366 356864312 813616910 702054112 387067204 968551340 705744260 786145894 643831778 996822358 745095772 469131846 105473964 370616362 52198694 132676124 8995708 383790852 600926300 901742832 965407026 103584620 828219570 315685574 80288188 993248112 938945978 183250202 63558712 112151056 998321552 511138450 586715988 722603962 578421840 614694492 728505356 732463296 392637538 807523688 700148812 438076178 889872878 382255736 435338022 843084988 38726646 686570568 876740162 93106838 314316278 347920898 738733592 334285318 697153468 954762626 930061804 511920064 464738254 448655194 232936240 208701168 883601428 213167228 740516542 413290058 964979322 86650862 505645570 798132030 988248356 897094212 218247772 120765274 907117978 937876908 127628442 256126100 939566354 830182752 308236146 400374248 97471024 982266904 39646252 492475630 911879708 625194710 590515022 701420238 292404110 99678318 69373894 45215176 666177158 553867700 650998564 214908970 829893438 767271790 801755840 878736260 827631630 463230762 621340708 244672296 205320706 336402346 511045872 493727650 767257402 407188056 165411444 838203180 138266538 47411070 444356682 576397540 226216950 722025114 487729160 576361516 727330684 231791588 594147652 117337082 838633494 332903320 7142634 170295226 550936458 397362904 614215624 13681390 113310416 825199466 338066170 73834462 161947590 212011734 978540522 969387548 547570316 970435400 763408390 41123602 634570370 873191538 610505322 974974422 810290878 401991398 113916246 341331630 872192088 977030604 68423812 525228324 19026080 2045290 134514630 137305668 177095174 504049354 214714652 863355926 935770042 828931918 954233700 902356086 294907130 618721284 215270972 225176662 538610790 636500308 23776098 55020150 596404700 90487406 186729084 462917224 824542712 777512786 197842094 888197504 518692840 728505776 512086086 376312344 216968602 283507552 377404092 298895974 341733064 966815350 242211668 466509586 896543530 809566366 645226868 394710196 21406966 738153766 676865554 366267144 358322670 882639072 290124604 315268286 573801352 322872550 818872864 452956572 838162796 123376698 456402020 197078992 793509792 984797958 24994254 589302590 378868478 909626048 878642072 995265332 293834906 306759908 8347642 476036164 714181690 419852616 143419902 595325386 824960300 227705482 488895782 679653274 887628076 895081170 214169966 256350072 27147682 573765260 739447714 510898758 3774228 465321598 593821280 291680856 569985390 835334952 718241340 119442556 426182532 429709496 505805802 47511140 607453956 339914302 528753082 181404850 161208662 395260128 846283242 71454332 159255264 180264254 830452506 268206864 417588242 576521772 103859504 812034090 63688158 679239330 466795574 497973432 734637784 523764292 263769126 206355358 166761262 888461106 452030276 795296856 67799836 480095784 714126562 188354842 313923670 587393518 311189334 492495128 200469158 924355276 529174314 313168200 57989786 237721576 840171946 20489946 853308528 402768752 305250188 441609222 992198136 422713176 966918148 502507590 581248550 819654696 73017876 347040972 412567500 879219532 172537818 912376282 380269746 23403896 838985408 940874216 705406178 510001754 9553566 828027164 648113500 538409112 591631906 613265918 676637828 590277028 528678966 880613078 356348646 678579196 555092570 454654006 539535620 646170326 166219828 719314022 180417390 907956762 565308788 710272950 42581350 334462462 27093518 842097398 626737358 313637466 182464606 454835960 471562670 424644492 652754570 79738872 494272734 962408736 134364044 192714136 249188224 421113712 528589662 28586398 899719538 503606892 228708234 609641146 81017568 818688276 659496824 387917920 550579526 336397102 372117278 349818546 815908128 584146230 260309146 877355558 459869218 707807432 876120108 622176744 27239594 223756056 496150870 380504542 190835292 443305628 82552710 752071086 397350010 960488270 664780078 312483228 903740982 971359266 19549086 72415820 310811384 401700906 266454436 320853450 997101690 293469956 996991728 40609978 924774412 444005526 640449898 834931902 734236160 279943736 963074344 110768912 125001302 153522852 991655168 74480590 783606322 214807378 374820106 65965500 157276084 515882274 967931972 869525638 29881224 154802726 246048348 957920610 759386964 124169710 783470516 359746224 795904290 922465608 626238114 969023236 487217316 608338616 81593312 881408530 472490244 545440018 855181960 835181308 128030654 333783858 104023474 950659118 26767762 599888482 551384376 155124166 60937060 545750094 354102026 729470720 411007826 936934576 290243136 922382770 317385996 395808478 448105412 793725448 83298626 13249696 485629530 991204308 166815998 350245464 243317068 308892100 528547478 316002036 485107402 251310268 256370610 880522380 224079974 824700078 227961908 556578176 578828756 223025396 390676380 435628344 809490236 253462208 221583766 531537364 299220918 351853330 838257966 985767310 127412018 771732058 657826844 450292524 399142854 702744250 636805796 714885908 646013324 814768724 549306096 684857634 513636646 601402928 877388712 734864818 324794782 9233624 599500278 840028672 918891450 49476204 804650512 621939976 412183700 114719078 864143940 140434202 66570558 79477968 640377668 466526404 819396680 920457922 363838534 643646 11667348 872415976 675672012 778983274 957290326 106204934 15131610 555313740 426969166 346877050 673116572 268300508 918283158 465969026 789577054 67668866 412208298 549963432 211987766 589653324 73512596 548871386 80879662 311937754 723088238 372415100 309208280 965242752 589381316 364152466 838545056 284004952 547268378 759609404 745336374 490896726 201388034 250471310 784957076 761477278 645156514 123590692 22721688 953563074 464415170 705720274 508032392 824393014 814047598 934576108 23020118 886785716 373956058 779571292 201766596 144265850 782627804 719091550 642247312 381322488 678962784 132023558 478394180 203331492 793053284 359552442 525391362 140663210 411870776 989689802 976556780 895483102 573525994 306568988 112967356 434701274 268257442 124842862 79317656 526093418 989828974 473706988 219781192 27377280 1639326 582699018 273713146 86818934 440305170 978425974 585190624 427521222 720533430 195608002 842439870 860118974 456016274 847923690 280748348 336164684 209427888 84604754 915159270 53006566 476464410 372974528 739396476 884674144 689155742 644394088 173371306 776797074 244507780 514056676 766449448 293362264 585874894 178918844 211909196 496781478 868202676 954452236 3561764 31844256 517755096 424426668 243508546 647017942 175479436 714095072 827689112 326063922 110297868 572450644 739750526 691160552 765590520 675278498 22195974 941420934 713879298 989106364 637326502 188424018 7061448 545100084 547939210 16939134 100802638 164176116 231833358 865934770 660679662 335004508 24482712 90987238 549249342 921441986 583386054 792642302 287638338 326640208 877668228 774350714 470360044 143486186 72944638 174480984 134404082 415917468 384885126 508284714 465884328 22178604 489346220 126237568 859692940 872915994 81108756 143599144 152770702 599686332 801074654 28260412 765879710 117140530 582565706 150978746 308336964 895623042 330203576 502729702 636382026 704473912 564724022 644637132 188154212 429531182 726160114 12220148 522160824 194727018 81664210 951531524 986902724 982569146 932564788 730223676 500475538 322456426 560557864 187521054 353306506 14510930 319099828 266441354 308343546 899012540 9444056 20338158 39289088 249351066 132074988 63631622 487038724 110935738 859265764 5372836 677547450 143751844 786108570 937387226 895335692 591097022 410757642 663441264 283448564 545232718 346558300 535457586 544724788 841391406 346192362 548933622 575828526 963075248 836514152 854774138 487753218 327042348 180339090 49299406 881727536 968840364 224206000 935511486 740708600 357984500 869747108 751835002 127925300 132448844 977796482 468339102 906544972 132211200 985085266 152620316 729010496 572081270 884668136 592356318 636843418 991839998 515866242 59715664 361380366 341030522 559418174 431307074 488822932 390156934 441577602 547629702 909734794 713518 636924794 785849958 532045380 858309464 622744334 510216802 755017000 391852994 477043364 533981152 303479078 428186008 358035586 214590928 150144680 16197488 314177330 939939170 950928374 865407324 846101632 359732054 984732796 129193680 943876890 84234838 917827672 259465044 965603198 820822638 637773574 646880968 789212988 694037502 798868896 315744522 397392858 826562272 964891422 692284024 319351820 644950504 322187538 418468630 954056438 708233698 818331042 52191912 212215262 934524606 820471580 697905230 744127192 196767716 48633612 216253914 20136536 685076 302157898 181073980 138615328 238919006 735499298 143029198 295317450 919826462 51169342 735698978 946199978 320708804 249502532 395419202 833029436 869908698 473314104 230911404 806406624 989920144 643856684 329414344 95687658 282256232 271730052 306433084 669332582 202188470 968621628 455998684 66287832 202021138 377648062 280909150 496868660 215820320 371374344 737536228 586856416 474214684 153352110 378530968 323220742 754910272 795607722 826504132 155849310 438542130 854385666 820671306 529426966 619386450 106020712 994520512 377754610 799616868 659979264 835421462 763031930 800467466 302223354 663336884 928024122 835254932 143208888 553726122 682494946 190247760 743152658 647262118 495787760 791118398 99794658 132081400 587014830 242565140 64933146 562754254 356395750 362574938 876489894 960607406 78043726 118747440 177235032 490843748 210684832 821162914 760054818 211276834 947130856 160256610 906791608 191474670 363235302 215396452 172001654 200985208 594528630 668801080 967654250 759162142 78136122 445361992 814655238 655657100 405178876 978852934 499287272 592933352 545118076 764798924 237067508 913527360 494302150 276951502 819318050 227775820 396465378 209892416 485695822 912854944 532138144 377883498 31953410 434199252 857599252 798808570 681540386 370009502 555267036 55623490 716362388 735277392 392300308 743354820 306826036 410390212 989864218 149281400 749634380 776977702 721705806 186216314 319614534 676626798 57277442 581819212 170554714 911099692 145981930 120259208 296050654 379653260 511171892 959383930 484001206 561172152 835174868 975702558 595012130 998120118 838598312 982536294 973875058 718806612 715281950 188549066 79334354 128102752 419421388 138279196 603341652 823340668 186323420 586584286 958030224 550674750 25149648 619183486 640571366 821962824 305592616 999894424 342649618 181609216 617081538 179409410 148063996 991637854 246162010 887469416 223065560 519031152 652033738 970159034 166657592 726172542 198003248 989026530 455518392 69497470 51874094 779917586 528632806 147941698 904841406 773963444 29564496 253130008 841994194 164847592 847541798 846445008 135966146 192409264 535830116 324274042 529176068 273506010 889539326 774437254 799246322 566079334 778970964 240039952 465508608 915577604 309807704 247981188 360277976 902352772 240376412 959967376 43996814 573055788 81885390 246106396 775058840 977633076 843957466 522183582 244053874 835673298 717520756 197944072 951085704 702367692 764372004 280422190 961015132 290761230 940169520 17941986 145846430 183230226 218526298 912327212 640228710 477399918 107232964 285808386 607940424 199097582 603914046 932406452 95952068 820084250 652195416 148002736 152145798 12586414 65456240 681620842 615729476 252107620 92580654 795157678 278577340 639971812 659063882 124002508 351375388 138976722 154753466 329041396 296786614 595353918 329681836 333884766 854250414 135794758 885783560 766737240 953553906 882897476 146006250 125032530 446230266 517772540 28302092 227127724 542495204 128510366 808012882 402981388 779887692 783372246 573467720 905566926 544582146 335032472 22876794 925944756 33621604 814617460 811746882 168904156 6071074 404248892 447362606 246791032 764090214 864623170 136164260 525359074 489765352 673634038 643649726 424670932 960555508 348906486 277153362 977989580 124706612 731452328 441177368 680215830 106091680 896412136 706932800 477549856 942820982 7392126 539744898 61427392 176527014 443525820 876526734 980189060 810254280 241221196 460003048 560742528 730485788 542569192 468818974 183161874 921498038 148594288 984501852 454984930 808767366 397725492 931434366 916601744 11620844 254551708 380342730 364014208 101381908 280481216 78241510 121267732 204650670 117644262 979001656 484788382 550131664 565656342 797532838 461810570 800528830 75477230 559226452 912342694 127403660 392710370 69658744 112967344 61057974 624681902 841470426 556508148 639494608 99879300 659688624 913242624 420211902 691190940 272034280 397328036 356201392 22774370 480941140 333572030 242391166 739469236 408327192 348569184 896285986 324989934 607226930 711619530 633520652 109951078 288060002 803449420 587166120 435328866 521945382 721832144 507432778 306130220 983554890 886853400 313916556 999545682 664384802 233232404 543214074 818912844 701064748 117137858 477351088 700250074 386673152 678417786 914923110 835597044 369609310 122402088 251680682 940690456 981777468 764127960 154176738 837749320 619683548 252480 868724404 342006028 639321778 742460308 18408424 831404718 459374636 878701346 740356210 65678272 933325940 411081208 609713358 945203914 906200636 31947652 77689466 971880382 967833920 888780934 252303054 136987750 776510718 841575230 735008300 506611378 334882152 845168164 577783006 200937610 242393428 873242088 863942852 65938012 296342112 22365106 336974260 153184908 785020576 539536360 270638920 854730962 813126790 399056370 673100600 392276978 408415246 232852858 127799870 73986352 701388164 360941788 447098500 403324314 993550848 568094500 69520198 311158310 167206344 387573730 340683514 809290804 449835450 375480424 112686274 867253002 855895420 758401912 751955536 284793882 967372072 249715796 883099450 614273472 983974624 772493876 73081738 571923800 522840054 704089824 51386600 434239810 40437804 302270672 495621144 240541614 983527088 264040174 940464864 198155090 140547764 614907972 223324784 908469806 603473240 647623360 214710832 987101180 390143368 290388728 556033430 268042088 606764522 105980194 473828118 719686254 257334076 35899112 298387590 667730842 442951442 738562492 379217192 901945590 406348990 449154970 347379340 804731672 676350240 35808622 407760468 687179278 690234154 432061330 411513348 995461124 218160368 312156108 735158964 874592942 335775286 368402102 588813680 189439474 738072366 535194676 647176336 273609360 456022704 949153998 18476936 396061742 671525998 243933190 789732892 225948432 831745822 348785684 364077420 101816818 519978534 66442480 950146996 518756108 654365536 340143086 331800394 944871118 650346204 887805192 353491040 389756014 305151288 71481274 944700630 823157846 374111192 988951014 908129592 792491378 266701452 405988470 1615850 399103352 367786484 804963488 572381196 846274640 827553750 905861814 254341908 452612162 726263442 791981510 153923248 425696078 333228276 728497582 347032198 525492412 139873712 964972352 479226606 152879368 908050558 973956978 35915674 733010954 888693084 603177318 926623780 246772798 936206282 996936384 832710634 591324192 563630894 353802092 319228408 402708130 931892006 504165564 591694376 632287398 611345350 647370932 544466700 834312358 853484124 692816746 483944314 267826812 963036300 743136184 512854446 76539666 591389634 200250472 342051680 507716144 853386340 52951488 975584272 447253980 695825414 881254396 993692502 479857786 109359610 574500244 86017244 504680274 392789134 119355560 885372532 920905230 1710758 297597910 242207434 221234338 295475126 399819002 569446500 125663916 46746354 184534220 119399280 629761188 697719462 753507668 277752300 564203486 706136556 448859678 48136104 784513604 806628860 983586820 587903120 414765854 100442784 296651210 563829602 237481232 806988790 786904518 280536990 387895342 157969938 686458738 611914074 834282876 4721012 960147410 41890878 645878954 64712500 263904906 252583016 952840334 19961908 497735468 538753602 529983590 247945740 172151922 418632686 966368516 325920220 374823026 872225056 648556372 369407758 634852480 426565984 563764820 149027752 203859982 343526628 64998560 610637372 352879318 934137650 939399422 721588790 777578648 773486720 970091990 544763558 232054102 627918524 617338870 732729248 967070030 368888256 423759042 730205350 150496868 959393062 739728276 645721638 343678720 466289376 912838188 379551416 147690420 72885034 772880254 734923124 793269198 12503330 134545556 511538690 471035772 240919362 202024620 771894472 79746604 234754438 199804910 699972624 253910634 610776014 92000286 907474256 382770118 866540734 261435794 702467300 776227424 192792084 671829352 803291904 400251006 978707380 469192514 684064528 420030936 802460304 147430220 358456870 827983630 680794348 878757452 631896426 903715674 419051632 940580032 102471354 401352266 989964994 281352842 160772636 926134744 531943322 392858620 448268344 721256704 512516780 848420986 759696384 456649954 345038404 672562614 208127200 665657722 810671472 962475942 648521458 649633406 753258956 555520852 7102958 742843890 785433896 554154398 733394822 71216022 370667286 834238186 259139436 314414388 776409908 812359598 606553402 316592458 783552716 557801398 457751542 829979466 687036940 159896840 513030928 411394228 165703792 527947468 198145292 505113534 139560632 969035282 658056530 953376872 663274474 551230952 195744990 495233032 908653362 128223866 724382980 74689252 969394450 876223314 336505818 740256728 995382018 69023384 92170438 219004776 810343732 994403528 78809358 335245026 511476176 740616966 766758456 459471406 21087564 273259236 725005910 347292510 762127694 299662384 861605538 411901618 840568420 188411570 919352154 251148 769351718 454594146 89913202 683842960 34523904 702185120 54807252 671112138 924862464 183051192 881163006 442276074 185932130 818395358 353678150 32053942 617305368 683761434 570072412 490232556 735497674 875703400 353123400 942195846 229398908 414391990 637853448 367188774 877040916 641105030 149002170 344162502 241495712 941227876 221260748 240830278 846429464 536946920 165644214 525884152 463033362 701999570 147471328 303986032 84122898 273575322 366386922 504853210 621539866 688558542 889881134 796002980 37800988 46183542 883919598 277293638 939715218 196589454 260573790 844504242 39278308 76318048 981990344 417003232 494790388 473647554 43395272 946036580 767549532 941591360 70795832 369678338 766500098 228966060 483773198 207377718 708365062 129835466 237373620 74544814 235761606 317882242 245946568 238671840 624253962 945821316 621983668 298149650 96127308 578286902 535799002 487875158 24004020 906055738 925220238 672188752 710220412 412198378 519911152 512115866 698833944 547576270 479901920 541440450 245751992 390630634 507005950 625910974 769617294 758805596 746561046 168800242 362171362 136869980 311030556 400092556 626804724 309500598 565413810 655434390 887298754 509610110 23747432 727991870 85966990 401323408 963732708 263288142 764786896 839571246 348389758 995937736 965778710 12264758 33736560 687065940 212031148 841144252 833648042 243703906 306210256 399971830 742497226 775913640 222268718 424359852 41866854 35748194 259305746 235477472 847387660 971710162 951161720 156485388 529471470 754635400 227303676 742539546 658258678 685413756 929484838 270989858 625541154 496398100 99754286 149730482 676908352 551437406 412671518 633683066 858557612 376632870 205486562 936139778 262774634 170396116 448445664 373159880 682820204 460390618 250958886 892306352 781491824 410939614 303872148 288778400 947482222 314100462 492461210 653195462 141085490 813122450 9973650 923485484 886834880 455405086 986999540 55416430 28602096 603833414 278642894 232983540 940792394 44883116 764891790 407313156 805565666 879912856 561664470 99572168 760763476 755455842 900228772 878726782 676406668 570062422 53319444 98604804 629408010 10692234 808561500 59860724 785980408 265740744 406657708 656551018 67634720 40309586 658596620 116044514 222807924 658743290 733860476 479195980 783123422 246942622 446175322 792709572 752316810 331975362 124118764 5967508 44962398 709780772 782258352 735250378 273737358 605675382 477281790 516390296 325398220 549071798 80797328 949486346 776427682 877083212 840832858 394803750 499055114 913930072 764346306 654224148 710880178 481618114 960584734 455407448 977864120 266807578 611891910 507075260 402535320 33510836 234475294 820978656 895138504 764059302 550834292 753699444 150268566 81834758 140448610 921390784 31831996 11907164 335655316 562465292 635269262 681381390 486845716 305388194 877742528 608336596 228741966 942820504 373643114 633329060 269798448 344288778 458462748 252929034 132496370 406344432 183851086 423904820 571234530 955522334 534640088 433703206 14187542 626982770 798421774 638124776 823375766 413978110 875842522 354166672 934529822 63513810 317079592 146253364 417987766 968690914 663150680 49209488 102147236 333801192 411811636 32144052 215604472 374519590 988451942 159127342 884002406 828020310 502475456 681456208 780181948 306243698 532506060 823575000 377693244 265186850 997840870 732347420 929261672 914473786 622945130 9839346 686276794 804716730 397725724 599367176 749395208 842819076 172405490 381369118 6231624 981340856 346118636 85261844 101405698 302226956 632698996 955153794 131433744 269859122 573866822 940616950 741392208 221130800 32862554 428151164 109132966 513242512 312467446 916089408 368544204 867251936 541903726 17843284 405096164 106293240 118779868 391425642 153927860 559398882 119914630 523803738 838042070 977220480 901183108 516425818 282818602 248109926 456893724 806447800 495521870 386476782 253531582 269669720 680615956 745787524 717036974 665912834 212063712 296085472 251588062 621186328 459416162 499784398 855479326 468534632 470643574 179561568 432067306 383897214 329950398 394606740 43395746 302246010 939374066 157021996 310590318 398584924 880203620 492164386 979140908 153375522 239961912 457494568 823915406 394228264 662021518 977361634 412350894 699166872 404950298 739835740 144211882 174424340 406815466 134242146 35019734 151659762 576522510 901152156 807330154 921391062 330789422 220699192 144250910 210551254 614421376 770676588 919923588 411230692 272188446 229811526 275054896 173874858 549302628 822786346 678098048 966762666 679923864 460017812 225456732 718582542 108968650 323510778 139906554 844869586 68939688 95448544 128218412 647584446 503028324 883078494 858063320 878653440 850280804 91116410 704364338 882770640 792302578 407461046 244084408 533561530 389486436 226339902 36850538 103630790 928180654 142179866 534313874 537859762 629482534 571628778 350657710 229957538 335874508 263164160 89728450 417835396 776316830 373572626 751429238 764707710 71990776 509909522 221257018 615378868 569790620 479087876 385088432 96050090 437504270 852383950 732629554 27265280 881444554 535541436 671885172 12590512 715959284 618071698 871886628 613116094 549724662 155997122 468297756 88900644 298504406 205571076 91124866 645724474 940202456 538634970 261401920 303715646 237576106 221472762 883051752 297177016 601879912 224839014 904906768 874318440 808894820 711001060 741323280 469764104 96575576 143412950 561276620 179924368 696501050 18379756 920012442 633044914 114192710 260638278 272829044 960914372 381734410 956635504 210746846 648679490 630713764 438057998 353001272 552458768 766575130 850791630 150488176 420660662 666102986 348661532 318762310 407512388 155149364 2842262 931767328 201848058 369417770 370828062 164997794 21835066 786123100 765157302 920377994 264623966 16301794 161503868 99033386 261392392 387273982 692347632 623744644 742727598 834134842 50104370 211284804 133295860 62058160 889870 345547076 487598394 912068452 17777924 51000180 804756732 342148566 535788982 571438496 75938176 893860598 800169018 80967620 920358336 252962238 332753832 981942602 96220702 571965786 953658524 866707772 530518162 846215318 231257332 753198550 259142996 987276410 997099402 310843014 302632174 391917308 161179244 309954280 345674688 266460160 195012506 88927930 658309538 695509754 532848168 503595416 728309490 873909516 342647390 529541928 962656348 1417520 551155330 670531750 573860286 920626776 517029724 711344432 943539150 11879266 34893256 749494948 940774230 662410350 685945216 585440850 208599414 641952678 257580584 859793948 737559002 992555054 960935692 533614192 844704630 491890816 330827164 197462110 963157032 635854408 368650866 647259216 881796768 822184404 177461758 50041004 535939432 259496164 767003988 681056304 987940386 358786472 484694970 495756226 770053350 880079844 111096792 437896344 931822614 843085628 797486648 106569556 380800582 879710650 951996722 957848230 873970516 566866496 182518244 16221786 5160988 630418224 562431674 929651138 85215858 16777956 958290610 879528042 901734356 206889446 552285894 408937476 493668486 235422712 880067352 887689770 999032150 206464000 207708390 648856786 6059362 523026136 608398940 606864350 63057814 640577536 544479076 461105264 649092498 617716504 718624704 958102094 890105328 691447628 19690310 555657390 111259430 923631442 108663120 340546432 208479302 619849306 756294176 434780302 751039716 89239530 153953264 769033078 148613976 486993898 735605690 853622318 413098366 520561806 989443188 308193972 840210816 966585934 636901720 981637740 832795470 613868714 175480726 198339462 493799412 20497756 764277306 54079760 576065950 652503978 304423016 333110802 913654870 12266028 609544766 987320264 560621862 123878218 840218832 51191378 433185428 704874480 755421870 637343938 712991142 833058536 430348330 244827186 653634580 72264362 452484298 294561086 661791652 503200040 613405314 795407300 107024476 952367428 850235624 147946818 536006196 307720258 779632498 38631342 910314746 343925412 508159086 397960428 434816248 414286040 372608136 679351850 187477442 322199098 929187720 362938958 492790322 101680228 563434922 89043034 534864166 540187842 918035586 819194340 199533502 591810528 464531704 651692298 560650492 20679996 962176398 683927220 219840100 832462598 95347444 430605206 463082964 842141962 236291240 815125448 180210714 74972706 455641252 747662602 679510586 160223186 14031626 915197140 222810806 246257140 132448144 72689088 483733126 499005528 885130654 121896550 264491338 471873840 799707522 805198610 899455824 705854658 652832244 713443176 90391504 95915818 668830548 815799222 526047544 782160258 475538024 894050518 693554900 774451454 203357558 382256854 280778774 758042698 967430536 138288630 132997354 305785384 312931212 327900254 949687116 678927248 667116732 36693592 435146178 666464530 564547994 394682782 715688442 84069306 693579002 492652490 855447382 746205838 329694264 943522474 428903744 725406120 494311082 849122000 603670680 359429228 310686730 371609864 781267286 952686820 202067200 737987472 244596304 143280088 812965348 788999210 832328028 521860282 293053444 34697582 769823000 204806664 243567010 979933094 112055278 4955070 60041076 878942190 454675934 188244090 816350870 347281952 407479974 297523290 275756682 536167878 420029346 711422300 317275654 753570078 910728342 961147990 708645022 137891532 943664296 10210406 120880502 563884308 506793916 907826574 474441908 660113864 596957338 617609010 249618354 263332364 518011536 718807364 394007606 296053538 193515452 184134190 415245430 304855024 754732060 775622504 334305430 960732086 525753890 848902672 217499958 116646726 807087162 723725820 729457248 976039274 890334282 128363034 130133040 818366118 843960954 234430422 173035116 864803392 690862216 34357422 669022846 605476410 347797216 858941304 83723046 512065890 688412038 532929344 593400736 305028694 704454974 769538988 126479874 286192250 102552638 906903370 410420794 974408666 627630894 109046768 104845404 6997980 434206822 620568274 558239120 154107964 806100154 930643380 240591658 170319194 849362472 362977922 348734640 790511212 340864158 433099814 181737026 659307326 502781206 98668308 821978144 639287078 733571162 114034350 161385774 646402886 553444758 642677598 972393676 176656424 155603526 555495068 466718270 695259712 554285208 48789216 268793512 87355722 870592086 786125968 377093646 931900020 578500232 483324324 509561390 743372396 465578658 913015590 682628032 341407836 50565206 919855992 627534492 684222770 704613606 795720158 913592438 853632184 587905282 461172342 867890534 456553692 224972980 247657262 628784666 634601452 868760040 594701802 403327230 626405412 107727738 998067624 112675010 814376960 623716982 907475446 837789224 223043614 882346186 901521740 118774 273813652 620508210 974540218 906644376 460461256 20908002 33775658 709980428 853831476 471274004 528186020 460951314 888251604 114393736 314924656 799730284 483655630 945423308 446489952 119944352 949860070 56752954 327191798 859940692 639549062 135193182 262392438 655574440 223831962 983408900 662848238 108704966 217523852 685320390 131674888 10504088 947835350 34692960 9438218 203981354 831261426 359754504 918831734 256967102 438478900 441012836 86839956 736701668 953453040 120843212 56276242 975033678 207740892 518103576 997489756 823816206 355245382 218688180 711373242 841345828 422960250 399744690 271876718 746800196 231291096 869073530 521601258 951763420 227691608 667153184 552125588 109037552 679231428 646602262 197639876 841761000 572782356 855197422 35022366 618402454 815072158 394160240 605819130 181855364 759009594 25937108 383186766 268593076 582519632 927563218 818200160 377498700 803392016 613235408 199806472 615244286 941250890 630989512 879912650 350940784 982392628 118814608 428191862 979888668 675002572 970148300 766548434 851202738 888696958 967103818 392711314 896302432 227262634 923474552 77521818 893379402 795175048 553089896 708948840 61487332 25446726 243344584 216354376 147807554 452515670 172010308 368724020 214157090 838990652 820989792 696386104 500920712 709702224 893674282 329324640 487419752 538096950 154380568 554890038 287591858 64160894 905310180 995724442 458997442 978749430 422298724 437241632 379876222 11726790 480952142 374745772 253555104 270265406 611812914 234320770 147717402 862182048 745442722 513625546 497964486 776916470 84741520 958171944 212401858 498936142 428015506 641935120 744014142 785048594 162181970 345046516 673600192 650313148 546244446 849309674 268692178 427542744 495733734 626354324 487165720 545611784 258556788 840385774 166733478 506950968 278846146 382568526 184977260 102596924 900852954 807263218 858774394 556075806 835825008 973844040 656844914 120263612 143112870 876289782 499499456 684694202 719947660 521993394 351091182 114593742 346787502 743365688 481785750 287308446 468738916 257689922 123306128 881322768 159822228 761862712 867549566 567200632 791067836 200405558 901415664 26163308 917568260 879993098 954719370 372978076 321283212 226473790 615433384 859831608 363801024 108925104 148442422 922022340 610903662 548154578 126123810 846173614 146071862 863068332 914131854 380256166 36178090 190979008 455977782 90649952 361353162 476565882 607347190 422362704 979088240 302224602 971501444 616200584 236650374 159639666 790111810 530406982 794826262 985048076 903309536 900913994 289599724 677416366 509476856 626126864 293171548 486625390 692855508 435803632 568361596 206657996 780134080 122744830 235517748 318701954 945332238 412377916 717247192 475519920 30358810 532614196 275918718 627870412 422206260 68381102 847326202 575379622 870177968 610270598 214579882 277855028 26235864 968426024 45189544 537024482 457390148 518294228 59086140 570712482 258888276 791128920 675650900 536146606 923351256 335634246 130220204 665672932 444596868 461368214 227303230 949662076 763132304 957160326 371143462 506449762 208867668 733842564 743267984 81934312 441424544 727896064 703365670 398789396 197130348 205322874 429987334 115676160 53543094 784474928 377195708 748908672 626997016 345969116 993241712 452930458 946000314 979744666 689850500 580495888 584015822 182880692 371093582 123893286 771803016 847840402 533792596 494268532 918635876 248586894 686326298 694616786 190439012 18749798 410848796 885196956 51701452 530038390 832527058 229876218 783360898 480090644 95354036 247880248 20002716 333750120 28925302 550118232 919611816 459363788 859689194 900945416 443825348 917227834 815015094 849807658 197186634 337777710 532151030 68162744 129516604 915233156 450177914 298506024 363360512 322455442 978276946 682005370 173921924 927407676 741192490 239868734 519718314 125857256 381301780 674613340 708661056 82552274 227991130 839235680 34482634 404158540 769908588 461386848 995074344 961594590 158791354 257217698 722791746 962906638 90048526 855937164 556646288 521224190 66202978 242759488 230025350 844924630 661493306 884913728 237199098 224817812 463258926 60234594 571914830 461589908 700021018 456411580 663218986 217973382 314903948 152407662 893713460 55772120 517525824 687880350 99575030 730887950 21920084 334049286 761004610 837698324 6195628 70925014 176680122 779553052 984042818 744180592 576552300 857844858 278403590 886959532 229083796 194614630 677306252 145923946 153810434 462831940 195051130 925478578 225077680 949530308 671796466 755484656 475947702 887430450 917551474 151469310 432867634 802284878 581730986 305990338 272847476 407851048 681042462 795118208 584605586 416752246 337134980 80112476 831501458 150271924 814133164 946297690 410790654 468442278 84369820 557639358 568311752 882027660 407071994 956348698 291404136 435827336 874901644 730566970 103017564 497383798 269472718 887219964 653299774 540932886 61251956 108595344 747812926 77761654 213778926 36424758 341774054 664260332 530900304 48885010 119819006 133724522 756807676 964382472 313491608 924631792 773931686 684909044 377420796 37319810 299940104 379538850 210437710 654339752 976850118 584672588 871721836 879515314 893675672 206281120 669259644 563209918 67739854 475670352 374714084 763688886 990844904 764038956 519136146 837472596 78554728 717786154 762110472 120460092 889132002 553767746 408666514 161806146 302700758 524102292 589085794 19923608 790755976 507000878 985759542 784146102 422498772 301098086 215865280 319147358 573047162 181417024 299316852 919596476 126415032 520677994 256173766 646308424 826704814 957052194 999405038 76961694 390917384 637842888 183573298 9857452 863013628 307350390 691966550 816284008 863170930 22106418 127430910 831922120 146379228 528209496 754981094 724619910 438434680 253039320 318378548 273242494 863659546 283656516 675550488 937331782 372177918 347166240 280616 791767042 789106602 711901916 682305192 820321780 232826120 442592432 985640828 726904010 726088390 484680288 842532342 592272426 382059078 939818150 866261518 804178648 903903524 18050764 384421124 215202678 420520494 311831910 298149200 248645924 249296730 436008724 151450010 278202286 256660154 402341952 898127272 950105948 473857198 207892400 357012416 971018430 324429816 297518024 74370518 752554952 325121210 562040078 278574176 869024204 785642384 599333366 239534256 152844050 89667158 732234890 763466342 961594104 979129888 164084702 767153844 46483580 175490588 467878284 264508824 329452056 307832014 389774558 960388928 259988924 696080604 266389490 128952196 813061248 102556714 253154044 293447382 551479910 852189682 23867702 833962028 902253224 793243506 736697928 169749724 967545892 957494058 715859856 993641660 354106278 554524406 580131620 523549774 289312686 531022344 607421600 806430492 62044240 192333320 541973550 26970654 283874424 118179176 300871456 469744284 366275598 672514674 466690298 559124810 532145384 430318726 99257988 164897658 913435992 796348270 465917640 362458444 377488234 367915756 706322710 99588848 47693614 837297270 967913924 578429966 297134854 701616840 868071202 107925828 246160884 711829650 754641752 36146812 975702980 741564632 470516982 635354460 908473710 76304088 820130368 177263928 829841206 260339308 511704822 604009152 477648770 360827178 945287244 587839398 954164822 929925182 656407230 777402276 467674752 366186354 20828348 532950632 750641516 865022070 163589702 27923034 473863680 409409572 865805430 783116544 260135612 374407980 459033382 770824724 442704810 187538546 109132814 844857418 848050984 607941906 821007272 595598170 784091776 202248364 267227666 560681924 666920536 397762490 915645622 149381918 295661218 367229950 495252888 817718502 512441408 410994508 914049788 823840746 416274176 175533294 375543518 735303442 19899052 296687120 543060614 635471836 337643992 920100308 459548492 37053700 137673822 174178806 218880048 556287104 30478940 414128576 222904232 454525124 691271326 845431944 540773896 288725536 262355052 956984268 235697294 820064356 868916140 74073310 967642994 772413178 429616518 358596578 959772546 157202078 247394896 311318758 298336786 812730086 367213088 862195684 529096270 848469356 35173958 604561328 480452068 522898606 488222946 267835580 944303834 382314904 572910036 392557058 292765690 171714780 422939138 154995824 344830352 309852144 617084830 697834148 774842512 636450376 384768376 625505276 762346618 401539952 266699662 632849584 1359424 968404872 63893806 656233130 463778724 900163130 188616666 760688966 624366006 133998456 899189686 512917892 261152484 118987762 185226434 396461376 975862796 621119332 147307938 942006732 215182978 428563682 299907056 854536958 893593940 281204706 113092324 537090242 95264142 248850276 685646872 537169354 105625540 836871898 273526528 821394436 618923728 647893318 421555404 595637680 12893006 336748594 920279598 30484978 518403012 308157298 349246730 234903170 403939878 633591384 774854094 599402474 345989692 895652126 784208936 736557334 606306568 965720554 431325900 426245746 733132510 850219950 565135460 458646456 855925178 983497456 276062610 188298436 37643930 809041568 366858186 548578672 222570560 618304022 169090238 251754768 439413284 76907556 179467200 851342044 300894450 741781734 238408126 206057728 725983574 758783930 7018600 589612446 876789892 481244582 545732606 150848906 457351394 847364238 437008736 30248518 632674546 299776160 689361070 127178914 533981452 753960310 53946316 937438586 188675516 24442012 43705972 962727934 845144688 205528538 304468844 520109760 780095582 760446220 675250680 25746386 632673856 821741914 185107250 426687918 427950456 341608312 506715202 770277086 933959390 633432806 633574162 910895390 902102216 796420330 405613010 936680024 462631056 707159026 64664516 899678578 393336050 15750630 509589250 946378966 91805022 932919290 982825572 613226424 115544836 894519902 300906242 484621532 637838546 32564090 155717892 243902054 972698870 895157192 53701210 98800278 222960304 225324332 520208574 388990716 762203278 681879734 157151680 464535720 743111300 96971302 508833278 535100482 409329554 720912786 397326516 572604176 715290338 556046662 768641286 194348674 96241346 325012112 382258526 461846256 860641758 84763334 454199452 951794402 346432264 813804136 229967582 596824730 265762242 616499892 842441840 861360924 719608950 740906926 211940180 130074094 33000474 440777004 239092506 580988732 864551040 558239940 400057796 27982714 750610032 584346290 995843066 175993422 200855538 481479920 111073446 247415780 107127266 950478398 367659752 948563730 450865564 798767902 350515854 325704152 620241406 208563066 912693774 866510050 610749082 711163988 112698150 562460700 618106850 199419960 782679514 822647650 983446326 673284006 496306236 960510170 854284922 154853488 829937896 36475684 706428112 708919260 616700930 185974108 296652422 384914402 810978608 301210594 625356694 69939844 570444578 999194724 147708260 940429750 376069772 245500676 3513406 552487392 999275052 594627766 283429682 107352544 584847846 566922332 733714370 207185240 4287250 409178626 976958154 668748362 221344766 648062994 902630182 58094260 784812274 77464606 276500308 176606006 3158492 922085880 764054462 172546932 168788566 780148886 906088730 969762298 234792378 686241232 304835868 51326224 747101726 866660450 7990322 250696926 681873928 596218312 207529062 742930720 546710406 930854400 663297810 494146408 286220706 256872490 388978056 562020790 300771084 452561642 46692640 871313540 810282584 289370312 522824454 733665668 481088420 297113308 110860888 179441642 160157194 504970680 923513148 339861046 103141838 481739434 978127496 160640866 38577194 330830212 160743074 705609202 10403354 328237074 632558000 223247332 483436472 962611352 885580588 278243796 102079556 87393522 673475064 873086098 121684474 665303362 844097620 892166726 856254408 307021764 552373882 212187248 356753074 398990182 664864720 400058964 589688598 793855058 534860344 716088398 149247982 134053256 361346588 817316166 419106362 976264306 578502720 61255500 409926610 391427098 317721680 686216526 559938270 910589090 851532766 308440440 637828620 233280764 131033110 596617272 378597670 849981946 368268828 47014056 238615118 442874022 634780046 297226766 70039468 827001116 426026442 822531588 769763110 596917648 558394374 400629470 290327144 59009404 526323372 785441768 536930638 774229222 646265468 220639316 127031622 548669802 734385732 515737662 452830468 79334638 945683440 414621892 368760386 491162410 120717148 233379482 699051616 220597560 239783178 396990240 40606446 314836978 795325214 321253826 202549708 604457336 413846504 121174088 966163060 810318204 774896912 776690188 257291094 755634354 754805728 2108 411297136 831677494 864989366 773267258 607682094 320584426 264153420 350674718 919325164 762655124 715947600 820826180 60767536 631138400 520803170 857618642 819288458 918260350 956499736 802202492 932505508 732422758 92099164 310755606 748606326 731048810 98263872 346944836 213994018 592599652 872370372 171407436 124475812 125934174 534412948 567074170 718640606 584060364 530045086 161761004 915111088 508423496 887091364 584482476 225379724 185003650 445086302 844639320 962665260 554823050 656350660 262754312 738646086 61017708 7497490 972884204 26651244 542632730 959763028 853846542 689641548 444002092 675297086 465796356 778579120 795895448 386048816 284185810 497690724 806669022 69828000 282999716 578013604 236209078 721207570 410638814 500550750 506972200 204525508 514807580 557388424 982010868 239325552 17367210 566773948 475416812 510645562 625857960 549788252 526720312 145326644 315839422 594911818 202980806 872243170 319127860 64162586 617906376 412187686 92125540 398497060 154751278 214175032 241534316 822609302 175403842 341655418 94618916 563082268 523321520 14417176 583323184 380697878 850594880 72838168 529662262 406470920 834782194 574267840 159086722 686434170 393557922 510670162 392806668 838373706 847583856 89240978 677458822 768342376 957073118 779777442 469834344 132408052 282075504 298808608 304016926 746210206 806461416 838632502 947905836 218158026 804358560 21383048 57946214 360941578 424006180 512330728 609151300 795382244 237339980 16762096 645506306 15484308 244331038 246202446 851976972 527579022 968741698 989272802 420982282 664101386 658975018 421391724 670566318 680699288 984342350 163138818 872935220 195006884 8682744 379176214 938187672 187026662 580423882 891588670 133188922 461443638 159970372 357262292 956243114 435343684 235849174 140098586 423639894 744954080 663184992 836847764 366910358 124151004 217109200 370542550 6802058 290116996 13903966 641533066 198024724 889479548 693926718 942665276 627252014 93911352 740921368 418538372 750323338 912113010 422409224 326163806 200496074 538297368 721729914 644948404 621930308 163610570 545506662 49568260 925482138 790404664 225728344 270076450 588225184 822381032 583279036 226493166 386126444 846619762 352583412 736176640 951199414 19177088 502767534 991056604 848747358 725624448 616998374 375691550 496665054 105858162 147877194 79144102 349935292 441011142 989401838 830484988 750228600 139261676 112309928 620751238 894655446 169197374 277183472 91922154 256454122 362142582 425911764 221380610 539836308 740566360 742676656 785495232 669833794 727759264 661568390 299437884 773196450 141474810 735607782 377758748 426932250 154411944 817542928 30063040 915526396 138032540 356181876 394166160 417259954 373693762 132738220 834734952 69281904 826971338 932535342 928882624 257301228 760673732 411868620 246124614 196151718 536283870 720600720 36654198 241567568 473112686 850447384 166522158 526304188 613802844 672349490 455469522 180506410 83090980 71117034 416619864 235703078 604761920 391288202 861196750 327823586 447402592 604259434 972914102 185413298 292763176 323721038 164540702 149021968 732989640 502661202 424259802 2002946 842817274 404652642 356455840 792123920 439383258 649562596 8305440 878395856 825250100 555300772 13035210 890900442 925214158 551416506 139832392 374052788 889519102 820201478 222688280 969859250 73824494 685091864 546602054 438353448 474815544 439567132 314358936 787957066 469533340 282897870 7867024 898522554 435796404 963864114 570360026 781913942 417312560 522686182 499331090 173799070 722562076 813477068 541460916 725129264 336468820 773262714 362995996 669240100 830918238 38408498 490520488 418808716 910218656 687539550 217860290 143913678 743326092 443547950 415224844 746028094 155461358 387467918 789131220 966024966 677254522 803206534 162888626 89671192 61741180 467385874 525303052 478035952 775862370 460847868 325169518 56653952 549222162 823656798 187315380 293441256 424015446 754239506 760963566 472421194 939274788 608976674 426250930 923670670 684575642 46194070 86375390 469326372 634222182 404452668 731416 873671268 914143682 690271078 164900350 551884570 789508982 49239236 332996816 524768980 161524818 29125364 341735492 745397044 145004872 184809350 97475542 565518734 711000302 817992028 971160696 772588936 819873808 350920414 290008352 620263878 190229740 750771804 833758260 436837222 358659076 896702902 104700902 750929972 338887822 756729822 472504956 553277484 425272018 492749656 311649982 446375156 359434280 912847832 757970580 19423060 859622412 839922544 849905828 105943034 357881806 33896870 315936124 223624440 702606642 590095954 765846742 881978228 891314828 41363836 783980976 470280476 537316624 311302578 957870426 942194638 602624362 372483914 368047034 417040616 340339502 950215434 94910988 523458728 727776342 600839228 476471800 134350060 520037942 907704032 696801310 399821250 926670088 381743434 278248196 379149230 547771856 694650460 249366816 830281480 747541032 788760078 150977502 368739462 129317882 18710136 517638362 987545138 228740930 322535244 762212058 258270310 872753206 346979680 578978458 715898332 760801468 323567494 186784688 557305100 904269222 743690416 419399024 87913732 671518046 210335984 206208810 638821466 225876226 538338516 445693662 100340630 77765554 122574208 987521246 29985724 878692556 217763554 228963482 713257942 298195704 841345992 381752942 63009124 446466604 512110556 215159670 250054364 14706534 444815534 705600890 758242762 827471636 978273918 264339652 174382882 999418826 294719654 915907190 804353428 730519810 949791150 13657800 870662386 636188988 448820938 248378890 396300242 215152850 738072890 405253730 993111732 617388040 820379420 787952524 813560762 651343650 519484500 234360326 687059068 744211330 846080278 236365804 172350988 173057744 598368012 687774084 927402266 68914354 805993156 336320160 552303574 719631024 890314414 61224676 528401224 386141372 737140540 498049046 832517984 452820934 795825210 315178032 123879492 390644340 245972192 9272542 345981020 255131414 528712822 718093414 332519412 644696180 837609534 534065570 22038738 471935710 5091940 324488164 622054418 38160540 568061856 441205250 102072414 171180176 769741440 728608216 692447240 593842368 171501130 451872314 109341598 831245130 752402794 208275272 503544080 205854748 376206048 64566744 672825832 993705224 453200290 239586990 324464996 416115724 882881638 214890948 119130438 674857550 88883722 931536290 866475246 284239516 856227826 323734204 767596678 58415452 450914408 319503256 652996692 185569304 885023494 424998628 458598494 813000540 80726402 11358560 414491016 329656698 597492092 51663558 51180540 383514230 449979872 939251682 25487056 869333636 259788292 950183408 640985356 734022238 317853790 322509166 416830614 271828584 426111448 580131850 6835432 641379362 995259834 675754692 824363092 628785084 661281082 108152124 679544218 302209732 798992064 529534776 984611882 66186024 37989062 894222762 686898172 777463696 142848898 558289998 334329932 409040354 853005052 512555810 891011650 947794686 130956054 808510712 253606720 79559220 511768528 485276734 686388494 927418494 660717934 321965894 204205578 335174514 923166758 7951916 823640542 429016918 685358348 967198274 466330426 641924372 152311048 590529522 625124206 321788810 723890204 97545816 815070812 466479202 426860588 798615858 552741978 816279368 515309022 404886312 686340316 954914 863258476 32071470 247106380 576480304 612460872 54894116 179525832 125154212 686724712 759919932 697548264 546559050 24969354 712432414 848708042 375934524 380814058 183994622 862235526 172148352 437473590 76851196 104906482 745615342 746776484 136536002 250820496 355370170 971737616 357383720 60940162 987700174 929089288 334874838 929122318 980132644 573918182 417128202 773264170 598145862 510388320 906204378 306968608 318298860 50379474 853544616 546806022 3348346 122617352 393438740 984417220 178621944 355385536 209345816 537072398 980743316 314893538 637262272 726176340 691458750 831228984 149354234 463582328 412883694 757690852 6858796 518750214 890796090 309663544 918099014 329400772 232889042 744847568 59971408 648805704 425242302 171304496 774952098 165085096 602029970 596511000 996022776 299259386 809956134 215526494 606038168 655835970 267839968 460842458 826965592 449702296 454386492 132612440 161914528 280925528 415394186 278733080 596203622 14251172 792027106 243677130 821043332 97538388 558187396 344098090 369258446 87117172 683940726 493948478 79323670 462832140 894311962 829447152 235982518 147358536 395733178 673486820 480794104 953487984 405553974 75005464 44118924 229245466 957628806 270178564 139175470 625264044 827562860 454453224 546836940 63633172 672762582 411271296 373244780 106519372 617418574 492610898 317168778 531496218 773950090 649336006 176912852 429335918 215338872 692858160 47347586 167915356 598871340 162995868 593740770 795671992 564545414 545898960 438239600 766406358 573683214 31570514 30637880 96948022 61531608 422785182 869283686 579777454 393144336 213447812 73047922 830004454 174137432 977740874 833122978 80169380 517554526 909126310 558791540 104301586 645674698 283649352 451935582 132379868 122644686 425656348 64045624 39574022 919738964 427638252 987570222 857922836 699527396 543490142 695264076 533833860 104786312 326483298 99040420 943583356 743745424 219623448 814331270 362948656 770979210 255537064 445655392 369601272 201618832 174156894 920748176 477615874 293516608 15302766 334513182 198724706 189736002 885061360 883305168 275216052 681766582 997923944 684242818 831573510 550719234 252709734 827547610 743035388 9294134 344273290 292306724 88717552 66020536 516380460 355726342 926968654 531749996 35783438 371913752 147607536 774221990 327006438 287905248 239776800 661957208 121859570 674297014 396676330 194470970 597334676 543996086 432905188 110710954 750096098 569523606 434275486 519356374 854214236 1081476 270032116 16849826 680187426 670489364 643107460 225764358 21224688 611612856 268368320 597632200 970506858 578448326 550296890 199272752 224997088 976312126 703410646 786186078 395837978 789153680 502592018 6460526 848891320 70719838 508765260 538901598 742676254 710532796 386205546 213842368 548277472 958824904 327853488 311172258 629572484 596275848 998220574 827955244 962659054 240139542 533985048 385208702 116612168 745627946 583176736 876786696 447352816 201800676 775251270 925633460 520993026 641857294 414806652 26347808 701371132 334783646 909226736 44577724 479735174 163410598 189995804 775165842 37079154 742439530 713293298 344871752 943633280 762204898 224820350 508271646 944087654 944959864 298736324 568828616 746795828 541061414 799514034 4054444 75569430 366459488 511366038 146094200 328090338 724821796 498132572 99042976 367849742 655721870 577977144 829964110 448950662 942900470 268236866 666812642 134382968 539143776 577976530 133518964 81862470 471108888 96377216 432917544 983154750 784510446 386680444 740050238 829744902 296937806 272502370 708842966 34966188 467962434 600167632 990119640 594610854 249650718 53307666 179062606 183307440 651025986 950043442 873182164 622579028 415822292 491837160 482106450 284197366 339916124 555112090 64756356 789216364 726395116 50692780 138393118 990172896 660752592 775573428 628849564 874397722 414770894 951419306 528781588 497753492 973612822 766345924 245563390 489040406 345739634 220760704 787830814 338213900 363855188 306573906 979350450 219156468 224787320 725810748 909531474 723437270 169933724 138058142 916302614 598398740 363288134 66204694 483065946 469475312 777066856 143959242 960496338 788955182 321481830 690673038 912948322 630191248 102494374 477523336 470961040 745782790 625034296 493833778 941977902 916887890 417719192 308114590 581695824 750630784 882708436 363605302 303324316 511033430 981430468 366340340 81682126 720906806 713575686 154571932 430062110 351029826 322333716 216461196 429002518 63128060 110892346 31495052 991009490 550734128 438650086 692455222 523139216 311070368 864871186 348577130 566867142 982173858 345809856 689471794 529694740 814731890 971069562 377640554 63320680 184333470 671503334 184559328 454228466 387009668 574545730 219415770 814509524 643828986 29795256 328436056 352377292 980334126 773777942 792346222 462535722 302927442 208774574 800246112 861045702 175702590 358009396 607771470 659548242 405357262 425531972 123567880 650757700 124539652 109644270 362574824 45335864 906429050 753420842 443789120 979789256 374691154 647994846 566468960 183308598 558767668 3470120 308508406 141324932 475064066 923035076 280332728 616579526 243275648 515996640 607392824 924158380 323815460 898330050 476329552 660603754 391575660 887523138 995789784 854334646 908352860 435017572 333311544 693251430 182114390 210030106 149090156 365319086 676603666 851339802 858511950 249089372 885968712 748732020 95916408 474449622 476985542 95813086 217504816 459834040 211571322 455266282 592964812 635842424 251749922 689549754 473501292 851757368 893116048 683803732 120738680 174233550 599176510 305251344 544622228 262973854 693437218 162700602 263474592 206049040 914938658 313213582 902170476 631109034 211761826 248578710 592377042 758306722 441333742 266049088 438604774 179039054 221622522 86271988 514157044 494683490 881964292 412500016 694012862 760483392 512128268 583308366 128264902 288759858 923398516 618194734 616128372 766005394 634167092 88928304 38509376 325694628 701376156 511844262 19469790 881579780 394882372 856021640 954550476 157595434 201954002 525996198 383454554 605032438 534802586 711133064 143614480 402142378 283523676 936407582 553849988 244328848 935674128 371853078 928269638 839683496 658167826 715676648 564556706 778878706 269281868 328974128 158362120 730308704 540922746 173871868 84486258 412988158 610133664 635992088 514380078 766040342 608898868 177242 557954952 159394284 984486434 399716630 421145238 286943266 772434220 647039162 790531738 592664074 48979158 644807904 359699104 739746034 546754542 256893734 421876502 202399846 126517770 274892904 449800476 303769176 992334030 996109238 862138522 927935698 46135364 163045572 744581406 754801882 502366410 995951874 267409934 5212122 889972928 932021182 529031702 695979586 226525796 526366764 46588506 619651406 322519470 233385534 429608698 164652316 755747062 556514020 772305466 446291220 328024410 688656034 477983772 535894398 699130182 90519140 281587894 109709486 573777406 661646956 262072262 69589578 538813074 27354736 900021308 701877460 119471958 520926720 115822436 924962902 676847720 882131236 106584576 90877188 25656682 104520396 317436974 996672500 656411286 909810676 365988390 15118014 439740296 730969084 61123236 454679678 589604822 403116280 514164216 556289472 398100100 130850246 199652356 785422898 41902350 998425630 783202682 902011286 585314822 491035112 389207180 296042584 686296806 613929440 399600030 849083510 888279230 229985778 300199656 40277260 542753030 411399776 929973534 471381526 289963848 595358542 781089652 615277960 146683326 678894224 86554890 593908688 911075928 159702276 189191570 207257298 973629810 12321438 308956728 385656878 826891144 60977684 896980308 139254576 405864096 988646082 534340352 286668532 178342416 762921336 105761512 73238302 908710552 148467092 534131254 655154544 706750528 400894534 594268852 723138032 948012282 887280026 770214942 373365902 430767592 416119596 249071522 632445756 206077700 396528876 268145366 610099150 205094342 640765356 604445894 730060488 597983134 834462144 516636528 193259782 986207398 384906428 13440930 274895866 593846252 690436536 419694250 614411618 751007914 229790350 914540082 651560382 378646280 243940716 47741878 187752510 530556018 225543376 150958022 659809188 60722786 134674082 9214040 323251550 849455620 675163720 717061544 575749192 640085034 785325626 506104252 300293240 258406902 469111662 73280874 413354120 887222580 929595086 525387562 598926908 359791528 566285440 996300014 121714966 331348730 362267404 280444176 62504556 479627454 770062652 592224424 908323644 34030674 344065104 267711280 894019766 604829398 715305654 161356256 535209812 872828172 611054848 259381556 290891970 496508250 861824858 134574714 534613942 451544138 476075976 951771750 871802736 74649274 174033564 232167382 75476830 947853792 933007234 475481050 772364702 166594740 149797316 262543114 999215358 874006612 845106362 417020310 956357734 649457972 62539332 556774340 240844266 581317506 950776700 856118894 899522784 387366304 979805718 521070856 156320932 611361466 285851334 325067536 657499130 73230868 745524096 952624968 155916846 715856658 678314386 468900874 784620088 432777876 652006154 472242540 408648870 959427356 246339652 730279740 320919370 408893874 399306342 753472862 905054066 650381058 551022612 208013656 632121238 536843520 984313288 272130870 106098292 768274594 829977858 757332298 521545184 417582094 733601908 125143084 867505030 995549200 950385934 36465504 831141872 721270854 200783438 607212298 469479894 154842358 634754278 663878246 987499598 375685554 296894826 157351384 349651352 61551130 235915582 65636574 604883000 38995402 380533364 539775690 153935390 954773992 527250318 100400306 956465462 144727746 61956144 879851032 909495126 570449990 354349602 518007156 925795788 590362170 970435466 382051808 846641152 571295856 656369408 623541952 957812936 797562220 815648478 708583892 680438716 488783310 366815742 224607376 29734024 448633308 520675272 465646648 438090556 308417618 534050944 463230744 165004148 929489938 138874004 521946786 689313758 261801842 559531892 125685834 287573584 285793504 736304006 646067250 710117876 460914520 723816132 590003658 730662598 540893862 979956606 779019286 858592598 152811436 169881138 740865562 901827858 343957290 172730164 47090596 884847352 910653662 565316520 921781628 444430422 567572558 473628252 13594112 456417936 378434710 316941302 269675242 425894392 912005696 802012970 246012698 26005754 563105470 772622328 54218910 375584362 197588052 871618564 361251628 934508618 151813402 428274160 417682384 68397816 906617386 271327854 711845998 86163132 680293514 449732946 350227990 542133332 221761562 621756210 326412832 837436028 133730134 220480256 831563188 151598054 8856068 986094762 902071848 722933832 775500364 883318782 447696080 242741934 863365982 214718216 946362784 739496706 179671236 599183992 972385424 321861004 672862254 289062014 830942248 640523216 189998746 649937416 957519166 278769932 885351586 775507538 811397590 165364408 834618846 311998210 433157944 550268122 501314796 362815140 794534692 963464618 480495590 351010252 906489804 591648388 97553136 475540990 964940658 858761152 492439816 527784840 440280554 488328342 311033572 401871058 916083438 278349508 890917366 105372676 598647174 676028658 82185986 29275252 689596936 995050560 316109116 756735680 371901992 192752228 89760416 998945520 192019184 378407820 325496818 560013494 894776234 524705086 940198048 502233962 412873856 843045554 890150140 286099952 913747236 858695242 980213154 189432654 652497474 632577892 830881606 373092902 576841160 781398496 288403060 656173364 259726756 853195684 945956460 582378262 881031814 242486018 397109284 738362200 399667092 68437846 464275218 930438678 3703510 804438916 389718838 995201868 888857128 913881770 829800238 816391114 66472230 130045464 912378218 425336250 420617324 88002388 448736982 349722286 483118940 609510526 213764112 362727370 998441804 771401666 473716054 82624088 21217322 738092270 148572760 563610298 89278676 443812088 499517344 402419872 274786038 817710314 53730930 739066490 867000232 135648438 350278876 638699652 156088080 49374080 543217018 58271462 17737896 573604346 799384666 958421176 134576332 958260508 920540824 61285204 287898964 565040796 822780148 251285042 420771800 244771136 312234046 896264862 984549288 666722922 807271374 117643248 502921654 156201724 865536306 66510060 115823608 868871944 139488174 149967406 375090222 502097486 743192248 513233082 210366392 479787436 970808246 632001912 372258318 948731624 999730752 466298332 20195446 453580704 79713258 372276044 700346396 987699160 309474490 607402954 721581194 462440834 60785042 207946454 684869510 791163944 868952176 344276574 139995916 562888690 722226552 6696324 179866892 6576272 327752964 874330502 102693370 211864104 905603308 442723432 872270804 64960612 128585234 445926798 461026934 703651156 172217268 653243316 193482230 691935312 140080500 337622600 657109816 963085240 719351150 595648562 785024276 263497050 620930076 746697428 235132630 436977514 329878246 290652472 878948958 337774210 433410162 839630250 607947022 221362894 142885598 822155888 952298360 457111716 639326394 283011572 259732530 190395466 57993666 181844730 441289656 29690136 595034524 884817192 336514048 527414190 554510216 163639666 964438388 454983948 853978826 414717356 322035082 479372372 632362556 139285678 7908140 89671972 716172526 875390246 921976808 87798096 788436772 31055866 711785302 384755608 508492256 607383684 137542314 151931726 128738136 539720214 715567292 413779546 774123504 723721496 696637976 382974164 428065684 816576114 684582882 170872810 578018726 637120752 775751538 715964688 252543594 753316112 410762228 485347952 488779272 576509086 672404224 276006544 596693168 464706930 713369822 537607218 901807974 534430878 684990018 882611190 249802690 466924522 838362672 925528110 485151670 580107898 792572512 261561896 890949254 245363380 223445384 130566280 352396966 104242862 522775480 933251552 701894504 211481818 312598408 101697320 682387094 195968662 870162662 261691610 640710574 611762358 42069004 103596294 531915956 812132990 431650820 893086236 736560986 153694126 533868646 706804024 818428552 608157846 930492314 164363834 415075836 165855814 134570728 137773808 276347380 220519116 363846046 258230308 232893842 855427610 383414586 528218776 656827646 217915728 293303014 859036774 319396338 74603900 17382070 837657250 696402520 38530700 891314066 186950738 38790676 191955704 894798198 238430314 668971450 460491416 582953212 501584636 22877988 291783880 10919006 40531746 975440122 305504664 794497896 468916660 72776810 295062356 917949218 436002112 721559986 520813470 105318740 918620332 204978670 558853612 938605256 136352360 103056904 729858810 778827224 284713152 315619900 422170648 714623008 123211302 738622698 945588946 821910102 826917530 861335420 373926852 847710914 351007504 956238538 472512568 863010646 307092116 197029528 806823834 59734042 675155518 334241660 522893800 164194832 736025044 184239670 709404764 470543630 755569724 390042080 362604438 269994850 239571612 626754234 279439000 487003310 872698416 913239956 334569382 328699608 521239116 311559622 515214606 674378870 369918930 356000036 57464810 942996492 617599440 207860494 1049384 669731634 172570488 27287858 518625530 825060746 65716930 411097194 233934584 48745378 440224046 185808588 421982444 850037518 654834398 831720640 901209234 615036804 937976708 216851222 924510614 475966102 996118630 477639388 549396960 318831158 657138360 955158396 528199592 97610276 875816334 50815272 115128204 310961484 573415454 36165746 672872602 580402660 395653996 921648650 870258170 681831618 650601180 982451168 873716856 527622510 791702360 97058514 763135856 213255418 566999398 954190268 963737598 535077474 921579082 138108020 450830708 249941370 498286566 692369844 288530708 810456720 930261478 989443216 310393028 468229406 952478838 807241656 328787098 110476454 310162946 101930828 970546804 696811294 582466444 730771598 631228272 718179764 663540006 826232744 714126468 244795452 766899616 311665870 43920042 573723286 499591298 35261794 259309232 697092354 186820992 852405896 933917318 685693194 128649392 828756750 460521802 234666592 824047712 404525826 611559938 916967338 786299706 436964608 137518580 394304838 323132416 241918512 775467302 451379948 211548766 995602110 915058248 792433264 859050020 326580614 237992802 196385572 841035162 192918218 660488236 293138586 714273272 68072980 134425428 663175040 825841640 510501788 507986820 61836180 754377688 445148850 957863482 776915650 782463650 386215492 804198034 388252314 69000334 905439878 809469684 438778282 594377214 398202500 110573808 779137420 88188716 8049934 470501784 301654196 987245704 69639616 779392338 456909348 23762318 212112234 100935976 106871920 525371628 228826572 910281858 400403996 915637894 499553806 445631714 192048580 269704914 367293136 440383578 243573214 621708496 60253712 555402282 261634778 760483766 60711348 613665942 412420970 401122428 950941160 254105522 258702766 819445428 832717042 357328028 578143464 344952048 252012976 143808870 950028356 433264100 646739752 259330552 228695538 617384796 649670396 803553030 809942888 903428660 791623250 792326514 423373092 486871924 640037860 385272430 319756318 163282220 495877434 455067814 935562706 1066820 107794632 38169264 349223840 999294332 311866818 867593766 217758570 390684910 335157688 875547884 868764070 568890822 364381100 249757290 684720130 390884312 36213218 927272262 70789768 394782988 861725318 249409840 321198822 949424838 820849122 254068818 741158466 636363306 819304366 885109600 258381288 181135262 113593054 607279928 432872332 47450930 663621980 754044374 273127992 954898850 823233958 352846682 611562378 479001466 501770638 469518246 267752550 259720358 52658808 421938502 73479948 357773744 385334876 884300214 427700868 115480762 83131042 375393260 361576678 231045956 900913256 481428286 934194006 1668812 509428380 962895230 592915694 345189750 552860300 373484526 415098808 629210656 405954634 566913396 113897012 377154432 722156940 896455464 593346824 418510216 460726722 199403184 970420598 774753738 267728416 751735918 308102944 855768026 495135928 296281948 234803220 223505800 672335946 245217594 718512158 989724062 1474290 943408228 345743636 627486408 255836276 931374258 847661994 455618524 308786354 707922368 465617384 894698724 259688682 162738656 998430636 100000316 257381220 426374658 454224166 797669262 591482808 496277696 647968588 18712524 612627326 502852436 974301532 564012846 15418450 535621154 808959048 26941440 201924988 561730150 701042356 517690156 502212492 303910732 315247256 870916880 29367388 982314096 56244516 198452984 526144922 314378520 379409160 503635608 121475622 36432288 790422110 349644168 575745160 313694008 809864888 944149978 256041386 540993190 513397166 903717836 508254726 288972106 245847952 619309834 19874642 531253634 430277788 400005216 689486066 247704238 489278762 890360044 959760210 153311434 327630056 285753662 105843596 255808510 84919122 2735942 77039018 546274048 232075020 612356252 866530566 986341158 620357754 976589674 495373310 372156544 878709328 199913364 732402078 663432614 218480932 561391332 542538970 480445914 659924864 109602852 972780048 820441148 528453600 466601084 30862014 889180622 482705620 777252644 636342308 917098850 429051248 465566944 11999378 111796946 712405740 441199514 671402538 107507786 970449964 654629252 214706450 960993228 838947384 613007236 411416434 394328340 373135526 828783526 761443428 419838536 554474814 254796992 345852896 915441336 368518322 324357568 452875060 53893490 420375736 576162528 965652158 911170584 191602822 760603414 67499748 835406074 226646414 116203716 284425578 202562910 609129056 294203234 217994436 188316860 544341480 616534224 262134064 610010626 112810958 66933690 754409694 566212986 725336560 907427026 403914508 982502078 793579898 887533238 943099200 37240646 744448138 487737634 180044680 229876714 829025178 586538746 161080022 370349260 930278356 914730108 163966034 251387442 735158808 605627102 712010260 434279800 401176566 347969140 817242748 489465880 254212720 259957516 602353612 304839788 907291394 49533106 442199584 689633058 112101892 480174820 359195710 282826400 452860626 654875726 434290300 652872246 112281188 174981412 831926822 359933074 937497086 230776016 889461872 355682502 185222584 553494222 546129338 945177392 62314878 753595630 425763618 150840454 568435488 587838316 830043004 82138902 180972542 141333224 137787588 490512234 686243064 104393576 203044254 852836810 462373244 350915628 396083284 259951418 469699694 756267300 937371874 166357146 180609474 808173902 280903922 511254930 440238866 122336106 122907864 116442854 141518586 325538884 876095256 798017534 611264314 584213258 752618834 413787124 399465820 624778088 128226298 255551736 998261098 816732674 911832194 797917160 804055788 676104224 607241280 969146790 581058656 49523922 29102972 634811594 484563226 863770662 259410380 437630948 421003098 91335336 6250868 530382166 763237778 770772142 32298440 810763034 75341750 489405856 989015736 207101730 673748456 886123666 710915656 630909364 774244468 922706764 471795970 268100284 323390558 898648312 706580662 816505602 419674694 182322464 391252960 45954892 946293848 790249564 424735704 918524482 825666498 422683510 439489084 54841112 474366212 805028992 411271952 821317694 460257658 263200048 505624298 146450176 972606346 516455398 533709688 134405486 239031946 524391984 125928402 961586152 663127560 782796592 115413544 834269464 351236832 884748942 895150880 671566916 594730104 682822302 779750250 725552110 993268730 415690456 357059778 887492780 875025350 620188844 632615488 655342862 330615046 181444812 136264198 202055582 792400738 580723582 335980750 264680510 823326476 530637652 599406488 746702706 943729422 552589188 561188020 832723438 261080048 242563020 660108626 475078852 706395568 125140968 569398388 72773732 54794902 713651928 525281284 955269502 848378178 699941032 414517432 224184712 479275290 938784078 542756474 662220618 561646352 126611578 430777064 746311896 460295070 632285564 835873870 755405648 982975388 726784230 771631766 43720908 594045482 516060782 980250834 403683062 926119638 42965468 910492900 582087888 136788816 312946632 738361716 221609608 583914752 87643236 835101962 637042688 152660902 723217594 651222698 984307534 365563678 174828842 706752252 722061664 878158608 654556228 383079990 987675394 778973128 985828188 851286132 448692912 488306598 899786176 476946956 801787228 203242826 895682236 983858910 117168720 968343654 256617726 544649456 938783204 677994480 888699362 80556792 665604442 578197844 696133134 299371036 46417684 74592624 637773766 628178736 989346814 866122650 986107894 727743746 845751382 56738092 963008108 94451468 619606132 617796292 922681824 724876228 810914712 403389200 725310798 245416344 152374058 437901080 264073574 63245596 472994802 490388914 298991314 313978746 119173512 660751168 112735672 512584046 831336826 474551540 556076756 657683176 968843288 634858066 514804786 288691142 898740386 665437404 78658868 626774412 566338098 369807392 975239584 538460662 368050694 536519292 637192166 126678434 854442434 11726100 531875758 280531170 385486438 301703606 425314904 686460754 864381846 821843514 515003856 52331604 437277960 684320574 790941616 104965816 745617240 205421484 806922116 988467724 605366616 32961888 618391164 404615072 672320400 834525920 979433970 593471364 496242046 809437046 526791904 507283422 563379570 518537644 102574558 515687752 301414634 32024030 303071090 521901534 439160228 985260448 99879234 317634260 779390486 354475480 374760958 481645084 809897524 609524562 343095288 831952202 543431036 591745088 63132082 258053112 153600310 989184202 27851092 614588372 101322466 871406596 599974948 487571814 137114610 340151980 391526444 476287986 484692890 985907336 365610044 972812784 221650908 780466056 135866286 976566196 984087256 207376662 28047028 983685886 334955754 888046884 219568676 392784880 858590954 663058556 853482938 52560268 435218492 720357204 958936824 852578728 336685060 695436578 156688250 672602286 822794164 421850780 430645940 350701760 22248798 985552350 10176600 623840846 458702068 87473770 471504436 512438814 529194278 972843760 898360706 837597640 529565200 872593262 388603484 705267480 114423064 225005418 851666820 391925854 551297108 155221778 935058282 365957604 880641602 692573878 828347746 286903504 386712304 35395270 634065884 431869564 350904262 556525808 913866298 895625912 708750966 490115978 232761966 618554884 401528960 704601136 447721310 830824808 111219994 589613366 607486594 310057082 569980372 70786154 177965184 144126362 378499292 536746858 359926540 671482978 395296414 143493676 223332188 131514648 9450352 780747730 355759412 624232706 796912412 19251968 930734126 67035658 548114906 428413358 59631466 472515594 37522780 568846294 296648136 394985702 182731746 805210248 23206926 345593000 407157576 684482654 422811360 306556304 396126420 509084420 193114906 236355102 220523622 260101542 528567198 639763718 983989688 612044886 698974556 898377976 595993238 655081016 528062314 735904020 478725368 610164094 402104922 646152648 92485922 934957856 772073624 693434558 387390708 510256038 562198778 765013366 435877268 280522260 42492670 229038930 941329396 678889520 385337510 113241244 315569126 944098838 972785172 443900512 27469562 756229374 635215698 519809438 336675226 659589848 550052078 565200350 665088090 588848518 232631450 143086528 411899062 593787232 42648568 245888744 599140550 627505792 506371640 267370634 663629854 874800948 112632346 613058016 578798380 177359670 151287196 627814292 470299790 582947684 636553732 281674810 564775822 964760658 686500594 22958968 857341372 49879138 710971004 943295264 173180498 157654464 671161702 663938378 162781148 188447172 850983118 553233792 9848686 849899016 71369306 907049668 840448386 436125766 770343862 949494812 323210990 881474296 102055238 70657082 999045322 510349338 268721428 484067250 889004680 923307958 208741114 946802616 465927254 648543218 426735628 594034908 556117698 947039728 103212338 878543088 561409032 671446178 410109288 612850132 260215554 389353906 552876450 619376512 59117602 450493434 436751798 97053912 219460360 225888112 73046814 472662870 546240750 793562592 335288940 153744080 609450748 359032896 425092136 791307288 806297916 381374730 985855298 976141524 268460492 851520512 655710314 493728082 879601644 174117618 424891636 518988424 292390118 836820656 382833990 248748442 410033160 241661452 892855098 138712156 790840868 915815980 637890956 2998112 824042638 213248036 70509618 786788938 764108510 928238676 779317090 845054422 698549680 280992320 628774826 540101898 692615864 311853724 846018454 119919660 790949400 768706952 870271968 65958160 739650468 687432148 247170494 168927968 688617216 932116144 8892538 968791088 805698028 633229788 559053708 511942058 915898828 713383736 457869840 525330322 363855644 536285016 528402338 62784560 9845684 534691278 148541570 311895796 483160186 875242386 719793100 334463134 311301484 611771364 501647550 381266082 158415602 358674678 45822286 86945396 752090660 575127968 517347104 958796112 473666238 127045620 687967710 727228516 733328344 396579442 862477590 911180330 463274100 168357746 139697062 743820926 119509314 123874158 577646578 312189748 435122312 795576016 57181198 374912572 728377240 903700086 422577448 351300264 543009636 221799288 371984056 580302790 77688554 506127100 275366502 489703316 911553754 500608672 849556492 740005888 97941518 521662552 544513914 761159814 42820046 483354262 30633794 387862206 950071136 336752400 321746734 196945056 637697016 633222430 710205038 553442786 7104488 374288582 321190242 392657348 99062000 282589794 803292250 611706852 560166890 468206136 660465220 470692498 269595660 861145924 889470226 297374172 487973534 493023632 158204514 554446070 980771816 166696898 549250288 550910638 423715764 57269032 701493684 836822948 750228784 429732828 82929848 599047216 124837624 926294782 134085626 320655108 21814824 333085878 692851858 407863488 989021964 945931796 275773496 465827252 602945566 499460596 997250552 77806670 225417130 579460024 488914774 674189030 303784858 769884468 825304512 538759440 745276732 580075220 858424516 374410594 99045692 97095262 348536766 1965132 200631466 40017200 30794138 726064212 929442544 792562484 762694718 312197308 262615144 373937652 848396050 388198556 423463898 107567618 944176078 258241448 40322222 515207772 456288032 571215408 308039774 894176962 457438888 653328484 209775256 506951468 509422994 220244260 789043884 645131364 806500800 680176964 490378780 447520268 687271210 852267354 893307274 199333506 118449882 453107892 499101172 758395502 598768370 245114622 542634440 914613738 204806192 332985420 402940788 762851538 669690636 650365108 259449096 561108168 144839634 649402914 95007552 708890310 668282328 53155764 449429614 145214510 106216412 986428828 511625446 578892844 700080140 518151298 158938064 365017376 759711886 37423778 281222060 762618460 182789788 213734720 871112676 347341488 188273946 279386980 684513724 338000092 384897972 648921614 512440634 990563616 648371534 270138520 925017264 472371526 582400350 283240582 47216700 308758406 779586030 444712652 619996032 606952524 175850236 653091436 654242522 542043296 317846 924557422 238952208 337178898 758904834 840098754 384631998 337231906 175501998 230217876 691036742 811330932 228668206 630738860 409691296 839386266 196499764 811590826 676552962 213684776 438872358 45651698 674648926 919974168 236814176 377894404 743601414 244595996 46586626 573029680 91976316 900120334 647552458 439325084 412510088 722421502 373064788 209446332 379485720 438996150 350968430 167629032 69713328 86813546 488685556 471878144 339842960 380873258 825820922 473892594 663144258 462899482 704699050 979531798 48827404 381595846 947904088 179343238 156897450 13146916 396169174 164367138 664376606 601736308 996889768 128335680 637570266 543432236 71677312 859680608 863968606 52534262 106213740 218230104 198000416 678308484 110010590 620080176 746536776 892581686 600563036 956452010 17623778 764609298 284625166 916854298 562676124 358175818 664189390 609396428 596582832 763057850 400453920 921199258 380286394 298284732 748238936 853646998 621199334 207146850 830634316 326895724 107800452 802292042 679105158 651998124 800599678 253135786 338209326 547638910 927357714 803062318 948657942 212642974 83047880 438258436 422706852 248925450 598147490 727417064 681410712 985992450 693283212 129263938 439045748 545826538 753235330 848189954 272562546 667372368 381853556 194752938 275760106 144608568 177995848 756855126 527328436 782761590 448095656 235065484 158631974 298241316 608957708 969780922 679620256 643584468 311836612 136711574 211242186 773342774 918778498 190705494 964468152 989490526 438540922 393475426 223915616 968425748 454528160 964328192 115692298 898784238 719910250 847112050 635684982 331822702 365882060 955412004 899761316 833108190 167394428 288912500 303739142 832050738 984842948 194236992 546357288 394803198 318707812 564899798 575428562 40839352 49277070 64230824 585908488 149880684 190963770 544935870 992169296 785255324 713665858 374981100 26104570 590280302 866109818 257836896 642433350 381519610 961811536 513275764 997333036 444461348 560965464 313934706 97987314 719652820 106169168 272053614 436364608 19051878 319695446 619678568 172700750 517622388 871793222 253716010 881346722 892540008 44341624 35508158 718338572 54683042 166773212 809243448 912575830 380772108 355599906 883302868 889904064 645704002 725954124 878564506 985132310 445792692 746349622 309918042 85758766 814114226 318853772 950924640 926983338 345342588 208929468 154341936 92406520 423862912 483461634 67289934 214928676 249086276 700378222 578983472 752072384 90671166 342787876 21881832 240343228 349351876 827671486 826132820 745199062 185706226 3090178 736102074 148808168 227603718 352411348 182058802 446523822 54229052 974523154 515853568 86188194 350209454 567930930 701862508 450191860 110760586 323633880 220885934 551370538 74356836 136988724 987747332 701358716 170942262 594977984 353207008 967008180 109219438 544523246 954147128 694269222 777831302 829205674 720032162 490059926 725364516 669385004 76087664 258573678 513879862 369697558 5872028 672564972 406138260 604203004 833798946 285109708 363884398 849187096 592140964 484380698 355843426 474478910 246059064 754835580 440348766 657116008 758391276 201656222 886003880 824706616 161512706 430747512 557310914 794337358 298061194 258246402 335467776 947985934 918098760 98510520 582586422 450185746 14004912 458142370 775526820 491689378 865972034 461051956 69991132 100396764 208230258 571950514 38169556 369872212 704091570 996830092 783438082 825434314 332483790 533262100 148933444 864749030 187512126 232263964 166870676 668533722 221113196 646259052 174731986 235586666 311033194 70325526 216487758 452182888 49001054 641001772 249522142 710784088 57160796 232694890 39731908 935510848 519132336 511882282 135092210 773204506 563640910 235930110 256105334 378704144 582758578 977469298 75376796 38598036 603722108 886973490 483772154 324257620 479651422 30867524 748595384 462695670 155504150 459674602 445866248 687661284 330839706 54036718 455558952 908155796 501200400 383679994 591380642 386084280 673123366 777260982 365463452 455852054 900943414 4643140 103170658 14233110 969199798 208215946 61117236 736808422 573225174 183943200 303529124 213147146 577922672 855014622 956577234 632319394 923582730 539312820 217845058 371890074 209340784 678529800 55462370 77130180 303926488 327708382 814275092 512156794 629830798 518011740 236656964 389523964 939752966 971349978 472962242 781612110 924901790 563487852 386515000 609106782 164763504 289332012 71408254 744351928 383072396 710044454 707196168 384397254 854087776 205806264 349418582 18418426 130893976 883581250 107772036 90538840 701010586 442060744 365177594 365085914 609044318 599884336 95053704 101273550 800187616 12042378 436674366 399911086 600269294 718262880 12347180 243367260 324582876 438399010 35184272 498334774 276399348 680754430 798931798 325446456 445827314 828740808 352585998 668014056 644638922 970354954 44295198 490694156 24366096 613614200 817484034 660490880 56663338 589100698 9941384 609662320 264962276 819709774 797635690 123535110 734217396 786459228 111969100 375413032 977954236 498104880 891456678 201695184 201997768 671238020 168852022 955100126 21273402 854670910 121744574 818795422 987704078 356721408 25878206 397446546 186274772 155744242 433154894 462927184 457705040 848802926 51831590 582338230 556810484 559458960 42776450 59690870 183645510 39748088 733153332 806834808 430740876 867564632 791298762 394810724 375183570 278219926 361144534 513024046 892828210 202488638 33377670 148325654 687874110 803445696 281062742 552201254 314629416 356706284 33967992 735840872 284687994 644012528 499146732 533064968 361436932 241152032 287407672 121520704 919720928 847780548 861212148 619250968 620120102 229164842 547933758 169911758 800175426 711292106 444580848 56748842 84616278 13894676 707620746 972611868 335250600 710808826 908873700 127686404 438681382 753911344 679348222 613812978 867519760 582346958 791655744 692224450 310997672 791144050 358595350 45388122 666653278 955681804 447127582 22141266 173975858 251583258 888049964 1028150 99416674 973295742 386946520 427388450 33899602 349532268 665120932 389005036 781406654 338243086 888406078 444994404 797891850 559317950 875023010 531707902 872841586 951539716 539727926 56739972 26710488 508011024 516296088 962521588 402728710 571384208 529647412 229120326 245002402 972521034 409622900 152994676 882056270 666484920 16279508 618735990 10011016 77647056 90967710 816195344 956915918 824304964 333942582 995982314 481227076 887839506 12009292 106510306 849034608 732527624 789544834 85168136 714313482 601816472 391719094 91418650 95279594 829543314 74899438 527320950 526322578 648828498 868087436 287754170 173945848 322108692 645154408 721230396 397057322 942751478 925463634 977484634 829570480 514100982 771687668 485194650 51973772 753012980 147639690 20807380 56656412 520352908 744694432 835483886 647409948 952114322 287655894 213294458 131733918 872318308 848633434 879697110 554630414 174094400 344698284 673835866 532078742 688718912 310663188 720775536 687317356 489725594 415422738 947042422 230556452 130554674 631633942 514277096 601558396 968430906 249210370 814669910 546502272 197169888 152278686 405546564 216766688 204387026 691307010 638456410 241006816 317746718 290692474 411025244 870821580 536270174 690819554 362935318 967742454 744278196 286721038 771776176 152258700 11585782 196294670 972966934 784096714 809984812 656203158 413361002 817191010 908755230 385343330 87192604 982905158 206332882 649299340 167664134 536648534 484274108 629397304 10822004 417705386 15643422 148412128 286271722 138808116 792430734 731142260 447354998 150913528 262626166 124520048 590350350 471738660 81084038 18873668 977964822 606448950 830543944 41020758 326895910 735503588 593383238 594425900 77836798 163115424 642020892 166329396 463101172 899723412 818307754 303992276 715027964 104969440 755402058 405877382 534580796 939857836 381386540 469131144 381596406 638320360 422074642 377467350 53756762 372257916 875779032 864185762 890766794 345432802 415235730 247069636 422336360 726519898 239017028 238278370 703571522 632156428 694548172 46067428 825902556 52233562 547960388 109626784 329856254 436150428 804489888 300906068 896972934 834529494 627311516 336110472 667429940 422106612 929045430 150577330 306531406 916080886 89031668 481681970 177476428 760626152 730136076 97690354 179689404 381294754 400209004 629656766 547916898 296305534 991936864 663829250 17482066 594115002 528830658 861420658 950159208 9951508 294045684 579187162 490121404 790721136 328419596 980092858 236554492 116213622 887530794 893300610 699995566 251467780 671694126 63390984 677736448 934114962 595403156 634509238 242827674 92371102 77008936 330550958 45191330 978976192 641714808 960626288 541709708 813434248 649803584 397683366 469062892 75226890 954807694 219416620 697824938 868302930 449108422 903178650 26366840 31233038 444775010 365534276 979388504 338341534 416130084 428926538 159923294 394755844 757469034 170664250 665262546 178168064 673275524 824045698 971627646 93172470 77238800 993672452 30592192 998645898 142120954 610596518 483274244 303757224 609918074 57914654 560813818 564075514 33517302 68150834 610381296 830412104 331665520 217818560 438101706 761681304 564486774 52825938 210005036 41266208 183431696 574362360 360038398 406558464 288651344 702734304 513496456 526440460 414872538 563563788 994015088 398112944 723333122 630106580 847160980 194504570 805738270 285930078 58630084 590504112 596906002 323242130 396696784 472599326 490850604 698575736 890085318 961940050 677696972 282320486 538975898 940095428 699537716 354868496 760029824 625517508 297478134 119030112 185851564 868400390 857481454 106959920 319495632 705680970 959061054 297435842 705236300 712386868 127148926 889929722 209679966 589061892 570173786 579006676 240852594 642512234 187407296 315302888 140046496 706263448 638346536 766092830 687386304 357815466 752519248 685197630 888439598 151189370 202131180 732643440 378609550 275456250 45058028 957472644 140142678 691129148 698795718 908240608 471774120 830721758 69301986 695063048 859958692 271067214 699884774 713137300 32609058 325298040 77693556 506953762 449011250 483306784 870768254 218207662 324130814 524134996 388157292 312693148 988426790 867574788 854560884 53102592 593353240 567004874 271794770 795518906 32134576 859061034 329869670 751919072 654849396 685762930 728128946 307524282 548448096 178989242 163717658 688363674 920489714 824371318 72256138 688715734 11075416 606068856 247130192 739078590 174621734 789373648 403026220 588271576 372055128 864451680 331378944 486103960 621026290 838197600 795029182 711776304 969957072 254766118 202515910 341685498 237372178 701942006 834398308 526402036 607033648 204587524 247139480 840853792 95995084 97131922 62508208 567017924 541956148 203196080 790257616 290229158 661751612 700762334 395135816 769502442 538888600 234787804 254273054 320753260 160226880 728882018 528178998 944111792 655788146 166884966 46144808 34874144 121731660 411096156 297117674 615110778 365982662 558661962 978221214 870934554 625643320 419616824 329797472 925536830 413568330 867976676 610390466 866059600 507091482 728100288 676833046 247286106 954955040 168595046 562032042 832795192 830503000 82815864 691861696 820725442 468183286 501453584 582918750 291588630 881309188 400205450 432930340 175997494 646362838 672776600 311156134 241377660 13634398 75403874 100861156 201069742 659194080 962930966 702106574 784279982 964152652 261153288 64578818 265551626 695479446 153854886 997453816 947557216 159031178 273488334 105410920 564969988 516905878 455993408 408880066 795027076 27617808 395673680 276956528 226434002 765993410 210689972 21940666 856344018 858480196 706393496 985469286 427657780 630102934 339374292 148810220 173641062 123591908 837383424 706081816 733410546 826574202 872939572 896934372 643360184 997424512 508054210 660491470 30050202 572538588 770566002 177802432 389979454 935131860 535947126 443804968 465925134 652467408 718130898 911550610 170499950 231340808 135713352 424673152 630225394 274691856 532122894 577480816 369479986 470770768 95572984 390025088 127088678 83413372 151589602 412322554 388724576 705844524 844056874 248418650 894250000 537347810 559980478 644624142 378563294 746323406 464441944 431861518 725315448 254709530 440983682 186444050 538892248 659629992 301882056 70985064 786267294 775447584 448387720 391736612 537546040 349078096 602135398 381846450 554027850 297791210 747544448 784747148 324231564 988521150 613674204 948791446 810155870 675659956 150324152 110164804 276487112 68660344 44991390 466736862 218427486 612224080 40860766 764756150 948762086 549125826 307451340 767587900 162608376 797417534 531811190 200102178 78192908 848652654 219263174 378185284 189966706 295752106 600284946 338640192 537423898 106439728 546138082 972281816 762189288 834871886 739947298 819838362 852650244 296260826 240046962 606028060 883478014 115358768 126212178 51397550 814926434 224455730 754588590 257584212 127890544 769892354 146408180 593138418 265674344 966846836 898475766 695848772 419850596 888602506 279583424 687673216 365562658 414774006 829877154 945463128 695880354 197287042 8162358 39984820 137354232 868250856 181405418 192358714 367569140 967054150 809780792 31616876 700267478 90341818 225536210 500608440 471768752 696236284 824276748 470742960 623761294 451080916 467479484 232811306 785944868 18300918 217682198 465237358 1107490 261702978 278710688 772603362 176165118 426953142 589806840 219834456 663523672 29059242 745551030 988809618 146554940 798387222 49102020 796245108 440183374 25271760 392456624 298986000 30976002 67184714 686490114 803810230 799692382 952754180 660464136 75892688 595689732 483416620 971421886 831144540 490104466 670856080 887730682 91716212 845436552 789883348 911774008 499656732 453165824 518592362 94005478 215340918 952361026 968015518 984503410 271061014 768976376 636845426 234932416 609886850 412032152 63176038 576735036 470470376 742357936 519007312 473145750 67162066 453195540 952612716 662864272 991569236 151244494 106129114 108796212 182222580 778983034 973918580 211642102 877183190 855078658 464436110 919600766 219371772 884204634 388259026 667917952 592835390 601837064 8631572 42020864 22284470 740298572 230900428 155812366 504622906 326396458 867529202 561448236 367841802 630348856 466961286 982649276 350469870 802082644 932579828 143456284 451670792 384357742 595168312 814939512 248811376 958939746 670611836 661947714 988064768 241520894 600900738 830606908 395868052 372062764 769092636 610096224 49451582 117049808 356562368 699382760 302654564 778138700 948304142 243360272 675713510 896394764 828634786 277432018 437231278 757290650 887886246 428982516 121848496 484356648 570315046 544181568 900325208 213558680 542541338 618197938 406475512 411539364 225966248 837710612 723181072 707637252 434928664 172825530 934988450 866455498 677578424 411922866 288590972 284234220 766672862 55734392 149031080 156774030 111867798 774789372 832348586 718983544 476861420 746964132 244369986 361400112 868721186 594716880 839946514 407054788 237614000 792221286 120928888 90523912 594695836 574773064 407157052 413169390 668517896 530536080 245499586 21227216 771309708 553540358 906088266 805909042 791691688 47407520 272834858 350596236 479277680 25936820 279397562 60537890 807108826 483603110 482983366 807747792 645890784 334171676 898647842 164213882 278959524 283526260 698295508 447413704 832033010 209047524 358034698 306684202 623625380 666905052 284120524 166087592 814721888 249179502 62035142 323395122 956698112 597449294 524093356 749396364 291407514 534147782 66652162 159746880 321523798 771072244 76466230 461143904 876774674 785794648 922921192 88971306 699462456 255239166 373244148 906422536 678112390 396130658 734008746 427299032 185279682 713927696 742752002 905853268 979962260 530252206 969344364 591214476 254091788 188332784 650447508 541321730 467113066 651310198 82175320 397072830 271845760 934232134 31268934 193018762 778985854 653638800 848609646 803741024 595977464 368892846 93445834 403271122 22494018 333115740 646343556 442291390 617756416 950097180 58123234 406045172 389066920 161407472 559885720 248607728 378526340 899301404 405337182 379742584 853970996 329335512 215094346 502762212 69669422 9291574 696096698 437581428 691770724 569157502 53887474 780122506 346006540 710725452 609000848 943558896 835535662 936651634 851516802 295509602 475969590 824346312 825183326 163830320 864817614 756335150 717685076 351174688 821711612 4713018 528658422 397162262 174141808 240358800 235281142 65546688 128382040 210182366 551040112 779548316 161237832 107739768 869638340 779648616 782518006 239845140 127235266 778000254 134444324 203100330 572456902 993836938 286218194 943486854 315469910 489658572 455725682 276050016 95370098 25369202 68005156 999877934 935729690 104919668 362014960 574016070 139841998 873205524 679025590 644652820 608840616 147140962 111176708 274149062 381545762 772354388 57437908 788701538 277044344 719859662 778553662 743969650 149006322 251143620 694326324 387998852 958391374 437831874 269978930 854941886 816408228 675258320 799098880 756574572 498422054 838916612 376070902 521841476 920819420 785463740 518132756 635630392 94720526 549014720 621239820 718585632 443127968 673517970 787893848 980873332 465602056 817531198 709929946 87097272 392214044 660970564 512680838 12756130 175559608 27275720 520375388 281495802 566106864 422290906 240904626 941388950 600416476 23517382 657421890 478057392 394410026 925354402 266417552 711869610 353909170 440573154 646015652 573217180 690460648 64796298 279715564 91256926 79453270 562673208 908276926 64977278 495664178 967366988 311199934 973353962 535096862 62807918 388939294 945237842 556810582 689359126 76393214 793928026 372173726 880235324 191528026 302422022 231625598 100370994 954305962 806325078 770315654 285486174 569567088 508029814 241341684 915496106 554877026 40120678 641696206 821559158 296233044 352692962 38676536 253044092 249644556 149824228 515983690 962824606 282393184 222770076 688886092 653401542 336546322 918273608 588366236 42724286 166265130 139529246 267561172 423552950 223747032 908812770 536450094 570912542 185369764 380936896 637935134 279863850 737302350 141899152 416587408 93268518 119811620 990244316 235621890 359412754 10761528 76475826 756467114 600810802 78264110 556623330 601687412 419669952 885566258 111251896 330477282 43915588 823102454 714419292 986479778 107752440 139480994 949002872 234109758 492007678 270508320 251949610 350596828 13898062 223226136 526876620 356185868 713498098 129762538 122101844 485282820 517565686 858332472 654779558 748423764 757818046 386908342 29807936 479261026 507095550 984852486 274783086 928007164 218085204 527600658 904118538 493093876 739815936 562073006 494949372 470299370 828957324 469419486 458821118 170170156 915467716 601564414 310787224 761837558 222053416 85002072 995396306 306298838 913327312 638207794 215115508 274283838 889218308 414033396 321676844 313943346 943653660 131397208 105962076 912920014 269570764 157832454 857839612 811228262 822903038 825180382 846621232 361722002 398924478 696865684 433784034 632909564 421466778 870727250 814877464 327598756 139030768 554578308 594359990 83960326 995448480 586501574 983991798 976310620 467881154 183136314 852753136 911592934 251708682 407035634 200017824 41846028 672182034 51890942 548863344 846454944 55126698 461772124 510788432 238590222 295186194 306659908 954605142 881815258 932260414 40931632 562189766 667719656 720622166 43798644 298435860 578024386 413770736 120087218 250904564 276252546 147617058 31734634 260542970 133436174 514803636 557778292 911616688 77211654 446362316 398674964 916490684 502522130 906729044 258698488 750486820 254200578 38315600 606617690 976792796 837514766 530591340 795936464 416628896 555406834 320773386 149381024 137322524 46811110 862570032 627228474 405833454 91144918 159046232 55354272 640558314 936156504 472889556 514283934 911661534 329391666 438287166 336691494 372056346 789001284 468998420 438844206 614981734 952649886 938308354 443899998 303363596 925596724 93393768 179029466 223965740 833891056 333410722 523276112 802269236 629935812 744166572 119886252 16188240 860752430 620148092 921818548 796392396 541661344 902401234 694835390 364559158 60537022 397206760 171524388 445047408 803715202 829824160 66789906 37487088 102053272 263328556 735435128 783340834 589666992 798067440 938798042 215956930 900855852 466237156 446530500 534829804 562361144 451492976 583615126 978334194 440875418 980092338 203257698 463178558 343170410 895814468 291157662 989186070 467461424 877242298 417757200 401095344 410661834 137339872 482913320 790372332 975184690 417507306 846911180 216176020 806050150 76174174 210657526 939008304 742494956 156769888 117990274 81278004 265281726 180320300 816291986 180014638 979498300 143366584 339597988 577323530 914771250 594907648 985917822 951174164 848720406 641703740 121554508 445266164 575628182 416212732 843051618 67703598 829509182 269900004 921576940 725657872 666830408 714105154 816753756 522199658 66849026 67686106 723413594 254386144 319239552 554000756 437931956 752843446 417594338 19303940 757938942 92265600 615232660 696056508 284411400 735360686 183985124 558333590 654824670 87520520 511059078 318000562 6442346 113475272 823626286 376059260 59707286 861766944 260844158 519701734 798291216 807569208 316111278 943595020 641084250 254131528 517516172 988677360 56392402 644771746 172028886 130448760 726158048 28752250 413232320 933641702 980114312 697993310 140910040 893740196 379975696 817720668 44434162 827556702 660861710 973279834 206038624 324556060 669155872 185122958 838008910 337154812 879834906 776255772 654952028 707058766 938553510 836973498 302005132 609290304 527042870 844005270 779282372 745466216 764135572 718227596 778245958 883430568 264819650 511550848 404652724 728591380 946150740 102705578 655930126 392783366 791853556 93964300 919819154 72625026 175781626 546343938 302002274 274985080 389952056 518571866 140941740 688478854 407031028 219941910 156684742 353921308 98811254 701617040 777880628 298992246 732014088 460608514 422684968 417409550 648029334 68040178 728515876 464680002 65962350 723311242 489423954 34549298 853735960 772441158 771721904 154496734 661077170 530210764 982089370 865954596 602524368 269738312 862075656 743868862 255559790 859506614 681387388 892164700 66355232 429435236 847367232 250572616 901342712 326937586 418523080 807930868 843447344 329423690 219692766 270786700 458542128 289301642 824066328 94952876 181950626 839018794 580915536 240686542 351045714 487266238 299118418 595228004 782473324 952328080 767116272 210770378 498592856 349113322 616887302 328052962 163868498 161790586 401564140 600708128 346195494 53908004 956997870 493737184 129105892 145148292 626658064 556982400 426747930 789021360 65627014 667391796 565488288 781331024 10107442 881475910 795801828 999731434 390242010 378342148 711400310 971064192 63983250 337217932 53681078 423790604 245645228 175307358 533216298 484073354 348147748 127096008 262075700 635978186 625448812 361612788 547728768 149025096 414374946 865413468 383595522 957220378 233538190 232847796 143476240 186730806 922721682 107881602 404316644 441971908 536069938 514902616 250583834 634367860 725798410 821036928 214233816 449985064 629528474 784199008 777661056 115084460 714672596 819679026 584865686 198144894 802821676 297682020 917859612 69913834 812843170 489616406 821967278 982824120 66312186 671244362 480260386 298036970 929041306 760612954 235705026 325518338 794037056 969120256 119151564 163882638 305893666 324576510 839797946 991527788 863449446 351656572 960667028 946624948 158293426 235104696 864808770 840005798 712863034 449402618 869825988 635155168 398566836 178881170 448542340 91484502 639907818 60036802 496849794 872545928 633501856 494553870 523230242 300267238 611977932 536140010 336181850 208613850 575179034 531279396 67661324 729192760 677282790 760557378 565524638 855076184 611446712 273948944 313088370 54692886 438134428 414760996 775871564 208230470 818804990 985397348 813424712 641663542 172967170 321372848 576667878 628477942 556042048 932309518 831882200 574258262 66899246 512984968 220425376 529571330 398801982 833731356 961159416 862264010 299096368 765245686 537929466 236822640 401165168 901466352 842303118 588404944 584893272 72448406 472250054 942048132 414719764 139840132 336866900 893606268 305101328 615075998 247142914 33420070 313600416 819982388 233384200 982765752 500306232 832122132 365461712 108302102 774934270 396783660 927921172 142166368 217279778 223325330 905525988 58674820 513269062 593650556 152632440 74067202 47253012 994699774 115184696 629235658 403654630 326145746 598817412 741227226 279429470 966148290 114236594 935100316 889879936 608348266 825874302 642730872 776632940 405431124 299340362 800864022 13706226 981697422 826203302 545909170 716799968 936909452 943476222 845037836 849869538 415358212 778864276 281271388 496653460 299221672 542953008 640699710 237229342 526428320 370103060 281556322 769118856 256334802 123228616 450797708 466336760 192014282 132555646 532885646 616293742 779813690 211977284 299252310 116074174 450000572 760438454 522349300 994515584 11590728 197516242 969854972 960504906 60762672 685499206 767499236 373852442 373807314 316174144 131197982 393210634 714467296 691438118 706836712 998272472 919517276 517090984 277964412 520722190 148420344 233064222 409050386 937203596 520748858 259516140 329439490 931002908 848497468 810267182 161468218 289825842 739371468 691205198 632451782 663841042 192343234 434089910 84288212 970695422 17434236 889283896 63083240 549279296 935279100 900147978 893628484 384725088 453228438 305716994 798362052 557104300 411200292 706185506 428032076 834643766 685668518 644910640 79746892 955139056 667459776 793323050 545747548 405591598 181277416 332566036 55378366 965229514 580211960 337610802 667297758 174347108 134210192 880747494 335608514 570240016 876198864 507557292 735641060 24544056 493441888 180521176 934844114 509362738 897496930 984865790 942610040 997538720 972857734 968154094 291678072 121608532 237412262 627973554 94856690 665467642 969291778 689517320 635664022 724276294 921153130 746599224 443893840 594929364 865824246 365430288 255687526 280369620 84056984 631320338 844815238 253829304 459503400 823456900 463936636 271683290 71438762 752768540 605484516 971209670 399086814 877138526 387525392 542810328 903649698 861450392 487305156 29217020 355913974 850353686 620615770 732611240 381462820 545115684 76401024 108131800 511230194 418781064 480778034 830023216 514509032 493412918 555086286 896465346 482398614 815063728 521528722 351906696 273367998 654565514 350684152 338996660 845201016 218357160 756542592 125897374 815524176 50154272 421748196 598297544 9541060 975534110 393073912 578889924 946949440 726638696 422580860 735089632 216269184 762388556 968182442 535873266 435926136 1662814 820899084 558190176 336760072 873500196 448508300 165274416 145128470 442639106 337303210 414735316 970501414 104381532 187504200 142253724 642934360 728519678 148231592 799066974 673618924 921413562 760990904 2627584 614681464 931705398 772331348 268084288 323076382 134848152 298837440 164425694 114235816 98541568 795435900 938092660 568661968 126204334 967383300 332497686 544769584 11670924 448764920 634917280 339622654 854025664 878229682 992175514 823640440 721428856 617810860 252566614 903050200 864110038 473153868 842874904 968725472 841572476 481481942 501513150 79361430 777107020 732311112 11101712 657838844 901960456 284209110 984492592 511301156 998418520 984143078 510746228 529005772 52188726 859256352 580236288 100165006 296571954 179919040 9002982 992677650 312603634 638587692 148336224 756108510 79259678 480188284 655011228 694681326 64854686 831190674 223881184 544986652 79979248 668781422 587266708 285832070 301822322 46640558 802925316 381538838 491402610 297934632 117252622 954050316 54485888 208110370 422534202 745375046 795609304 654639212 232447996 922624444 622816268 159330074 359863734 589819916 550413862 61966910 883063890 819527542 770028524 626882138 687613446 511785844 768726046 260620912 280600104 229804850 57043192 795814556 601483446 247619318 972085652 176602556 576919026 578970478 47352306 451806224 365059050 195290494 83636170 389936444 563817940 347611464 738694870 495493524 158480754 653587956 165412340 678818836 202530912 640680512 157546712 296487368 438741378 431894274 976106192 903534284 473941430 730185322 593725138 175759780 28524724 198374396 587373882 522882902 824371942 905364080 411384136 364742934 43542774 563879528 461309244 264767064 366026644 28673330 69182442 3248760 376774530 520377988 969500542 289548150 376736238 845528126 517877166 921198992 137807166 905750280 911778310 371696892 569857286 389782606 154869564 339812384 648974820 255572554 435292678 866561142 170078712 862002670 523613394 439786076 383077266 608570646 752942188 888901474 267726388 617344038 338247402 658688762 100731658 750327042 894757756 643377484 566889364 587011194 262882986 27248290 156989174 463319138 235532256 480114960 335224924 150475236 504448742 77098024 569110934 723263322 825906536 817741760 221114230 883350834 219725824 520364182 391693614 297864918 23026252 619000932 897319768 970862766 476491656 380764578 633622980 815667510 34966238 372229170 953785752 171339882 196493724 486847328 82948252 804334586 720138786 173895784 97021860 52360094 778448162 143134916 283343560 637369418 603755090 131668908 484318196 331250138 482464848 93517046 34802044 111665734 426616418 142741754 463448144 743892704 247570056 191780408 992808160 797100066 993549132 278210140 644353672 633596364 576754470 134555460 450048036 941625830 348516490 850527354 733723632 627058848 524830756 594760208 608682310 965830998 645521866 76228076 703679856 808093256 204614340 389521012 855454540 359037048 930310680 696513100 197155888 927370426 683864770 353907594 671999560 558571372 320744948 22380286 411572406 528469872 368933246 418367452 275964334 552753514 33461014 793417068 638532544 407012874 177276908 769641208 678039888 626380616 393008642 428875920 917334964 845655072 396768446 14433938 357723342 886233824 486933678 590567680 57462458 251708938 243281900 474894094 541579578 384673478 315385194 609670474 430380390 488295450 452582274 831752094 3349800 871388744 929538230 353888554 904020606 976615140 513860652 371347720 615926584 120598618 703990020 451640422 161241576 440400362 880329566 608985978 694854402 434046700 651403382 316835098 539817690 914162816 102591556 122534688 825590784 188184594 45450846 698254630 729933744 187105612 190025534 746974258 789777214 381123622 720996292 316829544 883939458 426719512 262696644 685612054 663661212 543041530 211871186 725745370 508613134 926058802 848464000 86529092 649133096 894086646 505560726 390036648 282800722 806620724 380021350 502751186 133960228 730850480 888984704 889128600 740998616 688130774 526213506 704215270 287098832 173795216 348182840 961793012 561002 872717606 31749230 645743534 350314978 553284096 582149206 113234562 802169410 223950900 232124548 829170766 942735372 852551486 598333760 293193340 806590488 982105250 64399384 618128948 112514192 43557516 429564252 230821384 654108412 874795866 162615260 196932708 319703244 634649526 909237408 957512178 734116580 440009174 686647948 222205112 212315682 509547326 284500884 335460396 279045550 912996086 903632428 991520420 340583108 335478038 607608040 533466938 88995534 351604332 540606602 463268998 111005410 24416406 161613306 658174096 653086006 726142014 395623972 134297382 73669386 592221088 288219452 446847392 143061890 623961534 839762092 163146456 265156492 741505436 410603518 982670330 875413730 523812980 928670010 742691424 399835802 709882376 315247810 142745566 411131024 703554736 202755696 464160870 276540230 106695306 4384632 159064572 598082386 758563660 709744926 110791240 354217470 803969882 817374044 583927392 717421264 62747668 966566990 502782302 990147310 868241784 29604738 739309650 340359714 130771276 438699428 41764306 247864518 332816732 3913180 7455252 646372822 654715400 538908946 316160998 366034078 791106648 217809932 805485636 947322676 777092548 490917414 395417510 202492278 880423400 826357798 527088878 701619488 901764314 744008442 551779570 102116608 592515640 317135510 514503620 845457328 534113604 260257650 329440596 597380734 210989088 631608384 893283268 112587124 226822458 555741330 59168452 833086006 149340984 837580348 863390128 188196810 402902752 459491364 633115798 729572728 9656318 24252186 491195704 711077308 987275986 984635072 800231160 955458670 87192886 792562184 882086490 103103672 602153416 988996108 390783982 272542 980983382 364009888 996539280 711884410 521398106 488050020 474868836 728296036 402222088 95163144 128138074 342387544 896673408 738829022 419448180 722514636 502036276 813550678 429386216 688752172 542609232 55958858 79265726 204044996 451526164 259483708 623513750 278368524 258057704 263695986 948584934 268340232 279709404 8369912 383402738 521983806 879203690 357418390 589539300 97331948 305023022 587828992 333012646 47963236 688458454 676595170 223563900 741319528 227627812 553954290 131260752 295996246 58937798 961693608 95636462 42872240 115149462 152284146 176537702 590057642 837514792 529115608 712523688 722673854 99247398 519363344 552024528 773661706 445748084 955696036 411373024 629298650 251810470 336565530 324455962 617489476 929172804 345175996 956332856 874177508 230922944 273589598 189610752 673757996 570058066 975841746 987926340 775966254 417347898 753278308 197777552 249043364 441808134 261459526 287915030 785611430 631108754 215587128 453062430 53802528 69875488 769953842 325493768 679596614 195909788 923341578 696322578 332754148 140773836 764388134 645550238 775462550 966624072 6977016 721887886 272080754 317436700 110152430 240533182 551185490 710287404 572027350 965526688 352685512 124261444 420033678 319556516 440654850 853641480 320848126 622059532 813808424 206676512 742320430 798517288 718764172 723580230 566584580 713167298 537736092 285603416 934952580 291145748 363511836 874788150 488684926 869404260 966584078 533924628 976039786 62370358 867057520 890322256 797139222 345835554 687651072 94112372 76227248 380815420 52259558 575817944 406400038 39768296 280802458 325014516 34725848 471290968 706427816 669527176 457971880 183341412 271316806 578874726 3740214 700599618 775531046 68355350 800980170 898197820 484449544 663298324 579016422 259171492 509203464 665624048 451940706 24096272 911410834 973526406 139138336 35896936 597918980 829301206 998028146 295198098 273085070 442051682 563000508 422136776 985066926 315660966 423384108 169648224 825100108 667314778 330592722 274167044 212479840 645333992 551720294 253310148 343397588 87094226 287818168 912372132 500002986 925183884 841819214 52413556 311284730 303745460 723690534 862932044 290521110 938713960 169580282 803313030 512756084 116251302 408433060 382580554 864502394 807082060 468140842 268046018 926472018 766532634 131524360 537435322 413343004 218211806 988948986 128690770 687467938 877205048 968918184 758259034 386110566 50215702 727458714 100847182 632752642 576364242 483757092 470377432 816985534 244868150 553564364 507957836 739258192 771365524 669927376 978843172 110054612 778469154 277742614 719722416 517970026 256279930 27687030 538234692 636110826 857755832 799975992 438384936 805190554 425935026 308837534 40168430 821829464 395136830 355563518 371073944 781620188 515835308 986830098 386102426 967172650 27927748 912927560 4870468 495809730 345169134 134331744 609583184 73192364 394855982 107375080 659128224 343855748 212414560 324958860 486985946 687127824 131362234 131287316 252437016 153881832 321585864 71064992 32063564 865274558 37611868 421555874 687418756 889078310 182824174 658831070 67236294 58942516 436988800 660008428 34069702 552046440 547650418 341228148 411323510 841704190 506886538 245700036 848749464 915906022 594460514 231746026 798331488 408333750 540011618 238425028 952406138 919495926 827217908 116092692 518202504 92707378 921546610 144074100 184779090 454603562 362410874 955065144 348520686 955377648 976695616 654637524 300592770 609458178 143453892 5501410 99212 938530086 726448922 460947192 558756220 93432968 259715708 238954494 538237754 24670382 703724990 589571430 636600478 806266146 306584300 677993772 614802692 990894210 872769054 181801874 572972670 266589450 509327664 469430964 892891438 743883828 851344862 852318622 512459294 346728370 201424590 700638228 421414250 298616246 48875532 708319792 284210782 287917806 41511326 779110274 275016522 416596284 162716172 394533182 115381530 399123154 974768690 222152706 677338018 398416504 641056230 102561840 705860190 307913986 732647784 765294280 644289670 872214616 701355758 292939068 296094156 769890918 589683090 673797822 497293796 937077662 983946426 821752482 339734712 238370068 552781328 878207738 725954396 614015806 301398518 471576666 717817194 352661228 664199986 90227938 464377922 108567288 321421932 201271736 385571406 203344212 374732134 653826522 416432412 910662180 235033852 459781284 12741838 599844224 604566076 765859762 103216362 945710712 688538108 841920648 282775432 711794738 987673392 250834968 349562794 257893568 3015146 410121066 822135068 7598400 353740476 941264208 25226642 961663676 942303812 13396286 889947456 137938220 963154950 395357362 211622792 56466828 37119986 592530612 215277690 433992304 689344918 208930730 819534976 575679802 898099812 922724534 951101748 247298406 662159168 671769678 645844954 405375696 1274918 198730994 719255104 84493332 833733452 67585888 909630594 218017870 917520248 231192542 912277900 78712176 375126438 32498902 798780138 220889234 53447904 748199794 960455602 554564726 30403174 307549604 993683094 383230056 575064188 600325060 500434748 348201804 951740088 154194606 798602136 666522914 618072688 12601196 200122442 960124866 963214792 149779416 636705676 827754154 437024316 631685818 758163696 285341644 203942500 957789288 591515660 667036958 889044674 951831480 798774308 695662264 898652840 293073782 104520024 742097200 541652640 140362436 788263328 2502400 913053702 253402590 263360322 860815600 251220176 628916908 296834378 356750248 291186238 800418114 540447546 771016846 680017904 308879136 923151104 812080982 532999812 446343952 81150352 618980450 369054966 277080562 448244238 601722820 276380970 950098670 293575728 416849522 661341040 841849002 420121674 177261866 410095280 275681068 65407890 416846130 708653428 245007656 288685166 6798268 840016190 167750576 975699678 831953986 661639400 671713940 116278066 573542274 913931968 278284846 78987768 300998372 622115202 940037100 499272046 866645834 911590186 102458984 950945890 224497856 912399580 851916758 2081756 894146252 496981390 614780228 3596656 241456216 110687744 82223406 949553614 184010048 443825194 832611286 413517668 704270434 439525178 53581878 226021682 559538964 910699118 164185150 140685368 156286054 378318624 653779176 875795186 229298966 619963880 465385750 998776646 458637452 306399244 677570628 739430494 258962460 204090914 55482742 323587906 340978850 796595854 92693932 479775182 78962510 102163468 396639090 50650052 513263604 506657546 936023030 749451346 251372712 472319584 235591552 843384310 690861688 534733578 667410216 943679208 33246216 122386530 907864070 867567182 99312172 224710894 998655226 222217308 594077964 863949054 425452072 143203030 227618606 899887486 161202200 700837924 591074436 601284222 21814076 14787044 930023130 835620910 703249876 920481548 358720814 921881904 946331228 600488344 679440284 661812942 495820188 210695072 747992128 355555472 655881970 823428824 59651844 345658314 453578644 368199762 932808302 699935254 455973746 83989184 374200330 605979416 496563586 901486662 317910298 407158122 1112156 313538010 954331886 881042178 900702554 950509210 407145688 86245804 559159404 917041802 263381794 875959216 657958028 630255590 588921302 704096676 613761688 735943262 250724266 110830318 546380502 517489424 419567906 603912972 210160102 126293142 28250138 67555604 620866970 576485240 733405960 519307450 100608854 160575886 792116864 16348414 393085604 33676860 327876154 703766194 42023734 625314422 266449492 641926984 132622334 823436518 67117732 30924140 777946860 203800614 707860820 522420764 481001944 511592384 885253636 683257212 987465896 874535924 250126084 157486642 424961270 614895250 339477840 936191310 917501592 700971102 798561562 527560678 24342048 699488318 27753036 358655000 493644382 721467372 707282150 191548280 897206704 55737644 979783278 237841032 718545192 456658570 760621032 357592706 752389590 180556604 865905388 249022642 502039054 739262012 345608948 607833442 289603500 157056076 684037230 539708904 625726256 370099074 427635628 429447970 157180366 991388502 595426242 481004470 971887572 644912406 851609226 91480224 414159568 116929288 810856930 265229992 372511914 375083964 681161952 189461966 371173072 272812348 474125142 764389936 436144396 450174014 480591532 217190354 967628708 100921674 506046848 350046390 559716994 59708612 756495284 722280290 541492952 540636734 217662846 250479880 629592014 237967548 733953560 394199286 549125790 359464848 72525124 168416166 799162960 793830718 373568590 200042460 641190822 52203942 340886952 639588712 379671642 658987824 510900342 533171216 954952040 566539122 363127618 583496772 708074818 419949864 775093558 355088750 849424432 60850634 659514664 256262260 422630708 301280714 510027528 883545416 642882458 16967848 315433436 191530204 955794550 631665850 103803310 446895872 197745784 758207354 623050880 336367326 800177154 957217910 55012548 967745150 98768172 34000376 728652944 541015720 176431706 224969784 366514400 681945686 550342740 825392212 516519024 791148646 969088962 943892948 379854546 219163688 265081202 351944936 79789396 644344256 177131900 21330810 375458092 584069644 383712376 674678770 337674488 206690148 401103904 189278824 666052206 341533776 795236756 384479460 79477122 262528660 983978070 896489660 230291870 852854040 680562250 578529770 948908280 443603966 5378218 42466792 104564540 120397002 678685468 842949938 938337222 967488384 417893748 726443216 1294538 762455602 869080234 258908884 630392052 825038844 263045846 426496154 880661466 775503428 422271308 641494814 368237958 371712268 607322936 470075734 575668498 649423766 433333082 791274382 477876878 459752124 780563072 943951388 984301042 544074744 986214370 977017070 169302210 784697124 738793688 793501984 47470910 598488000 634559680 39148828 15624772 384281188 989335610 427314180 79220614 607562 495544262 213567494 705478440 607311910 757363546 724121264 281663274 305484430 998549030 829219172 737354760 341980510 428801138 418550230 894966478 135552660 767496552 840337756 834222492 948368056 941606214 153116924 731765538 225796206 215917094 803221936 905825262 199194976 908376364 516621602 464734474 135406628 938970514 38996288 22559134 19014996 445189332 319433746 441129896 92907604 348076010 372775092 355458418 347025960 868420686 561913314 542193740 869258536 857529028 763587700 917838396 712120120 599234342 945038498 16712000 292477902 77987932 317961220 860334326 738139752 967281516 984891698 712514136 699717420 580793104 218923480 782354976 73233098 918578946 140849262 233749012 789033646 634725482 504014116 750622574 128353604 413203258 636126498 862288548 609616504 620033966 998371634 294529768 28884092 567786014 843322964 475059436 583028546 427194908 491923860 913004450 953264134 118534460 145012572 438030848 664109512 930327360 374742252 58785692 530917262 783273778 866542940 105889392 639796426 231624828 666199486 723297596 843835272 329286748 866791110 668702552 966318976 221150836 57597562 148457692 190405864 589012452 824190584 876355132 26355098 607312814 443242656 740060488 292519682 890840830 990198646 574721180 985598364 604061810 489606808 949425576 485449290 562172678 59789290 121556378 822691426 657963946 899829014 247622520 585496064 109045322 737853020 276619244 306996706 10199706 747201272 302104980 167017310 359556098 703823046 21735732 923110000 328604708 438696960 83918426 999199102 495535864 976850398 195026760 777453524 238497206 816187974 374197582 810733792 721920226 536651630 984719598 30504206 293484222 363524776 403203056 879694260 740332826 203206316 118757942 978781790 517308938 306993540 822839706 554186330 997294078 654273716 231636642 190453718 30823658 468408706 552661040 321383240 239319228 767649828 635667502 336537130 251556152 783980202 422186218 703256186 892604808 545020380 690442384 300569550 284567272 212702670 631635620 494170202 969622168 939841964 604614532 470177834 687072324 716355152 37585562 774098902 696062110 800238582 123703692 85222020 757069148 524410008 682337484 701594852 12152616 966457940 185264382 516827068 483545598 273348204 733713628 99505624 192433896 47118506 411114584 835248706 214949576 872702060 613499732 8211010 95386460 781001112 742818078 737735500 62598614 280590452 633124744 232747448 172340122 485112492 585324584 965960414 284227964 274212328 266816090 688158586 904251038 663977110 36296052 258828236 541948452 275073920 540105726 906840740 186566838 468816558 593088366 618556274 478756190 399599492 542445922 538703392 928379512 977970312 739506270 916176922 166274808 491116024 729741844 659701708 708289742 65193192 770412252 165291580 157041966 172880826 413531318 526273576 333971258 563056118 57905592 252849318 473055180 308831394 942749638 960207058 823476542 488398782 103776314 63320812 868125344 859034822 278252598 762044142 344080302 420602532 63510482 601296910 190076316 339937674 753695256 319982744 19245852 78958374 348584726 296016074 691371406 956463584 20442734 152463438 414949032 340024640 814237958 911242514 317293754 129185976 176503422 224427570 882749784 768314268 12323116 522699162 862568196 745998464 886551106 431748572 986296080 482494374 652229736 829869942 63044066 579163974 302416688 143295462 724383336 705960988 63307934 449871198 622043078 502117968 658465340 511678364 253116254 789656110 38575784 242218650 969377048 779872112 353604498 270869942 392083004 812417836 644696342 658594708 890201994 372304106 857679468 417924882 130799086 864204766 775194736 939110036 608539608 57235044 100072606 712259058 578405742 181772376 290173858 817501854 996813142 148223248 263154800 786399944 798076308 945565534 20061826 190471904 71619416 983828446 56148684 944588116 677851698 256402740 355711554 740539398 483108918 648479066 89235912 589079700 713811060 442890848 213460628 897669590 2129790 934661758 970554202 845479290 334713534 96666210 272839834 459590130 738447362 997335426 596331848 275102710 133568580 246924138 65000270 370712136 393449958 511345750 73446038 285911938 268979792 641951532 51068042 303865636 786329302 273803928 642175554 182755740 770104636 944303998 947760472 860146428 527423026 498210760 16682402 92623494 393710742 358815856 5604164 996810948 687884032 574286498 957425360 252973944 243659838 244333122 701345290 726347662 630627808 986720026 77589896 292273974 916839896 520746942 108574038 380113532 388923002 936914852 532754186 99183468 592810894 900216192 932291276 855456388 845438184 718818210 408869952 207608424 646315392 341684242 230502664 385420310 326525584 367982020 796390832 510294642 362182268 229295378 942569230 707940006 210290720 471126696 60631750 861550946 431231842 81516574 726865852 710280382 350234532 918273302 892137746 871083894 410947408 583375274 164357700 679326998 669444806 263207908 149802380 832191076 179145722 816552120 190655236 717095364 312556936 61871084 683824760 851640126 732372242 245042054 264319688 789509918 521987532 887783448 898171910 69068518 818500740 348729038 30960964 315308502 153944086 428957188 639544356 14199820 29276014 166552332 883693398 49615026 551603880 648292264 56345276 90052226 280335936 865253100 820023640 489772030 940277858 450952270 700239572 789700516 397042852 327690680 479974110 916817182 461861480 944905036 321683386 183605410 626454044 293876750 212532772 998504408 150950678 90140938 467027174 284174346 319409014 453781986 446765600 108392598 141190074 925815066 572187508 568474238 701893960 700723526 18801848 784787386 889053612 959319352 787668250 759499564 83306292 617996390 184241842 501622870 948664454 400654752 475549918 939939528 255796232 986209796 677144082 293328982 594419228 252228814 659138646 472588496 429943702 637990960 879282252 750581364 236869650 957648124 91923050 666758526 310237434 123803830 415544536 682729472 456909788 311501142 191630908 676120254 201190760 909556826 289222060 683547314 347628538 827981778 597542270 70030058 425357604 377043374 934667842 884820560 530264022 237586192 869268978 385097354 93240716 1569250 790083038 928605512 9481726 699015224 607200946 953111718 396513696 315213250 864107042 514752408 789533134 631295244 564979348 679884716 416586662 960090424 961161236 499742926 95780758 781283490 227442310 97607334 27595284 972535426 974352096 265537530 768450410 666225482 430955798 593693336 609821026 138849684 563637338 356234294 997436612 517563122 607365784 598247096 230940536 347136794 379090466 629518042 828884626 299529732 405404996 88675284 961639692 311517866 226495882 368301764 310142500 848318528 391685958 426526484 922891336 210293392 350579864 525366414 911667112 345351594 48454686 627474634 404998310 167711608 791791096 78288236 888762590 81990020 320000932 212904892 414806576 777766856 114925756 471194478 763749886 710722342 586912732 491528384 10263942 494033844 148036680 394023230 935088024 944046658 575238506 218447336 878143796 616389934 334290538 395778048 717035456 141208128 669408298 896131116 342345272 248053500 290854244 718547976 764264286 27479040 486485388 965489632 471762982 529181236 626200234 326739880 394970250 896187330 404827312 697080872 624337874 968594234 691876516 101675662 444645184 619219234 682594002 270649708 341406948 712930786 877844080 215046248 988686804 105371622 361838752 490305236 514980830 532531360 530982836 838922162 54980014 269862012 703504134 248367796 715585760 857093104 818166530 410453610 605651036 480221726 256467306 706268234 927596422 41818152 973559420 197697710 919869132 5221132 860450444 242711248 987980832 589594520 67207322 183042302 27333686 541936888 202286640 574116844 411930302 296717738 912037820 64366614 8983728 328878394 23194434 276139266 551713820 930058084 338392114 222946442 285658116 331787330 938099490 136633192 266553216 391857110 454057916 782000098 25113560 730743652 441145310 968233848 477487664 435992024 694316644 986373046 636877084 287199284 918148600 280209322 242467630 495244656 342167278 973013312 10945474 116149834 581731904 52115976 663069332 292963572 174666350 624951168 190139766 42740752 738042888 322201470 900154564 912728356 179389334 181745764 184277552 256450076 142633054 302125222 186383152 670377822 436803800 599335632 716354334 61821832 435735754 738077324 109028178 54267980 868944968 218724880 881898628 556526104 465113974 742949794 688898108 680890632 158044480 408925110 743127540 291855728 62692474 115092722 427848848 117778320 441444182 978823736 653272084 942942614 647723540 180377342 418872650 116729768 485728138 477238408 871950938 474453016 899913568 602821848 542089282 354947638 950905792 449798694 8190596 189637834 10770590 24507452 914756640 914420526 117926212 921114944 174800506 645840598 165426114 847207460 724906604 775571560 769842398 372496410 264449684 528346196 938060478 283020132 453292634 104885198 321789644 635514106 846643124 599631422 180479926 473885520 282675514 752233448 636938556 848139396 994435868 734362864 919013758 75008190 458197070 886813204 543217112 124220668 237224226 907890704 7283116 283132054 686454008 392256336 934936264 496043112 429086128 652209120 364421302 753819332 658341592 24922964 708768276 604197992 66412798 808086926 148482360 792192684 3661054 950554880 26337232 633438958 430363596 80786538 835484594 918533986 223807430 233576326 232656576 737316288 913985720 411861284 917980326 625599990 978465086 35969342 299091898 698411310 17321046 701471842 555160278 793245380 493593220 905255802 693964508 489477172 868269060 478646260 939023972 261249380 313824540 961247424 538107090 517165188 943095496 876419854 352718434 613506354 247014028 773483462 282954586 921211458 693103992 682596042 947652136 192332400 593279406 606568986 460266934 325711198 277549586 582127678 787273310 141422488 349662838 914320718 851492684 355797996 372854604 321689612 269261068 805350918 53616158 960970440 9496780 585554156 935418280 572945370 581851352 1803298 388256404 969698764 949658010 299570440 708482170 738746626 830725442 938771238 622346094 120728 478208410 961186492 876574400 482101582 26164074 815525770 864100724 81589600 161825856 883902602 964999138 229245022 78511370 495432490 86580178 371539232 63593666 197011092 872716386 556501660 101493634 83657944 270599038 107835924 260079002 287483942 991066244 823085986 587513666 42912478 211066384 413487372 344713838 415153418 696007660 929986580 678199030 704708720 715690264 730784790 119578214 939358160 4020448 548388784 650912520 987326912 649907652 648358100 490743728 882666692 990575288 948763116 9486464 411495712 981042864 618893980 54301246 800811892 450085834 19197990 301669896 228512220 61755034 201767634 321807470 780643616 672895986 349478176 135224218 224410292 946893876 527865102 746466900 430120458 567237064 875970274 231684554 623025822 104178592 965656960 254627720 366183740 627582542 48416668 246983766 769785790 260084956 48871940 801823344 654740088 900569350 628604964 74966720 838887384 59413552 270748312 490903478 186594342 120260176 6716352 419329788 68815860 124442212 48242294 221138204 495666878 873193578 211700608 546477794 40160058 661216958 835795704 533600454 508671680 51732818 240032014 966172998 470005138 873960698 785217344 649117684 727546626 244111838 399143714 861628930 30892774 597187100 337855626 255381528 320436336 850607970 290165508 284538330 784168240 692449202 973383246 666391866 358007364 926300170 577466912 329773458 126154694 833067944 555658062 737488 630768170 687532432 470395396 156631914 819951628 721113470 379626710 635598664 650422220 489837522 648051142 366233800 942823040 921343850 583378718 727444596 521364618 875870068 48364028 879133302 104610642 755698936 342646300 862097296 890213684 655076132 409263714 478524448 967790040 471629152 639534140 347902488 823844708 690456432 201154168 186365946 296302352 454290820 739345102 738816872 986706554 540572182 909052222 537963188 278797314 99358136 474874404 544564702 693333910 259036322 376648794 869099150 966232182 566761624 370487130 589589414 881954440 331051878 900442754 283978956 235079894 752776856 94291644 826659208 864387486 334264482 196926732 827489848 995778932 736214248 612271912 57664254 248683964 213534960 140629598 385413782 842952206 345231982 460071062 148550262 266422456 892993864 244074454 837490502 233318404 392370494 349297194 557217158 642881354 211179156 924021508 754449938 378592596 182650186 407335986 217261274 932903720 104823818 104832718 360718498 698405350 712475294 556710822 504382452 113770774 245966370 875768234 154885126 310248276 9330054 745405074 749097950 48759966 987966222 872437236 451646618 106992248 99410924 227766858 301910860 182980298 518092518 832450640 20455338 127401628 125843686 663664092 848104310 918710040 583258472 104414086 848808560 503001124 56666978 926454358 404385986 853741074 105281790 362334180 552890540 238619270 357540918 717048170 427449518 617614674 730039682 312596536 867019248 22687198 536475276 478866810 557559224 78916824 47662500 438896042 382933096 315927690 331641318 924232062 288067344 386598884 568347358 608060992 629362918 758532182 423622036 121370190 346388010 748347166 349979244 935878822 376774870 581007250 837760394 721224624 520749558 949771684 248652588 233834854 84996828 729718964 51961200 138332804 753063922 674045040 758849538 860780626 135583312 607626830 929153982 259918952 107193584 403670658 569265956 175986084 561791126 447656068 729199206 989103660 525546122 911234740 891538662 206469902 512997902 278799880 503773048 737770510 460649120 47274846 459449594 379283676 745045922 107762542 625772458 688116988 589160932 874768342 6048792 428987618 913264246 521359576 951188822 263311408 534174796 176930808 105488914 196992540 342609312 740770486 320633640 373751134 735922418 473637910 785052904 385627466 534989048 624665436 983064584 925796066 175227370 960306602 220286742 443145326 666863308 689252346 531845460 987666128 880743662 817493246 912123850 386390156 148043416 545486602 292435756 448958500 504107842 643373184 443103880 720358330 361993092 410227630 771501128 217381538 424459594 649137122 796079842 593466626 980173130 237480344 151141294 849644642 194742360 303629410 408740550 988875864 523715672 120579510 531501528 266673422 394549568 439252598 622503366 738081054 336597524 686281650 906361404 258895720 864233264 76908014 263099112 846850618 424684208 520477600 982083726 154577998 860945520 309855702 450044712 143953142 465096974 813477772 167233292 97217756 799510758 693405676 34338746 335053516 915552778 399510228 360562866 815420010 106007314 502033152 46599762 19887204 936998072 531387026 890573214 175240126 991968590 581666064 163022472 363176922 727439132 848835338 366835488 800381236 53800520 801363752 15710198 227254534 773939402 905836022 413667160 141736930 94989506 505159808 157951934 223707562 792493160 327736476 648150364 374216228 558967174 819130276 101165326 324009888 232598510 296153804 300129170 537198552 669483650 793611840 31327490 650855364 483156504 29463796 22638924 735238744 299438210 816961706 335123140 997562562 460553840 691297054 575927470 569661230 639705726 687900504 160047794 160026488 264394092 844489616 652143580 45292702 142206030 286028132 714670182 6471714 608216118 700675486 868704830 546456230 276198554 996545454 853985176 136337964 481707742 366642358 822169444 400446668 78394936 964824166 167093808 314417876 822905966 936176704 329497506 920697288 235356616 76576418 284874384 242992220 722062356 459433274 403716044 33333472 324074164 78179232 28977994 593955186 288935562 636731920 190288052 156263752 413504984 292754720 58160982 103101690 619963174 110656972 845111060 102756826 227388308 381418174 652945504 565479280 344904936 734408064 777294532 972596398 6485112 868795762 299121890 355888164 874655696 865019310 321899558 195263962 681240200 454053144 588051800 881657182 921243584 244350038 622579934 105400848 998391046 32887158 281291676 392209712 786920124 115045132 54902826 315425340 405723382 171469488 514981646 991230384 949583406 565559024 448286698 335498458 15169226 573084880 669814874 683647244 285417632 320834498 272935518 206319398 65447062 614929414 364219164 985139724 932436300 969155304 321583412 316201894 987035700 580995370 355337074 295398524 143875030 167271598 771634902 406755168 901060158 828135662 410840936 568816364 920978952 311618026 469291154 484781074 687060184 130328068 782239526 845896426 953145208 426167874 447798450 248021638 568511520 898353816 341473476 896212098 975659002 185092734 730480132 805530034 703088430 456749356 707471908 893536046 928555454 356803686 39696744 241325716 128582834 817984518 614108588 146140840 148667518 396007680 497794080 52544656 595200444 384069916 699123942 739186176 150198758 605324530 774733160 603970810 390993150 374972032 752277430 502018558 618382770 988235154 351259814 102460534 403146272 30497086 28373454 660539062 98905362 17473406 1800000 42536282 314361584 44941558 770090320 64837366 32080934 409962964 885102238 250869060 416438976 679911362 259763644 461590606 907774378 599356628 419475948 760252232 6720942 114064660 38166650 724302430 22099124 107163900 314593198 435903312 521943450 391506308 966854960 843511702 604746024 753378182 257980122 425652858 886731352 226824064 677390682 892947498 974894398 554403704 806596096 481356724 776900700 485012144 381174216 788645868 476611384 907602856 625421032 805888906 77330542 745523860 80000542 825569576 589116232 690224470 300661498 656452984 959086038 545097854 466989998 90508636 463378494 543548340 186927632 637653904 203427980 324431494 942719940 345979282 174304 783584690 266763958 45465082 289397860 787959782 740598818 832897128 676169912 95091572 529805860 680354590 799024794 720929720 37670242 42091840 929329320 301091202 935712756 226578290 602983972 482508462 840048206 782711294 86030124 785411708 129579138 594735796 232720634 360908030 795235484 680088670 880568602 190088596 812837082 706087416 379241582 777245562 714557684 451362162 53063428 984226230 71768376 220840468 836768816 895184724 664023430 334992926 434938124 826918610 346600248 918828568 854334486 514118950 893175260 118124760 680432386 329476304 138077906 157015642 938373370 883596050 829210586 108387388 259715288 538883632 697941248 766270290 894023992 348923984 653654940 975647058 304409062 620013992 830284116 32465892 2213822 202114174 815502952 450881138 242758628 133825484 860197694 336984288 577683402 174917758 213960924 386874422 614218406 29055578 514644644 120168410 162398604 470112478 638777326 584531886 620711370 891159214 232628718 970291062 589349192 265138930 817169456 446093236 234639090 457292484 272304090 463466314 459768754 398405998 967692648 423081236 249675036 328232038 24882628 543694770 440580702 746244912 82298794 265441182 997640726 334216604 988167346 303707928 784281130 54107372 468004078 390253874 646364098 259279314 360459900 600523124 653431366 606997506 244348878 591747138 698801080 459959336 786031012 111206926 808036886 912527764 50837386 59896438 237256838 596671878 906438836 934814538 795157012 180913404 995891070 944851980 79731898 986517508 658678816 356202184 851491672 898285246 725326686 339755182 487840912 350929868 801090944 103958980 315231488 371736752 693459140 441809578 681775084 757237848 797150212 21014146 794825998 899858746 100899830 827330522 137064794 359338708 282856332 360780412 458013674 15360702 332254288 365941466 32643286 902125358 358274384 646121204 878993692 19036804 72266498 150418080 425685552 154087342 389106612 156312406 5442272 934244050 111659682 288041558 976520580 554390744 168396938 788676488 711871170 177374844 805910768 971058788 504265914 232887926 611164454 147470052 611457084 286123562 711918730 395504774 854650232 195622926 205181882 613212640 19343350 177024138 766638880 657940690 379404744 216315132 245683022 845713060 304121522 548028596 374525890 480541478 991417124 118055166 50734046 511516000 857896988 311543718 510211716 6648644 420836300 791481828 321105012 160699490 346639970 849690238 822739518 976375216 79734216 78596480 907799790 944331422 984894000 130589820 540732936 577454838 531533304 797330994 308030278 835097876 79925296 146238452 977473920 462229710 559834292 732824710 802285174 930475536 288620124 30965954 460040320 541349582 938507014 509933372 224793842 423568896 174388178 86342992 416804966 590652814 867009830 341470218 66235304 74015452 919809154 51877432 679466820 747236630 486128966 179556514 169891932 11340596 560730900 553462310 902460712 685521506 703697998 291988982 346357044 161734566 579992496 976867490 375955774 257469208 574266236 31012020 262139710 979339088 778880288 428454680 345285992 225454098 157907284 372989744 884627106 559842312 427379530 712349798 970646200 464288982 658182650 508908338 696755524 373088702 134883418 896339014 811481530 690585910 399286110 598384124 932255186 676491114 109164944 801870654 79914468 587057060 209238814 784290022 816404596 506412610 752117956 895202582 487453650 535959662 973459798 71779734 204952344 587463630 617446562 126741002 839999148 335550688 640557668 315885980 89995616 405922466 619251800 52108106 229234076 826679508 601660032 674296042 495670948 372658162 813271734 565206800 469114208 342678750 555613258 667972328 338726890 391748560 253504232 958851614 443353984 675069118 50026274 705616032 624956124 751568508 63734680 569987400 731741770 376730166 12111962 900429366 431515588 985661782 450882948 399299928 370324982 486428824 723384594 520922532 377816848 201459760 898023498 84019260 355702166 694374712 391413994 391094448 244969712 337197098 467665490 149452964 289508946 256921566 544279394 340839176 424751978 773550180 173478316 350451176 339808358 317354258 682885488 284823834 165092624 185342420 345465360 338364936 174827772 79112028 139009820 500355256 152758530 681955892 219189434 65032800 434066486 958551762 752873886 370662544 496469776 261691636 191951002 864247724 613765808 193103164 712702616 170665414 177906768 848558298 631670186 548108980 19086128 925339492 327014120 589911100 928095234 134748512 703709440 571230926 618217442 210155716 93514036 544693678 877511204 164025450 717219714 423093500 945133658 607704926 458960122 36316380 709518000 451649652 712966814 351761816 58365802 410501502 967670154 503865712 40144280 180931656 211422804 229093916 23197980 829896738 861917936 814677652 464645454 434887288 55084924 886985546 825830534 924199234 496539292 805758152 364294024 88265196 660538856 728802316 590968488 695111892 551506816 661672516 227169822 112073018 953340834 628416146 398567856 521019926 821997162 930771454 408392400 567999282 463882850 488253084 424675786 444683650 128975178 387876290 12413934 48190708 703043912 202590776 380435018 445950900 78594536 574450212 625965670 68832808 858618544 877562864 227646618 139109300 58583624 199948354 95308824 701276678 427158806 377437534 708414924 984354330 39704958 316412102 922410960 286605022 245704876 512395488 780372428 884810606 34723906 131942382 31454254 901505954 918904288 127015840 17978390 392583210 38184860 511753690 939834346 436817600 499664248 620888964 836734060 243982444 505197080 29537406 13561368 655305592 535929496 672223696 586463868 876580624 496897228 466542116 766465172 45293632 283882060 814043276 915540202 23994090 135340706 231233416 944183860 320363388 372346510 493013146 943804136 157215334 910938954 923374792 850264916 191176598 25701410 38019318 496902104 556612292 643312216 147007066 714872992 588662496 699431256 274579032 290882670 502583352 878685536 57033236 321955566 372908094 839314780 756852750 738442958 190013020 387434802 625668486 548254274 112017234 221694470 798845490 133804382 708878232 299828384 431477730 120510512 151697714 40830810 547275224 846468286 56201908 35216580 323010026 254409690 742660356 322607860 210973456 85492068 188488910 700276904 639982004 26262970 899845040 521495398 605621672 853211862 686713124 403457424 946204774 109717838 186135352 60174196 7209150 43137830 403626416 301466550 51891682 923835456 861973570 291427308 101610818 434407586 892705658 838327466 639550552 871278440 256134950 470481384 592821956 72587848 705578374 880909656 520410390 775524432 345233240 546470090 99672524 530481004 664873854 108394634 70782376 745228818 195011480 383497014 423507676 58676494 523637790 587419862 806872886 71995300 790326934 765004968 835773668 560195724 802293180 614293466 294804034 593392584 352932020 459839684 30438094 573839502 198815604 131232058 468431744 57448714 813658946 303763576 785747642 368205408 815435386 258135938 359981740 596206236 149796342 83788558 825938276 707702410 130005792 737915416 692427216 133697028 993941780 431573052 240103220 490819422 154876850 429765770 140654002 191199706 27143904 729488424 113232960 941360716 797181896 494475096 721035048 516397536 611121754 864194962 832913132 806362946 838946712 907651322 537849910 130038886 345691670 115188960 964369322 68673976 621497064 441953886 442366310 465646000 749511976 362158968 59639374 410504134 442238440 310219956 498252202 304590758 467345476 221400218 484172034 780490622 250356494 599830188 891683968 526935588 495891632 551261130 101910810 241612092 783512884 271534416 322153432 344917272 90159700 518158998 297925222 526082932 508441510 863780284 61718994 65952976 33044460 871583110 783885014 271433254 180544430 386595588 868872226 416285802 316295466 849547830 442379842 125061362 87305462 363833344 42085892 908111880 104057240 201192524 284943512 743614844 316809986 18862916 949924806 704747592 248720904 297712594 105550344 262216772 870522840 645563752 279011250 396736650 909571220 55693764 214751318 607380966 992865892 329460152 523732072 983201786 507602484 692537548 973822470 50586896 976897722 199968540 907755084 104508234 233146030 778110872 213869802 711666838 7152806 370490546 570966620 892237900 223017508 750581812 188736860 531965542 279868730 225906056 959365880 101435826 190457014 83342032 734770666 457094154 312166764 785402308 297937782 481917038 865506928 289125762 126080762 715529654 6805704 31244104 820581620 354360370 991608088 805307628 403502054 253033630 420099260 937973796 821360242 555296292 402509936 821405590 810866020 430648710 212973082 532839154 506142318 987623318 687016448 762191914 252344292 504316666 290507118 163797698 700255826 198448430 2614506 596197506 113205532 110584222 167110992 622785752 337907316 984678744 985657052 197221900 699881746 806817730 24309692 46601388 359888194 307877122 631507812 769975336 406488612 548218254 72075380 831200834 736835790 174041350 473226232 839341808 912783636 148277378 625021090 12134712 522728876 141808906 961358512 839360638 618412006 694337238 442783170 769823534 97203818 682388244 12820250 307134678 316732960 925807684 869439336 170808232 64240530 616661988 838370934 638818096 691888880 483043590 948174824 588948866 350514022 40652402 843349226 994763844 613834776 176769506 129133522 967179594 16245054 914780722 618577950 977185010 916498940 583285600 150179324 314320776 745329512 465151536 424190192 511386726 797607816 496832318 895510400 645518500 551967272 587179710 469777208 784931216 793076952 570287380 416672174 36876966 437425344 165136266 501983976 278020276 940363336 790186416 984073182 994207338 408146372 480950772 732586530 485999770 814439908 992157220 920222380 273987490 719034896 37692766 861749042 699901270 482063212 145307488 183175238 943442164 635456124 957693826 328367986 825321734 759865524 145836448 131255184 758864476 828217596 932860306 232519072 711295270 636104560 742129850 626053526 86218808 123666286 554849678 838812246 414337876 714828884 584140596 324070330 648370992 7184756 214366676 818053220 428584690 500569308 38972334 896797392 752709102 593030886 960079224 30861766 346245566 851979720 99267020 648115594 220923214 351014332 210417274 683669914 359820240 365031646 795262920 273850384 923977544 522993770 669752038 408844774 996510760 420376680 542820566 257713380 5896964 933628234 718894692 728837646 60851300 207923218 667644394 975449278 41533358 595354018 789571914 271234840 30980816 741357588 120211754 539784406 32377838 869441478 385318790 903932138 132338740 9789194 98667120 963088858 193736676 67925270 49959674 954519400 99554352 333451390 58502750 732042464 649969238 682672234 922314222 793565624 65036234 171604872 501943666 957775418 537266068 261506840 849229856 581693866 851211096 715169938 485979814 469202868 828098504 976250122 456151168 891369602 461124248 27454808 45114142 299558544 203501374 720942128 490086068 669108574 663487126 293337894 305464076 248799832 793580780 116808506 443187664 638309868 932276674 431874096 358523664 354932078 45101658 208381734 388811414 284080344 87592338 279539652 665297642 748480158 139273698 864308454 423360770 106316006 830568512 655965216 953375708 701944782 51555644 653834898 313107544 411094084 76177384 997327916 880314960 415236986 166147970 701511898 6447394 105633264 401262040 86613708 188608490 907267692 278222618 819394648 628340498 854153744 575921698 37680116 301268164 915621070 321511178 768276568 4201462 273110856 330021764 377084394 620542574 341565726 624215034 666438616 139763288 630340392 82640208 783193908 147634854 894529956 348332960 537693718 538854154 601505792 244792180 880495916 734487556 874172476 784004198 848662900 673633430 973963110 734256990 633695130 692121920 365362432 557517774 840057064 874319852 234975640 164817170 318168816 640137256 599829838 898354344 544165238 853159132 143422446 320116126 530329294 491912572 884342380 795495964 613475330 955763296 381018618 334316194 715068768 914539874 514402410 986791486 955062850 567201386 812456222 587536000 828150436 66023874 485166280 817963404 662548608 900558624 372165588 11677954 866429650 27095728 576155756 851298448 391554942 335404508 989814200 233920680 933867756 487771286 624412282 589135624 700546644 699411620 978391036 865131182 363006146 370428292 419703190 46213250 249528144 725821030 29888932 582063618 472542746 565991214 711591616 642611264 401744938 20438630 914873502 496978784 474210802 399785278 731851632 339908644 61887308 824717744 709289170 79468042 466890970 160555438 202090538 442777408 612492332 687988942 47762132 162149730 162522098 369395694 964465098 426148234 524154554 394949746 619793788 868902490 556296106 224519206 486147610 142862238 30734800 56250236 484371164 201061018 277709738 442680874 288150576 899079034 843918446 79692290 759468406 524834394 505347774 303661856 2464150 264898190 890611972 292565492 608869860 163869974 187554520 757065986 18743240 507372920 360857678 935002196 391345602 477827832 981703870 5378558 632358846 559241512 475248316 818179016 640567988 331833236 360283194 456768024 620235976 728029410 317027508 924917796 133301636 288584454 422168866 399046092 623779118 710974914 415432108 908861160 306554672 559306380 692325472 932402988 66749122 36216076 531700428 620034066 767555730 333570940 472736232 425055448 398896478 849418960 88094896 567305218 611668230 31945362 489969736 366285450 381306428 510553422 35589092 20650892 831400850 437382014 299755892 81659686 921956998 22473650 531166918 995824320 185305706 942890494 478957970 699544298 610772612 493591886 754364906 570832802 633928686 769270646 257974856 296461888 599894682 658125838 30874446 790244054 870304792 214110584 608532964 556203690 593742198 112141768 364461926 570741580 911338640 688507744 863884764 285694010 998096516 559240410 308232378 226011206 457119028 738769418 811075208 494708162 767629758 903122228 61810786 516650362 820692338 88877102 639339816 596041840 237275886 722941232 783856236 723212674 218476204 989175168 588641940 477548956 959591968 854070096 411121340 767422612 697022544 378400408 968363272 340632528 953820422 15792532 354420738 851140104 396939516 44514320 121497948 913729878 499268122 356193254 950248678 140182586 677484000 997513206 230101812 985931978 74978382 414485554 516949606 14692074 589417946 596125618 113321928 13748866 945186698 988972590 767046626 668364586 461702322 962607744 177842538 628527142 705460510 359316220 746251394 773568628 514031862 930043332 713211452 763558104 128218542 32709940 200544306 852677880 792329412 863113486 979542786 367197676 458714652 543625790 518002802 127088344 351995084 621130164 246712982 83591588 58863298 183374254 150099900 714127996 437817248 749672888 234910740 978137464 15468944 640351202 888107622 427025862 853029206 226544470 140087516 69841438 802855302 375060816 993428790 915273054 160722110 714968326 612589174 277494094 484592240 756656802 506894116 225132110 673933040 842361954 859680972 715723986 303963492 629067378 705178940 854488410 278453786 675055746 557720594 480324580 607368180 169631022 117196032 60721920 439274650 75836466 403684708 891675938 429465892 663950106 461120230 235853804 683052786 704889904 144023954 709355372 968072198 667388000 607897044 46578702 229722996 596146684 283666194 785611690 804971462 648633508 394648080 99235542 468611702 747943670 213343714 868814348 819859978 872833976 873875530 870518052 266583682 517086724 798821396 55221214 352237426 764733170 150947952 685729670 774423182 704337620 249645106 117448170 311825040 684141822 119705114 501437876 403641302 489878828 61175786 24240348 357291910 67685184 754924746 405655672 12399256 482998302 874046 337955866 381694728 101132398 852777044 609427628 606490820 981386564 169349530 268628892 801088296 593364218 658554090 470959236 419246984 370988556 736703340 831254112 16661532 929208118 928531530 367263438 758812130 360468578 814358596 450122870 154354800 802823998 909608010 788012270 644772244 895420452 172834260 546182448 379650596 608641246 771713682 725338850 197633068 832600868 620310674 232961028 53798736 178695856 909283942 707796396 405855328 921273460 97294470 428614400 533918734 506577140 361807992 949450446 259884718 151657354 423126892 178473630 159304966 431315482 857026232 685662570 89005970 410653186 562053514 247348256 513453038 319193052 180625884 478360328 110074114 265456098 253759990 303278856 673304148 977132736 681503110 533150264 997513536 242815518 182512104 345845340 793954672 19975106 506599086 331602414 123586270 914145144 143585210 401469930 479504972 171548644 709103116 476050944 878026734 186422068 287603940 237309718 982757890 271023446 351387280 764673656 787581656 72127456 269235848 643335530 45034032 496290564 329306296 278612632 127440186 630015346 335034104 566663118 76098258 128256860 223512478 185028620 440724056 676353396 832604322 598845024 773081746 674260448 827611280 888693778 208371030 250269718 283097208 4919992 193816648 887712782 735657980 981931006 677296776 160930632 710324348 895311452 418866156 436333128 248370940 657726026 484347874 100204732 749405144 458620796 122619914 799898272 276597526 115306556 675646450 595846408 787507726 318622520 40047452 397590848 767045284 932696912 625422148 54156928 789988724 299214104 78276738 482137174 207876262 694990294 697546564 496225570 146416968 132885988 40858762 932141074 552797732 466242858 328066034 762940590 345851840 758026112 629285220 464876114 112600640 796660656 437445132 88865562 185371830 268907664 377844018 159464492 915041868 459940602 553071908 300804982 304586178 633297276 729862010 49453870 3162032 71589538 659069130 367254196 399617230 680172898 34993360 628852074 475167346 964732612 917256236 474145332 863418144 443329494 508525650 545808858 624572846 737236710 356718450 361146982 800306754 26543000 243596892 786616276 567159940 882058630 470018732 478054990 884931880 908993562 330671516 863059640 517480054 142475288 134245048 821199592 708642518 531737030 478027352 399891850 582675416 455851356 802991242 58294672 229029852 621752632 590530530 499952144 937677746 880425534 540809526 544008394 793264442 262900566 190001728 792056674 784121030 378343504 663072918 332608314 271127932 812943714 217583212 57037824 585624026 78959568 413471372 298314786 741296448 114650172 517985630 777794124 17561834 561836364 241000380 368164726 477313390 845504950 353362748 573983136 525984930 466916594 406795274 424693842 515087372 395074048 877724122 464831776 275979518 632383392 684291050 13978372 582626110 664897382 852327080 577396482 980614872 394074778 494704816 635258690 242608794 151336192 839420742 693983456 813628896 880677732 14115702 37980922 10359850 452251926 964131302 572025476 682313816 668784744 645663056 716461446 737051176 934660620 648980976 347961560 24708270 151945710 244521604 657531532 239025970 370982516 962645502 997076328 55881924 662959100 965663068 344945110 630689850 632165240 415613434 256499136 165245760 671313698 120581864 817135592 756386508 210400872 28764862 871298922 323834832 300249772 276265350 909239902 679650876 733346368 971757406 128672874 648419046 496675508 567520742 443254938 935523166 471524622 641595424 67864026 213992100 730564014 789111516 747056244 210959222 799194580 894930710 781041672 31526260 641709210 769818870 921918068 100431550 473147424 795489636 558529316 553920598 412176736 783396954 881890776 620445812 377556432 750428874 293842226 133832558 552110764 94982154 198455250 669404054 868578652 613792354 320673846 182540038 976106004 224650974 532873486 219016554 10972320 995652644 320936636 876466240 76879720 246142512 876076864 562965392 251390606 753308874 820806574 235186232 994188922 63959200 682880200 863872354 750004512 221723876 612528080 38193550 715700388 537793950 234976854 892998534 779063030 904989278 637118830 862273548 579747620 774215792 670053396 192987734 888583568 541238570 624008430 880619886 995354752 369378120 776781836 136192140 747175592 227982256 575150078 132628566 970587004 825902430 284875472 256497566 926415754 828799472 41267652 627347582 109168090 475955956 353319438 285548786 341979782 855788756 1086516 223587474 778402592 498457056 118752572 446118864 529452092 761052592 631291086 878670136 150024136 685556360 911542822 824472080 998979498 373006870 767359334 324361118 130293478 620158138 659358300 325960584 669185414 119568684 178034048 494274124 646312588 811255428 363892102 579770678 817214654 19637254 930027284 338977014 897762072 260327692 828410960 625544296 775792174 7571730 83394114 104160056 912725010 975489260 557226834 912732300 483044980 335873396 620089112 726243556 526284590 706526408 331694344 522255778 716603240 447459418 963818096 445215364 405582854 220078192 396083756 756622386 34639848 244428060 838216508 290272102 627757606 318114080 951804000 395418932 308098514 618470876 856907938 429338182 691706074 37765302 13594704 500336568 905772166 496807134 348318126 289984374 140481582 666896088 547753792 634832576 151428542 865283198 928141112 756106156 226161514 9597132 2899222 87133538 498812826 820349656 371847654 999469738 56952042 768548236 705731052 388187756 946361158 818158828 629743314 243890824 833778466 168750276 292433846 262651352 429843914 218406176 606951222 315138058 355261366 512068940 712857076 10032836 826209438 602350546 719414074 50056280 38859690 320729318 768116652 133928628 945285562 94543670 868489658 730361616 379819712 247045930 574327004 865966352 208406406 419651858 978693992 469049884 844346914 397328180 888135672 901825690 675062092 68912514 32971460 539417308 791664378 220807086 433311834 976837254 137464672 576849464 146735412 944187918 622411800 813101860 354044058 799608782 566199070 252662174 58471104 96870970 876351730 737109924 566440148 515786966 350246454 693346674 1001802 547719590 50717878 910116450 782792452 899710644 659491068 973269022 623057500 714233398 375298516 291579592 345766170 853764424 646342000 252357100 848439024 396156834 131803498 76453398 104218068 677273094 213406800 479685926 92520404 428585332 211635486 983492356 219416700 74028034 496791024 717802138 470892836 564280832 49962156 509850406 14569758 42811870 725537338 70099532 911538596 390055550 389273238 685122688 910985570 545839868 104747974 378049708 6916712 481942 117525694 694996222 71502626 352942304 595494020 824571698 315228712 128091288 498549950 985633868 27701334 169622506 541914218 165422184 452495970 39378750 797758358 428912088 91087956 706170144 617187872 433042558 593678088 79521220 325377260 137343596 133321740 610468630 19126768 448524874 624664664 683480428 189997400 27202792 497798086 747433552 448138162 532293150 16625660 803946356 902298004 417378618 310526820 865397354 99026180 708023160 835775332 863305232 192350400 247836296 638790730 819048462 607710790 526312572 828711984 23137626 919448756 391050462 848228866 244811858 887128286 5370958 772160946 341771892 273474572 373186458 169115286 605205924 656371524 454648426 58536100 338260112 974978306 614152756 804913860 569172728 868668858 453518842 749921740 928481174 645535098 441692276 667126470 309023926 772232836 739611898 88869990 740705622 636262028 798609820 895572192 678634764 778950886 129752368 714711888 300464674 292224742 98756486 311902646 406511948 486593052 211078388 606498014 318337014 435528176 577571448 487492422 596853258 551552744 816922704 542113654 236155580 568330464 677986038 303684706 332728048 738137732 835045394 311120010 202627970 134620922 996504986 876183200 450852906 569550816 926212924 925674726 442721442 738306016 719708756 200068208 529267768 561724900 897561226 545580926 538168668 35256544 184750904 836338282 178212458 163460970 272413100 338014750 678087920 424107452 51265860 154572748 443874160 720894874 80613554 654181848 655303708 68209588 970750558 178645976 589747852 322551834 37012942 436947558 189989314 15567144 964229360 749031814 321416040 711733968 690843094 242972910 48586442 74243650 648849076 869614576 938404016 827974296 397652134 619116054 842482338 797640230 126982670 969567332 238521774 704180914 894560266 126133992 867193102 208511368 231472052 625967964 819528670 90637466 709314576 895966326 48183432 259374486 392334312 600703378 835166808 523253146 809280682 931035936 832070304 968786986 210521842 309119136 625587768 310246932 566877310 42004848 107446178 209395214 557585790 684433216 838484142 916442956 408589170 736022748 226088550 226001692 920000774 712904672 207492556 332223694 482835522 602908580 182310350 814613014 427604006 715170360 134015242 38808786 222184422 287658980 848442800 206441548 870924192 291950660 998047720 22947732 694455502 344776124 260502350 423424046 157052438 404132854 350754724 300773784 682488174 77694718 605783250 604622604 182980524 208856088 752076552 729415090 517899638 843754912 609465794 397587834 415263500 819873126 250626068 995249710 659207266 990535994 341292892 279756810 567404528 117438052 224842662 224143336 857989804 442365964 896416762 38009092 933601466 887973468 653189678 677604916 466872866 290796168 820715866 657630486 143367590 30994276 429343044 562997128 72552310 958161854 345828770 716359452 686680034 235947262 235079978 849366116 389672676 556290348 61174422 239898162 693873546 759279530 893819878 898155772 22215654 260884238 491134356 15106024 517408690 112010812 487643276 580872888 1193040 681556488 701083550 38557802 937134742 16288498 585692332 523839702 159680412 615643738 952845146 360768770 946512630 94838056 731267832 354305204 850473176 688402398 971354840 325431078 434615964 44289164 418818372 804829430 758302932 841594548 841286900 869570478 237094966 571962302 570531802 269418238 640381208 72101170 347959552 123351872 997557448 625504112 771715830 936595372 488978664 249736630 741101332 968932612 176998244 590178130 481070744 157560814 190743508 200007874 889725628 961448886 536607378 489417380 876459940 677862768 90741754 846177620 199196528 165837596 696641624 69254358 926905666 98300784 199019420 978406778 407933304 91613390 274151768 658348130 152472536 965698356 937647760 441386732 127992072 593130978 630505894 187849318 804559036 447373860 498340360 313279264 380972854 315694260 612656868 333391354 827876436 829152866 808943858 590726440 282660298 533832052 305718288 145842488 172235964 319660294 801631314 404536384 966124892 415941722 429141146 843395780 915806904 973063682 836629236 489209182 979782944 877043122 268971822 658404634 957066184 120998716 193221464 538449860 582815464 663978030 315142684 393393364 892541596 559759432 954119228 763641926 581176372 582265608 453085518 510249462 877155684 175289378 183074610 242144102 757663704 272242740 786569254 871294106 301135082 587991308 72918594 350048004 206026966 939490646 685884872 339821820 642150834 207460108 784886412 289159242 900742744 503472220 889008852 640767488 846062788 566816248 723176790 56115304 155190250 484823916 374909268 498866582 63972526 936920852 595712722 380674630 672389308 382259948 59727878 451633508 231406344 854326950 970193426 509415870 746347298 415578704 230341500 496900674 320708488 643317984 905746572 458618440 711262968 963997152 661464984 886475318 139227222 317544190 565193474 305559088 821425244 709136188 799296410 664297190 703317062 709046994 90149404 549696266 231383292 991481176 916144056 326493488 493183384 89827864 182682178 264228596 469806672 759151058 948689000 811848074 708463604 741292706 891061374 425362980 925317818 671460468 408561020 541130522 805183938 85142224 837554874 533790152 687075532 557093710 371780734 221188024 846458470 451643004 198756820 907056650 28508716 707795004 861031450 450303832 373062416 833796610 632671836 571493122 793305096 610906650 381605146 607580434 538921014 499084966 731312176 381657992 167393320 457231252 555133408 960373964 820372616 145295906 930999448 623515750 330677966 590960632 111342668 878144848 178832268 324958634 889434802 953878496 807617080 560393516 653077384 136807360 699564620 697800276 525272374 993055360 653028032 721458378 385429660 856164564 859236990 905695630 132188732 536684350 180816842 719506316 407962884 327897930 314564430 790316586 973721444 448523918 766028346 502761812 664672636 895250238 685411062 170269292 332812908 565543788 550901960 552862990 172424256 938740116 992682706 554240936 882411678 485314648 449819470 786394628 817265474 998607372 716362528 655852404 482432972 142084912 322832126 547208376 195509252 31490348 653048472 128419004 678256668 469173438 410420962 520735770 512336780 424917746 147352742 258180436 526940338 757489398 266936268 317063880 867125716 29448956 161503858 918035950 52849360 159643726 218063204 724617832 391167246 832401018 299526390 844643264 582704670 383958426 384420332 370522030 357948746 337614636 771756228 677054556 54231970 75216526 669168578 938641930 652763530 264456846 374970086 940601338 702384864 672416954 173127188 3624188 345063604 297297984 276453958 613144664 954908022 922903076 603818976 237341528 624691824 864367656 505482674 872552868 560691100 29009494 335229086 973397500 286727842 385963702 864852542 951650576 338341056 852219462 669187146 105595572 619893544 589428622 584067202 791550984 284909392 556626790 82334626 920349506 287349082 887497506 786870360 895477372 632355374 540719784 606074482 423831606 598307576 202663256 949670870 359551630 339107410 590512972 702659022 192048874 914781578 881603666 971808046 319808894 632921256 674531276 850068404 332677386 908394950 406029748 8305418 892840774 447677018 306493294 504330056 183873680 48886142 158321658 554111396 713815294 672546058 591288062 596561900 283523812 936801886 352450794 187194904 828582524 702100352 689482178 937396540 947115666 989142416 615759550 967849006 971535330 386277514 557180328 316174352 71284232 662243962 31916250 588825906 148197036 42674556 104718282 72001424 785698094 475577488 141941262 40553984 310675756 547577516 263594910 440406162 46783204 34125428 241905004 760934162 229242628 289437888 442182880 182907920 291158994 268657060 824701750 218920592 547700756 188792638 713985958 449461654 284589680 284268002 851446350 464209886 590695528 234497592 381330386 497799782 625332578 829185518 919353420 191409082 213449570 731666914 54543280 665141598 435501012 155111404 486924478 951389690 456870620 327604172 674195344 983146608 89731256 855568820 320124194 1859948 511689400 347936518 930914904 178486090 365029492 83045920 599071144 102929700 262972804 993133472 958876960 506788780 183833202 920502292 199432196 351842736 210474590 101864466 93366948 456276604 101644566 824719112 399572536 701805552 797326210 897959666 224838316 992489876 860427930 733315058 565142974 898494178 571509494 796354772 924957858 661211748 742510950 707040564 746192428 503555362 173568844 25833374 673342898 235919774 563495774 463933748 944296126 177366696 640260092 522375318 961743338 810840350 427191054 677805224 805772948 96138468 913022616 82360184 579943026 971105796 20046140 872372020 72363150 207166858 284002458 696963126 324984382 981644754 769135260 620276360 793199936 336436168 341537710 430106644 729880848 30986424 781997372 204117062 766125000 596827750 314868684 892087060 219829422 61814582 705957638 764693372 64491342 82558168 895204472 755454720 884429572 80365832 359439310 827025790 900683304 588783976 459389646 768237998 295672658 137595300 322948230 900668962 610460892 34022818 726850478 827213918 304072192 96337764 358250106 507253648 631429490 257947346 737061920 42761748 254949672 154086026 53419624 675499888 376492372 869837016 949799328 195155508 57809010 601563414 492296780 77965944 959261050 482799110 388179222 908968730 23115034 151835402 567579064 733266714 160080464 204425564 555258260 390369812 893198614 247474520 639305718 198556820 637264192 299701176 336968418 641551202 610198872 677816740 393201434 290625808 900300320 925404826 789192236 265343388 570010948 891829886 665891138 890505702 32600768 889354246 800790488 823729140 627917472 783212526 64929590 576965324 459588994 592507294 202826850 831129878 935066960 258487256 197693556 648834158 263751494 255886442 465585918 464397418 763145288 146761232 575339150 975067402 865617140 788356474 824921818 431944598 74157556 966758196 718212428 588700816 771232904 201882956 706147166 950488622 387845860 337626386 387706892 497537940 51754490 767412182 281956998 986858816 128611690 443430040 526710178 552961656 766710414 768527924 802672032 88009532 947588874 298783938 601614232 11434084 393247516 510335182 346822562 476597244 767867108 478070630 202585628 983846488 532473862 263221734 781024954 706687418 284634392 912197594 993269800 338808472 797047204 689063300 790972248 813670034 493454232 854558482 865386616 229098372 875102902 101037690 718631326 428317416 875384876 889938256 478762866 74511308 442066130 25711682 235086772 18988708 940844014 237268988 351357460 756386716 671286252 117217106 557642718 423400334 18187520 558846352 471964442 779617216 746964906 959144686 770416002 555181892 273887456 984599098 273174242 454040130 332862770 257227896 149351022 178406728 562660706 437812496 272587020 835501126 185530328 280691300 788898928 789787630 998195728 480378062 680564066 57143880 655593228 468349740 310353386 238226182 132582414 621052372 438534598 423414160 723865158 979898272 457097994 781325562 353714784 602884216 882541304 267184822 830996818 483729966 925325004 689147050 123718294 627295298 200006548 647123434 923790348 79939346 725573390 260771786 615521258 683443408 50397018 911563818 32257346 718323346 734880530 538390046 269113650 561540888 892435630 989225516 417934164 275090742 345998086 756628340 35151066 641949198 532924312 842837082 735835618 667165830 883238324 555743112 654714458 839195352 209943418 167514352 712733900 480741396 616687244 77387488 308388356 292125824 699594208 708967060 715711494 910510822 264732498 344694188 480811466 843108900 587201096 537341926 131418332 813209740 927694754 624033688 26032418 641165860 466153012 923694612 411542174 512269632 112001168 797033878 930784092 371678940 498273682 361291570 692130464 251315090 420273046 388696496 861392540 146791564 349680212 843542660 125160410 209371616 2386962 261464882 461640694 390020126 820479880 984582440 70932258 267363264 151687700 424186644 403044954 872182430 528584592 471603280 533838656 171619830 329386556 12320530 322483588 743152128 540457484 217554030 605375384 831059258 592070260 93513606 33729168 578397878 811727900 532668768 979472236 513734600 358492506 559738414 268719706 78423690 696196300 284114440 981805880 972184814 970581132 40411120 581370770 339728502 682200778 478345744 289525418 315970452 169744718 661048734 793678920 461952556 584739232 321224032 928107100 411563412 352664804 600076774 225001224 660266622 492017622 464459080 314068298 638128406 57225894 864248694 773068940 934789844 984572028 107210864 526160386 91141510 443938700 235559186 130810508 490436992 586138324 686381356 4077866 696092358 633303466 132358678 453792006 74605740 787838670 963548426 999637670 98477884 651634340 412265296 354108020 260195456 981234934 56817902 705537894 969838654 729625340 999864440 774331364 696313452 774693748 420301014 743938746 641914012 817615772 835831130 530703086 463503106 958585996 535729666 371834592 178247454 470077828 888672458 176292488 34390014 54471056 116953502 502661854 380836890 825095368 356214912 351736370 743977220 156617000 482288928 959458742 439699946 322460568 235164402 227877442 208876762 505757730 444886246 294886754 271203140 48420284 300679772 560512968 948706418 509406928 248907416 682175418 531767484 30589246 701737372 541351650 732028962 322238342 128928156 932090320 889415928 902023064 545932246 633642546 216026930 238095288 501574984 843950320 209822214 467922522 342090776 581075188 147664270 323060476 947515008 695940008 738137438 267570692 321154564 649143148 478750194 696631070 66981742 249236600 521407810 375804684 169327710 666966498 416948006 923193128 534573460 353501126 655516490 739754610 770121292 347477380 396217760 601272260 554183700 821268640 407633924 793620268 907415260 11135674 408572888 355493354 241378918 455998422 669421960 980475412 461884672 706256914 883770704 522982666 159096602 473689568 431966956 623105216 637417900 542021202 238707362 960737168 298740068 852315058 696006846 119770702 909543632 348140916 878071910 675446666 127096226 772713032 603070096 597223538 453459972 930511762 872601136 154623260 883988500 841596386 841124800 462299954 674239092 456120918 748075848 990097782 89035366 423750192 349156182 791171920 212717620 609651142 122390328 666726678 889443046 579322864 519866834 815308022 310468950 734361170 821268730 184219498 468110600 947041116 9560464 726736388 111666608 847441304 189760822 213123948 630807000 46534310 148552132 117957702 536890908 451160856 893229608 800366540 95183732 708441752 776226366 959532634 548750072 155089954 981258896 914465712 667105438 605467332 184945448 943818150 781229320 89101984 177072508 602784780 584031504 468555378 878127470 783422938 905622716 276952604 486586662 496447976 395885376 361645506 35140894 609945972 838962200 208371426 635263622 355216962 888255604 644080140 987500270 942225216 674059210 331862026 703536484 630597084 593776002 472121140 668410748 227283722 588367414 198375694 990433042 582863402 94296412 487139160 165319396 870758006 251314260 169590410 24964360 467518686 740645098 541276882 876857860 279988226 169586220 448609536 263302980 641285066 937808634 761245778 140248798 761214424 693104036 416212584 268868274 314648364 216766042 898762788 811529082 193383264 62783240 686246454 860068266 455862206 873885568 666685402 295693346 700573646 823533852 613977026 98156010 153551140 746651260 659769646 906341722 348948852 500781548 237462916 687185336 905911276 70443028 784847000 990326392 466577388 324712182 556651762 776784338 986071782 336186764 995267820 137715304 697256598 319817866 942087276 378753658 471385986 707421086 788972362 998877080 875064828 509973084 973690704 593432922 559057686 552941590 330833834 691987376 571036278 829705932 744493122 128719008 635901796 326593844 904343170 229784814 487514786 510966878 817846358 764781008 580800594 43371712 845085086 286279490 32172360 384766042 134979636 47244586 614266718 480331140 801357844 773381048 611445746 40881962 673500714 251714192 214813052 298784344 763556076 59723306 328605182 487559932 686379102 786865966 688958688 38780008 337190072 761774036 654157330 806460426 408704086 782944242 260392110 368756284 789606700 801902010 311010590 20750384 802983860 911998818 314208428 514891008 797957246 794228944 442667454 708506390 524761520 508941878 928846542 318832764 126786324 47958150 777421046 584407636 244277604 459015132 741480186 800374984 631826090 439574840 436598566 364483486 466910050 380867736 780008900 931986582 44107404 829245532 366975870 875985792 986340486 25259164 70112716 910587388 139416548 60805660 477223168 871664030 401763438 937953492 100752306 401847082 677224366 158427412 307753440 2116236 886363008 469124622 681439996 995601560 812405628 400473228 306781944 753907818 445128424 460726680 86731542 120760014 896930520 203195000 722065898 789609876 68688622 549720912 313111652 682726320 552892084 903069014 419975462 618302198 738349462 418342568 952731710 5506804 53821764 933837702 288221744 179257316 524030508 102573202 512121280 750738632 729747570 579055516 166049416 918894388 259736014 847577860 370065688 54220320 191426404 972246980 64884726 781413882 480544052 560789034 664602250 504216330 940047354 274409898 535968516 265615060 173596808 61059230 809046590 751881508 295983928 480590000 143304234 277363050 93499222 696607868 238151398 674654322 568171812 986297134 158774286 985035574 288710344 263037154 745438810 88773558 301494840 19126802 537169394 874945032 161121338 206031242 150371220 249783086 790902938 919877362 458623022 487452542 658026170 830016536 721657094 596374838 644816660 110169278 851517714 844931786 759977622 873574286 635818898 985423332 165778614 60552376 608848336 275942830 564137570 467950330 311259884 584050034 402985150 144027330 461457194 683724692 64378816 257581164 337733756 308029298 215476860 840261416 620493386 156612086 923872734 462232398 140082458 369063578 2062730 120639096 502976794 911605490 223202198 830891436 373763088 472409648 580258668 3522772 350586600 836501072 147402876 277750950 352365936 836349550 887879152 868970036 414980010 997601900 614288080 486317660 514801256 603605624 43764366 72004528 633833364 42524308 356640592 852687124 157642596 103853042 356140032 135172362 111443642 647716690 848940176 199073682 638278840 232476360 543173360 24040320 211374756 116199116 674884208 856425226 478077802 6908670 977865814 501385940 183069084 362418942 614391768 883104704 581954018 869684134 697750850 682245484 723717966 157711446 471926360 222225408 994897032 740027520 989130216 535131948 35792396 359592740 446244996 924004712 798072470 807478918 106760914 961111596 285694328 886979512 599141764 183615682 384912166 522290920 390472186 857480602 234468196 506153490 466324242 94622140 301093752 391970782 27848466 476068220 299218836 990622026 444799050 870798876 408191830 200967708 139565628 636296124 171455200 208660252 824494360 708341636 266315330 538984724 657482138 690006320 498766154 277660848 278678032 894746298 770993766 700379150 941897512 805865262 16912976 898926336 713078328 955797780 536114180 976226050 524989618 923654832 390984806 613246560 722718566 16298750 370531614 166269896 204959260 14148714 751282882 713010004 65895076 108515150 531690730 508333274 725131914 736654896 246866628 737655894 675060954 796088422 795908558 249054926 568423962 328908456 450007952 545434592 290289080 112060016 510800130 499032240 777667312 604575162 9784996 804067784 932217898 425392684 729980526 529859666 779800074 375735634 168605990 255963034 962209342 390657668 641051270 643595702 77381008 510420362 6839468 64841276 12960760 499076976 681829728 230177528 192209980 101224196 895924480 614944208 36737436 97930178 108271644 816340578 872544444 49171884 388750224 664614900 769980038 300319690 859865140 869252228 316110610 329877476 929389528 706437278 548124904 570723950 826952970 495235634 35732132 313091416 97307658 349617788 71666378 461608056 217145198 398051976 120003326 772573182 617420752 174749654 901859636 3049480 850724660 715657330 226702498 551235100 394607756 836515116 657572210 810853824 514608504 884008268 488417650 844501996 953250232 615737496 327442992 928244664 985853946 621227144 280308134 727677812 487712268 829463460 673899612 126521824 225676672 145844138 69145818 285485698 847412866 444958068 116170310 340233056 207521694 692683956 420068026 900086958 305071712 241037538 650086668 834576892 50209828 16288346 869779762 221113158 865691884 781042338 207867284 620911692 527198152 613153584 34485032 905561810 269770760 403270646 703361074 118923572 522636862 631416462 829245600 215042392 187437382 933367762 175128312 126020952 28772236 35410166 867449976 964840808 829670264 916748416 305601170 148761554 363168556 915789938 563905132 387182844 318780444 700965584 134892564 432986526 614865256 551310322 373846882 909425292 383425782 303665152 275486278 180410156 506254238 344346820 474603730 669879158 401157918 683699756 834149240 514077332 217620530 635611118 179833314 143598016 713819454 381752738 727820694 793341700 43073220 441792082 219165736 783341956 853656126 86351580 197816314 754082670 845031746 881603468 31422538 967638126 864659914 431744862 570663696 932479898 96166368 984004172 762927192 588193594 220528398 419122860 72813468 906410570 955381614 437137568 423986222 515889916 724793350 41626232 336664772 857188834 712944306 956869762 38017486 955953106 293287284 114215436 693350604 274882388 454857732 993642272 742081488 698383550 27378162 180692938 487718964 483783680 73096702 146879162 647936464 886509928 974900350 935497380 256371874 773194316 775247906 677136290 178800926 719503906 880589498 5496672 432952966 3387772 418571926 958459594 69172848 799581492 929863898 201497718 839132184 671977532 44122386 132494872 641579948 302979060 702576108 599293784 801430380 379956656 267101920 865163126 377897562 994528222 941252478 573385606 753591418 987631122 846398762 185140124 713904818 111571974 659542648 991903190 348388478 672131020 914073056 74487200 566018884 90594054 321064238 574968754 383494646 682982582 777358140 376105538 65380358 592568684 376448086 410885396 952108002 743924386 866579608 146972552 490373736 714719606 23354162 475784572 694748104 191933784 541446428 93911254 668698966 281199690 747046056 453975846 345552372 224504266 156341770 957892120 57240270 69127014 972697716 509834300 980991860 146655262 447660676 119421174 469157300 227312172 501634086 786467776 170346078 861537480 409082508 547691150 489951618 162782204 694294330 92899604 549886120 969883638 415592778 826755086 836373770 329356480 549534096 838480746 20419096 129910812 663269184 301913060 378261966 646293606 821685358 472010586 971298852 468417102 386975524 700716676 361617938 670998510 971220588 203443912 989953704 784634746 132006566 868311722 750985562 528363222 835856362 740058066 709306284 644629090 734488832 437884548 838488808 438384178 470070682 669319252 68349782 320395388 440010878 519886532 272833330 992704228 140252268 146191656 342305138 112219858 591559474 67955354 973059944 693194364 837688182 664234546 857529342 17644962 507471490 965620994 982107568 535464700 906784462 162040372 285468742 969099766 600497644 917792018 301490010 728445938 608753714 273518058 269989760 768476152 43265282 935942668 661219572 892196374 281867312 5753678 164747078 48502174 340419584 762488040 492560830 319398926 47777676 530589454 237690762 960438640 232999644 790622068 967250236 762431078 415867498 954898840 61866428 609934904 416808442 395424804 958918772 660541548 943618272 470132916 671785910 821810656 979257904 627109206 428207682 747556738 339769518 130283958 886464512 217480842 520301644 50264494 881548056 285230106 694492750 904507552 535935740 250661288 525459884 266610098 847922764 812601312 612249166 777102894 288375136 754807484 320746288 607956348 988140516 42156440 498569958 37467406 977490912 19870588 184637750 732225078 506970036 184105162 689192768 755827414 374531606 235878806 136922666 39533444 733686048 225422130 962504414 548316100 111864702 114577846 745455394 248692626 342190138 180456720 651465042 61111564 248636756 76402796 205057768 890329428 568487482 848988956 594272876 408529270 491931810 639146058 724642492 237164848 222147890 333575160 435353862 919098982 700574934 7322556 181347762 680147018 248657692 533618448 603797206 602993502 410485764 935143448 699914122 96912440 430461898 554180046 26981406 116728204 450004806 116099026 425191164 302852814 338882976 55188826 252831772 780875436 350208918 257872388 947603470 610727650 408572012 977576268 400599634 207257142 283871440 630691166 626044672 256469172 124814396 119552166 277669108 39209588 815226008 462565084 836753360 603004840 44094198 10288696 525693976 230986600 811531388 164855786 441185864 410206118 181721696 450625746 738433656 221863014 264031292 478738910 60121224 74099738 206091960 443160986 756722894 972393096 665925994 221052004 769216882 152025266 537416266 889442656 785441060 217531000 134516316 327586736 361048352 280632670 654399368 478499138 881016334 111586278 51345824 589431198 239970746 148171184 173649386 640256556 442080126 487230652 117206692 407847826 880151654 237014164 687235250 702512768 760161576 318053096 751858554 861784112 380058244 566054054 833849060 691691784 109691958 499672854 470272548 633541280 24090148 382056954 404076446 798755242 544050780 457911486 203710928 998836156 431093320 826280498 887299010 475174200 55937934 413425282 89279364 112369812 364219322 761808786 671694474 542483486 265512924 307174978 488786480 778699750 867675534 885655776 827828442 227003760 337775920 955810274 316166806 329352836 647254890 197018506 547604568 808206410 957280470 957450120 87397724 824593322 300633114 446294338 862020230 45422268 363970014 360975114 577411426 250796934 601440294 148786068 382561626 403416140 607838810 481665554 574156650 478589596 38029500 231121478 22900144 588474616 523552776 723298128 662857388 746803046 889309882 834753744 935275372 457793396 25559324 97749424 408217666 504755282 624042982 62222934 234100960 547590548 433849950 265225758 980524004 394503388 908918252 209661314 874595584 807453642 517598736 600714288 513524050 364078796 793818474 565121862 68949538 88622048 915274218 32040632 971760384 622441576 634187992 292950864 986641454 686594140 75934008 706901206 797674110 158848776 952623358 500222428 814995328 661213772 286697298 829275272 460967244 842326282 893658194 543240262 642494190 964800666 228692658 246138594 886055438 214346724 625782302 268705736 735847786 715800914 683897306 927408160 189782326 407020906 269326216 495901532 924694732 248655948 730052658 590086990 356229060 716523308 882297260 301999032 842440936 166513152 839138032 493714226 377569572 156852620 675140092 127669064 849634656 347044602 182855664 1432032 869252888 266927980 979371172 846976076 183539598 726578262 986571322 517156472 146533116 859777556 935251244 135625592 832404936 263043866 28386182 528090878 455205828 713391068 669153866 900638684 477398778 195711506 128117464 237059222 409410846 354208444 541625860 765442738 817543916 16769012 734188024 677713314 436566612 895865256 579556272 103669654 545281798 837095616 536833868 141359888 847801064 223865974 374194810 306509988 674265690 737813976 318106870 444805778 288702366 989952296 912747564 915103064 932472816 166738898 327133392 626489038 960296466 626767662 227518628 168810586 156349834 698801848 241863456 848054294 770140124 649736006 75657080 695539036 844545288 102519742 457559382 211629814 764975362 158626378 392311528 776156694 730135316 254062716 539615054 399193662 870833082 967485406 987313654 731665982 65045166 347833970 515115334 282969420 929344704 747667436 951159948 744865234 683974762 329284564 590331294 514163472 401543502 513187284 39760574 802765534 725359762 682869634 228457562 311063144 297649788 166966626 947136976 190298410 987261878 138808282 184402522 989540568 839590120 509277676 922500500 22052958 253747680 723358726 133392182 12985264 130930736 885524330 119818338 303645730 205494914 378868284 275472156 814030580 979798328 425012618 128820442 178590578 158677312 60453900 122403878 658252394 714047280 301892542 498411132 736147986 203645034 322356564 958881476 327852988 987140232 137541844 661268630 279009310 515734872 690306836 364163874 870152656 589411690 426151658 273385194 25460496 360255152 728758290 150537614 912253652 273922114 688886954 811199742 372712266 409465958 719929828 606777714 685190360 734519340 140050050 831993238 185008804 755994754 296456322 314618686 691872908 272130424 14958558 679757602 9558326 65097458 864560960 914444432 881344320 426015658 104749744 243203066 179730958 241016980 629713114 273463124 677014504 589861376 252600778 325055134 368486680 339560470 451508704 365268856 648386386 66363870 222618366 292467454 139006186 442227888 802536398 103517874 392267700 808012480 479651022 262748984 5516150 37633752 84447818 850467320 323027886 925735264 446133030 753587020 482722058 427495174 825849054 260306194 794049352 483866358 214990312 286077794 310491110 956043924 486948556 653347310 342865898 701758838 307594492 674948570 621951994 90584158 167163236 156016120 327865944 983139074 222066586 770347404 339316854 842912798 642530840 182101408 581392268 831917354 250106162 745052200 434895624 842254558 816498156 746339668 450176902 161860232 445252238 562787630 765006970 108694004 653559372 736687814 989351146 764356320 650475038 694436432 404978166 37241294 634998308 925525714 217044418 122112922 69805412 255618086 860264836 648109084 705783244 703808948 700562488 7549850 424192598 480585826 457091304 740472298 446957684 921723820 414505916 275903836 276295730 274681760 966948928 669979536 389884092 112638736 145693852 763441812 272010646 744204686 413073428 917664952 842444466 834069708 931414332 419461058 712756288 185107610 218935056 916487476 106646188 546298486 49480874 929378480 447258902 978175226 258549038 943136986 933599304 266570154 344660968 915864190 156820224 147578888 518988348 611903074 390765284 863462576 624725046 176985076 776130758 897626298 533444920 718688546 565127424 535233514 578008198 916948090 143656782 420678564 512625526 976421928 177725876 629169232 372778536 765811656 736808408 147748956 751540386 306861134 680356086 957384424 490687688 533056796 923861556 671979170 316278904 372419272 375266080 732792716 300575156 392513276 939901560 633799232 486905910 791412742 838356276 639196732 350821926 108181156 124457736 896255960 651932106 921983560 180748590 624994054 593167512 259350784 746898398 910418622 384533990 709320190 742472228 874006992 120080264 372648650 81755324 607608708 122590384 373011964 801721644 843070990 864218514 899754260 40389288 550202268 491225226 525982980 649819380 264854462 724396126 872148822 41407460 518081868 777785584 307042964 106400766 986428544 189287614 585039494 787179544 791353706 126811676 497313254 140917328 652870040 140106662 645060610 66036432 441960368 883347896 137352484 962635480 778557040 326934576 696360714 413949048 6740670 60436224 897544018 77608748 230284068 785992342 533759748 838361186 357223730 494609478 986300810 892745692 965079622 711022816 274574352 183974532 416325706 374004654 121110204 573896162 792811058 31774680 671294664 682613848 221813646 683255908 43531572 489192566 949580088 644529406 41912884 68069932 406584814 880818500 364661006 616624884 692144428 330301194 942393762 779857936 929225280 296003710 879958904 858772542 197880096 124001112 427939892 678511576 560516622 310011948 369880128 775037302 958184082 281547424 124321088 814498616 375972578 883926878 245284596 731137444 605563474 95713284 458035984 606954866 579350582 50941368 882218978 476812562 748572788 342912678 938047260 807871318 267813130 455727830 283789708 495183784 92248306 676002750 271228284 491807794 636416568 821183142 168343804 606393136 729393406 964217490 145830572 58411694 298441610 256915874 380449116 976305576 848184576 914968766 39574494 441946912 761173066 466584104 319793758 251740192 370431616 880298066 885817984 971087678 757531290 600490856 61436660 95377328 274273862 980594814 170841272 606194944 227454280 873706766 419700600 585757160 232980178 325916506 140604986 810908248 638692412 972149084 342990000 683395288 802516766 394863828 373129532 695357324 660412850 564946120 123459580 773423214 970858428 985097394 43761198 67222636 562727552 635791526 233226076 386022552 151381812 276040966 364626436 880800494 720322966 50490708 692396548 924878394 326067258 393470508 2569998 154839528 648090950 467999204 368759302 883733026 263898266 985864876 942918386 239669194 141152730 678898102 866066936 899705200 174791270 160494624 989583998 396596684 749357712 682905216 286685262 114268116 735726728 614048576 596682854 624920964 189702704 66739422 545779330 409380560 818745130 759030506 843368956 42256336 873093148 652346234 792051458 819652050 493865756 21347566 479035144 182653552 265058228 312153238 187208668 239852172 883767904 675912680 995054118 494407572 115390762 649444428 337725140 296827748 892986742 37682426 817828252 518163836 412076512 719264456 850575288 748752672 844938598 772809848 988490072 481051864 469492828 406361810 352912774 137813322 207103824 324254412 203098818 939336072 920088702 409844422 334851206 983030150 630927250 52129154 933328364 744023114 345960122 957901328 204409572 10903034 635380492 149508094 491335346 900890618 360045196 281165954 171423992 798442772 130660976 101977280 343737176 301247180 414983228 741795664 383419834 299752702 766703422 168854378 299503640 109614696 919237442 322503228 638355708 308519320 608857580 137045892 543476986 527965532 465882584 467300098 418937876 222463280 260576734 791578396 622468310 398365712 181286402 946976494 993253950 234145984 702867432 611618116 807974890 668609418 665287548 361639522 852029756 818976202 52309600 584541630 24972318 875107732 405599208 541488120 328267750 111172976 699716552 651872186 370575190 374259304 718745062 813425880 259733774 829116276 239104556 111504054 454626668 191541620 993050424 78142498 197918478 706007402 25802226 441483162 834938542 780368522 639180956 977624944 749385672 912443878 574383874 377152590 544003406 975060694 161648644 669516032 176373164 950926124 794927014 17040368 563282556 559161282 693032110 615458924 355727216 212323700 94491660 82228726 978931950 529229432 372151770 448640986 233691828 673121544 674995006 288368710 613418464 644472594 663790820 645149704 228862218 819245078 561807622 285658542 279361276 478402770 211740950 715356082 71915604 797912292 902105164 670557490 24472882 238038614 577931060 553244274 187482242 120060486 395787140 570464408 983557412 919981936 934738702 869857290 997511794 228665894 635913392 750012600 403332388 238061668 444148804 347922790 280030702 508961914 893910534 60362246 918746122 114933428 142130810 84018996 356699562 479899398 477590870 790318402 829417298 65662744 989278564 302049370 816562410 238688076 107322630 455047640 326565902 479864810 512414678 905240722 813866118 543992812 227813286 765591654 206971198 924619922 328892616 681888678 108047342 276408978 769362022 714275788 513335968 284127682 63482232 465844080 728283294 826731400 882373718 922139646 371955492 680273154 104470044 317986138 16179700 643796606 100600946 293956068 862249916 312855514 291273394 550551818 507644806 816752736 393744884 119829108 87507452 132399280 687810762 650410684 438733422 726645230 874948488 72450076 619967612 403886584 544667858 230201426 570623178 830104510 938266896 158006210 352955568 764605882 583091460 998506090 11300466 805989302 239004030 34963978 657089918 299348986 953163182 494094356 413695668 747749152 619944324 339425726 733034606 223317376 95964296 152856078 290465044 246724064 591707674 437876722 64369884 671582422 823038852 540316398 541302542 270736924 368363318 312359658 970259606 115433204 528512172 512180728 394568094 197748126 440029786 99276850 525686840 213597308 656604650 163253640 620899282 144793284 848537384 214731124 496333158 758951088 854149800 797343322 5282758 536865458 611263784 467792908 929956576 250503884 896341630 727313998 601995062 345089978 765639590 357022260 119775832 338301090 737002086 491667716 655870630 524955676 336516202 486782368 71309834 933021300 954411506 285493430 376319990 526736636 337957606 819164538 904124276 961733798 552417412 395879810 90766120 536045772 716426530 102542520 380033234 423402766 550753834 361269016 842442372 272880054 478334566 174043762 77069556 62081106 267406938 280109292 133120456 316196972 350202654 620842228 577108546 979091560 779066866 890535948 127659846 937864016 823410034 499925062 124465210 412766114 265652406 884899550 895863544 382893138 443394540 25262998 745463226 746176056 420037990 79090112 133615144 917247120 289383600 558808300 439100082 234382986 606591484 848325956 697845382 978870782 806793756 124473806 103540462 299010782 226343158 529768198 561118556 591512496 374924664 55529820 660330786 660119284 213872402 918690132 742520488 181649820 597301210 163117204 30910444 644241120 621075970 225846744 543989992 1859086 924494790 437732208 347784002 610077050 28576460 854209098 354876466 794098130 717673074 33526996 756885478 34426260 611247152 389816402 628377524 660077190 935122488 349221902 944186400 743329310 806514882 577298114 263522684 532760422 153260860 214871104 546571680 366690712 75981908 342572664 159203820 544658496 812579298 191522924 758707468 768548360 341269800 68853226 908281250 951081846 138581578 717878060 933779406 678320576 527704354 849938956 165747798 304849864 808883934 686035596 994034582 25343932 168733500 133272588 297375524 858099760 776373222 69035612 820026064 948959200 66640582 353753096 923866032 44297796 729922464 528608280 789189150 637076154 37159222 390080290 892214868 923505294 620168056 999921230 867886970 41157214 731187428 589048266 144797684 895747938 172539764 610532186 310846842 890333326 683612846 983214136 305049406 63468026 909191458 147116402 900992086 980555776 995460866 228444850 467765502 98213894 312854076 444198338 322885192 104575222 441462270 336462772 556962842 931521202 380245762 788686820 455723342 249653816 961651788 781000560 247726366 12577942 350907218 893457644 56654016 187323516 957105308 587835004 389942734 538937236 276256708 121936720 558742734 381308828 525390100 224643064 544170002 466073754 997912536 793533696 739342402 124169430 715712752 622207442 951086238 554899174 570014938 650078594 770564082 656048234 637648252 754601342 405067244 691245708 793425874 542110712 313497312 70925292 956733076 385944156 107128754 777572076 395007450 921390536 264075080 151535256 169444862 723717918 42454996 815026562 865678410 715798324 755352004 980029146 321874882 284887408 260650298 703953068 582414336 193231826 499953072 674566456 600356510 890224260 893105334 615629588 511405178 754237524 961337676 543256836 829418826 392332900 382351458 391246270 295040326 119790000 775039010 985979534 202893866 889305430 843021092 820641760 637818170 397977624 169972744 521851718 490780700 251679298 356220586 491459834 756984296 684525006 874136510 70084926 362191420 940319906 259894198 920962184 576204058 766094360 355718812 456977980 533927106 721352410 371912576 957194890 768154194 768301980 702288808 750012502 439210592 89314082 3239428 295745406 450932930 284045018 50153148 269393574 451589412 835480312 66294750 635404076 313009904 863661144 327214400 978926350 754641226 379874414 928933972 477710878 483815764 790872340 837291526 803170894 717668536 90698046 113936364 744661040 960433400 89154396 923589224 740384604 381098904 366299814 53103624 501896550 125478758 665503406 699398202 464716776 303737570 318709304 200160938 249900828 752109138 413251214 743632594 295811238 148298706 29193184 186839740 616057486 644400916 845008366 508349898 198612452 647228204 15917540 550561948 692771180 595810634 220304824 270062766 411278696 2998300 236774982 137400834 256471786 693949318 90098812 257915656 744903938 494158466 263001980 996740108 890566380 962014732 737360526 415327342 392378762 756430868 435612532 506183228 32476450 821628988 309307514 682798178 498536320 465150090 114668276 302197760 34163196 160449488 6426032 61007514 332788350 73332180 966244204 537101220 471973110 266283390 702507820 883914970 983766442 994185160 101658576 897590456 970232692 862776928 196437362 426406174 267389518 67642392 182413286 669256052 707459682 716312670 785923076 616818640 136799182 668135740 79675866 783815162 698397048 481587122 418693172 913134046 374998326 867028298 204114030 46183824 48386222 213779008 481828590 489848522 407387824 254726080 210496292 642563876 951424360 767222704 574667092 206779664 192583704 324855888 99309784 665376102 257017174 438512394 192533990 649740202 721078946 596389574 555308 588795350 556186572 582847488 337122742 461805122 874907238 226317812 627113788 795884904 820189062 146479356 34014060 594641222 196989238 209851450 313875144 652402848 998821824 73026830 650209554 381693316 821203478 912107032 113335814 97538604 14801134 5986730 834051142 870960900 761354558 431767362 893941118 919093110 204300346 692807218 323545608 856402436 789838910 817322024 387783424 918599562 848035002 373151390 169443542 40273860 444261464 690580482 781287922 284608288 371265392 132109628 208713438 244363262 557786686 697429976 902162084 24936906 140575936 465205050 983668328 642306746 286855998 81717000 290361674 990835516 420331828 762906166 640694744 563146316 680037178 785244716 326077164 560645864 131106538 448948490 280831898 379161748 699444780 173841946 423793578 53731088 232335862 613638712 199029610 662387720 361736366 619179500 907287500 979205978 364355620 385339260 606154592 988889720 949752468 809041972 126472484 749467478 107811612 184165688 417679766 342606638 274507320 969278504 248722658 101244044 944666762 435862018 157549920 311995682 762261656 757620792 360883960 461704646 897346364 342757644 571314952 519713578 268408566 998247334 581749890 388231258 487375352 365496104 460365016 985371760 87024814 916315076 123486156 589220576 268249452 122865274 72587442 263060830 604904938 408597064 555348696 377912920 569976978 840791530 984137208 584059126 84984444 864050434 16444258 606450006 648381642 707361996 426193058 230546340 159918772 295606968 89447146 35220588 323662022 333369744 15778246 311222052 550183178 603473360 107034958 282984850 378647678 546943052 879375058 980863678 448387736 177865210 471976046 155303108 765849062 511799234 110848238 234553384 802794758 846174366 875735312 479153354 503333648 3672600 245359586 431170724 215660978 930790586 46587306 271974732 784387694 265106356 50840596 99738040 639961874 360968172 365942928 311370088 290880514 455975904 565881480 503367370 608610532 211289166 312948080 137961156 121260764 712275078 56623874 128717698 906341798 111844362 565028032 491875066 291806118 119076078 611019720 794625532 738483672 535267220 253772768 421079762 5862048 486321406 463807072 399201446 304422050 333620764 379789128 805953588 348342198 774163004 310443754 921620992 724868110 434119716 297803610 551141124 765750822 82988098 904429074 959394356 206304838 903798696 641348774 614615850 428608832 75131200 519583540 950355714 640065942 608614338 891290108 261054120 696845064 543258320 257305110 490938194 453042820 876077668 357819724 862871518 495864648 735745446 153486330 30372374 250231356 314825900 832865356 427539246 84137394 906861246 885512460 421775058 846032142 399714590 522913640 907384442 768112580 486765856 875365982 200014080 773354094 611684612 361078706 785914740 387435164 981761972 754782318 740881956 788532896 37561982 207447928 880662140 54191024 146374788 922058924 538723796 203810528 836386800 308454938 242891114 628534188 218128888 178256782 405575768 384321266 156393748 31113822 36660034 441100 907850300 890050122 325718926 243111138 682334990 975175976 743015758 26235904 957572086 324204952 897976262 318354824 33654792 259587918 681153460 520795102 418024762 919584164 747597342 528287692 410568374 167849050 713738838 30501994 902712344 270888888 955056826 227061878 177051734 325408540 827117798 470969018 294852790 529934894 932741354 66838792 528482456 521621538 300607316 31811006 828874884 469422040 542225258 783023824 312334490 393178244 665072542 642441860 615049626 431683480 858679836 89940036 680086532 147322922 604250880 366904552 432169014 442272134 660724880 922648368 732805838 464968226 565459038 993131790 168084950 472569918 685392172 285799910 635478500 577694074 65724440 460127838 3345270 536299960 16804756 150068152 139830538 810571958 490104702 773178394 829176478 795321028 220070978 979292738 257473436 904371992 414104794 170933228 139478488 633554914 641104782 598081330 822465946 339108826 341598380 255493562 836514670 665981600 11812330 336770790 913498776 115401924 370255612 279655994 640582904 131061962 652469446 842800874 951644562 973544226 79396662 712239656 196988446 898076986 860965808 969169938 880426384 84438758 411044572 688078472 326106078 115384884 283439432 670998152 485083876 180972708 396268258 700353974 578669314 17576856 159719870 825076952 806044426 349868942 146497370 942323540 220412020 141802874 489125620 444818570 712666610 909643544 652801568 950061010 867216294 253844080 294474394 8592774 951147046 324342806 773187050 878507912 585751178 876829400 911591532 472196352 384827840 366056004 418431778 847726012 696225960 861361868 300525238 95872518 841136484 173602448 971702220 11801432 576480788 698800982 723881926 961536162 252726308 593121772 546866368 425187900 243959164 148915044 661896730 819019198 507362490 160890258 307709138 181976356 674662014 593354676 868917988 926995046 511845384 713257242 693360128 388669062 673162820 76569064 617841292 996435454 669248462 816363290 285807796 986407726 444903266 165363642 412964256 287936844 464403782 692019850 484919560 596971782 26054912 671810864 375331054 870386172 742006550 170398678 470164554 52674986 56933600 820407062 756448432 41663410 365719034 838482262 35848358 553041070 994694652 340149602 933642378 649067978 84123610 489972134 236457706 339822094 706303156 964138210 347395786 450449064 388726822 58982252 763349622 53279716 82499776 843898318 817026326 120267698 31120444 535131950 515572190 22812310 796574290 415231928 993715844 756004790 134285456 722840000 699450042 553923502 771275172 881203264 248520122 618998526 861180438 197379626 56942074 455968404 223625452 522089378 522350974 491314452 59795958 546233544 898995086 92128824 614224448 304949696 619887410 421734204 843941680 575326708 458175394 79345950 622753556 105663316 809175024 401210018 640342312 573091994 752521526 218332728 476536404 919892792 786554462 49385292 128837920 13275580 788228740 586055266 772987944 296337162 234385222 960318830 956772674 480922916 436026686 987221322 255251234 388974722 720013384 437921146 253532768 243548456 970582340 528036522 106850308 460197046 193534726 982164744 812315030 685841228 136656690 350648906 270526184 595190360 489701152 81166182 279583682 487552428 192052792 301314490 692977094 341831906 311946114 742280558 48031576 831192588 231234300 359040674 329155372 213293076 882868804 258332770 596432156 805334156 108870500 760586966 903111238 153921508 506591918 637667460 391536972 483392188 251175558 212033316 266514636 603318982 902451406 992520998 310630112 162663176 876460540 868753570 514734622 352662206 106906574 746214664 477803390 994808558 802881442 639913656 790010816 835362362 534272428 730028706 514244036 956829976 296910986 730382856 688950364 254554848 660489364 701187224 740902830 503023324 686677674 278452708 248827134 950088420 19405228 357856116 226044010 86969284 901852278 517472322 861691326 970958586 25841020 355518846 618973726 35797742 466792118 438553906 704589064 236738074 679069980 69469076 402750956 430677222 951089858 888760402 642356148 312965206 64536530 603910142 495269236 937013786 86179118 316583854 430712238 32165058 189588902 630095114 574835780 595057862 369325752 998743236 406045112 692106548 922977332 713624840 856505282 159208566 248658714 202557098 30999620 714556390 337527414 954858352 497277938 291154602 933671386 515734572 182663984 502101762 659267024 863418360 277516876 380979186 766687482 951228144 218626902 295306508 801722984 111147678 4383162 660878170 105621028 885091194 134785858 127781930 742867462 794788148 142309306 136263916 202362758 12667718 596722122 499203090 485755468 376833208 264925558 82036520 173060696 996347696 645396422 23479062 409513764 249695760 68698714 733366024 409116262 315680838 706561218 960351702 964896240 696505560 392913682 171798184 258016584 663428852 670370524 676509148 597959228 645965052 802513578 305894898 789227798 8525448 497850536 117221194 665419544 145330414 355933122 603879476 904534742 168961466 393514616 96907952 994197890 179413700 509578062 829715116 160493960 75079328 626745458 100167482 575323862 69355036 216506556 156657472 720502844 911146712 749380330 341190196 417819544 271180518 983033384 510342334 141554538 588538686 197437038 614384406 928622918 709605580 539978056 978790340 860781722 443488118 531844982 156441582 913184306 796752724 970011886 862105850 983797868 566323840 721569110 115784648 383241050 438620252 354599768 59553026 805486422 141488456 163799570 459220336 508850362 917179548 498519892 26705730 253357912 647115140 177268100 887935662 890445062 851522898 111378830 714788498 556406402 114825414 13871976 434499612 462636318 694079742 982395852 421120274 819136714 562070444 827704900 61104610 888438572 342668138 566876394 123915608 424297560 8216154 836160004 489348002 734472982 275853142 926839240 145171038 868693878 11284116 286062414 378699478 360538684 126177586 527307314 483498374 283130366 463523936 529481362 359435216 168262586 694682710 52276288 775004576 668531230 711416646 39583460 754838368 249038946 803969760 75128136 313109740 932210972 723356332 333190422 476153342 502473278 642712074 43496884 817671792 648550728 186865674 255152090 357452188 121113578 791934416 727223794 458482092 333229866 281854354 605200392 951143512 512911720 575812508 813052860 472992636 726427692 295247828 478137178 574836002 512924658 240595688 941268476 89105534 403054574 25116410 8851854 766923322 122690510 910868494 254103312 534203892 19589454 865077710 540419920 584271238 933742026 183159346 751431488 268342566 463774998 825274612 934769510 598024844 940096002 322550514 779710996 617914872 983844366 201487902 984652024 881217886 535160922 129231954 388330938 861945796 571009534 345192786 640976796 855526558 616858044 659524902 469532896 747843170 652227296 853032982 921070628 870969898 633306766 284978240 146279474 83108188 883318750 678577796 496946428 895421662 419280642 201942326 292986198 88031570 633439490 698593578 12501056 973009526 588820184 921134078 18270860 660627388 137982062 410980176 554646574 349142428 891964292 831991650 380272202 463984440 417168574 562782308 286782512 722882662 13910672 86350664 163421308 229349278 132754192 483715758 958740522 760568448 72105166 190181950 687620516 577080854 502435084 726185176 366864518 504720160 580491886 391856840 470950282 358924790 145126692 662733720 984276110 549176650 72137194 819717268 491790196 423838416 437952928 189571648 868093670 213076138 131269108 562529312 790393528 101152210 642280286 669852106 156830070 676635338 90858516 129835550 218962994 423610508 731655434 236723690 857620620 100803028 349914736 436312588 626469828 723573764 694742124 324817232 894716370 678855700 557932814 656067856 135927328 551336470 792860262 736034300 837131838 733434930 326808456 223472934 258972564 898225510 245968034 406923352 814666774 107859006 730991478 470895768 71014758 552152796 535426280 492694216 828527310 270161256 120141292 846130298 395476574 837528030 624653380 533695608 170022516 51712296 342749912 790675186 216512086 783441738 192834574 438208046 893280376 44283106 751608046 512923770 277374240 942480728 567503630 239496634 379172780 20234698 926732916 859822662 430135606 324892028 310336528 815983724 316373684 908629754 75328666 856953840 29286408 362869180 712251774 248971698 827057862 71348316 13145012 851398914 997106526 365759804 983569862 976149176 291537388 593652870 859537624 339256590 264640188 701120310 219374464 239857940 268222354 340421462 634694066 729303974 756048346 193085732 967508160 438048102 23574166 564572952 855261394 673853046 664525808 788652770 583531906 758681038 785550076 200393258 968467762 591991282 149481710 11919132 213841514 86371460 410617826 367378974 209941642 44832902 251674068 239313340 914057810 773192838 775813658 86026632 830975000 396234602 206637246 568390070 32711382 104277722 992497870 748121508 251359934 141027686 124315652 33898858 167569596 456327798 383970048 418294790 506943954 313978718 71740344 41064328 644144812 790024064 206847914 423093642 844610418 237030958 62936314 8628596 181062690 979744038 417839662 651194458 488477876 517475936 468217868 608281934 471789934 314572054 729356856 43382036 700932778 440535144 623124372 958397320 973359932 85314244 606105718 107187176 497056630 948327484 877818714 502379554 758146760 989860598 589022088 974975804 307284660 444313764 680237414 187731912 124932748 419680366 179434458 263865944 758341272 166083560 315846462 736292476 516805742 293996274 874076824 952822802 946233978 242628532 381529934 318884208 253031558 277133912 61791970 360481734 112537246 525287526 494059734 358450082 828204172 327938056 221295312 473906302 540576412 197113102 946476416 617925380 357014336 135958402 246963806 727301174 326649722 282607910 345300582 149270802 228504986 867064822 387888294 439206696 677915374 513784836 710469268 466268916 912393658 696927944 261446688 886299136 422750724 824240914 885463628 180062476 523302696 933879930 737828636 82624650 357219358 907541096 604552812 126280824 65235598 244405876 327450204 894903040 218565724 167939980 489614138 628881142 251893992 842922076 337269640 197606190 893319188 83661032 608436362 9962922 838549552 528986608 741812858 838103646 373352704 861109594 720443826 349223986 108575838 736414894 951288264 42960000 922465732 279343566 157128484 314072850 439029946 729436134 542868774 701493200 799759486 132045098 294540394 66430432 126757348 16803452 125312608 706274850 531283692 791108872 924633810 780744102 417942164 10619206 695774406 20410342 348099440 970021018 42000054 311134270 394834596 615152678 444793420 32770104 242900496 895763986 925197440 51134980 695340822 108304240 894584510 990737688 89479502 160125218 880593368 562025170 808578964 634118192 462087190 796749332 328363072 842686636 272134996 540953780 905647996 731233776 409290522 428155692 577134326 413705534 296671304 809967864 570285418 385731334 197033422 844364514 657484822 498173820 662181684 450714528 727188728 194058378 255937382 654213344 818861842 993169896 952873690 791281576 419794692 758201528 613571020 496276490 762731378 642709816 225892664 618291702 107821906 584918970 628252266 715364026 295285030 712922078 806181892 377594682 645309208 714260386 538412648 864433206 460371190 477157290 487417306 385580528 74890366 163308726 174666226 68425864 327382726 579392344 680019988 584532638 740044262 523859136 981606696 742927576 265682178 862593156 457450708 109752446 985645886 856891450 558870308 703849006 542851506 263408188 22131936 870127396 97757444 455653912 618050180 949902872 266863268 346480854 94643632 68283152 50487954 722691642 872046444 36443128 421640772 150321736 673365614 800382846 591132860 921737290 502031286 813501308 351954312 279547928 477019064 381419486 844618442 130209474 732416344 845327470 712216728 851727518 157854770 872967980 258757662 726191112 596673572 620205858 609749808 335145084 530049808 536592524 88364636 797242258 461931924 25386204 510652294 895882816 986201796 510319794 140861240 479496606 62328318 338819020 668926242 350090648 33238686 831667090 253883530 841259214 312657616 979974914 767346680 482758182 885935902 746293630 775775668 467586916 978107544 376548866 860342110 159441152 658951320 663481370 367601076 861257954 342394222 752782884 789514970 597659766 792753398 165626508 911546 772211674 99284342 685759448 289247132 95192594 2362584 9464158 779586226 385995404 414438062 305383944 193913838 250820052 332173576 60772408 847126948 298002940 115453952 977271924 929920480 404464384 939961868 815880442 960385906 39101044 408211882 345156580 613545878 952883932 227230686 56547514 804647942 739347718 214074026 878452584 623936310 384034878 382414074 230469948 101634788 397269220 968284370 856377364 392113778 441133614 193903616 864598770 834238980 705639126 180477348 965561446 896872602 662461792 950643414 897424230 99676484 828563748 36902888 352009132 124773632 791079688 464223902 341012330 313649014 263051066 958432504 330822378 785583092 801594080 870591642 13395990 382859218 322201802 108971936 381959302 234287162 366090238 968614834 489688190 463399594 318456686 916034982 916234054 120570086 931909516 637540328 202545534 108153690 824368574 537962750 165274998 961969088 966234980 709049108 553857742 370716752 375825312 467304366 83744692 650062412 463358414 182308586 494480796 714842650 703970806 369200228 215535852 683473844 17059222 182158314 847287826 547319740 632918704 126922216 983107474 116266884 545322018 289429744 20580626 810310936 445991936 97216600 748322270 283826912 606210248 335022328 522062904 784859354 693809622 839409258 748128326 943670170 990119868 174758156 560992888 142811418 73054054 469577574 629822410 357587484 198745066 290387422 984317124 706831676 323299526 605619100 121938616 26349596 368802466 931783968 123572782 365213726 823469864 833555748 713232322 544793162 399504444 93261022 742064644 277747602 823981940 127264616 928494824 899232134 26697328 95384462 954513280 146323446 761487176 211531614 279435064 882916446 698850374 310879884 834912198 85899128 402242556 191318602 648534982 308814048 968694680 230036042 567810544 277169820 132720134 374904782 813052032 654341726 257094036 749979462 724715818 63744824 582711048 399693212 799768432 981136144 473406078 236408694 871383466 774042756 480821078 122865828 319049130 712340342 663369836 847567446 156162686 90879338 449073562 960726404 314586608 31011060 136014922 686609020 957987684 447944454 334241806 875371700 834745550 607789730 375555478 813562130 491402324 717461174 242748402 302122658 947473904 673347980 616467344 781881206 252409732 359082686 180153924 839637504 45517604 481195632 757606544 7439730 450878784 934310602 452300440 24129874 138237966 479220940 932208136 548640222 691569934 763989148 247572090 196619542 95905188 571401252 701471104 893700658 993174178 104875466 273823960 461267506 633334238 903678662 278481730 874637838 541428558 686543454 656851660 580491610 711076876 783811784 508702926 628888872 563247528 161542022 149904878 323696348 385234666 136435146 772845256 627708178 806336944 793377130 882285178 777910370 921085174 162110872 795024534 834073958 982070904 551070398 646517584 666032460 187868152 761815510 834766398 37816674 73300148 101356900 921424596 805187176 417997092 597267712 358866574 907149718 943774352 367837640 582088494 245214244 829218602 925639720 245547964 573847918 781920554 581476532 983581994 326415448 748105006 385521228 930209486 106342192 965401588 560816072 204469864 984534806 787020324 546287136 144372898 684642814 916147790 616850516 119440162 618362428 440142470 167812362 694614992 269458656 672568658 117507708 372590974 473270904 406483218 633103330 458739186 328986890 854291706 25682292 534511672 753056106 240186100 589235150 92426092 136072092 195288074 326385820 889351406 616522242 415035642 436626196 301371118 310019722 930282074 285551428 227562768 959022252 516946518 109739736 763906556 456427474 344889092 908772866 803479970 70522610 956318838 475958152 238964146 355091930 966498822 420651398 207459990 873554440 140307168 494954514 953606100 475181324 772145118 55638200 757793884 196817134 527017096 31395842 659968418 397003412 605981584 737473662 363780162 420921336 876885354 101199724 518963410 943362478 26538280 869251872 870147788 225081964 483266442 725014980 854849214 133473490 89707340 2163490 833023868 875235272 159697320 724183090 10092004 136510388 566332750 551911582 392781152 783245278 781333112 364620982 160258278 255207968 486614204 595280410 759507754 448604242 666963850 469989150 669497316 795900838 5407184 534403936 812618916 169576514 881993058 597225528 569702752 195499506 241828916 977178134 150170746 471916564 134466376 233838176 549115654 165591834 810603924 869081516 337198296 434634626 244147812 191866770 884300490 70197960 859311680 981318242 602870012 730159280 259660712 801500708 981466240 762260364 736129298 681205274 8241378 393971102 804950070 555710062 305916478 742795312 703448402 8137960 415395856 583343678 32899676 655531620 687804232 176843184 414258390 909019202 485564922 244612336 612889794 333061282 282996670 932503724 531276740 79885514 605198060 448044192 528485134 735052336 321653626 449027880 166089708 389479296 151902392 292165976 920303660 950271756 318462014 809280538 501304056 403237314 527506044 47251328 725868774 84367270 208335868 752019550 281619824 482255586 936296160 323116272 585181686 285549368 50228498 380169192 923970428 240753804 686193642 807934894 220718754 878882944 142846808 286231428 287577754 860103206 488800328 905780218 301052942 538973918 563299204 342074558 784425884 929794720 104305936 88259510 573320338 858956496 487061156 123512688 349541296 743134492 784854766 630665000 997124944 496930540 981348220 726438114 290153730 302593586 941845556 322314236 86450098 852147886 701732902 69419694 880414108 380142958 192093464 371222814 825878634 139394862 537323430 867700076 778748734 109634098 999883254 700866126 277776846 948796840 682844618 206512582 603607476 989611452 522172404 532240010 364962080 523689152 507236312 34119082 176459916 512167782 901964334 536753844 978856042 820518404 423181520 714195876 70656066 92513648 64710852 939540528 309489866 308322568 771857560 538131556 705222986 977671608 54319642 76662536 801988780 137800294 670644884 891898940 880985254 887868492 307851932 263170706 69813676 628913694 820523052 280966422 414698654 316796356 81480668 346265956 332234172 498590678 458221254 420994798 823370582 268161248 654041846 314188514 563392264 832798172 51995534 564437932 304704412 947573650 808409058 952469148 7709086 363709692 108960434 240708122 441119612 557094744 131839888 504768424 377296854 500192464 885508470 663114544 255359026 5391438 691819818 649506508 268836844 135137092 230556308 383748478 713971866 872008038 754219900 525865992 170954964 429468470 925564226 124642198 841248854 640328492 363253038 287404990 3068578 179785434 432967264 805599770 648272474 340261510 67970954 177186792 400712704 123397338 838354444 240509018 701088186 943750370 365516662 303023828 469405052 894911546 68715694 471935142 912055874 869991358 963640560 708927388 274208194 985775388 560363922 139538670 774108234 280865354 974083390 608658598 184863186 50447534 823091476 230930494 767956098 64313434 854352390 455790246 894927210 851671306 869869528 194472622 262892070 557765402 29895424 613156392 492634794 778103866 682585064 384751176 665662160 365285810 937391244 882116750 932292280 649716042 797196468 31352480 164538000 804784466 324381504 61671996 837877344 946963252 577543228 927406314 63995986 455663778 572443820 956515904 315753954 105895646 49142414 58612378 477941918 840593270 506601104 12123098 251115456 515229098 400960456 427261420 855385140 947022384 797663086 590977942 390399382 730951612 410618536 56728366 942186396 386883120 461875600 367597996 642606168 774412176 241100686 163217800 167334982 189847272 788801114 436277988 70352652 439218784 879351386 415026140 80299028 908235638 727453782 599977218 276010578 635782008 93002532 853086900 320518516 414080590 943352256 320204052 980194830 349832890 449045518 269105144 346758962 966597684 897249476 276996944 962802658 732719014 279918902 43645344 407751020 697422936 624563732 217756366 887804110 230970866 465666312 302714152 312370876 478133508 967688988 645286128 96217044 308340804 616328640 796578610 82003268 860848320 260944746 30935036 434627178 535942266 954116358 722432982 571710102 206252892 316496208 917701578 576843444 842491834 881828400 439888964 781242406 196063046 348944380 189981956 834853942 946531770 303618954 712164620 905026114 295476136 235128608 258992218 827927246 297243230 824235014 123859826 780550452 672890544 569920594 450117460 91208408 909882348 625094948 931475138 377130230 352396526 931574842 294382074 110288182 795022362 277958218 179211920 632837430 540230298 819195304 250689160 666829652 418815580 366008884 807343436 204722812 328907632 99908472 329003754 128252978 539731044 746057710 220571632 662840404 391159582 403915440 406181142 917070330 172225492 82301244 71066582 551203434 64235714 171012328 950281032 8181992 523992504 14167364 572351672 862822380 244620188 666397280 227999148 670067774 934821988 191454784 200824106 855536450 10414030 151540108 814659530 635587468 367679330 565819646 331882756 190284252 124281782 258691650 486783894 282521572 522343170 92872116 205906346 987945616 49234098 216982018 946828720 112627050 308006574 981404210 774886168 50285676 691211940 154137848 401674398 210264054 953667362 747656792 623335324 79633726 319051514 712514492 863553640 182000614 832792988 695385034 345776430 405203326 583990454 991809620 227382002 519159000 39565056 156395996 707220308 475637530 255745200 498472510 479509758 66902216 52544164 320846910 948353738 767136334 194391252 331537234 574002092 147271300 693157388 245977296 326068486 39190984 518760762 988317028 476479096 900386240 704692492 689361030 705430940 289152726 302073408 232904256 56634678 620762026 850060408 189285294 294037760 949973466 758463638 605668476 238968590 741740564 820121650 657977738 426280238 545624646 585303542 128675388 636916958 646408822 110777364 96710604 986974036 592730302 487761266 969547066 872012650 697722608 72174852 894810800 631147044 545718730 78235964 432264400 822377216 849950230 336774514 989515364 199416206 389700828 163690764 236959208 134082702 571558166 5038552 380837936 996194640 413910246 721899118 709144952 184857014 341312310 516746042 706099858 950763644 602252312 247921302 935118716 155917084 607885780 282325844 857800574 951732456 16305878 578538730 646317668 888319514 967360834 69561280 537412732 258170188 153442782 14735682 301835264 337687940 976272972 909407318 933075578 196979202 47910650 374051344 712584446 719783268 281338136 666984310 389926340 54210494 465928724 81519970 999100594 402838188 585062128 177583880 900450020 446741006 585340082 212983852 965606176 574835252 974401214 223564048 214727938 730921538 932217392 431835734 232094098 825323848 763330472 178764980 421269722 723874692 712476084 853913542 293361102 435258122 857080512 680537918 392075964 548093398 749532614 490340392 585341468 222645992 321412716 195063620 99850020 199900898 756267086 326252088 732088550 979011982 120876776 954270614 677794514 992503334 518077474 205781332 705340420 80878390 301762518 498998628 166749626 673138916 588648562 37132050 304130520 274358920 818344546 45268212 392521850 869805440 826921406 99799464 798899450 186400262 814748278 430303230 578037294 702511128 190464540 456779306 763400676 757614888 353801902 745909248 359489652 755335008 491576514 918470562 168824130 205610058 496583706 619526976 696503076 653110394 897070638 357400206 919995462 284033112 76673726 182089036 560747854 146586134 458775526 804462880 701140582 232480342 350592908 563271384 792104428 928127376 803190244 303849992 157727630 361660908 577559746 624198368 710778168 571404478 420131766 655043796 315180602 784003966 223715500 745273020 437913846 586038410 130559254 140957614 865839844 835317142 256378020 75449112 826982352 49126112 347313442 873795918 435501924 261679344 137749864 646050070 780400162 332939812 565453492 861590142 934682424 198778756 214107622 164661964 479029634 209031280 541031518 610770348 672065508 38662270 911881094 720056958 408905112 393611380 671253834 471915064 20829684 429437386 106653830 355424800 516909808 856158750 270107902 510108538 158321628 323878346 38417280 907945886 845140900 945928902 810501638 945326274 393161574 655150788 44424828 971016430 967126210 411526052 1478560 292734518 856345512 329869192 295587584 313456306 833774794 252626630 810557862 410587490 472430490 514516260 122596874 550900140 705994572 43011666 619331060 960858784 543998314 691096818 830639586 113449614 765847954 29162642 774826150 104028702 804374002 932991600 720755784 163536164 884150514 629233472 833445052 606772456 926984290 598141136 665857564 160584206 473871290 991349070 104837746 650374528 270108328 866137842 681257668 881905990 966170838 238407862 360160136 484298588 95217422 140946004 157878848 937624284 959915272 920192296 985645246 366126204 603203360 807436686 248048680 296080946 455293346 810954798 311933790 826597318 79967738 345935856 414766916 816388660 241064110 669478442 55867722 78268028 99950914 215538194 489337810 377289124 338676212 190319554 105171552 196723954 691884914 112769378 723575344 946762436 487602308 273637664 541044662 570661262 563965020 637337652 873500932 162519594 432752912 921264552 491192534 669995606 586665932 330056574 36322392 537897392 690724944 871489372 907263242 317660268 262012248 621524398 521812352 675697934 909519006 279940854 791910258 709051440 677710080 164412630 273481990 607483124 695329838 732360184 874762612 878449892 269926820 400309292 17649644 566651188 637459774 126528544 93936334 83624458 877071944 190759284 352941348 978465416 277824564 315173782 934518338 416029032 507239040 326496372 500295206 868697084 378799042 112333228 678381758 138467654 953205554 904720562 818800062 28546426 963953000 199717304 733471686 541877436 304535994 488798568 510279530 67561256 742144582 906613798 178884900 542851524 703901312 867508448 463637684 18566104 38429672 175650060 454071270 223346538 659535560 518773446 748571482 982185146 434553922 865998896 371713312 363515478 197781048 711172362 26214316 364545932 915510532 54801890 849556476 179309594 883245234 484266398 909826982 874042650 834814816 260564440 707781412 588792224 438463138 17545978 589011328 865645486 839247194 49185244 297669780 689356960 641205868 526602806 922910876 819238502 293504680 648871464 932946426 454455522 454388764 158211808 162870276 768261570 692458880 806186846 960075846 336443856 268383200 817161742 809272774 57480638 747982804 41955174 267715508 939633820 149575584 975713224 372620002 735713224 65673752 731043922 187727798 983214038 843070668 895866236 512320226 99354430 875374996 624245744 872934996 459313460 912976590 624998122 955448274 15901708 15221340 438487548 690078902 622531700 357206224 497329076 291641006 283968450 111109948 287556812 260839754 880566530 8737442 821928112 964811456 343604456 81878270 96220404 114911482 483711808 182672628 500998538 511977312 316764930 14567516 818514182 211269502 904226254 255706836 331234678 528588136 647971750 290199510 99453452 132926706 844100730 333517602 973509520 60481250 665089222 804918358 609569330 389943858 473980754 902098682 475008046 391986074 963967026 258932044 986588088 797169910 844136596 726341192 629246882 276669266 791860402 540381768 615481684 316151670 138754996 315909740 480068844 411069352 370872696 621454144 325634852 531987234 891322882 477268926 137718828 917119300 71319600 250583872 734825726 828513306 258496456 649210182 687484340 726197018 81734746 917035508 995436378 500149576 335683590 263159814 685982490 110552390 387126716 751649738 353563698 709276764 239743908 806886410 118510124 763405468 599188554 309124156 374194714 343101240 889300434 993683872 114763726 435205632 386324440 63574734 458384530 353117744 816534148 608441664 418167510 857925620 983491728 127910774 179209512 515882910 622555180 382964448 364143976 666750826 376334956 464190716 78872382 398863656 810472916 112185360 107013404 338155962 479982570 536226050 367579352 37172892 195828648 763886012 657027436 687820148 969560530 707041710 992123898 726101894 607345182 542545600 640539852 770794100 890673754 407174384 122295834 358411152 202156720 45852120 457339488 682128586 897519262 299025018 484589234 39816874 391361240 251738164 539162590 624430608 673927400 794994178 671198564 502716240 608051340 882175006 365803232 106348524 787581646 213547620 543125792 332724576 819564512 373275250 219487438 634492954 557485226 803805596 498056520 687395290 827009060 807285576 191595388 883148850 109242326 749486692 440407700 376641124 331198706 564345538 114766636 739726568 485297834 567127560 797159618 663534036 572855804 546937208 487498758 203128304 664009964 748544058 835586654 675244062 8901852 411145674 959119364 684898212 434769628 320642582 446901046 36793968 207903538 648467142 606057252 422558984 549471916 425662906 26007098 328846678 805347844 730692562 449658742 576797462 704168458 206063828 239975018 39965560 529039328 587181324 115311740 425866582 522819510 834173658 474475340 374254186 698746456 436443186 792785954 540642388 734871450 8309364 365147382 742933078 699357698 797930588 738216350 405853564 513395984 369266696 582538996 442510454 590779952 693167482 712335580 551062206 907629018 790542640 746587548 912141762 148957160 360001634 226371030 676571124 552539656 226616960 528511294 230952506 50621358 12660328 54541568 464721978 67223466 30432230 735427176 563299262 265729532 327260152 206231670 422060694 536798860 13094572 184741692 675500450 386552102 198242816 593675906 279945184 948796266 371076740 948363070 54549710 184855712 94879742 39435762 417916018 212789768 354620900 874164620 201995216 203922854 793242848 575061496 479447378 340903318 935071198 654096724 304428518 30578318 387206470 280084046 987114996 792024178 11077228 470876974 673626254 350000468 733858022 193433776 692388220 433439888 99579824 27804974 46393858 105115996 433774040 444537900 330361638 725458072 82773360 886424736 590994384 244461756 468733622 163643116 647708240 891282256 108250028 12734016 885622124 172794052 13943914 231337320 199727542 641335878 757002644 505252156 785898 449980414 363648226 292816046 488735106 354006526 35103094 971150704 89250524 48377288 850178134 9589544 407779762 203642022 610737202 326282810 929271552 487323314 91083512 375053450 170359500 444233148 65045510 211971538 982305184 445289192 926545982 562409888 535266762 271723854 953701516 241865798 9509634 128143412 554442452 102786750 59633828 241364316 238606110 647516310 414208370 606302772 706482214 761117322 107728950 662776964 547717046 336453234 687304802 234870134 529733830 936744716 685050608 556065412 859343138 787915744 622797576 358203826 618224428 194030530 876836742 636578570 199661184 575445516 51448948 485683890 999751816 957450510 774698438 970049548 433681150 8801304 835979676 874482400 228109042 427618504 931901702 165046440 971904686 526289174 172462288 732626732 442741386 175621300 946993564 709639988 854976612 654846976 287606190 447743396 686859682 911330154 386008754 432671254 334567502 794353180 727316616 428854254 997615956 400343564 870742190 929669044 79572262 789436932 232703520 831685758 944459542 406717218 644290690 431185984 858131694 61605332 262785042 791771514 186700672 950005906 687057648 379095914 89615188 161362172 319774046 68976318 689491188 887190308 35972256 918838860 418420292 243309134 117033554 108243644 727930948 318551666 935778540 415622774 426495070 568102218 742683316 640618932 307769006 208047606 871293744 592391920 860666420 39347130 118298684 60401498 910858552 699104240 15889032 362714086 989023598 802113692 594449314 438934190 966003254 788254330 499830322 53175638 914769870 732523048 73443212 373391234 211583774 217516912 424139870 765649196 387034840 774518994 294246208 814545094 498249756 823922850 30710382 806583828 633660074 816256230 199778008 240417534 703785254 100416696 966625346 762459836 623158982 587822184 321735914 668252164 642815492 280711974 220993612 653892646 996807858 678374378 9629974 964304946 364136676 142523356 90422294 566220020 624229338 395888170 333441688 500477492 858619492 729389850 221016510 788763720 414416664 15154706 142364022 711974870 476950712 341336554 521713006 375820238 784627868 366607852 323761038 617847318 254947646 552928568 319039658 294988688 225853092 290993608 738793814 11943046 590764538 574107548 999853736 486226662 379192550 358893140 573356642 73429294 872560564 143013822 119691826 251867956 580587864 836046664 142713542 745909718 346050392 284916314 587438940 451703110 275452212 621632590 227933308 257534384 975447542 751244840 495707560 912616180 581377958 26718886 587960122 567719464 449531694 345085498 61111908 132867088 383786992 119428258 133702566 184951754 26877576 752962470 644663054 996391914 290322532 404576990 848086158 759804796 639665248 298637406 613047220 729088510 687439390 211143224 623114592 386609250 204692864 980562308 92051340 757631648 350032642 308148382 347738784 303512494 378236262 542515824 488438142 775447844 80748930 753338596 316611808 144751780 811708462 394408592 913698830 614201158 305098702 762980948 583282464 359193250 721322040 257871184 933655822 147059442 783049514 504100272 106355970 757809866 218531052 965880622 823211964 212499936 611605142 676415940 557256646 933379630 633751424 389869696 713851654 194718294 518796802 719465030 290291100 50226154 933773976 409323200 640799738 942353182 530999958 216178218 581905562 317559736 463004304 745127622 433147582 672915002 909474382 935893322 355395572 828568854 147988630 88323926 4699424 932360486 248941212 158057626 756191536 225342438 567123994 607021628 482972338 169923860 640647282 688934762 671572618 100188264 527127076 36802382 707279592 543265034 220943714 855777554 230863176 444227734 760208328 246761482 648244206 455029564 811905924 624019980 192958430 685447344 862065934 432313878 960189364 677401480 299903462 847010598 532955928 45799086 591490850 246551118 109409556 165834914 491993844 183706742 852193768 333994774 978088824 290132328 830032040 599269564 869143394 360010548 961548568 7189080 838960894 577958524 43083646 578887170 641424478 211460914 705706560 931482468 686581160 753705190 166809104 2180346 103386174 765219022 103706332 160770876 656704562 841101154 24424682 394264724 748365560 440719216 140613742 539665624 576732292 494222360 628445164 171233428 904398184 906049862 220372146 158162834 625863056 447826694 350042896 945386252 441875804 170582632 275191806 693711230 126753712 906354928 862461334 568048074 539296020 718603452 660707934 324089122 980501026 81562448 48883772 312582540 316607178 684144102 941187158 36785046 282844908 697818946 171772382 919796758 683428354 544407700 107994394 169002974 972017838 746193494 195407230 943784004 177417208 162274432 218849678 887820310 388615128 801611466 296222686 387547322 887491140 216640270 98450132 828787658 606215140 367944696 412542970 305835260 287273232 750691800 209850760 722810380 116547100 511119690 191059236 136159682 254149804 168133598 114618708 455338440 476913778 834726648 843705772 477107256 506470298 414023882 16291354 771830202 489906058 97843034 204344428 698196174 499579058 221124548 166672024 11907734 230727612 862769192 211839066 143580140 542660742 960446728 510307398 283602392 893001582 893195724 661371330 241772380 316246330 442290462 71000522 598254592 938090118 46363772 461277602 538317638 88009478 467367358 816296598 484715536 391079618 488995994 950766594 274777090 83391064 877233690 595802812 31628026 12034658 820390494 102783468 76530502 799159156 182906658 272279632 90533970 718728500 537859914 452361668 275055310 811127552 551602788 635980076 16841380 872745424 235204358 42841246 972763224 13340148 896046122 147927794 929158538 665463858 424792514 341105334 695622170 741071182 538354778 451608314 120121564 824824082 289297142 366251268 133177082 969574496 843913116 330421804 509893576 888620056 897838046 369110168 766297620 272908738 623088090 100385402 112864450 436441708 633313192 824260878 499266120 936976630 537694970 337567038 584139872 904235642 840023336 208089444 609033802 275302366 824123560 100419980 610539764 820284924 213601880 646743504 339423366 933602742 48570286 530987590 73964496 428123950 11371536 743133532 592762386 992833406 761364808 286995166 794113220 795512916 365755304 485180296 667913236 264848248 148836860 371324228 764994406 125717834 576658434 39125890 212202220 181527158 870989338 92648528 968319752 111406772 141894980 24228842 495257138 255433756 169463460 433047422 555773430 994716658 842352692 659646604 717490144 359512628 721137760 121880794 48795220 361733170 570358626 759222210 594068140 274436698 671428580 114641058 767165344 4942602 424332028 682632042 164440324 48275178 10857658 382054902 13507534 887866970 517250246 500957862 118321350 647177882 364173392 652196792 192861402 645824396 764752904 248391266 818666598 516503042 604519406 744907650 769649052 748107242 691199350 759611880 832487868 563847428 460226128 742881912 422253054 469370442 268482730 648625820 853468956 466293762 208077028 586566222 357672056 596579340 32892528 70940050 689624568 414593322 1189424 581431518 286170090 245047028 898299234 632155420 769654854 9592934 805975790 98641040 645812874 917770870 201675150 247201846 863574720 722295200 384931060 440988056 597048966 950205290 510234838 591414372 817590260 413405524 692213330 788834782 5624664 949374844 426954342 105790970 178399904 350235968 81228580 997815282 237390884 532353936 549128252 739645662 937199824 854716390 397871640 611218106 719790194 609404100 268469520 773861648 919530814 217815994 836006274 996373850 155191142 570412848 332756268 833827770 926205028 461726008 850970212 663053078 474275098 568401304 537378476 895926062 233029836 376619870 338267290 147552004 649923964 269442674 433484272 657519038 477132588 244212910 877983196 815922952 428518436 378341120 891242996 891529040 989975744 804793342 987033760 428596154 458562868 354355308 828100 396067972 361251566 463286156 676541670 424712906 72147444 950029734 66005504 477142338 389941040 252945250 292475472 488748246 210787832 915339354 818192196 513240514 768669684 959010052 686950266 181164696 705911096 231816 209223756 760450700 336908912 676723430 497671482 303508174 274162622 99845582 559019702 960677014 598195976 46419658 781522090 911552104 86126974 553082522 394633638 882058524 398530144 161379388 461132674 870586874 911890122 23705268 790224070 127879646 931667062 461102690 845904652 778014828 118611528 674456942 972062120 292436562 721876774 224833296 912106018 691998174 202839966 324822798 379018340 497873192 957747786 413363806 928348854 616403666 514815822 973278088 805039942 592072336 464915582 895928786 470535694 258525608 655872694 65543438 223855312 968952834 898816246 748564124 11165148 125655208 310709644 664538456 495329290 403820756 159777914 657790886 932286216 67525346 68893590 327922304 581739816 199850150 825692984 262182156 203329804 798811600 700786182 566608062 418029828 73782412 182267876 207783364 93598104 856591080 944327384 808941342 991257724 774644862 51700020 96933462 908150984 611155356 540330594 288922402 298406580 562228714 920292788 282367038 476295240 91541892 177584578 407027724 259776676 559952784 29199080 77520798 541627186 399662250 223563432 73433762 724650500 649657542 346932226 761627734 456443114 657166842 452971980 220679584 988629286 522121054 5328902 381755640 828905308 942418950 734527850 978007248 83829910 394817886 494321078 537669564 521860980 350817524 178502748 441884736 57626274 890358326 949441614 87971988 497772346 784415132 650681050 996197268 455255674 602641424 268155070 331785298 161187084 429286500 855960866 177137888 917063910 661341266 970226326 672862646 37433458 177553574 84845410 633311792 791797050 493816172 382779144 345790048 401476894 507058650 182839592 553387630 990626192 958423800 31326210 460051228 404358616 536838588 632284764 703568104 865052904 877693186 75268116 927658212 100030860 801476758 109213394 769416552 493009100 208455680 681977308 50068968 885736196 609634380 939905550 123144024 314458906 599227322 648513328 654976460 795112522 3563746 527881466 475654750 816737942 333144446 609039326 683190166 149108620 349346756 491976098 749180762 298215490 728364510 547364734 656072766 725149456 809316062 820884788 262002506 239876260 492702754 104904224 498217716 405569848 145071770 754156860 8060092 789269504 959446964 362922874 474315858 825807272 414369618 911846414 41998452 895068798 232039502 626308650 693728882 250477148 169921038 82573766 971322734 668768942 679205430 32170394 915194118 691560742 274270680 556446326 174247190 161255376 569957052 495616406 293152842 790770560 194927666 425384400 852205298 357051628 149770888 87888416 320711766 903180824 231902826 706631580 114172086 772381752 847952804 82557578 483552350 524834034 971551398 782563954 44232926 140869174 735794868 701254358 787248824 530527886 335783430 955114318 195258288 822278980 614347408 240686846 201134154 58999242 908270992 989415810 736140760 14612298 516101104 124961794 119565928 187411920 979377166 864818556 460841462 934410828 855857962 557826438 605572958 541463306 287471408 137135478 347322752 831238590 989772712 41270866 958469060 489861160 159179082 889918080 925297004 263773534 68845514 799306088 213807432 310422264 390469324 170263764 190882102 890664246 871048432 297475530 491544330 630181872 917449034 486462736 984918836 920654210 426372766 60345816 620061634 833812374 526759816 134882444 327958770 184491440 734769032 935854210 348563930 187662532 917404900 974536476 988102898 355499924 299843324 354537110 727961596 330482876 978224736 326780034 99039692 668134252 753310674 899551656 530853240 430006792 827545570 151633972 880776758 801719050 34839286 505589470 231745360 836635336 735313112 160615586 603244648 379576846 577696812 920111134 627150914 64313888 713662298 319853112 511425890 638226120 164359648 275919024 111370156 944777158 852460934 187125842 34464076 972062976 974575096 686655572 574149378 83921622 391544664 7155744 458069266 877496592 632955688 8770076 786778452 845294178 955221430 289628816 656061038 709562824 532929372 512369930 771148430 450745666 519373034 597964412 116361418 253526306 980581652 237666908 257756720 347854928 701672688 276060034 338796784 693624076 872343994 438385240 213470780 884492730 418515504 134002834 276609996 634557168 221107576 741194458 385410382 742363762 542912664 249157126 980621876 659009992 260770658 218818814 102667112 847108474 138491242 267773738 751068286 454690236 136751842 661617684 968308572 501870026 957510630 28221774 272599960 960822122 442313122 580640030 381111060 708542732 537684772 74775020 786449462 606630648 528354382 856468288 697015098 425971940 291779574 142366380 793984194 781682844 47560326 922134592 160272482 690860758 744050818 53523504 68417422 707745036 506631970 10840504 548322586 612487368 43606660 555499312 339667230 188541184 751408632 329697956 588287806 318823914 381402858 129015980 46135140 477013632 63300882 533273158 230876270 65271660 256584542 594139084 126818804 869930808 820500478 417082134 984636322 501439492 796609158 640012152 719831300 355752568 589351104 313578674 83606204 790492492 780287418 47972370 975396292 977163984 752107462 287903320 435552146 181318212 269463484 553711618 175782976 984918202 866162352 638612010 67542660 550532884 575905726 405079384 810984570 378559794 485134490 656224790 946024996 499147750 793426822 876571832 95035862 15824288 571683722 926482930 517173558 317160256 78322122 676791834 42322434 644764652 820557874 603213880 439027054 580488818 233952490 9903042 878488312 290838356 154029346 72861166 612341424 371312384 134236464 999573758 895180520 615965040 556589534 31481928 628531984 653630140 820620222 51479436 173071460 585593164 834188820 358734324 340170504 643851038 363293868 793501122 456839684 132280474 629873362 968401272 749261298 984834378 876884076 728327854 294816230 773598266 426118664 170056498 587598796 801492446 393078008 867163738 424075740 170367364 567040220 689824170 519377384 337617406 729970564 839256906 347228768 850766858 199909850 425685024 574469420 536483734 811319822 137868720 158545112 270651442 63461562 212415360 753824186 411994608 783363176 859253942 249657996 851652414 580171010 34298886 588720268 693776700 57497588 914411334 382244656 59265626 824128678 786255762 272536728 634173178 9134592 421694272 410060652 24654702 970890952 428261010 980866180 814266674 181123234 903208598 535338964 758070780 441503982 648582570 982581334 167418894 4013328 195292304 665986910 951356502 364605926 12119148 43648214 353536592 453381398 605506856 929814570 249774278 627818448 317365664 906979014 872220792 372977568 263927294 218106688 682112280 583067586 975439576 973784108 932811176 681368592 523406856 295989768 563219360 326494444 869685216 589393736 196095952 652466922 249354274 713425552 350019374 299580276 934782200 992585624 747831256 867017316 487450942 201388756 71619006 24355922 724817840 995538878 40996570 690663600 963583942 477377982 433069342 736884054 661579308 13798814 718403788 796181038 963979644 814238396 124065818 473654350 124734992 185314772 465942646 574214918 661500272 498066092 994973820 148801040 439357932 479270924 269369574 312755432 707964692 763243584 886090446 658927112 18656004 229445678 689773704 520109048 643277860 941136728 18779724 122168922 175973322 145039838 547607072 329986044 671405138 786636928 207034666 693350684 311485396 313736648 479745014 617121720 62170778 691087722 263538486 51122130 449868092 425386938 237377630 186460888 766409224 175502842 400750624 698747808 222676472 912148478 903675024 94046362 64808030 98601842 643174682 391219066 971532652 442501092 651808622 246404786 690864866 34680368 601639734 141591878 326724022 932495570 88270324 381854892 873630526 254017938 788641284 742503160 404255878 322016680 306280998 732409520 23049226 455887464 307717536 297406750 886046506 874353072 78313266 975373200 734576502 892678312 268639910 41208582 139684702 71486288 533570624 337885468 220980206 553053040 674699448 434393778 289251908 459294936 958433760 566572758 949555942 942266368 455530090 731380614 200383836 112698898 394201472 883162522 252539420 661547694 154959210 923562500 291928398 60438240 415553620 918132654 85678902 645411642 337776400 89185808 866424308 960656876 71651816 814744674 895953014 662852182 203159098 723549278 490850952 488465324 33224666 362074328 994989100 907396398 415911944 733258890 442661276 389634474 641987546 860463002 725558826 359365444 416979414 597455166 681438094 673418196 564153126 459159440 949613204 973150290 14391840 739755988 186316508 453776786 689596992 992362578 563945680 105702644 546815890 344049324 163329588 551405924 568056016 880160866 214571720 878455494 690068276 148940342 89955166 348820736 370286280 675030058 10057298 971037652 637988260 649326496 352968830 969803228 468709024 241817166 106755256 464240054 166126788 399574964 162483146 978301720 541755036 711095614 584691682 396507526 323023802 654613760 280290084 736565322 651758166 427890134 712841284 408967046 777481348 643544580 37526282 784636838 428981338 926982392 20126704 440811746 932311160 133436120 699727916 205035090 271163420 164816072 54060586 883356222 813890422 150276618 248104112 563122964 37148192 203611628 388419994 88785528 906393980 523390960 332820788 605906390 337613554 543436434 969148438 485889968 63610322 554753706 260773422 606337526 355885880 862803930 56090208 444474136 458722706 830053782 164048164 233008476 256530852 512705100 257452936 825352184 908136304 85170074 334497006 38117764 977527846 113383746 367858908 943093726 134168734 379026994 532682260 584420164 416298408 779283410 231400498 941009828 996606544 379824288 199736456 260267788 138610676 835686832 974269156 401354174 769561554 990638878 417842930 199558456 249652322 938196388 362354532 621504588 693114152 23103854 424394548 751420198 743257178 129464652 647698778 622088146 621594040 48967152 726188336 519216992 599609130 279472504 331059426 305564556 901790326 363388602 7953092 277025732 754747242 908657384 709216494 468586414 471486148 192726536 185010566 236083246 348290568 884504944 77689588 681585756 417504 286481520 302721922 966404660 464129982 42472916 586188286 170722714 61686804 38940508 242112490 448436688 624567258 455589216 559029496 936653780 22271346 96444984 588547966 998630074 313132238 499246894 410720576 816073798 568036990 677406432 930828002 457984458 260910574 753511022 487381704 862865890 571555122 136383460 268847714 444955812 310949846 221249854 101768726 219664438 946214110 437058336 233198170 565946416 469908932 765632594 290045524 761980124 888502992 420123184 553335780 410664796 686037924 91918046 317130450 769950034 936064482 394818666 723941634 715169452 304828048 359352848 256560870 847626460 316641632 971388442 939268212 186626610 920390902 769812974 439723472 831783410 409526782 226061752 881438900 428891396 629318540 865863770 165607310 987546572 332421594 348972176 660329198 312275078 736204492 788634508 27870618 309092384 648633360 126906306 999933610 785830722 95081786 563533968 52945294 44633504 913033374 447315258 988504926 1167726 473944710 56704488 53889850 850580178 429588824 106424042 141007438 637410996 939604602 935835708 966127928 147350592 486521782 584317956 871715132 554502644 595844708 806561054 629298220 204125370 879079802 552569094 121037788 701412934 189396330 147227926 787905426 905583532 535735886 386290632 418733846 499633566 357435842 108693528 162770260 766333588 51207260 119790560 757114030 265833004 283656646 389507230 221497446 569560862 600562620 725211046 644256504 10170706 542584364 690646518 636054516 290290024 169130268 583048310 723088020 177141094 555504746 786466204 669460778 221172302 995334194 815494794 217592922 612126068 198288374 59128606 497243140 316476126 734167728 777033880 425553594 866687176 398963236 309573264 451616220 731164220 229158766 829746546 261239030 573376542 770112324 767549578 125568642 277378262 617940370 394317382 601625546 81999778 771188842 196319476 952282500 134681844 413614682 751145790 18218888 412407464 106329520 203653200 374529948 152214706 826318326 877032834 370829464 924235262 764896736 279474552 395468374 498404870 449905402 487822794 256873920 791973756 783486850 823072716 225569360 325460994 685362730 205295216 962652010 748365614 947535644 257379582 301882430 302538292 727786446 375433880 72434896 442398900 807251370 27752280 94814236 763787412 508192434 757133372 536369672 108338564 33929026 423132430 429159626 334325182 274612970 698425518 90419196 269993694 88789584 65026544 353701378 718727626 168353560 47277574 137514216 143899504 358700854 576558802 437409144 545795794 613863204 631990064 211552242 914095520 532906606 269020508 609601924 988966878 450420430 978510624 349072544 245259868 914457586 839727640 207420848 966834180 836762988 795280358 473803206 960631040 796876236 37412550 792898990 449860750 458080222 392950290 825010568 670146584 499166228 1885428 964875934 102701672 767241110 448688784 799900164 433389944 121423222 135318518 310841876 944869642 780104320 390207934 326140978 1838192 170204040 685115492 704343574 682016256 592204454 85294262 420954310 549007408 975043940 447192542 742486598 424836718 487752696 524401826 942370706 906799188 309990280 792895474 638466624 776013632 422567876 59145926 228098664 804756442 579014850 369405816 295773382 130852780 909452092 320759550 819970198 978696410 162959636 560736368 403137786 318591096 357409550 613996626 303547834 110864030 167691916 767279164 796773154 141401626 235397218 925387710 654145722 366522478 75854266 951100388 535938080 602182954 39927312 124554412 704866910 193714974 625017920 243453498 559559526 972009674 714784642 725903632 234574484 951587556 207263572 998543666 556323062 528459310 670381422 389456664 176400220 745763302 982643644 324170620 695971720 608890110 564481214 511154254 833364170 103122498 453879792 769775030 532558328 235420476 686519630 553109488 54664950 65516268 707541700 500687496 71618874 297275026 755577672 219993578 340751692 317788256 707541752 64640566 820408786 688072344 54647418 718001300 462737022 420109372 19508234 315465230 210400642 261356164 618896498 362877528 342370280 832662882 131832060 166790086 274888056 779185106 179363614 27451046 270659370 586448606 836165144 257893964 759814460 902578448 497242948 881536458 768574458 854716940 363584988 451706436 75350798 845107966 731258712 482918150 560423390 352005664 653435694 664935294 933083500 719274508 850006026 542963056 162816668 725960782 887606572 589679822 97547172 29967038 988436732 144198446 700678592 351984590 285810756 988742908 966181770 26584778 308620618 782531624 660541348 445069672 35811216 291077998 638425662 200116950 698455676 592151794 404242400 885528518 595093292 261591246 786647950 437618206 363664834 511426728 979361422 551455358 462158638 58720868 352276096 872229652 164651086 643305850 496575990 443819394 10729460 687158858 470704146 80882414 792550918 41769202 135492918 506369016 634779586 539117284 541714984 520143514 153913866 184344062 100700704 190964888 786399208 988072112 914798830 667087098 826371102 884314914 177753858 331608834 149951154 425185788 956317316 439102726 993139486 84839994 649475062 642839586 508585858 875074188 124545272 379765550 761030754 781797968 443835580 683336790 901268714 970942762 675994882 668918206 425793220 982429018 834575366 310308612 236563356 775381810 665079276 968184498 371552602 255692132 226910570 530133282 741868906 103229626 857571552 840539104 958182404 628641232 906077500 161279972 896456456 357515158 687402770 850764668 807306048 333517916 543436050 82103812 163883804 856550952 930031456 342681854 585593808 710211568 714257846 991499036 102148924 83025364 901149742 896381160 472954672 756534080 3976570 253968000 916139300 97634100 459989660 93540996 793724952 847196206 82066808 700210428 562282632 778609468 197781444 332611594 364118350 440908186 478488770 811288568 266241036 693682252 115014626 225170082 957815154 476631564 875733932 51391404 683324564 232487570 299419266 972125650 243428184 267122868 68610866 960456090 510315980 233621418 71164908 368172500 213648978 53553112 459050482 850571942 964804390 855212466 301408304 936772068 471136326 649947500 961962968 135210896 754297932 629316692 299192734 394951884 573184554 560727412 551571288 701640858 409240702 790590038 740226588 164387306 426535310 8703120 545219142 510121762 392249736 831412662 101987372 228978142 830383118 182085196 562814630 49696322 971143196 489502298 617047184 527644724 162271690 241465546 568048256 865770558 242178294 126742878 122713948 359518442 290002812 30555006 773480568 775577976 889651268 883312006 577990222 601895280 985091120 942299026 583661174 433112388 890189554 710304080 303697886 607024896 644238178 72631684 314600076 809025624 433092174 550860336 560747076 426268220 765581802 137335314 281838604 717281934 457168266 545171160 950026940 688359224 148499402 484377004 215565442 242608558 371422896 726253516 843873786 497416006 691350542 941658496 658101502 372383350 455309160 231610470 204291212 433822210 508177444 408140864 274207954 578624552 518146312 736518372 226834686 383675614 758114490 774350966 496438808 279640632 802390442 273747538 149865258 396048700 781931844 522475610 313501716 606311786 678178268 34651498 252976832 707698170 386480628 7742332 839201064 253360922 929502708 984683426 966173710 93414232 739557782 119706690 157566872 181250282 893291168 833489226 951297500 34747498 109584994 992856292 821419786 967551444 700470880 52395502 317632798 7139634 404649820 839433708 884143804 67748174 84007248 446636418 709275100 953785690 320893502 11945140 487563334 133317778 190347466 172029288 921439684 572061722 885664856 782239510 856194956 571168350 654614262 524428322 982238006 492170086 209299536 956490854 202914696 4435498 64205866 952441916 487497346 522631796 462037290 921685168 518674366 671609744 364504688 14244422 227627366 843719746 793114896 186648978 916333502 181936142 603227368 518970912 740721260 743299546 969163182 420921498 395501508 608303086 489341960 254968836 944383604 550434338 703571632 775765266 354771908 400233350 617893192 478003220 975379776 55142030 405944320 530203530 480953130 901345168 931346828 196950766 50402106 329600524 147942568 412510596 858907098 397266322 262782912 807965758 553940696 930048692 865317752 670128594 103449154 589222018 421123004 662280956 941941962 121676630 67365874 741093526 488243580 84512258 466872080 974240582 825702404 468397580 272550446 404604912 795713716 445913666 311542336 707961726 73651030 226122576 410856158 49095658 394488416 415067218 284823362 483314830 816885346 952924962 295496104 382452830 649851572 659183176 171592464 247067888 963553464 290477758 656440484 214099392 387858846 311898548 627298816 259707188 382501640 749446926 159125544 535298374 988795050 722831382 636704520 231099624 804108308 750726586 806125424 164702470 768984946 279550460 824133064 694419284 515049978 764429744 491465706 842409880 712962922 939606714 346389760 572199668 375554104 37363308 246228040 720365926 432959984 996805890 450674496 902696426 806161138 281862070 141973798 718388726 375449178 116058180 39212366 335569514 87639042 625516724 75256020 667761130 533198106 158619618 372936274 319201352 76080048 822140120 517965344 129795290 327873844 122356136 134709250 99108472 375474142 545550630 741803456 272559064 741466454 507181276 621149554 37917056 596562200 803425304 154613384 141697016 815458656 670266650 556006796 611556166 237461122 801740280 591584928 350235414 175201880 761428522 142900562 507339716 477418748 104389874 956660340 682389934 882170204 441186452 506058790 328958920 90121584 738027366 418677720 818456928 261395860 801800178 737584986 993933258 953793450 490815718 949494772 768440692 126527990 322176292 379739502 308342358 348069656 761232088 838937628 40773720 420838866 880303878 190285036 140279478 983339742 601677380 656343228 204892574 817514934 972210 927374204 295358812 549030652 435098326 932946832 373463656 336017836 653735766 14863834 798063624 470429934 298786210 923488768 982227632 589547004 217520204 857254456 336488864 287363958 69671514 508659648 409268218 716898834 404790792 650837600 56409474 517647406 839191208 949943996 315299276 374868818 792929990 551131262 933360906 304589050 747035762 939387858 887350680 154800264 125640708 98513264 323771008 64613524 446268794 134390424 100549302 8796458 512656030 630852312 719530908 118362432 463300618 842178846 174791410 117090716 971365858 169896004 170991660 896542854 159773646 667690022 833232246 993797386 212362222 967317190 642158452 692562148 748898166 827637364 319890984 250672308 418008006 581688192 451293014 950490436 786220740 824132142 54631802 427749742 516122096 632313260 473168530 345371496 358406820 708379122 883674064 322392690 512047750 573831688 800211570 61041424 891166494 154589252 329540072 386761050 284418012 165805132 992073608 634454180 647443016 818243694 397715956 766642756 425448884 339743162 982470984 508130206 469234400 750667756 692390706 759555262 77818254 154176632 590018056 158195934 165872534 132584540 95689996 417824082 818926310 949058964 28867764 164826490 19382174 419684992 750519214 532231308 995415130 628406240 898939382 127957868 30410266 900466428 837055794 354481896 462547904 770567568 397867698 71729276 688591700 281462394 872806160 537695176 952111620 898549372 348525700 213456838 890571200 356369142 396788820 691245842 919456544 54707544 3753168 688449152 557570520 234535190 366297636 602458672 832470980 361228952 502310694 591287950 281195146 75434800 466887426 820736100 47972332 199726270 798077558 806082588 196767832 282548094 534222886 921676122 143243098 453992378 664010098 512510896 943844204 588090680 979876184 565471600 7278766 607982120 369235364 772848172 787572688 624641756 22483382 349090392 200008556 598417478 409831108 923907592 166118280 504485492 137804756 838987894 902203806 640160678 441388654 486140616 414682818 656936098 793183924 993848234 492076654 94474946 632230722 187226992 69872272 685398108 214718096 861990540 657301204 104535602 481735826 186443484 494787060 178468174 456933194 149156156 797082084 797560090 340789080 398532200 297060762 629331400 349917214 192357760 687873364 923358862 871514772 178141788 739760854 992735756 479675620 273450472 642109562 545430810 913193498 605736970 341896308 465030810 875535296 853974164 813399728 132403846 680910906 397790862 306502314 595748402 573152910 875507872 911477280 558153870 155758438 775131410 903062130 636363528 53929550 325552822 182903680 654395790 317068626 214508678 902941922 340409566 758005126 386544036 417777330 877397844 783657758 97144754 608538636 799850140 511380542 806063640 420702400 534553432 153039218 766318992 417824796 479232558 564362368 10696210 64184144 406474652 98735794 650960560 286402836 752230310 209055582 708264352 216183216 608156620 365454142 894638268 629926946 444274072 102779880 911220988 974791786 135979208 152556838 668963510 240169794 141270930 474205928 547326362 9192464 191855330 274865310 415457074 313595796 207293302 353389050 653505250 715927288 935591380 243399056 594220520 806834506 618183672 24832484 869360592 92656454 397301206 524645008 212038086 414807416 719281970 93101732 297391678 325552178 643183730 889569516 198769734 851294246 815820104 837494374 103050652 615746554 354761354 172034230 609793720 481484420 41635606 747402098 919904774 288941080 919305374 559834262 818970570 151240578 302770518 885325598 894285186 739536370 357454890 811309056 419021582 558612870 859825324 381993796 920437724 418914512 568413548 952518992 452405326 169906850 705685600 891271926 818050494 782261738 551361432 301777936 647862406 708369548 609495582 459094002 469534726 103425396 162411046 702968650 621063162 451867482 706847914 790469780 888973226 37293374 149376130 422471220 696964704 28124500 90488180 380710158 562358918 209668964 900735166 512229336 128525524 634794934 207288342 205751428 569748280 933627402 642411664 928259838 603497468 416130392 515516962 680126576 336380730 939199138 364781142 302941044 586111834 639075304 389852746 170389782 880762468 840784160 431515000 714045462 148630552 755871844 695947676 289814156 919265916 43262046 348936402 577267804 306524212 17134728 455897472 545056778 332214040 895802102 889602954 878577818 470567514 214705822 447231526 106771302 88967502 31129550 311708074 797309264 222859072 118834468 264570522 614401276 492847712 908821852 567293378 547616334 488083780 621352126 274091364 669415738 830579182 253557194 166691314 792409862 61358620 447516666 534056350 614902510 755539242 343770256 580865838 934434802 281633750 919869320 512381124 48504300 387063864 190051202 53369306 627319232 420998244 502778706 605055028 77832768 430667964 675450826 194644854 30128154 401400280 128329250 541982776 503012832 641509490 694663096 684232130 962414400 468646180 618829848 281673726 601693636 571758606 442608644 105191732 312077310 627891746 990122032 116566652 764838912 825912054 212719352 420050080 357188112 14556664 355686548 48443912 731338352 97387290 850447520 141739270 441954602 624895164 855675994 315008236 445525182 976323164 952474640 2191162 797797096 484542412 411868536 250407808 847542520 716196256 990490266 174424978 34308180 597689812 322918108 296111392 477725436 411936664 35492032 771885596 683951574 105716608 471694558 901549274 86723552 586542622 736755558 463467600 590368272 529476008 151652974 115409336 979143050 107375212 876771976 259729536 842118394 505915376 308754936 394955714 610918318 189321224 197939696 930847174 879464046 518020366 327360642 797331028 333175326 268785128 714560144 9333094 219344258 5500696 768884974 955667494 17480744 869895344 839633098 493261374 753080190 14542950 247348118 24252168 885004626 965123340 930950304 89536378 66462832 897037724 204967534 380623348 625540034 544384638 401113684 570388034 106613884 665206822 839228784 782511380 275472092 711617834 165105514 662994622 54140668 127869672 505941474 45701738 544534384 729011610 199557900 462959542 987935016 675723944 135283506 417137370 728114040 693582930 423354034 228132094 728836160 714160450 454378862 893124624 953033284 959813582 321106708 369213644 205009414 403084394 445621638 764166224 684498044 896269046 722819024 292402732 485250024 963170864 915871526 457271072 646238112 195061892 597861888 253862986 968660110 475131300 368984718 987392006 515440612 256828268 605058592 25653154 1407746 210453138 628592186 737706970 331285024 746506116 564599292 17183682 443873098 501185474 226668752 857175314 756205834 744336914 760069008 20765652 507978408 772708900 506336134 779190602 614396742 462837422 681191858 354588026 593231688 527606688 487747936 819182312 877977994 369655876 881546738 257776400 630380636 641573780 13725050 513147636 150089966 350240324 596087812 407690896 786247840 301495588 613229076 537631620 155415122 958635430 832895354 683898962 689645814 557735506 877116110 852552946 76895654 525888894 364577138 362266922 841375672 215900100 601483048 88502058 82029248 154141980 765478188 435976772 966746726 75561862 132997166 204034616 533868156 159150322 128648398 901133530 480465348 790972678 593452456 914637198 677120436 568888184 393957080 996585772 927485446 528282712 516275132 423681290 588377608 548570542 780479716 231665032 439813436 496864678 852431728 101428262 141281176 9238340 248577304 174529198 426629778 255287722 879316870 194843560 815238676 256281288 692653940 377714034 739341012 772761710 105627576 48415938 993389150 6153826 443693114 723260188 776100490 909847318 21138806 691792054 6057970 223020414 241127428 908288268 840658334 251290498 642636810 371827944 536241810 517183728 756767412 754808228 684345908 15844158 606051830 575142950 223141752 363160342 355607352 338606158 156231714 598633364 108648576 432647742 498997218 732193788 249822508 811604422 646097922 589728620 155322996 569446450 295127766 739785628 632486478 224314446 188936374 201785802 168323064 938356210 273623104 102561442 532799028 60472770 573481120 103221436 51171118 747480324 606266462 96518264 575840336 491808710 173692366 680279238 161284842 753315788 823672306 754632278 904403908 929523308 651495090 746208344 962506362 852910818 920038832 815733332 339643652 900085740 998707818 677134830 706340090 960018854 200171658 342223552 801922500 161423540 518794536 201291338 855645192 996130656 259361688 510441558 45336294 464999048 878929992 601146812 422662810 522334782 168790996 699152426 933451344 655620984 253275940 453208002 329719356 267881932 606132536 620901612 471650154 264629478 142339668 690390442 459735338 846164664 862524372 3744696 902568266 832369792 146032262 11347474 737441996 320720086 135631328 74935736 602402632 816922168 117180512 888599944 132662616 851868124 85259064 114117960 641361424 419688182 302136740 149257446 248222880 190195532 610029220 212017188 534955838 430467192 581412866 494787564 263492910 874383770 864813514 140620076 513086984 744285286 325517036 608158640 670430276 612472784 811234074 430709676 681992160 719575078 642442568 325280894 136537624 864312622 674113790 292915348 253584144 853390286 87649050 821346302 793415292 952416910 615257858 845565956 331277680 252978158 286009972 920607132 537313086 182311124 877722454 371655956 400939538 980610294 262012288 127007630 950585218 880336206 48770492 632792106 965416150 412424340 671588832 473510744 404897488 744774076 265531104 993099508 331034900 750412464 374452826 690712738 585238150 577925408 982987654 435156444 216509966 240155260 254792094 707445994 370747422 624367578 991632102 800757106 746216374 13981330 299469030 126297202 32717224 455803108 37847274 267419088 839312306 417645494 605376614 603067256 580079508 89984508 823726798 354931214 305266800 616674790 622642032 374943080 542345668 628935882 140813108 855943774 78078816 570942040 954236350 992374912 250240762 873447792 995459232 202215998 168985942 893363828 956104308 756733040 259274832 563305294 2338654 662887442 510208834 665271276 385126030 829365648 798990540 495926752 540195756 875148664 447960240 20884922 85025236 194364314 169193870 736868218 548503828 974363852 604008944 228632126 512029418 504019628 613305230 768722772 639889532 225482024 44167444 514723444 797038944 372273728 793268760 388940770 500508130 670549552 638902964 278707804 27308806 47789056 153710428 244154374 703464170 595287494 261083050 995553104 5759416 739750432 678595060 544470096 126376038 610382780 111662046 295854698 658377718 414915954 275381298 735385826 791132332 345795876 715301110 465984170 41746698 385443550 709177972 39181086 525425300 9667702 12196564 465227964 166648266 651063400 481570850 242602084 329863678 110309376 413616986 76352640 44585928 327915046 166828592 953298672 409558162 714337174 577960792 414365332 289879932 186592934 885138608 827502282 21129012 845315202 647115626 109183834 838110828 360426622 936614220 361838412 230622890 320285438 797878376 575458122 608272030 242038242 347802524 859011804 739342052 469846272 316045748 810341386 586858746 405018436 832974530 862128380 177983360 366134590 656059066 457333794 954903494 325732690 474326706 268651132 640412042 434679672 137225672 396857078 687639350 66396748 572777738 503354086 953705440 453296304 32131774 347057322 57233832 833205802 931809298 907611386 183872624 278836392 515109132 198835008 119818176 637963072 776722098 39224244 213965690 119128552 159989648 331309444 842992430 115181238 125708144 904569396 242445098 550100704 792996812 370808860 287704396 728145002 179307598 398602396 176661180 312776864 482015468 328401088 76272936 75243710 382929764 824715224 173410954 339997114 823368612 458160404 498844754 83045836 68503240 71287996 300577642 34176010 447625476 870058608 513274514 573823306 386814326 180340370 911892644 69027844 210479976 366811020 794452138 39823188 730540302 900549844 347849676 841102606 512267558 411430332 203649568 695376752 476244440 179498236 156995912 579050368 106463018 863363814 419928216 448576186 696501166 49309584 51305066 172712484 652795436 105568922 26787320 104503134 867893832 755343308 464007246 103071808 357175042 918982508 818430178 20975938 491648192 467492046 274130898 319892574 557378692 608520972 895434394 311395602 227108700 965762776 28304836 476657240 59488280 978587124 411950880 90211784 862521440 50568312 667487998 466410222 564078938 258665880 503662754 725775844 85391494 910164904 521576122 564470748 562157564 574078416 110938824 407586492 179530322 237927380 78947764 258346052 953539072 758649446 325285900 52252472 669949614 29622608 399053906 346829174 744399086 518339848 300510040 883169090 315220154 74338362 893059202 475306542 670499862 259871206 454980162 498278642 823147918 769047478 438344350 607921434 896477662 967092844 581410276 505744114 860608704 594804234 432149854 275475250 61713728 911760818 846689680 674354754 325692740 143865644 84895466 696199878 565915718 856033860 53095212 428097348 257661418 554559056 135598140 110939786 46873754 976768188 535289996 583165576 6547686 678225292 998659118 894770586 679048632 477430518 786326812 431395796 245720114 819588730 347864578 740681934 487903094 707958930 367200506 651783564 202108540 716474256 233806204 22386340 82896192 352784280 19266960 96605768 241905002 598399244 68467628 297698470 995988990 855755732 462036838 6465384 519652568 790475880 77933680 911856418 69678132 78772134 78506934 87003326 440806174 208954130 101034710 956171060 366429678 501009228 733830996 106165520 785376912 689577472 599352192 669094048 504192906 574096610 166241690 221667576 153371966 198162646 617866894 73259562 181714046 4401512 989632668 559398824 380114622 706415600 346750250 630295422 903442174 385653522 347971506 666348188 645317946 408696528 351680964 881201396 871462286 75515538 388130014 17203048 95219234 447498320 393012598 654563184 712657096 769961682 134742606 579693812 870777478 601759212 623941778 423254224 203287804 618469772 848537736 773274860 602177718 694853872 185365902 546165492 569282046 935148200 587847928 30513504 896353404 692729598 594494574 564353154 991948088 919039068 795345686 43245686 66870412 492062478 653639962 134756264 804769798 328291574 876003322 203635036 362474832 956427652 870102076 464796128 938965156 458869958 35297918 210215546 378143244 58024266 339853216 472709686 596618228 571433154 806458922 171008534 133353064 663291348 248242852 514592788 73805958 829974708 718013556 102299348 202698172 21576294 286205754 906922932 55672790 413131986 483975264 145891456 898787920 122035258 699773480 187045902 166175624 706313774 435661488 600357528 702528890 141400402 23027988 282932334 244193678 14547140 818964202 991357372 549735954 150542574 615810306 859570126 846806500 821285000 206479056 742903352 565861508 768440764 951210462 506496560 302776090 630730442 237938004 446854162 249322394 997326320 387889480 242237918 460246520 776250462 491918806 573311446 202442484 562832160 653679912 487076554 466084040 409355754 872373532 579613688 152844622 559587790 465249614 940326722 539136140 318040330 122339678 786791114 601058666 326181596 184425218 601358540 310113752 880380950 862335940 44921404 719887558 240630670 286510410 550149892 823208152 247696568 604469484 608941600 562213716 382572964 260359166 49393082 684868794 256412876 377630932 651962778 159939398 713194126 660753416 667026082 84417094 870543142 863914250 901388194 970068170 21920196 691908606 621205998 505137208 614885478 165875874 639927242 560345856 550243800 524800752 264540220 205214676 847299902 623751512 942141954 706953804 751127946 264381422 340826140 919946798 377543736 642418192 114989964 62310058 233669288 702024900 775675382 619855640 562406458 948658622 189738872 135748020 914334408 206789066 235490048 20283594 480860270 244484098 721375640 753774726 595673730 534044454 318644042 302477964 325477672 644309926 99091764 53870614 864554990 504218156 923019196 181311160 98654336 381689478 568256156 428970802 372745944 745657142 495631888 184323572 684091674 707965844 596553408 805075208 363854600 7925248 872899082 366607648 572644716 997414326 41461562 121457198 304573760 789886550 270714896 922665006 352618546 310304112 12569894 689275692 223999302 963716052 331872154 654744348 759380826 353695660 509192526 488627772 123677116 407462942 214025348 699234544 616849344 282011928 324818014 341922278 668521238 592360536 142417468 49814736 565763090 876365066 998584818 197811682 763320202 512175106 432902782 530883824 888960138 550602940 393811164 73739140 981401994 658298472 56886246 641753338 696371864 362164310 717458272 591199464 197642760 132852068 621220652 324450966 15195524 685034996 564045622 162134586 85926760 814587146 986517760 555084978 787089476 239282202 446263888 414284678 330628540 387545000 874913226 18593620 117742076 932254324 424379318 703918682 793427942 514478928 704117506 904976092 412857400 170482452 556030536 798430830 72683710 830032388 893096082 675909148 938612602 240915552 365497448 810414166 953895190 730223278 481615710 882110204 119894098 467861374 970953228 368876028 553601090 403260784 984702534 512549944 494931456 257391526 685194892 512761714 395005830 284637696 225375684 511337510 263844014 72059386 949955442 711704740 266143782 146285854 90547894 538899926 55777468 60885714 839472670 884264140 201391516 283531438 357553512 510260248 596052004 735874616 139597640 350112214 460941628 168381646 645453470 279809738 524842446 206456348 502045718 754977926 45555304 12011258 625244014 144692848 717691062 940604304 669874134 913455968 104861340 870660228 293806308 662793928 513303068 222432114 405738360 759780696 297978658 247290850 504113244 194485182 474406016 133225348 32075468 71422612 841106194 800295920 70241008 337149424 715176500 546791854 683463566 32616936 444701586 348981682 212029944 457922204 793545932 949105282 661865672 121958030 412135462 65816828 650848236 74997338 27988216 661529180 433647624 498033620 837389528 849248298 196601050 901906452 543221766 787460828 376774566 550392572 397328884 642575486 292878156 616935228 343995384 457807498 831377624 30756864 248487426 219499160 706203718 262584292 522447260 302632788 813117210 255434846 389895864 683354550 671924654 559713070 47406748 983157034 847849308 560117756 605201814 577989618 194659858 406098108 692290002 301113356 126809856 900019250 229487626 899562286 844464298 98585062 215234340 478706572 673384404 383454516 401705710 542978140 894861876 128770978 836505960 952859996 479200006 80002996 939378028 636100132 89457522 888806510 719167656 134079120 746654352 338325160 710664248 307317798 664994706 24150868 620988366 932770178 887446878 572161768 112119616 588877568 31598726 621253006 204125506 403928094 191167296 376670920 378046940 530428802 145772582 300790546 527935710 826115702 116322618 484905650 573962244 36713812 380398638 730289910 262042616 998633852 500900892 263698078 439645150 540765022 778112742 438784818 658143742 718450600 176355264 297997150 259174938 594720362 400296674 442920464 172922456 351186004 558171014 526561800 532089692 518237610 452246660 268447084 436320998 450626680 981339564 932437778 492088664 943004208 376272546 473581408 251190184 321366280 471193774 736525954 497853138 823046524 672728918 556309188 296777448 56188678 11243650 17600356 777442542 396733158 483241788 945874142 851632354 141733106 890718840 468824950 782276556 319084406 736644606 592767898 170898816 822467442 898005464 253129906 136910536 614097882 467477334 725559328 673319232 55059664 378646222 25454040 291998880 469394666 265138284 422836326 509800880 193701364 200782266 568452240 363413036 693577156 360481358 138333680 984249880 344554500 310770672 271937512 967363250 899699498 693626598 988315406 89382334 833275576 527260448 778199194 427326674 659266982 288084198 958316678 591309446 454589774 980438950 577376674 435975052 608627774 577818770 75688864 764810908 398447164 699676994 57848042 464857070 995703068 476663566 814353296 737772558 601261970 762837132 515019140 14216600 670713270 935542082 552427336 226593008 873242238 552196254 927798848 339386486 625262082 218225242 384611738 552560554 508046524 626983682 368291672 757463640 945247298 800751460 944435746 717087838 294000216 272706346 123776074 561070106 808191864 399165828 778801026 622697156 343895996 252148198 721381030 653688884 570020002 8996404 709339770 91050346 572113682 759825866 245179990 156980290 20056236 847343452 50544964 911438290 39234812 16384362 208734954 642394498 361772152 754024298 37608128 434929118 242741234 781320742 68483468 412312704 241089448 977506602 989696470 810027700 584671142 258054530 917023204 522618952 962219936 97411920 976670304 343749992 549287918 811525552 373254648 788191142 481465834 263948210 456967648 53295750 170049212 262633158 11544896 74315720 748726694 813057466 82870110 270151848 588130294 688052058 393325366 842128002 764618136 386455504 853758766 172083610 401217192 219956152 906066134 373445916 134413186 517644818 951221480 662644330 279899834 342368400 369010028 689009784 991504424 137375014 456819688 596607586 630835268 114922712 601463656 831746052 922939172 750603382 913261706 699842278 311368290 810057866 892744260 221436848 43154896 436739176 515266558 963704800 101532912 51670894 844717940 588056402 785305660 558641116 825609926 403856690 566175496 931093390 737535004 752057200 433317154 777074090 291062288 967499304 310626044 764976832 134195584 711873146 861042484 221237578 815813960 231715346 484208046 472439108 382364362 533785552 490915766 405519132 118842888 420231382 586237524 333421510 295156420 411827962 113302298 611762422 843108706 973006532 346637700 348639062 875663452 6656002 222152578 843891154 711753240 709671920 997226654 689060422 127558144 313381918 314913750 55104462 722452750 522512592 497986506 547350072 621748282 951448354 908500974 145476590 670685888 690656704 857792986 359259174 613074416 741446830 503046082 206875040 768408160 31999988 377998586 221065796 103636052 946193526 844733240 402803400 202307506 876697330 916710290 341237850 834672034 240494948 144048226 301673692 769152238 837855328 882726894 744920954 627967376 444741508 402776472 579397642 908852174 595818446 602211108 122700176 571838614 762464112 47422426 921126122 322800414 783077088 616735938 394255762 387485978 583473014 545013084 221770168 863823704 986663196 471138056 649062848 285852638 710390294 987878438 582459478 647050062 705791562 808047452 336987678 383632164 776837680 82392566 173455186 940843978 965064438 706922394 658048504 179758136 485165566 813292264 638676344 330058812 6473630 894433176 818384826 703915488 437996100 988631634 223793806 670201734 934418130 808724094 4923920 150767638 395138760 153225700 268777868 780110546 124701188 860583222 287803086 146004018 373945340 368072998 756675500 569826222 245243648 158447272 113894438 130926732 443195274 922761938 860894874 42321948 901639944 790417104 761328420 310935844 161590770 786366084 601442454 139743002 786005192 669345894 908840370 673121946 340897870 514450688 82226090 292114210 95947218 525236946 227620766 608865322 175694910 372753440 118719844 526606924 806702882 678482714 114094966 936361524 992676646 83969498 332383086 610270556 155571862 625155970 26390686 272955270 878879660 575203478 457426700 596820662 324616032 732575880 788585062 541461896 278888064 21508700 857915818 390671396 812123128 826505966 704301940 180962046 879942566 989737016 963351944 905738688 328634218 604009592 513214322 471040450 653462352 648508800 361910076 532001200 33883512 118170954 387259946 224574286 893904092 883967348 561748628 273203088 636580018 288365086 890240524 82631492 538034066 951192098 101178170 698408878 363020710 765958782 987770606 88900374 878924320 393728492 497573032 903759762 892439416 837249428 281642136 61266650 149483986 317626408 128284354 311718956 751997140 837367930 450458082 402518264 155675982 896331846 488111778 142094822 339844258 41008440 594155002 718052550 92981828 450042588 22673506 59883366 904219556 533838722 734050510 330707866 497507208 480081660 805895252 235637676 426050882 604876058 443267886 356587326 973645560 837542538 60846828 360356866 226135330 440330944 614433724 30036474 58903148 645517704 482464648 780617306 765866016 209551674 182508922 523472018 996105768 211128984 259495740 79118520 858304282 198488472 180127836 204265416 997234194 196704848 31776000 419170572 378584114 388314550 249768742 784959212 228646130 872682676 846671540 816573960 628838676 913115638 576731840 216927672 826451222 823174658 358473942 440598628 43664486 902033376 519468038 496726308 700080174 297795794 721766342 496795226 202255772 727343998 215688868 758795680 965869442 639039792 580668682 838245026 557160162 650189788 421142892 929418046 814570942 145920974 609437648 67978434 545564756 215055524 286534322 486857386 906556176 711118180 118308014 342871434 889211682 246561008 610305526 332214866 754939638 758789598 666924474 955620092 870289390 417587750 161364686 777134762 582308508 158323580 51603054 584408910 781900248 14479410 183902510 514205116 839990832 653986390 629554404 155507660 343783970 508908812 484592646 47862478 605140232 288298904 532146022 316245482 2770442 337923676 542420406 76978098 942134672 22284378 642516242 164883434 251784574 577061984 33714006 461875474 306888494 774625580 867865238 603219240 935380508 769318824 531264920 881819914 456367560 656412036 233279496 520388886 476684646 20390944 789769370 361348796 669446226 274517728 305121644 289238668 737973544 362115548 408656730 130908452 326871926 842171168 670369242 900482582 265053720 509999556 590615036 375958638 999192116 980156566 820264478 465830238 32150660 630536160 755084918 994616602 390048888 836155712 648938912 976702054 115228138 272780084 247617380 59409922 540957256 667118494 845348020 709593922 323751148 150447118 397522122 422778168 242969686 744775056 193840496 715640158 353199036 15703320 322277810 506118672 847200600 928662086 855930582 677646520 890886410 303430794 995215640 212621578 991400172 959479908 696518224 890157694 445301312 902675294 701903154 408712258 241889894 45568362 110709456 487756018 581372184 542911348 582506032 938733528 466093798 957580948 744135120 155653626 150180752 159550678 652659488 260354452 450240718 26099286 53397856 568128952 916832410 172135592 582925094 766262818 656915014 402863414 73605682 887700488 216681622 591743174 646044886 690570820 555451148 770747788 681839190 370520170 330699652 76295878 979535212 12394960 682851266 903912814 407504080 74018086 818264572 830646508 489158264 511717062 500377622 911585912 670173874 529463038 444885318 883147244 112300794 141685932 791068906 589237746 244510544 540453858 162595298 775269502 423413104 881654530 61531784 407748710 424583222 893155410 445218654 367206996 404182814 818494244 859365316 274577694 906086912 287910350 541357230 45882754 906756740 361125830 922241454 655575646 576435010 81775332 927643482 683596628 237506028 507615210 72406434 738542320 281283770 389287630 79643508 810654666 94238716 959889286 42992762 499629196 847959866 785816260 755635020 497322970 437116516 759169872 833358642 504981050 700912374 214463736 789791240 909010158 511294006 31955956 778063748 168436358 784739352 374761082 835661568 340671838 776947552 710262124 575606292 694368432 967562596 248366338 10611760 716634422 260705272 271293126 47547792 174539504 82587676 710939856 6614146 813619992 465635506 720855486 149673434 918849542 439032226 372864120 552795164 359620294 538133064 779960714 159743964 997206626 730334202 178727920 876169338 911705724 811296790 528963744 246012858 130448110 477285890 636323620 830656716 504080646 657792524 818315410 934332562 90699380 642157772 638988516 637389942 258255938 192600974 210721198 853975642 580554738 664020370 875612550 186660368 483309152 596923140 870949104 879159648 828859246 504875942 651276706 92853334 683256774 74733250 289600984 466623628 460972068 485091332 290348858 347025556 342851376 649299388 940542132 813089630 297566046 831584998 581388200 747150262 133939282 930505002 889626506 486392424 973984872 846488632 3283986 114156236 137669512 811947490 806672136 202115568 858844510 436918506 144017360 29790052 268172018 217365012 13030502 475741224 757324918 187205330 397834512 698820960 875027684 777007102 916321280 132418006 990201752 488822414 830176208 356279992 376933294 972212240 263639210 252518726 155049542 346533872 774692020 615817372 170447208 740202322 909998986 135141076 582013404 984042636 460895078 947351464 408573024 992757182 933817710 179626932 987472450 824270296 259662866 285497838 759066032 248055618 777469084 564172442 688499824 232801068 28926276 516174690 817674336 125965480 407598060 358645340 191708718 793251660 326308486 149962532 894239430 305394186 403697130 536741560 538463220 668040182 158061598 870014364 513653314 568314642 664138612 337591824 410653062 737091584 795823872 337850946 449980102 760171238 123527660 777842898 868562554 161470150 484475014 94621436 572577784 373787010 325468388 34149330 875742934 864949486 293912368 536483316 284993156 510209944 554873992 807708612 421934858 704084130 1728472 843946250 140460848 423640784 594295006 789174356 312598360 832585192 741756940 454010116 291747382 98927430 789365106 649835216 120175450 270959412 336720170 491017000 773695232 294505832 757578734 515630214 2570928 879198768 317093034 717597626 864404124 418276448 793343512 815949618 519195584 874845408 237369218 232574738 575469780 730905062 536666504 222613490 457104166 950716942 441044526 578128568 696815858 416812182 743107118 480679054 135558876 83050596 526078558 55457632 892629596 322834140 244399482 73759050 859376262 128125626 65619366 270707670 543135502 182394588 792364868 211589572 662412894 670111478 242911744 243998510 420475504 658808474 950815196 24723956 481170512 19257948 140627066 707600774 273367632 3805430 448784256 956548506 342704558 496740960 406112774 918029580 485662232 328417996 113919430 799981512 162750420 336555936 212981892 776651914 637217782 105401070 218624032 470602412 45839582 873827394 602601340 9152576 862974178 871752838 736637756 463893424 417141392 822142614 31256624 928630346 947946030 548882534 954873306 818215808 262512246 726906964 798851000 344153486 166576172 499705448 898610262 626814374 489939856 569676838 136370514 29704222 706808782 872117460 240601762 293002842 221961932 344246710 573771288 192893182 665570542 752226268 82167790 678146614 173028738 456499024 959329830 296764510 544465008 811718546 851337816 601022354 532533760 932224240 326577414 61802186 911048748 133535538 359754114 915021512 418110110 448151124 368172850 916858298 449603898 895777676 236874786 220942362 78396184 611713058 779215602 826496984 648989728 805871152 620925034 719953624 635940194 980695192 26607038 21662090 121562508 366919776 299195934 488160282 220335316 316136596 809326528 404212806 814748586 896308742 110758426 699647906 177142466 322925898 473456496 783850310 469611302 876368454 962309244 396910256 33563778 220170510 825253708 637909622 929245136 296299720 529571728 129769992 183072234 349325682 576015752 441729276 262440146 65189720 842548742 723668116 735263190 846783334 577015758 935191586 265821252 378921146 816894100 821261964 986331148 663663570 913897454 667045188 177114820 936518514 752195176 832831730 432299772 325215908 397615968 443510386 549850356 915215224 691814412 345042112 333392140 56799204 504294064 908706650 903278046 933000160 685908164 512164604 918162484 636710628 103688560 898872754 16856386 873112844 428202806 818803690 88670240 378562716 743028464 157386524 204263300 686683616 782541260 944625334 127747734 118699234 344359350 39720254 762761378 950282550 495879334 499484822 456064222 399300588 638201616 832289746 993553492 671292014 603004486 409508608 694371470 745888856 495057546 680624052 578922964 847500006 574574258 30157906 105114750 134314280 781943634 172161282 875310252 253245248 883801756 233731182 898719952 913691952 920953058 31313142 384524046 369773438 362027408 42625154 685091058 225584922 167474798 788359628 684464928 226077110 259982564 503369268 242342452 912515842 561388178 866398070 174734694 855830230 629524852 938842132 88525376 731291992 37898348 160540292 385454442 76548536 90924890 433354792 27133678 801648254 61710010 477357846 715113134 396043822 790467568 569749018 145595546 731994556 133016086 445385660 87539826 677546578 757918296 650497880 576651326 634192634 877412602 506204670 626424616 352511276 469472036 807634872 845166504 881536224 198071944 601372454 509922266 13173644 961246460 545275084 270448904 230528810 13186038 813630574 806217912 197677564 524674638 349437628 567697246 401769026 44177110 378714530 151866444 407159862 103120976 665944622 174646090 607463064 848660732 921514342 159510414 546080800 324880644 248907048 341836792 63994580 473702956 597038826 4357950 871014424 106974368 602504028 85918792 710508200 686607428 209387210 542970506 675596070 528733942 989114888 34838206 648768004 656948 404673718 859248288 19516170 155256496 724729740 908454294 444792454 753810200 29798114 887156232 357653318 405536356 660817160 546733040 164900864 269262342 186918950 307353306 132153568 96464202 151017058 214713870 74040634 45604058 897476518 328265522 315413398 129491324 264858752 176853372 916992592 728497154 708730646 945412408 233379018 358514992 551330992 307434480 749910078 852697814 141190374 607585360 554642338 475627568 32297580 187672640 407188382 70363068 754823096 272001216 494493844 927730226 955533150 860304146 626489788 15808438 6974692 684438222 363953424 142513920 796179116 823611182 949099912 860097476 427356216 75506016 680558040 3604190 663237428 922000802 966694816 630290536 855399514 707054036 661245050 127926972 938515192 718041052 201407252 119485954 541985674 537262112 998146030 642061326 101848964 483121646 334115774 697178294 402237092 878610620 187865598 443963402 864504706 103982692 313553670 169737934 400975588 506331248 152213294 237075460 580094682 678665754 502479898 100036086 663031606 499236466 304796766 762386212 341399036 949930646 16164164 990603048 598563774 62084350 549496290 777874116 505185808 998600358 571192194 729529322 548295872 236709976 316725132 539969170 162717634 731097144 206193792 348843908 707869460 344931818 222326524 648198586 523776368 739114170 978357354 789062576 86073180 406357062 555978830 389184596 177400254 219615248 891053046 808385868 789785978 836851280 424896392 56991590 617928326 591496630 546835862 871148790 367475606 288764704 858528312 885969670 438229708 123062906 931518690 66681616 655967600 770093280 680427294 515036612 991142534 824576824 705668590 699354588 610378184 866758266 626264918 887576114 409967694 643386642 324658742 792159640 87531530 884446590 298897790 20146216 321555660 868060798 646517118 498329226 714383344 727643082 382581332 193126336 327700988 243300618 107183736 879040166 492160684 681337212 161616866 246308408 408242762 283348820 995282368 119636188 76004778 75298300 422855216 210356998 226900330 186833880 487306678 582902004 175060300 544072102 412633110 198080614 687071774 858873386 416061086 666126170 572604854 525774022 262916826 925169444 658525472 933896408 384710198 297573606 600444240 337039504 958690606 939239696 635183768 397599288 818413250 492445698 640371412 180088670 864632462 392858710 957311916 771479670 744869450 449210636 561087440 873731920 683046288 124352994 351758674 238907574 795367540 393165612 176508852 655043018 212184808 106884780 789810296 803897316 224260500 615392950 219877060 597817794 899921930 827978244 317473646 459536362 251994458 511000518 252267580 538653816 33583356 763968110 801454506 622218120 566563688 862061986 577014872 315540478 476678592 637760828 963642630 80511366 802231172 717943082 637666468 939969726 989266304 891528218 679206602 512608282 325593516 814102900 217189824 189441392 91199906 503458250 691654384 297672514 463793778 356750850 904179592 515343776 473190716 178764026 561261276 45465744 954655318 860990298 464524722 703611212 258235674 559837566 229178074 490088078 410781692 145936428 753369286 631081734 755659766 621260370 842398490 256468746 780142134 384935222 278511832 926560886 661906226 752223068 21830074 491178366 833488972 809620488 932984734 215450036 129316562 21093024 273974792 449623820 143812074 190205794 818274718 361181810 623144924 271246830 393154792 729463520 447936372 131440224 766465794 507946132 398969020 427324242 558122726 264981936 50222796 483545502 359776120 530695642 496312308 88065802 602732542 402408672 7768462 46920006 816343350 622698800 304325756 245596238 782478458 335861718 673435014 654033144 890311838 319041210 310319616 779686650 369471844 701272410 621040268 379666352 924025392 318542364 648352980 678793456 702574084 112180906 932597258 67110638 757550480 926042154 297514304 292181058 100054306 485941356 14854128 556154434 32658486 956064530 159328538 761775384 954400740 233395250 696603486 787594746 901444676 533550532 857413934 456495062 878870204 52761660 905380214 269604896 360164508 566913656 211591782 935935742 923755948 567837596 184496322 287968338 803014746 616727056 246167496 131227374 59774842 943801186 670693866 832969340 745489600 785511408 841620784 46296358 357559170 404704276 420791658 666672848 332238664 166137576 225273530 163527862 845343828 257664036 78669624 125455594 775022350 421578778 923299548 650909136 675412714 733518316 638475644 490431814 601670974 410244736 775251622 426346102 397693648 924614382 8864534 355609940 661147522 989482002 221581358 44327142 334636318 706638356 421272120 429192710 513130802 176526108 8268132 353961284 654184034 507369148 950445064 672251812 80838242 893591014 851321414 99373656 998878872 516490478 664040178 872160380 663575348 582078064 237451848 819186092 720240730 251494986 939296424 339746734 434949716 79083126 245849886 457543958 492201982 100295202 75279820 339126680 296915128 224928040 666240588 975526212 743729716 775233220 311075122 772143000 613982404 584738556 425288454 436467288 923302472 912884226 45751214 13445246 149892946 967521022 940789354 77671366 809551004 99155700 947958812 179879588 188734644 199348822 630449774 59993224 509752004 156846548 101153180 183477672 341810656 885876434 578816036 641295654 712160134 185706316 91172168 823139096 68109038 359342834 777669530 568860206 291268548 898217190 82747662 681498346 923935562 567033916 735006266 224128918 181023566 294164984 612666190 877771936 515698226 578509838 411399090 288372602 499501396 896485918 597902556 636364222 332201076 879487012 75729908 283064928 99812406 229936168 803756626 210411196 879503714 765483526 484012640 652049192 167669144 949398840 48141142 318057760 260473532 438538964 101981844 812481250 303342894 998610510 206568562 566944892 936840710 353846068 668502680 435487282 47984036 351134096 698423704 267690374 485346252 726025654 612032786 328691748 222003776 907063928 890090604 463515308 873160712 572795994 461168290 420439496 400273544 696412508 856720074 722780838 611791748 888251452 314488122 65020754 936582476 27920138 268743296 359823416 620237412 270810004 47387902 696464706 211648692 396834246 163559876 655282752 702137116 369671430 65565596 555003490 510614616 755500132 477806228 819671420 421808950 238054558 521109014 522333930 484531990 64923464 585412258 71810706 347670614 341223526 750249678 430396088 520770766 286765308 973030582 170901364 945276036 631868852 101806504 741607120 297593442 296799550 105884016 952825954 170002436 80844136 721554684 76621478 596764712 40088740 792536158 192471452 175663282 333085506 685770762 420291500 733738360 513436870 134436342 476085790 913943566 757912862 827055712 847564138 304040412 167878092 525308688 274134036 35505598 234470728 824316936 841508422 913947300 937321112 386327766 892115202 55636042 202956986 526312684 784344182 211661750 351565906 119756918 357855994 999900844 633048062 363570090 708552610 264729580 735171388 675685640 344174828 614158400 320398580 310267192 69121574 46574372 867642842 356918850 483476952 535506030 539342410 172914102 117703200 103790464 585541842 842130340 945384996 708578744 896626734 722835692 329512886 936020366 967040632 194667594 420749550 976288904 90507658 182101398 609884914 251138318 820460460 370759190 127008226 726454416 248274786 918859604 206050660 767264904 894213710 43984292 48265036 341170200 772854830 994213162 531688692 263628978 717663660 1525588 658725050 998665788 695816616 631277288 819072230 677469278 664179784 181597048 371473776 117017636 375462672 30653206 385015860 288488682 42299874 854202586 926379160 495762078 405964368 310726608 24569632 149572676 374459724 969874050 169060126 411430558 895793762 530421466 383333894 12261776 156117658 493924774 676220110 462729190 776184188 961758272 723127726 709723972 316343566 447466820 460375372 348764084 974501312 682367066 84104416 627791078 619424196 495605350 825150908 38047872 34938570 600860888 280340160 371275776 277100530 244792730 969880780 834433818 350445540 243649192 155473274 716753844 737559932 27562904 439656936 262648914 462678080 149918258 971425138 930495724 877993186 554574306 890334218 2881402 390747768 34186940 833183962 751176230 992915796 258050124 682179766 161291306 286858086 916934584 605523092 65406396 197607696 508527100 875860954 878110360 976676080 193652212 761877902 999200128 625452312 194276958 578955174 147727336 954403470 459187080 338864204 786634428 604617974 595415116 298597786 507615202 67608510 132530874 640419626 11096772 311122846 624317360 495285446 864123046 773558712 647697550 432649778 4987670 754657058 292864340 758796384 845810576 594617322 530979458 345980888 587580104 173397334 359874266 732186094 419293038 57956352 375309916 706377326 933456420 378223632 49371366 839696800 975071982 891577322 202702056 386558128 197314692 920994578 858847308 931120804 306002028 104651096 268340370 986790374 197971262 370571374 440754432 117370192 940452438 876971906 278228560 290005766 969043884 654336960 181251084 238862322 51192694 813415844 250591054 554233746 830817982 764954024 290850650 994255050 891070796 609137032 643891388 863745970 761578892 666577480 642681026 554141320 169758698 9877114 814630134 49797738 821828224 685336542 416036742 292684052 87394786 374528072 577527116 844563222 675261888 915443200 852040720 350364124 483172202 697301330 540301582 996596780 514421560 976382332 619290938 107838728 767908546 901935246 523439532 774625872 621361416 590888862 843776980 338910932 215154124 547640292 855379614 37659708 81737802 150622432 380427878 705947302 458504284 408122178 743664876 322107380 999413866 688604864 788860826 967003490 734815968 88353396 787003756 143504986 452754534 278224716 797968646 579162500 202596656 935593044 784471768 174667740 992033484 587598874 132294216 83399388 47029982 554337562 348073272 12503066 355716610 169828584 266499474 181214648 841188992 22074846 42536112 167267018 752671452 482066960 911818540 61082706 999400982 540475746 310798430 330768516 517922508 537107410 81638854 416502754 931045202 980457052 413768622 65658340 916631224 378968560 860793368 940945930 237050470 683760984 473147590 639634058 72465296 762089836 657232944 603881176 745847312 318981948 191288162 106527508 246824320 899564020 541296094 357078854 970468380 575491526 994122342 400370294 772603286 712370416 128457766 20296932 35499688 237056548 591937216 822562366 731740658 275322324 146464804 570597410 881313956 36569462 432737520 512828560 56024770 912860370 80546874 132025630 844886346 24837156 281775990 418089112 960806894 60826642 44747036 785371506 223045232 335481510 557471518 413090464 138021290 508531108 36269506 506995892 480869304 450302906 791297096 815587264 693458676 801894126 795103968 188437832 11264610 247652724 330825110 835308122 960794402 374014194 27040610 525836096 251393508 183832098 541576036 112218022 869686994 979688312 558071254 399176020 546768722 673627434 517515156 161468414 957257966 108024622 133632888 763539808 528514128 241207366 301259946 422520248 693715982 899034450 701397580 261992774 79225276 45618240 360299544 983872876 659962602 45098306 171858944 420020768 916474478 990626076 252982100 580500928 525716574 969122042 807821768 747275152 693398994 714542846 697473852 507218874 145954308 253390696 483637110 881094958 976580342 263052824 617479064 245186386 355276986 889137092 248761252 660432100 737694120 793994934 246559184 977245300 676066348 589105312 884081120 326842208 144673624 812121596 84295958 999839626 209815848 223603650 466288710 461883034 766822882 179771276 410971008 477575942 720180284 918946574 551938878 691673752 834652702 83459768 897244296 718272844 366572514 275427316 244774674 890362788 186688680 263352398 485169296 430610672 356789488 11159694 626090030 360273872 429952486 842229536 747957974 128811744 345881274 633943026 339997144 598613716 130778150 158655404 69190250 6221950 122547922 234856436 921116418 167014504 967602534 805409098 326879708 950578612 969201206 507267610 698321572 818402362 189791280 881240930 373034010 672868966 888904264 254632564 736931724 271797454 72077298 943504748 886331348 757533618 926240192 334790408 345394794 29006002 24594728 405260082 691118260 446249492 601464578 538200560 85884186 490350458 969767266 146741154 46177418 130123772 444056292 682166666 851220138 247052312 112394810 834890100 996200034 232136392 480622222 582394852 836143272 542944420 709738632 497250364 453768262 714559376 904207016 155270544 714913732 784950642 52206988 946936170 861794054 225906316 685862174 542710880 886610528 794786216 583060916 416458302 75060790 503588048 445438958 346526102 718614192 705162366 209624694 608808478 945064508 779680684 855585922 576444830 589548392 835617388 299042036 635560932 690256002 272969472 781843188 339805572 919966456 455673834 971211598 925309870 354530210 268966070 568909138 93847074 182126702 967919596 617021910 662114818 266593408 877615336 315962488 907895776 87840548 765032596 631821594 925176846 438273608 431094774 531999052 731793578 670256846 858894160 4001414 255826028 121408926 560782526 46287720 233404020 905582746 93523860 856998376 890976418 632644494 231761226 848376766 842698804 756471364 901250568 913083840 374242922 191961888 730159228 302447838 413968748 681517858 633350620 530229474 930356082 439349206 670574232 735330088 74602296 340132196 854206120 832855116 175922780 589578108 433988842 150018658 576948354 250154504 102016042 819729390 563493350 616693290 261540476 453833552 146074020 173933504 20248660 883133060 265357632 676866850 950630258 13162056 563417750 147767412 764286750 705104556 462255724 457800032 706876544 282846954 265006282 248485866 813234130 548217174 379228848 212162916 406912044 313474672 361612676 753258444 238398594 405218604 937558408 927431906 923819422 518918498 931010916 460059416 303836440 701610898 388906860 804723524 740703116 565823024 851181196 207832040 757477994 29461430 76630478 745234384 292486000 952254366 131578298 840228286 19966504 27328898 467901960 147083508 941860600 954968338 788257594 154666444 304264454 921503430 678805720 760254510 450289416 499145190 263702976 17763116 772776574 2188680 507940142 154965706 501570042 14168776 609968786 534318536 734374416 910760196 281685724 784695102 726387140 131573664 127338374 433305338 674201626 615038576 951667238 494212848 425357774 479931752 111107390 239440126 689505552 385884638 826470920 402708900 521156062 471804400 505858520 839294404 965088982 716684120 216423414 749366790 212704262 561759106 620398496 969385314 788622814 589568962 7202476 261034780 587461728 113607442 588152684 911831274 337410692 503710938 595984162 427140260 629015768 485092296 338373554 103101484 727615914 112363198 770475362 821276756 966887776 271332026 361581970 69163456 558438802 923030414 286155954 434771994 700603618 948958464 396116790 78103410 399948008 932414256 255760890 556803324 334333352 653228098 320066388 632302512 240276216 397983008 342448888 509127474 641991356 962242308 926731852 763572060 13908406 639022342 142607040 738153914 287595070 925306580 656431090 196451032 299393296 916753490 173763310 362474416 791816494 658091002 695062460 397313240 976543852 938887906 475669980 294993914 163264064 433065132 601025132 660796878 954292286 648423532 689724286 63714934 184753876 690930636 705589432 351586908 686061180 273784026 221234070 966082630 350320432 835685436 97222506 817260142 31416538 451442606 661513330 340278150 974186952 548183514 653292780 879685140 470575554 736118476 78190204 479650778 22523040 574925370 347401972 698845232 206147670 791789180 440625660 267034290 175249796 497017908 284486130 939453974 665526278 703732942 791816504 414563130 553137828 39391746 901888836 846684098 155087408 985638174 79327316 149569004 1626428 814454392 410319672 457956276 668622702 897362338 71328458 7946028 371994000 960468086 699100862 70776702 400125946 485156900 396920908 689637342 766606252 360386314 264437320 185891734 903219044 665956584 801473824 471138110 658537488 718620000 964890948 851534930 329118916 785113522 132017876 72788192 693547696 24475384 17198346 840083044 32919098 686329138 842697806 574038662 925083370 900742644 451136792 962876498 658226140 723392670 525128212 818531774 921942184 114229378 807640564 872940974 368394816 381458696 184639722 691640176 810419234 915262698 55257902 75889630 899907080 498832032 419387098 241172154 813607092 121434880 579135386 16598408 998348412 834384454 861203322 97477432 95041512 79561294 630092690 713590028 682643454 109176534 118261168 17722058 85780822 813627020 417001274 149383620 522753748 271867640 105199510 394108662 950859264 21558062 644012560 574291480 824099846 90006256 544300732 179790132 579968780 212539628 468530216 178170012 61444064 326263672 288679168 914719518 982536976 448774332 855714766 660179200 262834844 500194582 913664204 618427988 774330736 930668646 218179666 844010944 750052008 709313936 786603560 112288258 854667378 913228648 223107234 52968446 863491148 245561816 312634344 640106034 592009214 168765242 483053108 150878768 343022016 747551404 661916580 47322030 856834764 713615258 989448188 294925608 888145742 697875960 239287792 52942208 606366042 948765724 785568660 893370274 527347750 785830288 387713662 797044322 335615416 201286348 588782982 9587106 886986094 640453754 211826462 96469822 406378296 468043512 104554940 680068020 604517964 566228688 265458224 209132806 266360240 43648054 873334716 822617150 31232092 625545922 958207260 3822254 279727068 226611596 928507544 288742162 773616210 60864426 45548742 675468266 211009692 601919762 960978188 55105176 580672990 607995714 819269108 291603624 885093704 764343814 205399440 128581364 369885638 218703182 835377972 245704556 806953112 796955074 136665814 15986296 60868012 639860522 415370948 351326250 249014732 923657326 690576452 885377306 437613708 723180626 834805194 662831172 823299594 607011170 582651964 454360322 26436946 139123090 890453404 715529238 146226472 893165756 320748916 140008094 499105506 534274584 988954826 726961620 147247384 823383658 33169494 896186350 635252270 814072236 783537824 239514948 122897152 59410672 144456606 340827166 4610162 531617760 944019588 188926116 570738868 358774540 970515736 342810108 845943024 460130934 942770654 256166820 881326182 918576810 172662572 929220336 417289616 187455888 446308548 660584616 254952968 133948390 550522290 362492218 31433960 710170186 597595570 887592514 614264496 703965124 562447448 737759048 143226598 384691492 424550652 655890090 784273990 633558684 433360600 580990960 215796460 727568224 346022646 546939354 198900058 68720162 514752970 160344740 556867280 196611508 275745708 832729236 619668746 17655880 892256330 596128248 365302344 679709666 681786230 432365036 893177328 774339634 434970442 337958846 641890922 460879386 27245328 220771984 845775362 47648562 919276118 128791580 379910798 601517106 927974538 494381700 636885310 778393684 298910612 846892054 257620586 98120112 968289174 508034912 36335730 807102286 990784082 402893248 298314870 765181416 703682126 107966308 56971266 62702332 853718482 5619056 935363660 610718602 301928692 461798868 382941288 657484224 358567112 228981238 684325964 869918430 481483178 209127054 630919862 744869552 875240162 541505010 61763930 104932152 431076178 386759432 79998072 103088558 331479978 779293676 483224534 29458764 772342194 204440156 40376852 184004292 293410912 275211670 953331858 431294104 212520406 412891962 271405320 994239490 122658874 761825348 848639706 654049922 466829162 143108442 31565338 808751814 165337672 781664218 274482878 454049292 261414874 914380048 637308268 496443606 393042456 540150438 34059102 944040442 40834098 732288302 835186272 66960318 834731570 680090954 798228884 522241482 151340644 148936844 632207146 839451442 564447050 639152094 436830754 543300278 253208024 641148914 605340844 864783806 509040960 159124298 995470522 931372998 606181476 236363400 657352648 697954318 147278136 851968998 579346954 968351752 821662470 3750350 446825468 79187228 490150100 221785150 394301256 551588596 227251182 872991064 322867434 994545896 381007630 231046744 142066246 599026330 586407470 161837002 34090118 838900990 151576976 410340004 572259816 109299550 352786800 497026084 369870366 659513600 117973618 77366386 981950348 25849254 193749688 503702050 541650118 279341878 73674188 14563358 788126144 263998338 505698850 113240792 470007702 178872622 300468998 624407346 636921154 803197260 720998068 797863844 905566732 90683766 186507448 327784932 892625202 18674756 995126012 813962422 349365086 791912254 349718556 78515886 732371846 932027854 194714730 700860744 102752844 805218702 366459482 991476014 172886554 451925028 790595972 933198040 543807178 150322666 210067112 338808756 406439950 147435762 21427488 400703406 146712404 166766744 192076330 164247782 690808812 331603378 508581070 535224670 700560914 989207840 205912204 802802694 267168744 712408112 592210766 883826586 983157902 286099116 61318506 2761530 401521104 607067398 546305760 426744350 548448104 355603514 744728352 38898050 87323524 869029954 76647284 478251926 69027810 518671714 332272890 204070466 103465284 522371344 529840618 652391292 54623240 438815854 765215742 153867500 814005290 381635162 550014810 402011224 167032922 825242308 441414558 223799732 381478194 619064486 473172340 463477006 54892222 120841220 511319938 897656664 285520920 303225774 422102834 389492924 117814984 594203560 102479626 327655760 47966702 225665720 62773736 66393768 822505512 170016316 792875430 71001484 486423558 857953248 482455322 278035464 754700782 640066132 910246578 154645348 469605516 420395988 613834028 587265496 768628394 255987262 429472730 806139158 470493840 752947826 301174312 391336758 974427706 498403656 347445326 663701470 24013520 379933044 866694196 570861632 403802358 124910242 360818504 538378732 304306212 582093288 661528336 632985812 807233356 845110828 975295882 751917006 969965296 573683740 330172174 623408900 654456420 637922182 214602968 160176704 415506064 707382824 406824452 469088536 92881620 593300382 783289434 50689476 27088500 191003844 322445614 482146364 190242352 941581058 7492100 179629212 510196984 374867810 678823554 743734586 952067102 454323050 111225804 847042658 355407208 644131562 174969598 75119606 620400970 62622496 883134364 221409906 48113608 744463520 228515478 743296858 157384380 698740914 905590686 921680764 139529306 452955484 493690318 565202930 575014072 332097854 976468926 839441888 186250678 922057620 907628292 626313854 414018642 365640616 870705990 745093540 241245860 958049380 362014856 427821844 272016418 40896622 946350148 283388578 804686206 343845406 976090786 567368882 737163574 99842436 877682526 822684056 535989778 180573396 129089376 696960674 425297788 135459388 768787704 952400190 976160364 981004644 881763538 536064004 296634 255486056 111809146 713598342 900775294 712333842 771761604 486661870 372657220 120174654 494225298 315492392 2941274 385877868 152429402 621132860 792543084 730260042 20029778 832599830 559334568 283399754 730144098 439019042 45723220 63982360 337784484 120126476 515685558 93330056 645709522 711219076 149081218 655942650 227053112 267507024 280626852 368795332 978604396 112623694 439665340 826766484 69169026 629051878 957622616 164107942 62803592 319645460 833937670 26249938 53803842 99152824 372914592 156514318 198096264 604239274 811112596 365837862 698312646 857419812 505671276 771869284 848460002 85687606 728114086 844789322 48594106 688674096 934995612 387378 560906928 321196514 772823424 145769016 548235994 602265132 615993640 57568086 365781538 670005500 11311332 877376446 480374944 664442802 91247280 615448410 461035134 299062998 151690222 203054648 126032902 868635534 175339290 24874354 764578492 230071066 271793702 852107934 724082982 242931608 236337430 433585700 644039734 845173846 660134682 432655154 71654418 528552752 63923626 780028704 832438968 649492166 806226934 256931680 419280604 786150818 364401188 94464228 719378854 928744458 854662242 29073798 711847664 348900612 184084530 347609748 741238382 108219050 361053396 793730584 277589950 704031072 294125428 822449090 460262456 472163706 632013582 914932820 115647024 58586708 387118428 852758874 469632540 95141820 831550940 598177848 483551194 618077786 298137916 370930500 472306322 686685486 391600776 277944212 591860154 155380632 639843926 443987846 32857328 529280210 290179838 971948192 549206230 577269074 132783976 795457108 876291606 921257860 991947134 566782978 772051016 796113360 901142302 834121024 92789646 674185512 262637744 99885522 944069824 858326096 900107882 912801912 811200858 921770864 189354564 211500164 111401248 831846750 174209418 211612178 76914730 391130986 56283580 805445026 130593182 272337328 305492360 996807898 122311522 248432864 359855294 890971004 645728478 823656306 32306444 596992512 210339050 604497112 218322424 162133410 738898840 241322414 368377258 620558640 3253610 390954516 999113470 564198492 855461498 385347234 59085992 417544556 653467530 502905506 353092882 642931550 976098584 305196482 969100132 458993406 198646436 681538920 338847108 745522476 552898292 136034064 834766540 356739286 2107440 129781444 584606612 347578110 221021692 222950276 324991446 244670572 559169692 930963742 599136344 74915998 586980478 821806890 619791338 408793882 51083268 348374134 233448902 813390688 338035028 414046622 756702140 354635506 909724264 43264810 703301348 81860206 644284068 380789152 788321298 556135956 299945302 143243220 489752524 520676902 20563270 692028530 301935114 276736948 94930042 378212128 117947210 919154356 904164398 580524058 511925268 884862474 390755168 267898602 914583730 395936344 853658458 989032534 679237248 941431968 887164486 425915370 844073058 856663996 452443962 861982550 694906274 290028886 263848554 18054966 829881814 607920412 785979188 368368194 35763168 538173230 941469892 136901222 307339894 365337182 551889844 872336948 206548120 228838592 756978166 925817504 374818690 224191364 447683496 240905870 686871128 728516626 118991288 147431458 344887776 912925918 357093164 296092716 956442582 203632224 522795790 42510154 568659064 679591894 976291312 356133468 278442188 91008584 387930878 693326700 321507912 854413048 304758920 298448500 668468990 82509660 166384226 253558688 200522764 125184970 17843170 793035738 688812792 17892552 494765218 59876396 26129258 709576146 767944648 442695614 837621784 886521878 999486080 461029460 896599560 139723132 455170884 225934508 83334834 271495166 550110832 315887026 202681378 774370350 81069882 157923606 567453640 655702988 878416830 193089210 946062102 224495640 703695280 216361928 73016980 487410242 299939320 115048366 782098982 606051010 145109244 786191038 708897564 562487188 941875744 611226896 92112256 889433728 351064898 599441490 933515384 180099688 982100882 669772770 779058628 921330570 176964148 329473214 989275782 759426656 750185944 223409734 232706422 704514402 396771582 908481230 680132404 280455020 241040962 190822724 940767990 995431614 535122202 238561402 357232870 974586348 572505578 547714112 902357138 167889106 120902080 752937206 701362726 44182024 961353288 598555284 439612834 767802486 463486946 967265154 317855670 505617776 3076186 878266964 507903380 293915598 272343374 712274638 610279884 461747650 91322026 998355002 324679924 747129300 393910176 441701764 389302972 772723156 347869100 631496238 757474026 963399838 471286756 642665636 215516440 984051242 477620832 39056978 977238002 838007514 129672882 534002288 453155970 485295554 943892832 485280332 91493318 688517480 422560336 853967194 319990222 666297240 731410674 246409864 498724496 811157146 782737190 529736094 583922982 227479788 921609922 598698614 668711844 745079180 62737132 155782666 435196026 189222398 921537430 375310732 598210426 791806044 563642480 321322782 318111988 849799810 505732500 703312272 939442286 393354852 138362118 438765520 678836368 142771770 211579550 467568022 484720530 397856188 761448370 194014574 86806548 817220600 149264134 553475410 107348672 983242884 544951482 810823238 21615656 638604246 67004934 511547592 732571618 486736594 626648828 105575936 899023018 839451958 170750150 35857392 567067150 108682642 483059694 854352636 432662348 249062964 533626196 276656508 267960738 801622546 345573196 551126364 693008564 393670698 102097804 607013118 137475860 80593782 703874918 870463254 505750776 439061374 601656296 684183818 629065708 142938194 362951494 878760776 351063752 128336692 949670302 363954094 551903322 337393712 493250888 715635812 264674070 223780268 985017828 190402976 182725454 452914626 370702086 38768224 940716760 894103328 152845450 374605856 812189992 553124946 753642934 987201102 434217552 652808444 690530422 102991398 55637956 3770738 894466870 11146494 815032072 116214200 506175092 93282690 218087116 764469822 166925778 549035248 907576398 135655458 287062806 868302062 763095914 398295660 184536454 121451930 367213228 127522168 7111428 279350124 328712746 131942984 382723516 886396320 576625892 579092754 449655776 166597868 991151336 658854782 113078216 477460386 514213880 46980388 921689214 75390618 814342082 88042998 837698822 197937482 121573942 71654612 319462934 129702830 659429072 832491088 544028370 873086714 170848794 940688460 914191982 886914778 507672860 260135298 98552356 259711192 246869446 561930632 410852060 715343234 560539902 956639858 759613876 638018062 233144268 169256066 778087590 485007960 803765900 852686210 763589412 998045516 297569566 452673780 97262304 547860922 429613418 422407664 134114010 971856376 677542894 309256120 176432902 494217572 402065748 370003932 677187730 406469024 503926022 291447848 122491404 211922774 594618380 691641384 482448370 743653772 355498806 447146486 775374192 870501718 962914590 162256970 602178634 983305182 740118018 802938990 449531300 370246818 348337258 379069204 175683610 901311476 781208352 402831760 469935966 374281738 884325918 46675598 95515628 374855802 108950498 194998000 169377614 643152082 635804286 523561574 856923146 631082670 325290838 795003240 599663442 950195272 522389312 388104396 653069816 802483930 928449900 510624330 66300230 55718434 818948266 380216886 658749196 506605920 272062406 608218968 79362148 560251680 483118064 471828764 380229482 596725846 257036314 795382488 328001006 860821256 181963430 261013576 926675756 390136482 395009124 946301210 150451492 836139256 897535566 517715704 799990262 591839936 229148504 538278436 890167584 162066284 818524674 251837458 466176448 136615606 875632658 397045220 313323312 351114852 628234934 988722514 932536816 574963738 25369838 58194572 687384772 733313954 314829692 991180720 179286276 809271754 760423716 885833572 366917238 117506746 533036928 959702484 178787108 455154338 280163440 266532590 834164352 339119788 70892070 305287572 626510254 910421380 881833038 186700824 951817692 247011500 814363786 730251506 12941880 371183836 78510668 320316102 745366274 54644384 450695126 962121836 782653632 750957934 532367162 922303728 920044612 810393642 135686998 960338022 286022296 110662808 771378322 171764150 142693172 413725534 140602722 630508402 62498216 817747304 870099602 598373382 512421490 114875946 251590994 615792008 623123820 490525296 439333448 284075760 250701046 810148708 488195610 523914702 595499080 902138426 980840840 160106724 429331142 254792022 271223060 22323944 866424084 656069564 942696730 422044584 936076026 325974012 728942032 374176458 809059176 757612132 741979254 723593480 642938732 446533786 853757930 152573474 598217832 926523126 457267416 336153338 233547208 50081060 230515558 184277966 897481874 577247962 167299542 104976230 435746554 505125010 610816 874311154 3918146 366773028 467628496 791551678 527719070 657006332 846809974 293783486 601595356 454439700 413502508 722349734 468588950 741163382 524768498 463193694 740641294 501836902 421120790 960449934 659053678 480186356 618357550 942216114 801121548 911502114 837665920 170622988 374826754 799590870 483430660 295273228 978409944 967724400 126786224 631725954 782238482 815094988 865061434 430382746 269371438 323393800 47299250 914223912 272316708 638309448 473920370 65238568 443335996 88532380 852201730 24229180 668382922 705775278 989841718 389509690 900333608 403049370 109400686 468709654 314977590 534079866 555188886 539961028 448823182 203237912 200410128 76946518 654174898 41990742 871715534 794575872 519165836 752779628 944498558 487900430 699061056 794083890 918830516 861304780 830146890 707873508 342880252 145119118 984539094 30741464 552902066 430579878 959000206 902545688 704597658 949198212 862677992 339016846 56149504 310382250 423954520 40958564 439951570 522532058 337674894 70136240 998360442 714377750 517165588 166811754 807513590 237605632 475651486 86258158 483856484 995427732 424932622 39773746 60247506 99659144 30401148 348450650 817918504 331287080 204226054 12388332 18544192 786812032 723279228 689081014 338660646 968623748 463075890 557636466 454045268 27849820 607772302 185892500 295218544 332687582 319431800 327673406 625388782 127605094 944146696 880871630 346434320 16420828 450061702 467802452 374139358 927342650 496856310 282932438 587969032 506686350 869896910 659672410 804561998 668489422 884366460 140259882 510802420 951159542 701574842 838141766 432332782 645116472 946223950 968332520 910445112 861052454 10966062 7876904 98890066 686468350 430638694 384430120 972902544 91677126 951456710 130608570 751203230 282284388 616856648 520503932 974843770 756247780 764489948 458473742 262225418 227807960 887388300 726936764 491383582 347964200 983666022 60766032 551092570 192986060 123727682 821506676 513447700 982453198 579004370 489756042 927270888 874425068 346774364 197589988 54301746 6109348 439265044 703383828 16630628 811233636 614750816 571565208 461375890 380681280 730958276 525836054 231140790 334802728 6559720 91154262 795561750 770660560 703703626 751516960 929624340 791701288 843613936 335934022 116811080 644946334 596149852 180946948 689296132 150654412 168152026 382374874 724926640 215740152 594191142 767344472 833699922 923953508 526500884 420281036 38351354 342400298 580832354 2171250 730910486 76550928 408513218 143244934 379301752 67728014 774493596 911100162 200278404 55393434 60520596 108527354 148524762 821823660 883128348 389944940 316429948 101798462 774685746 276725096 835528358 765646072 579097902 556337448 906535362 112260614 677589242 121977038 310614158 494324972 98170832 101901448 996794872 529134252 645071878 489181800 201352260 4134418 247056474 405308734 241196456 789538956 902826930 263711960 719414292 52722308 314326850 114901994 724005662 531003382 560908860 156107640 884790768 144020738 909738222 600292632 375975890 700746510 292697102 114834772 232557278 924673750 262831650 438520110 153677256 872224416 259916904 665673700 677296614 24506638 208954804 958004114 608152102 402715066 429968996 780195268 837703080 57262102 176180202 374261180 494951958 487851674 798090074 377134890 720162042 717390710 180880448 829202778 119113340 237896124 905720552 144263270 411661008 53859564 401529044 632405608 668343854 972529748 860554756 339684308 745696136 283854340 741458676 122793716 429596984 807771308 407767430 558245862 441788852 322023922 944134382 683777942 363856620 532813882 608442116 751514936 721278936 477472194 698197162 52176430 791975440 431137080 306851766 991212118 28311770 560569474 417657254 679656700 453171974 162488034 102287022 14660372 982644286 417293128 760993564 65473434 62144842 221898704 127394264 879880096 983190480 372012520 504938322 920209584 677049150 784744742 38068146 797460762 404603118 252743318 241341638 800552588 931630906 97223614 483556138 826266228 340961484 226712896 922689668 926197144 888686754 304347240 64546410 951892306 459465620 987386348 702335350 544351854 340897430 907589984 156271032 980891758 869660592 274544844 734080134 802795204 420730844 165677054 66027422 541269830 251565660 588717812 95161480 863833206 183200314 908770110 525973100 289050780 226550096 104437938 535987360 261200612 510631332 81942358 485304602 512545336 52025142 41235946 827003128 464861292 647358678 711843434 255908734 751975374 468938300 342530046 546856280 390654126 150096312 713371016 872620860 213655692 310838674 824006360 769000726 740296342 794462698 585571722 995522544 274143186 486137882 224984736 948307372 305921548 102508382 606207000 626375744 59362240 77461598 976536216 744148896 532906626 655009970 258868896 692071440 878938676 558414424 824779644 570493034 919545616 611856806 740924122 510470070 174317220 684305250 415512694 727148598 300106208 476575388 196215492 874079976 14936698 955604744 220125482 609924846 754226232 711719606 477024804 121604650 548548512 491518458 296097782 227888894 333614068 443676546 627480454 667794204 550378544 243700256 495215198 638044116 176277668 859783606 772018176 668636222 250896486 33135836 865294838 768644942 878552596 45786740 983109910 915019052 262053864 50125272 320187452 890336570 386013088 950551654 892907718 590222324 170609832 764119956 213036046 205138256 177925190 135218356 407707562 372681386 871863956 159948770 994764494 339616464 430151948 436496824 577539536 370180274 891379448 673350622 576722294 470069288 213131450 740089658 455651678 522401930 321341844 817988450 225347048 839045790 440506796 264263584 443064816 901652184 983917594 416782654 280211558 568483702 73555224 422420512 755490042 988295292 635263376 254912454 529869704 635069590 458374676 122717730 784434708 439704860 253199844 985116742 803089074 747580216 780398868 481538072 130071270 375992332 352597624 960935004 571181722 259497844 599009502 802349534 592288930 398458028 755073442 518795204 1971104 705990540 889645138 559963932 58881672 562043942 46213894 841064412 782566386 992811274 146338300 393028090 177383786 835207398 759152630 977933512 317349058 630867702 42149978 855497742 578241420 920038340 482319968 824274186 115344180 401974128 737591206 820627126 926865210 408910296 717558408 424156994 590765610 397165372 327990696 656566990 769101616 865463544 252511910 799462122 604532984 697544098 381709338 224679950 566427370 860996100 986970822 627266918 172213242 689097598 211996164 506379716 95443942 738431438 310879024 430597080 760285844 28881168 745441676 457814888 790751824 518480262 337340794 671270660 835568618 877912098 174972446 374108566 47080182 774950856 490294246 379920558 777969712 881854604 915575346 22393888 200618398 12669556 306235008 896252508 508073924 219388028 986365978 301219016 78247518 243016382 364764918 131906760 308113860 767563976 80127744 525934242 610390600 676215604 771344338 739538586 250995698 754058520 330248308 178089320 484625816 789965074 967708598 869726952 179270932 59697352 929557396 674928858 808965660 602462814 434735396 565485284 766941688 247218546 389984496 475554078 775364552 502589958 816973588 935179184 941342214 543980148 954330208 602851042 219695518 126737944 681018356 96161572 301002688 85970178 975009602 784806762 53829736 819366916 642709652 534096720 83386394 646951572 368673858 10841534 132303418 854080990 974414230 914641998 94762852 13577490 680190812 820851202 286132698 668251618 239436356 40421028 344039790 310721576 125755986 267599972 485044306 343301816 77025544 972393152 629001190 896470204 374936098 253699120 885112494 252604138 933412916 530554304 667574204 365676172 175195634 876807930 499383930 50089126 921859536 186563944 974068412 558169198 47405218 459905014 458477828 475426878 970219930 931575736 608116788 90280978 641046534 39538052 213648926 455041582 744498514 888294522 428662952 634849472 234873894 219794144 389945218 348819710 452116508 601629056 81107260 242622612 632250470 191963954 341183174 527872624 201882832 367168456 773397652 958801292 846422056 758198454 472871538 601327094 335578846 293977646 516778138 788257626 660547030 968948824 658235426 825334554 864084060 696719942 860457188 103498386 100371640 226989686 236329272 797004842 325247440 429970576 424888458 800857610 937758800 287292 576383634 936911546 642863880 680200810 989539524 189146366 468099550 572530066 950832444 748260920 523416100 993279650 843311418 484967860 627750124 727489938 6118520 794428074 428553106 382042166 251232332 887060000 857370606 92409480 493269286 226002852 920830782 927531822 382516602 439766276 256190440 202150508 941352144 11097490 403121884 115197762 248702032 658310220 923254540 151633460 415894028 915326154 566492850 475635408 511550606 138766382 13069036 135051926 802885364 404908774 922818492 516567950 719197710 746006794 473237570 899603100 814697218 904944966 813156182 766095016 936942372 54304082 994413420 152863230 796428600 369490244 66571978 290624444 85996580 307436298 374855656 134950584 538200814 402819072 391299616 202560708 449741594 936630308 722124064 502737714 189522176 188103996 286705218 852913068 562021096 416272738 16404680 757497232 132199584 22744834 841410292 491044172 121845976 406353412 667028868 153288506 789702520 155217694 742704996 885058718 12404228 463144076 140630016 525329946 716371914 831978322 856051592 502861436 902299996 646972544 894301292 628760326 385071538 244830852 623543354 517458568 449993198 542708456 507286768 346579242 893727140 64236856 539194300 236218898 475333868 704389134 9914494 313438212 134434622 676021108 644388128 428249318 816303812 144671812 486121680 27880476 880778760 885851068 795101180 479211768 726505128 292429334 651119692 402287664 147402560 433216438 735309028 681627894 642902552 960857454 314639612 72443896 545783784 662041420 353367732 475583782 593883308 413475680 814890346 459707410 22979390 73824146 218513784 508656632 906502672 783314016 158259450 437193788 606369720 401699574 383908676 6604336 346884070 243902314 68106422 448832288 777911966 508420434 456008976 739873228 830014202 998796290 309336096 142354104 114310786 104026252 902343338 244926774 375500758 878706948 872039678 711394018 728796076 331569192 805380250 22538508 155737128 882750036 469678960 625106192 679199050 743482342 830268980 347664768 600159880 910909952 214427598 47382408 865182090 405140548 766015580 321033202 250749330 362221372 995671276 149094796 969763518 692016236 138051332 959325460 576031120 644141942 563437990 876900664 991796118 745353268 869723742 164670826 252349768 512743996 913870488 254896320 242014588 196535624 798255808 519486860 465992094 469338542 844511212 780250310 44015844 282649886 746055178 354340854 374452558 23859034 19834388 11438782 355304034 220679614 452940192 301046718 280147616 109007742 250396306 964457470 188244974 692421626 228281864 468988922 10734896 848577694 115500136 185665126 724983792 15757096 591093806 224327280 159685002 266811864 49364302 599403448 489240700 570553606 498297896 229981450 898081942 525170348 409004360 40144786 785586738 428245142 273758116 717444918 630977634 491355352 847532378 223044140 56190134 43746186 478258752 998835238 12769456 158489908 79266578 820242476 690516514 811640792 68258168 743213892 498731046 846435230 597104002 855709166 806066702 992074484 449343856 834431328 704718636 664140190 459218120 155071706 759278852 238639494 304648688 549798290 318656492 30422952 587316298 635548840 231654014 776579606 860691452 789019556 821479284 233224854 673277290 926185160 90966428 308707140 953430358 864275772 476153232 683328426 944283900 652341516 635868808 425481708 727246718 406062902 685846316 588537666 5135212 609002108 921097292 170524048 893100854 344785290 700360816 149818798 615893488 915915962 70257216 814663012 414944552 454778596 153431126 535776836 294523306 108767078 850494534 253581670 999357796 385943982 903112994 21947934 986219736 431197522 307702162 499747146 71998366 81515988 410107216 681138276 351680430 981112924 50393602 430232178 384439046 987779614 284403674 907644526 170060390 938559622 931463440 142852780 462680272 587967976 291925928 249448472 575898990 68523830 848216158 408079872 506347906 637580888 243117898 40249134 443524114 76449988 362504422 357101004 925476712 779877974 608178852 440352064 285037132 753692784 743140648 518239148 237919124 419933312 650740878 925023252 181734056 762035068 995744106 941269814 227204106 205810428 741535012 206045734 58229424 701128514 248116466 606486016 599106170 429697322 110201252 92615270 42155436 559937286 106321838 89060664 620088822 562633324 310568978 810368198 802668840 261838394 264422680 59140152 732310364 495407320 351684122 33655940 566906200 946473800 338284926 552820210 111084492 743574968 746989886 311238498 636424888 309068024 65579454 204571702 286618602 333645186 813376156 212006296 932715698 665319884 540118302 838482980 85134504 118518866 720805892 463201940 347956118 57539568 416843844 289318474 897663548 204715220 222814838 17927682 139211074 428054886 197896284 157222908 587958948 316903292 585615264 952805776 696359246 947184922 712029730 922148418 607666774 574955046 846168576 591730568 182275592 576590566 790011776 781753396 570598446 99627544 140601112 45749194 331773792 83019164 362349140 264225862 687837894 935466558 663093610 641860362 291381018 128287670 392894390 209663222 988508356 887805548 669600874 318789738 170616884 390781618 333630016 261416996 771706364 14357798 749129418 324342490 37648836 376493444 774124106 184969938 373171656 408830612 853780212 726886676 408808214 464541360 495091598 515179368 673426388 935137284 362392044 244112774 584516882 896373912 826760428 314347574 433943472 457001936 70995358 143143634 761139010 932907992 618882172 204507972 464593548 863617724 884349384 620454960 485108124 566559400 398162612 892392972 778082 581749684 82114606 282221148 519084308 424886290 910067388 883527310 558551256 920227028 215311112 896840244 394102606 690861258 910574326 384998590 527877902 979480516 647823832 686483132 525347750 690452236 915775100 943607216 781019180 498009422 499592086 771280576 775108684 826974320 724342638 685488082 240770614 4194124 205145062 518783858 6165396 684656824 427277094 181904780 375862006 560781350 195819188 228526234 225305112 923424168 406660546 399608086 721631828 896919416 25599424 729494294 873054914 245405006 364267180 301847902 622242526 149815116 20664742 990141756 93398664 786468554 728328596 609070472 149047150 541893152 149924638 894344830 483269686 238658326 75830726 789556854 935440054 982342484 496807900 600405836 878938716 688479644 502023940 333100706 175233660 801296658 723127618 215698276 674629868 942303676 686458794 176360366 278017512 34671722 209652580 138263166 259059286 635079004 768921426 336900468 955941248 558406180 667721768 870028574 701616096 509445360 330741282 554530804 807164500 689112148 385072326 703559864 284036928 855020204 476584982 677432074 604867898 425340010 4788740 968794828 955049442 496733446 542718340 941600206 536666776 3387790 211623448 173780326 553732658 617974102 272336936 313500052 581569890 505268492 985212418 316996060 861463154 297018080 553255442 994403850 403325682 291639796 564510406 360129998 490500250 853401130 921627814 444237218 497062626 863308362 383644624 328874384 956197486 531614326 100305148 576434064 451335796 812718792 88070580 743531110 285661012 439771542 184329384 253749264 798401502 365436896 600549044 531073798 469714280 770063586 115668728 961726576 405913374 412421526 833670034 508726446 756293860 698698672 34921078 832034888 910269066 206161796 210177908 926641136 186194578 433462300 111337052 212479882 610278326 246806956 306445650 511752632 358049224 234225522 417721038 738542492 509854922 94235294 96858078 159385648 392185376 834364272 929518080 59476934 557966698 431152252 620171114 757883042 219943402 692313312 36599054 18337642 761127820 117622730 272177898 916112340 575798856 371404402 130321458 848762606 744993082 815585800 267048946 602672608 887889658 361045968 271762678 940122378 129687636 560727614 942767552 706043324 805311398 102287400 61458494 911908182 726665220 320339794 863990172 68606042 445760294 197567914 453541964 881641762 593285362 322239846 747676948 694055782 98012506 789242780 506354990 149908478 145521388 911077010 799115026 832427054 116499258 860407848 359713348 737685918 128283378 249528666 696312132 184807712 189440412 206407810 816533156 202700596 510350980 907828956 558435030 647909810 796156568 843383704 969168270 368002046 278184326 762737284 710151106 198485964 253551912 516477122 853186468 702773064 941608488 291068726 260073618 198103908 841922538 199130228 381386682 293518262 462680526 412715392 390936686 631331978 894320542 659113100 160804908 877918546 689933190 427433858 190600940 227852840 5445338 234081554 650935402 601335302 755304844 608028370 252679126 547105498 168410376 565321534 420812832 654424186 656190030 807783130 650145036 949449322 833635362 54254896 840192312 995282216 629120346 727863390 603306442 16688180 965900776 734409140 833201528 56984644 48542554 772815416 929159454 182717006 806197548 16963078 249783868 616286182 980714888 929930676 335317662 778629768 254738834 29094678 310916244 183496194 142284872 527357668 463841034 161001332 107414480 17545056 898772242 758181534 288414524 905891856 166285934 101784924 415824856 709015464 82017338 29286412 586187158 324178158 444210838 970348906 648054646 109967764 811222174 987896564 790301260 487536200 542969242 368238666 135091960 359286840 153412852 886224912 285681658 846826202 694675798 924691832 179829900 457966058 368502738 614064580 480798746 290126580 425264938 741301516 743279256 364774536 695178474 669901052 576155608 312032130 268389528 894059346 894362104 981886374 352073270 635040120 725330282 717796564 757346900 861694718 845281242 437266678 749519152 74485336 731293308 403061916 859983384 915427632 654306680 2540524 229238014 623180084 104194096 687788438 286446156 808090432 776857802 183878830 267705582 363539434 786225518 301715148 710817844 730386502 62441902 386278708 923305230 287786352 261969842 203929096 296332380 202279052 589492406 781363490 333776720 578444552 65893778 606376470 948749174 835640404 344294288 971199802 61640604 31463612 649010430 990808202 916583558 618007150 806002106 910253616 444611376 161499512 105343406 168841126 880808770 679511202 112817336 302190348 655162712 172033438 53468080 674648592 759257366 386661308 780833146 344019500 568210426 410890500 678473462 737978690 463991178 551144504 313168106 274257114 902817716 24175896 345244502 601708290 635246612 709300430 374903922 545257002 359585966 284804404 747269314 961124632 92881108 791399074 250844970 738055220 403379628 510219280 344003312 159287218 232058580 616425052 893229740 581267236 117639364 190488622 359593970 292963984 826525174 524946398 1857452 684953660 494323730 416244356 280867534 598483878 270290102 258795578 64947664 262248514 333828130 546209020 136028024 224921100 322279438 935873660 182592414 654848472 197823384 589496076 785327408 142465774 463722290 129348252 251536836 745131196 586955502 814757176 350259310 856223422 796742308 799172962 472462064 859921414 543403282 74738148 130211370 655734042 596278628 804405152 883006048 242077778 284061506 373287944 697123586 132104568 296703104 211194688 984945058 195524332 162678070 571582114 916412588 640311488 694137084 151401618 350962958 755672122 848674558 78663054 956740588 451985778 806295470 777878842 112980250 54557706 975452426 773608960 879854550 716387440 323665392 540416546 794028592 771980980 195628360 671176558 888002730 389989896 633768100 725615382 576210106 208844122 831671700 295883140 719229510 491224186 832903080 116342676 679943370 601179118 675261824 509902404 209039666 79646002 269992464 805461958 661469710 380236786 407894008 19678856 192811366 173698748 699522012 621290724 591481386 616218528 830686746 659237102 638177534 986720274 314226294 591436716 616892416 803695546 986679424 246877636 133251100 151257718 898871102 244599706 725695440 330525684 176567450 636404598 640113118 774137562 875802008 212430106 197851446 243619944 972915580 525890828 281524078 115345062 93204542 402164188 175893676 886556114 646810636 922315590 976176036 469574432 426925814 919196982 574691798 159996432 155184666 802744542 201435992 954217034 422595460 355165124 854555008 589456714 670995022 196821228 983922340 558378944 311270964 40922622 876806920 430550476 975672668 175485478 677658716 316906534 868959830 604458886 832998320 51383176 213339478 238761294 458924404 863670762 21426548 800985524 19874324 477609476 933704370 926100130 365276716 852254008 609808646 606784746 220752568 159104800 756645806 620662332 720002676 382750280 354003254 496083706 353493102 617442546 982079878 602458088 942791958 507714600 519845776 758005198 301740050 426797672 125519662 35196430 605452336 237350264 63498854 532463792 861492260 316113126 642783640 353652188 871648416 476437446 995822088 967676620 243236850 406509294 342698694 848377866 214341968 584384430 773487666 676042754 534003534 562966622 227160146 482710674 637733992 487322246 84404004 294573090 644715228 86851408 197210534 826222056 920668502 960961270 101317238 949364876 313686074 819780792 988407612 1955112 574701626 778475750 10419672 312000088 637440652 562267336 290831194 958600076 422067114 447247348 811984326 453010910 172306008 586675266 514320052 710996282 781267420 687345286 606971522 48968612 811429480 69653022 750234224 224265356 309408124 252584548 806435016 498220522 642936850 809591662 280449502 158844858 414789744 407251036 805575086 946454152 973100498 188616808 119624046 635039136 216838418 308243334 577413942 736316432 436375758 525449798 259501986 288558246 637236196 825175600 61198008 396339412 399436984 664915620 841938678 848324428 361073662 289711860 427345690 121114876 829415466 422733976 506512568 538686108 619686666 716832838 469253496 428588136 278393182 400207778 396128178 212437492 584597594 62509788 33182828 616460500 884529422 293706110 502437844 942902970 24084446 483386290 393739448 643970744 379903416 279979186 188256440 494026956 491805868 147472594 758086902 383291064 220133740 851430006 210297566 688533460 321703100 647178920 373078690 720285642 578097596 595144704 49861770 902528788 641769866 528293786 577493984 16466162 292423522 796066962 606532666 223883550 42971858 153852458 774166850 10473564 849514740 361067156 705137820 239808104 79924362 261404184 177277756 338247110 65209966 671247092 87488490 286950738 638008500 74323532 81181922 71872078 554610830 925611894 591060614 41613246 857587152 884356002 537338810 807358986 533193154 980723232 315986652 441530600 626155252 887141164 108282744 892496926 379321784 331971520 477477986 48786372 599452106 216478620 226315220 405488494 528393818 481049484 739036406 126730828 419654354 272366242 643083464 491562730 581943326 446117658 968741488 709018076 940383184 247479578 666812098 284105458 886594630 335488208 183802232 626041002 232340916 819360306 316605042 942789244 799412074 19476092 522099716 419007810 305904176 604468352 409568704 101623148 624750712 213745478 405234038 416079676 800935028 79332346 855727264 855307788 877796428 370903532 858937310 220338974 14048396 190870088 799221186 866569576 502526172 934606200 258427108 84118510 414723988 58297340 88620254 176699300 821724940 791568664 522025670 15990978 242634656 357039098 432495880 692376494 95091818 153541584 300287638 346812094 455255636 966660170 891671230 378605138 351135712 141192364 647844114 754547098 651431192 828509018 864766816 989975296 458222552 81913014 687171910 475128772 123839310 701329624 935529812 271787096 368789666 695788544 598107720 932563608 88930756 311268152 394338752 546384128 199230168 213926592 850558246 42349924 34608466 250929790 227907110 353230962 866246900 97121590 761736598 123878968 929897152 903830496 897932058 979179732 883789174 839788686 205420122 47287934 413789642 26515984 141936414 799408496 385056370 704645226 69780398 957210486 968926596 643704306 340109614 307156672 171114778 233084174 143205918 80049532 598757452 80260306 532822108 981155664 557254164 154583770 886863884 341385992 35007060 35796148 366939364 601148966 589673482 626449662 437186858 490174108 466354128 911925842 250407518 54703212 775226612 770875896 555759572 147780246 880985368 427239588 369613168 777249580 468604386 409994362 193006124 24675956 190809490 663602442 612582650 514787276 276503916 383058570 220462952 770220624 103443806 492191674 327661688 867152488 415842574 532269250 645778034 155446038 597981448 443348820 542028810 358748162 474355612 912652740 629099382 514357280 372612198 196492198 913367996 572956106 504666038 183228142 167350424 211595666 193736192 305098090 39324668 535809772 468348588 647012322 550371602 171820046 282624130 981861994 658978246 28067476 802375070 182122992 659140778 345901162 496530554 381586110 557918710 535359654 485055996 507683194 87019598 64101436 309916892 967477746 91482704 640092082 274451144 315957078 69680872 262686824 399684576 995476024 974547706 600177106 700620474 499694108 861321684 27924964 863379156 945279728 786962410 343810160 208623518 775644654 330768948 266411682 660081012 540234632 272735022 875260112 826704314 459997246 702741752 449262888 135908812 829473400 355868436 585901434 476901620 509694694 791174078 617584084 581225062 659043752 918200922 830237740 889507360 357590362 846369246 43186962 240692974 506991702 413392882 291272392 677253628 350990412 136568168 790938856 418947504 200286782 857710104 286488822 960958406 24424838 850012340 378312882 82788068 455750574 408380522 877366856 983708528 344293916 546415574 95457146 409368094 341570446 575851518 105888938 403397088 102373354 539668946 322175134 644964356 713495788 14204058 993672420 183421906 309332942 696828836 571586478 367937548 314597962 897931862 567666936 863953548 881375832 413056370 682670570 254829836 954252850 755169106 232088854 669654548 692161390 747579340 421796890 774958126 862885516 809391748 792796164 550712430 816715242 531911158 170070428 787365198 189651906 923276998 922230804 641643338 40728748 594640752 200210648 359790842 975177984 876636528 518821804 780305198 209077470 724970696 756408908 182850104 95398404 556929958 233214416 403032462 983136336 450842700 599584192 741547272 366864698 291575084 692026748 828767852 789749342 120368304 72823114 353769496 271446286 861558906 792466158 899689238 957550786 634906888 747196466 849575108 808268358 443129832 208099368 800055786 174972338 345770618 182246998 503577214 529048962 358665666 687552986 382832202 526113582 824959120 216620424 641051778 6791684 474287096 443971818 433356186 11947476 233068294 223292688 349930818 517390278 821327022 682489062 883643780 242761516 274444424 515367128 359842260 948478274 758890934 867862232 836321002 744996578 248543256 13138554 978968608 957526622 569457464 249151718 773879556 725960164 768895752 794944442 623112876 747292180 8426792 846364952 321183546 818478094 411806126 529980482 575753446 457700430 371664548 54381428 802340170 436329134 141863792 357211020 46573830 321883504 962926696 14295922 838039506 398621432 885153842 760367382 300665976 203382706 202966986 395921200 616393942 951298636 814317378 565108076 421683962 580656630 946832320 387433198 519928952 840017330 775903756 231031462 270650812 616729792 382513176 528221886 117006612 964044972 831866824 38383242 852560962 409624066 899365864 917971624 480543472 948871966 637452304 271623080 177202842 415177640 977811790 805450660 877745118 836607638 745588644 159861614 387119518 899051034 339572880 686905364 133799686 111542058 321185798 391934328 287635666 996510856 518664798 732242508 921113048 574739662 383445410 956351542 194245550 717424954 266849222 289541314 689500520 500940758 529793706 971044476 916910106 497352958 369843302 787567370 188694354 702988844 868549064 195725576 914775652 997915414 660517980 230784058 337626804 722376028 569869238 311078932 181506984 799005880 950979534 379713074 916569744 209181094 128965238 705518856 492402524 135681018 993521908 579077840 441368712 820460850 544733924 101492432 429939664 853254122 799800274 842385780 42257280 460942662 459292610 183496422 542895910 983323624 189997058 612826920 750805504 137615234 606579912 357536996 170307846 519242296 413830878 610159228 41334076 853908590 564865974 41535338 558216092 16476196 508829284 284467720 129221048 441319546 60995626 933924158 970797366 319169228 253769546 474357152 549602914 292000462 833415648 296240146 635837682 922196008 37855964 900933646 962351728 559004328 761005284 648496066 883431730 505257686 23530230 35577654 724351478 67956334 567036060 933336892 836886286 323130060 688785992 432985166 981710216 728978534 546466252 654386244 609989506 475534622 462192930 756871302 428378176 45239646 376084566 512358860 203215646 124867566 315578244 437892728 819074602 112361076 635264342 38334298 639044520 33671318 623431722 48891156 837459718 757785410 700153420 810345046 631399862 509783946 711153844 633007488 757962442 766738084 937190492 196086660 33435342 335307508 340188002 354750622 223457908 181875104 3785226 725758938 732328276 60645774 975013764 409389488 678756482 8925720 358931110 32803202 183544204 466116330 444239356 942242582 316620890 335622234 430695568 263413614 955729308 85471550 430434108 44556632 852672072 384200142 150228294 45391702 803575254 913942904 771959542 713643448 10287614 421628306 73494882 934785900 193723124 133534176 827111962 83393362 509809602 930218522 289429178 346285228 104493814 548454836 310922972 117160712 249920550 117088274 993451860 750640138 894698610 910323054 560020746 795211676 149112850 898520330 333375808 154894074 944057036 310267742 799172334 806453610 56367984 347822110 107974832 512603928 542460044 681464174 277631858 564587776 587284584 533657650 594030580 824623100 412547670 688105806 555557298 108168916 193846904 216579232 863304920 197345470 538178340 485665220 718123400 154365338 286537842 636610418 323237806 282464870 44820566 811606824 236233928 609809548 132096120 187166824 617080458 874086978 620657866 271384484 812820268 16193544 318556578 493148204 377879596 33046504 404036124 145469690 782919488 157148154 208598280 835010354 158985852 120597162 696231192 320210304 837752086 348461336 993240892 579611108 623072062 165186944 171665520 860584594 132637948 587534614 540635072 566149074 807583932 845071460 737659730 780072924 544512084 188661208 366963040 50568394 70652486 905030888 303959280 920848764 505169742 359935288 560581948 87304764 388826174 736033630 245737156 224614810 730496046 450269108 873906372 696578720 207181776 816726504 271517018 912491034 458815598 805013058 652398628 253866900 310382978 182141196 184266164 774409874 825079994 724584486 534369438 525981436 146880594 604194704 84797404 424411928 696910496 336881326 599604186 511688368 973314774 332241570 446214208 199712174 321097878 557734340 823666682 303976208 829923232 308764980 770801088 794584936 241503598 838195642 336339664 207588300 646708962 996665694 330756280 815833608 498593204 606396542 586720026 963223024 124296514 780656678 61542394 871469638 39459516 153712220 430699970 480560202 257997004 434459674 880836738 7135992 645143520 828265858 157626566 829083060 168084872 713090830 265692104 41416032 640003242 151508812 93016106 403448214 236172002 503000548 991920744 474906644 458887598 106003634 614559778 251799636 47408378 739979826 808797394 535820706 519683414 167497664 385716318 514448178 424345204 519036654 995899800 46812172 445739546 938422490 621407840 621232102 432169868 356842194 705964188 326790956 691140780 760610270 453116228 960909196 277493092 444306458 344943016 40793880 459989958 624982906 58112222 288237884 347657198 175391024 659613014 726315278 233536242 193178008 368166612 144625208 241792532 710190000 164827196 322177614 997886524 826352360 588564538 840302994 39736288 536183280 631398930 855974958 174988150 393477952 577469562 403181604 188366398 952727994 244376092 656724626 513976740 815438688 190791016 966075876 478285228 970433942 666361278 651888032 553075820 706906778 22539010 964105708 879730340 37946360 911671610 644647754 73541322 787282660 950815892 285522922 272547966 673257798 627513348 86827554 120980620 72169520 383695640 457386814 501661318 918333080 990823652 343340886 539092968 455057304 225273858 161802014 368886554 812970846 349425868 736107796 438356922 223115930 717047634 88842906 155375302 461875674 996874522 526172532 987540072 540840352 630841634 380155354 327216976 209463838 917247376 190479008 142676424 909714244 185801340 409078706 454484884 340353194 428555126 846499698 303771276 585527252 946214170 246890100 913169318 490990940 550869540 808602168 661911136 886171956 730504872 675670296 404740326 688297056 915320784 725878482 18594162 335188506 40697786 853778510 145671128 418138786 16218892 11308748 334281966 69174844 239541572 715985054 316201010 242283108 63184722 268119920 684343246 727674626 463129182 271171248 583717688 690940030 470200120 518480296 830886380 689323724 432505668 107434480 756982878 864943588 692344870 480611354 321796226 393743284 153877446 590879262 127809780 662031292 366091584 599700596 329346976 53694748 724191192 281532936 749661410 66895462 34202896 409817880 639727572 629475732 606362820 185115358 707121780 850700426 281289128 144267252 593962898 33595516 682932100 131540360 555724074 996749398 954156214 750813284 443717424 111317622 623646006 565079558 914009098 653002576 332004540 251507224 692539094 990441364 355796522 945600466 788133004 163711210 423265142 857593886 28406896 343003674 276461022 519036332 510556826 247090290 571650542 246169554 797493692 532210802 545192730 79940974 613739168 362356022 691082374 611276790 61596830 843012756 206193796 385455390 336620614 238365508 276674602 318963824 919365498 291132318 888897074 122239320 369845420 947265400 360724370 202478242 587574616 138934228 870803746 633948710 197386044 370887306 362872212 612104426 582536090 841361860 343552614 781945198 482982578 385833160 1018996 670338550 996365984 646522178 260461514 337969766 132491662 524491034 553367312 666770564 641525650 810895082 773551416 92993342 462024550 656454196 991745136 993894720 578889088 739515882 203257038 630698310 151857212 580416896 558541192 964750932 650876610 973572078 422240952 584680520 130084290 318238250 743372506 723592644 850871180 768164290 866340076 236744486 131212752 430586396 163381262 603901946 262435840 835768602 909006862 74344310 921831490 265040584 591482604 412052366 978158758 72864344 772687630 730631870 459627960 11140936 749948906 94001064 625021764 352109134 878483644 465427786 338281852 765652658 571679774 103099530 748927488 543303782 243499974 713253168 844648350 597575310 354423560 628858972 105702354 721613120 24660868 631926248 101030222 262753192 279248802 280282482 448071734 718564850 816615928 76937234 309895450 516905646 466583378 559552208 743946154 990346376 389501764 828440428 378458124 278149968 580998192 539543652 6304124 226652800 709379726 881171208 958043110 215846694 82755056 98519252 862130234 223786338 451294610 217010096 728678334 978222098 385639550 667445644 393879996 245348684 816479396 648368022 689238270 599188168 797506520 20791354 330873742 257006308 193304178 84224176 531385014 625884190 294657032 995680544 104433292 13004060 25936510 388820002 502934662 228076400 811092852 390007168 963933970 769762184 907641116 611387126 969634454 715357434 544003042 303781466 736601902 893444274 402085430 643965818 779287460 201238298 799963786 125809392 725774736 908415822 619692964 977317346 623250294 624806856 756569948 625273608 115729468 383293932 659909518 925899494 865531738 415747272 383185626 780082330 38298864 523753804 662026390 560632824 296508444 683783664 51014166 189868216 308787006 405993054 762773460 900951524 306299892 745115520 166629762 268914578 774898652 860302290 959077654 597387764 187892170 408296560 84075190 249167480 859532154 302840062 96807536 997773980 839315230 248785064 203206378 589445844 57948150 720399790 761766002 701134448 894531278 988112058 747604736 659286778 890677794 807595828 597736120 775280862 487083518 625065840 664886916 475188200 576849380 968100834 524441734 533696446 52923772 207007752 364908950 748135970 553162664 854480196 430241618 142450996 282324448 673991474 296749580 671721214 172006710 760056280 148937916 761537698 948029304 720680308 434323442 544751792 612527126 626136174 121574608 579193574 154927210 584639408 262682798 344419860 117130424 52792342 951974066 980879746 844142294 857249076 218692160 672956342 434811858 761691220 770013942 421979308 391307766 813386002 314813366 790321494 720473296 47233834 293291856 689301366 510145118 133058902 96534588 416186182 521721046 846737362 58394194 106489134 799627280 806554578 519262574 940121794 226852258 56419100 499784204 259120162 376314344 407515560 757606756 461846694 667128828 672730072 388622060 268948840 122260102 763379516 614454526 850752816 10298636 197283952 149904722 691932610 914395426 750542546 925182566 597652186 223938968 149055702 156298138 28395572 404247640 936629706 884342834 305834890 96381882 638199580 816062684 157261194 776094816 186132436 389403120 662226640 297511334 251935584 945019846 381401428 100376476 874404146 822036184 882886076 937356158 535339306 309945808 282545538 87220396 563314390 370767966 372662828 263854666 49753240 854507822 243434628 930068730 526833032 983731576 242164622 510698580 799082990 627619962 538162148 916586614 989075372 516627112 985849362 89615736 854276950 778227908 926704494 176684362 758531226 714355736 163376038 409334264 998047434 438382396 399998600 731710024 106080416 565530850 639009800 950624324 350329432 19406268 36541788 133689836 267658852 830640116 935065446 827894494 267325724 580709408 120453534 11976334 2602124 138006498 256591780 290402232 638407376 214184568 118403744 430004574 748699658 18641326 849519052 680631320 693578454 817246490 399667552 841774518 464905778 938786328 256993168 157299494 645884912 441019558 678785440 247317164 58062994 80633962 535443642 260398660 857992708 510854260 759594398 799562048 162295382 644457184 842888920 707310908 78907204 609502236 183348052 52652964 163011228 466996362 180574286 281508564 246771158 917341332 603306086 532684848 738339448 643566496 969302454 536722682 612741764 627449952 954871932 459973482 806021802 442471784 660264126 542285346 58060932 588039524 724877104 435153936 659076434 106599494 752046294 789177106 9352756 254805638 267611490 347942634 492082416 396868956 172688904 870840966 27977440 818518482 537578852 689244030 480797128 432821274 514591524 661020918 534771190 957672738 175294820 681460166 939202112 299347352 290211362 905545278 701300930 332496988 186835064 683748612 344116316 437055456 148442194 994671114 744151926 50103172 688599984 490802028 297048664 404077618 952126264 184927970 596497608 546729498 749559228 432130596 749161846 801078574 267107274 331602636 330148494 383961998 287221904 115574162 341615114 367488552 546860642 510645178 455091104 538347516 849527312 716056614 419177332 131804818 195892090 838356534 972412920 971578540 259685322 468397590 824545452 754764888 790271714 719021698 578916894 268565514 933283958 987619482 324617284 134615662 525091128 304127176 338546030 770525356 283333912 392455046 513194462 284636246 95089618 611314780 93880402 499924400 806331250 347722936 593764158 722235970 145543762 601304510 428034064 749326824 641184948 579886550 42901408 444029784 754334876 834255128 948141462 889174198 216383804 318324782 774718288 13330684 249280906 92241040 483983070 738847986 786479848 354434286 124959904 472358276 400299772 2670260 27682996 352033664 84365324 723876118 216199874 803577702 636853282 87398450 29238636 198051216 768014578 126601640 92720092 575118356 91353352 689024304 989012858 411198616 342007730 944958376 80830932 740310308 917401142 659200380 81676592 710334302 147323438 383721440 507664712 571140304 139474526 216670354 367096610 98844296 790035412 781992356 27264276 890462900 623174806 481054416 493879076 611911272 955001910 837631164 743879024 448725248 655251462 278025668 492160044 497837174 808347410 892452860 500675966 301526714 117652780 908321056 94992442 49738966 460815662 953598578 469918560 824743574 566191172 286203890 432139354 958607224 341681338 651462800 938084084 30836256 907391388 213410258 114774734 737845928 458540138 71036220 208214612 770961602 310501792 431529122 147243120 311832660 109534946 658826300 781244842 274801498 192665156 765008668 591788198 114361202 948822984 423051458 137926818 587374520 221859946 383374376 615647024 131680268 117779908 171243276 99735376 795518890 411773290 786698998 991431866 742792454 522344210 589938684 15233124 225384710 595932698 207601180 721335424 626786416 803088596 525502258 639852918 541742610 848455618 943273082 71349138 522559408 496549708 735070076 231641062 646975036 438924800 484714358 337032362 213137924 557684462 925224488 95657808 166086570 371434228 366467452 548704022 217678586 678239056 101725070 22228734 413234818 917851546 334206480 662705604 41355742 796678816 177176648 152466046 865544980 745689866 791009690 374570814 51651426 4497082 809861048 483692470 151104046 477637786 801609598 28672000 366403082 673733054 266726338 660165198 967262796 571426626 753055746 643428432 960313612 708825810 571377478 860271262 394795664 284420952 171707718 730945474 353527312 766665844 975186772 868462728 960301188 970452718 830776410 133884686 912981728 404935846 297933750 654677040 397172736 241892138 616152130 157556562 102147858 724942652 614733392 838096694 7328936 305543034 4485076 807021924 115475386 862502130 442619390 825522478 153769018 285565770 315178524 98679358 360290532 685802440 408249494 962211912 878192348 592745396 420747068 856757304 428272118 775022596 723458684 423221844 458145152 949051662 459616458 12150550 829227608 193384376 76970392 337036284 38800478 477316488 876976124 797039738 203467502 375393910 365770678 237945902 395312572 770469790 256138488 38571520 826304216 51161732 306856734 380598234 714601682 314760808 352367970 305047190 732318184 171038412 412764202 811606400 235732692 724888154 485555576 465271118 844120120 120475008 546610670 415087408 471207910 166320436 197982806 241190244 255747650 258746316 122900334 968426014 646217404 744392692 489616678 40505438 404465646 561040044 197234454 549677372 699312348 301257380 621195710 83254658 596446144 706648188 538821696 817057592 437186536 685840872 792705412 609653894 567989476 269774070 893534450 899835240 494078310 455198578 247737170 748159268 635040434 669561450 436677546 396059252 11265480 322231208 658030786 459004808 101920566 594832740 265884152 210425122 605585504 167914944 669273962 757013404 563026494 213822670 148615488 653043160 878346176 814790268 675675154 889216756 672220112 941231550 661712424 858759620 202146290 234807544 397336324 222555482 583395800 873399938 92957544 143717572 841589922 835874412 807450770 889184136 49338182 34949224 233491646 836223054 836899482 191104846 767657686 24138384 604531554 533730060 225191902 23192892 59013032 547484170 954404280 559215104 616245608 465148276 339366144 184286174 970283578 675966946 520956476 317909278 35749252 608465986 91807208 221761282 740886538 333925158 494527006 323108296 807293732 805662304 31808886 54083540 116864180 572310302 804950196 300646304 806303358 736923554 181974106 500780936 586894646 626559696 656670094 54254408 932710180 248984500 975355526 141209590 907779282 925301580 588071544 142025712 948524626 644896184 4745760 772249192 637286852 322764310 733071712 788702348 823767300 302521712 653716980 191364462 499109612 202974086 158794872 244989320 45269026 852873504 470971460 846421352 500446414 518840750 788279260 740293090 732534388 652810508 841840780 271896774 441713848 881360360 237972524 163823110 909479340 782553514 147522162 421095808 528704356 450600050 465184194 341711834 975181204 413931534 779510324 144594566 642676266 950670688 826586768 503702962 471087642 675630894 252504922 804168422 932242456 364045176 763627352 183781920 716106128 285969236 513426932 367151468 470474404 508968280 415760460 914227352 948451314 377553090 928709234 377561254 34757728 912639442 51898572 421724740 763033532 83980704 269585880 33394706 150972984 367074442 279400450 152549814 384392692 885861010 428951708 336122156 720987036 488277506 147315252 653812870 325160514 398288754 696318998 200194758 813711740 455717924 196719818 204786656 873233688 732557660 375666898 227142978 313339724 600572682 33478734 872706956 679524976 904297222 387214516 47551370 132149084 616757922 213305318 769142792 86323944 38740840 987495328 898578818 912580108 550169218 742534130 590785592 734313014 456997292 669569666 672940270 179433840 299940594 749286814 926855078 225333960 272211498 735084230 447683686 158700678 807925616 767172204 704630990 2773542 209933674 683731818 11024570 854016346 619071244 407752102 970284094 631686270 554085776 698561520 659072542 214595262 179455086 905052578 165435822 664952722 875922340 15361304 962404748 146433936 590639190 782120484 70680238 150413744 89459354 580230766 581659318 797121692 221426584 1083272 144680512 962914314 357351308 418742516 562236136 170420222 317021052 125796330 311271870 235653088 671483950 550575614 366919110 91154588 35251556 85441320 883596734 122733548 443205578 163314700 11251776 405938500 411423430 654177144 441496786 665824082 732666756 815011336 103378846 735144118 492941960 711453910 956050622 311576674 952212532 453957864 650186768 206830920 53804632 685409062 920018338 601389848 357332908 840899974 923443400 298986626 120335638 430720020 149686026 965801378 622872702 147252282 395459966 763693158 828143416 762224000 542519252 370833854 541400638 787769964 867336718 186857752 322850330 42827966 896853096 149997402 945131064 471779060 927376620 434112740 398860450 673278542 453236068 162358184 983325522 540606570 758783808 596081608 117581708 411765982 481059694 135440712 989100958 375244376 898540670 991203108 69240670 122630432 273471644 95655300 245033840 663729724 341703716 674370246 604348752 22342418 65397834 452629600 120329712 862582008 441261494 695705770 8640376 980971932 930083130 8520586 189712350 312751716 294913174 525509462 730721586 418408350 926486940 790390648 738327318 741652190 988798614 461528002 431409336 158206440 423172726 754590662 934328650 580477020 63232018 720148506 361814752 646997722 716471838 261546876 722351602 530870644 757390832 478828326 571461942 977056576 885782478 505946870 520013186 359876738 761083742 668141352 735799566 571164668 180120794 728101274 53531200 77022072 912915460 776878794 607053376 994428232 179549838 312531846 179991122 987638372 272164848 820602522 783718144 962146164 431210128 293142248 326208218 221202244 36499600 676605436 470847468 909552786 224924960 422545920 376286760 668020220 524941126 36060152 968746670 721941822 265026194 139653384 751853578 374200834 219662706 360638288 916923136 522925078 170478398 772107952 278225116 247287112 722421348 276615586 51098592 249145364 733847638 906794834 928941612 894617520 574848224 856906592 800361118 746891822 77001670 181381090 535624504 536160628 774552302 138860142 793453680 40035086 859782908 947924830 524380054 450862286 726307662 356834540 553898570 969581428 629527214 682157304 544697190 107621092 783451178 673388764 352913564 619608536 680302090 437598246 609234110 63212510 532316566 81353808 187159404 538688304 612172040 580795216 997629780 892891242 145512616 25965618 815374878 672748456 346210726 489847556 41787606 228314226 55160854 590546408 602993516 96212632 794171728 711860956 91051728 733092614 447852486 855983322 863715990 632781216 839122996 658182686 395326982 760961914 551645974 165512782 956028344 46159856 175538568 238335782 477065898 718072318 582572250 473826286 261739198 853437496 730365612 810799604 981495360 966395690 795321136 449813086 447444260 285938950 499168592 127035580 263304064 642937136 365335666 983629866 54995274 499383984 272576038 501850894 891867054 667752672 971355296 824876338 814745130 131474666 122572744 852852268 632825562 736808342 585253010 828708802 243408196 616915254 481820544 48775138 946889526 717694508 789369082 668535116 358990586 995299240 399358352 98629838 109257338 430110970 111206622 571067648 196992672 655214836 982443056 224219272 26929710 123981646 692742998 599162898 245946772 986752318 407229504 538536898 580236744 806243166 817526804 649825876 54091134 133232628 550856930 461045338 474816314 976968604 544966112 24056060 767869442 525754840 278058252 404754780 424394114 734677006 419857586 284082388 880580638 431936884 836320840 669836204 247048296 416894510 833537664 654031420 300282204 926924138 90981746 236222096 328476508 466619032 351067742 534563896 151366618 940940150 491217184 777659334 746362498 758061218 311009544 872303442 219387064 315591842 556940652 605763246 70093134 39550568 10421920 588344068 740627814 968667352 173632484 146747440 823502626 786536876 759299416 175002726 852186074 969825874 936903444 501260962 238091260 679163560 575111572 943845968 15163180 699580308 900196042 776359320 636028720 427650100 278693408 272999710 60530632 768888520 187807822 289762632 563587234 345798126 416752148 395744648 949303206 340792924 466289020 493587348 902336198 154921652 292148004 421122410 798637584 277966180 131920404 833828672 708264590 21869004 955469682 22900894 727362104 696919844 815363652 881747568 582721432 187769452 289278480 134395626 172896826 117110426 680326224 357578702 650222038 604186054 139466192 68515644 790241074 219610774 793377776 600958486 376733546 678140410 235319618 583733170 655014862 554291426 345744370 712469040 279057748 385698854 698722456 255403536 834736654 724431720 464339100 82376120 660677994 863690826 568208130 509703858 893958340 513714936 515261128 529133650 834440352 24188302 882116084 866038778 698005382 9790474 339518672 397526788 765814810 723290824 101844814 746036428 220798762 12821314 487980806 538176286 187354460 176919710 440664502 492688192 639385212 244446830 314609554 624015080 428706810 855483992 928127742 403845758 131482658 744452308 319317046 573624306 620877564 626430832 615372308 545450780 823608104 153735256 325486252 285633196 863369526 995052720 261802998 15835166 975900180 434333084 284918872 415993634 179347764 247962698 823220088 127838772 839536952 590517364 597566284 692087484 226849960 123330928 20856416 795914426 59061038 394048970 412373266 616373126 172523614 647894556 54129228 426963810 376248612 212164348 833541354 250378510 789967818 911940362 330919742 621190418 639157342 954763210 352019348 590156534 853852538 863006574 191534954 196980906 94539442 785570630 169808012 815767894 609005318 42891436 726828194 268416972 261196420 15120166 922766824 820752178 582487494 410323866 408403218 31421234 68520230 804277142 781827492 69497506 325730072 572667140 629597474 459782126 108145476 638747474 262350008 506527584 610887216 856670612 589603684 777015696 670122964 156796450 661968554 260663626 863232744 912076968 323389838 654529216 27413594 410977084 23335794 65513096 10115462 986294840 553391320 637263448 681793170 258612296 898902614 97562370 905558560 29379228 376173636 84681208 960794520 105717316 471967406 736707252 871996664 755621162 435609734 617872914 64455616 83816188 267941438 222375006 617692814 348388602 585072334 213498218 924976360 940634370 233124084 835155432 975091276 23849458 883430434 409145124 798496842 993946400 768120302 636068190 921238022 10405696 240052662 504148356 531293710 162413438 193013102 36010150 974048286 189212508 164366986 559902580 581328866 516790958 796928342 750137694 111098988 368061568 524259388 369904316 215987368 29448752 181707926 57468008 653181842 829181788 216418838 325379982 668267694 766640316 756293210 939185998 374492718 842984232 41808734 853535980 516821816 769062750 269039218 607656340 801984990 171304808 244834312 788825840 603026828 448526180 561536852 231646598 958283772 57373752 585560240 604081876 460774382 682570898 996668592 631794108 727508988 439032280 343406488 936079072 540906656 163516216 294823062 515957424 367602798 248090012 339080826 431835788 998666126 845208580 916197726 11547508 728489586 361704852 212964694 246573942 952973496 647306028 254418364 999224064 660077588 390924948 715547478 838195502 200043312 348769880 280551164 293054036 831401258 995221542 943757068 248915184 624534318 184512650 330407864 232242982 157880192 87750848 144239340 470359920 836320424 318977642 170936724 809948502 564795818 692252500 386360906 263541428 802310964 491101124 932561070 926038250 807515470 499432564 368614066 664647428 306316526 490764606 118940972 471173600 278770004 297094810 384592316 467603264 782745476 437474586 880142402 374073980 797485074 706036338 852455702 33193658 311301612 643740542 197278554 684707888 169189474 27586312 610048898 2188174 335405532 603623798 170576288 203493956 279939752 772992674 188397554 227403100 210152178 431484376 485051644 828131288 244001924 180514400 601097030 958660894 773600634 161542980 512894586 705826480 847821156 913121810 630299686 371352504 937865710 123443226 192543748 499557482 174175850 644123826 988697370 659569362 737421980 19699058 88765782 483611258 508764234 817683478 211070226 584399472 555951398 891637270 820172278 839228332 112938880 39635046 275359684 128077566 321404956 621471864 360923560 193492606 806719866 642241548 311045922 263969398 457916352 602584082 60920196 785717916 384442548 836041586 244077554 724515682 688607046 593488376 694923874 932480824 600820216 411720196 167367020 981372126 972243952 265693928 984415742 172018466 888507954 6369308 955520172 212664572 682675156 701294700 352912050 249276316 419322866 295271934 947670520 918612068 313734140 361822164 284330046 986432098 510579540 462146260 427624944 405900816 448642880 40871010 364150558 107589346 122070488 863477364 848181010 89179944 319794730 587085194 367542996 708312488 329068986 684795190 649134474 919975494 468064430 329310574 561477162 832167062 484662508 882412770 993139372 713889064 390937164 827612132 488208422 773442076 571500624 674844308 512553920 240913502 225846926 268765678 340864970 443092024 244801096 182369972 207064278 159414418 485735148 133255252 500214740 456163058 670008706 120083224 666257932 265524424 87433644 82491066 227758356 495102452 776136806 339195268 577340288 314493350 89791546 858220018 845425368 370424608 663020522 89710794 485815752 915826538 450041150 485402722 972952408 747741742 173961620 222149498 578717232 189061656 445247828 449832780 668982424 990581236 908610488 344388288 914138956 601020006 348132716 765395968 729531958 349447014 696795824 166142122 119188492 841437610 535116908 562658656 442537494 698829328 44896180 556139420 729674886 558304750 701017432 676751936 728955762 453412772 608227068 564709320 915490402 376876586 7735738 124812768 51677622 571871682 657555466 556315022 27961992 846179134 455149384 448491294 382155580 375698054 734965646 307134970 583900920 954334790 972478338 784720486 317418872 402643366 849846386 79151292 697048948 694268848 880439686 569688566 529001724 709517142 23419918 851312602 229517328 528981668 720389436 231439652 964018022 814180666 184126150 601012776 746537278 931485058 438167940 246592052 823300634 356711376 716021988 335234732 546847498 607109342 192818102 840332984 794843576 634761804 321887152 405717080 387186324 123585420 612026054 51541580 781650060 265237320 342016386 335818350 81164312 131656908 186726958 301916172 654916230 939926158 524572848 63873096 64795636 574067366 644873414 320229274 22341134 653842070 327998972 26096240 1173612 981077650 369382092 45365798 927629356 774747980 41113222 551970314 516839482 330770506 676410282 753863390 556702398 557389954 990830950 992265742 128953780 741468622 755434806 557654238 239799548 514142710 117710558 461454964 500177732 154371252 188252094 741370734 868801168 791172324 698244136 872857904 386794356 786819562 835537390 560776636 838772786 910251126 80453438 181085176 39716888 496774464 80160630 914806580 214350820 958949604 579169214 539233078 73947728 628336252 549154188 69405612 565903560 466350676 467539592 712484618 749295548 555740422 174258564 988527324 942900976 286437836 567935346 449018020 312249088 637993314 952367816 146155940 796301882 905858526 800729026 352039386 67802312 593721464 144321232 278857732 714081514 886570336 949959774 345801070 997038778 580185156 217067408 647432162 538093452 368967412 833722056 453280460 105615724 565224094 697370448 663273670 748724636 678668008 454211768 594255094 684662782 925577780 689058382 460806448 498531692 461071796 961540660 252771794 487002002 738868892 678543576 231090692 508876574 489843942 851354498 26188562 540082430 631197398 376114178 712466878 142274988 204550608 705686674 182361438 337670612 296541888 469674278 208998068 44031622 930899158 213004354 143595208 76320808 812291122 637596998 335143718 769520636 422731182 345104104 992719586 461845986 76714560 843890358 692441752 869587580 458640576 827649018 354362406 765231872 910822842 73824370 861002700 73490760 951256290 26160312 38629000 856887618 55741828 682419310 778717160 121386762 383642004 834875774 696614348 424907046 690215040 869223396 282314032 635881714 94939822 884701150 327329322 121703978 753559826 504471468 403163028 481050378 654903462 421844072 439961208 607946798 481330412 931447328 330646790 652124654 278003396 739445512 739625072 64839170 542615642 707766084 596452144 486969706 769281268 722869126 122962206 829801898 578726186 96236982 459912692 256893686 214085342 437715380 231138486 584852546 422314500 568204070 462817844 296835808 784478596 752695876 675668278 284582448 397357508 830428174 85359192 467468022 660308900 94438066 544041886 128570538 490619244 642282194 386402888 955283048 904677888 18725000 15600404 234756528 614883494 532904408 669059412 992665698 736720342 392039324 624651220 855229364 609561458 23068446 787050728 232143678 662618394 263437732 509622592 569987844 460371250 86206224 787067728 982147962 441743462 762597382 413623494 413617746 91931590 56653102 368033094 593014986 207641350 372375574 729381338 831689354 177389084 311309372 813459936 294662040 873557528 537983376 173157408 815831258 595569904 928870164 66294760 832131662 203285512 882212384 180159460 854002992 313074932 461666662 821933156 452341896 699912526 459022106 508730662 956476522 211839834 236902978 650387390 344708530 538731996 303018736 46918712 377069244 58917530 64101754 8365858 585350988 357984324 577903766 390910714 669534770 162850236 714361212 623960374 34794064 700710366 801462748 470657606 116782174 849600734 29162792 883650458 216241774 160805820 769156830 60488740 505118690 493646188 337618290 854062090 125824276 853828248 422451896 17639294 295531044 932251314 371016514 68211392 602569286 332951850 963254432 652579962 208558678 133992748 263687392 153593116 168360042 120969874 234851498 257857998 452236104 266141852 535059556 197147090 210755858 635055228 315444048 822578198 756806294 647809724 936454850 148148544 158655974 793396992 278874178 628112112 261311966 555373178 172494160 73600844 428371098 60224042 724367014 99994072 838666544 113669878 697747552 605637596 564972270 609282494 843465946 720550664 810794368 392243096 49123506 722488016 586948300 925731672 948227946 40161718 378950160 832917706 312445008 547906418 670797818 433933958 672227598 278997092 187794776 818889602 745066762 196932014 813734646 969571964 820586732 592525944 32957132 561623920 15718588 920136592 295125914 297348864 361414644 407843334 586550498 510923644 374934626 91498210 322936176 295272104 844515534 278393082 97723908 177388264 915320696 433851216 294805428 855482296 506645814 370190254 640399448 150650222 224278904 457899454 880435794 142285412 748502758 122192016 544582716 626676602 459796646 292891288 610124652 897924776 960380814 493716548 90241798 571749858 449422274 971295110 385489334 960846276 742654772 665898728 701358618 890659116 5339850 492053802 707105648 362111884 627839068 40731600 523267478 198974212 703063336 217954600 182795452 983064908 412033926 117221960 301274024 535680890 625761046 476343164 321239870 30017676 805234156 582333060 934773410 184274626 606170876 277559554 950425920 357568782 685815900 747132412 674917130 993334640 468971900 781482148 569629886 632819902 537354114 940372136 99652022 974310458 901768090 291088800 609080206 120151298 991524374 195144860 188335312 52322206 180901316 130918238 814537398 471285078 813179750 863719796 181222790 962433204 545232622 132461480 581776114 39472556 767702100 778548392 885530646 48978300 757395142 823500978 127043542 295195944 17326862 346784096 46987228 188195448 606028786 997558942 294049628 901807192 692933580 141477534 142696342 725787442 772960084 887066210 193287936 671746864 661115632 480436714 630262456 989699390 140499464 176220080 579355212 118131460 123790864 499960038 789543754 146207680 833505272 927984830 461665528 146307406 612181432 419272096 878697194 370526180 841546346 572757504 309818572 794373836 34133938 244098724 955565334 678635508 322524812 703157306 874081808 988619814 908978796 431310782 253146250 617321078 928881700 16674912 274051208 589169120 924804702 309817316 76070650 894030120 57721076 931725834 595448334 691507556 128299208 397563354 788726968 401763250 912634478 137848148 714499354 560694502 907386980 484569708 344729130 853101626 627017844 473681704 454684946 22525378 414803446 790998696 840505842 550080152 463840240 803805264 140743046 191687430 69865528 385563310 746962588 344380276 126346404 44496594 113282554 518708964 646678958 517532242 540296458 456887164 232728862 553558188 503929352 89988530 718534830 238799554 381997768 875776050 159932732 856185282 216052352 617669372 2133330 183997626 806451376 190688328 348631484 98013268 177262158 263642504 19753962 36416226 705578512 520510780 577979590 170839956 218524708 109068110 816255474 997358190 626395536 908080382 499029500 562036840 653760552 287105038 109979760 856679310 519636368 225006248 891644496 868728526 569378148 37838390 749996368 857101774 102421186 988506274 852798842 155473538 163832932 274297814 943903460 507761816 626214162 716832130 304246148 646247472 617751002 421797138 956473080 600064424 395286732 461928826 362798544 864291238 860648828 112935298 400056602 257050758 254558486 882943316 523098566 34880328 16136698 753947206 491188308 699573410 376562222 711860710 129745498 684437904 421430528 868115946 854424544 902118194 790632752 906407668 678905860 899029768 405062500 827838140 438466148 577995482 612419160 340262338 586438760 667651426 564685644 161890248 494528112 985880768 608597728 406164994 484125574 947829870 165409418 808550972 221049084 894793490 889944458 651751324 662003256 498970086 779957688 145263760 849294144 724756928 170126384 354663594 263924624 399127280 209798120 343583026 432352824 981314030 4643174 115081270 755471730 307272684 326390236 424154452 661850052 894320088 251312702 494632038 173682900 856698894 904464232 798731768 181222420 233790316 899584888 91600978 614900202 64712062 820840650 354412260 601659642 39322690 972877016 456607184 767358894 491203276 188630280 954955352 347389076 314818700 778349944 705069074 751580416 442508646 853599980 858704956 338970050 782353648 677399742 68863846 938511626 675575986 795478656 93504644 351522220 91771564 368311504 886170998 720470100 771128524 402377508 958515538 158105788 623046788 399042520 407416374 475457024 619519066 26171746 855588866 472055892 164498940 758079392 920765246 126600724 321039900 115503326 416430526 654644708 594715190 371178270 871657910 317836742 8469388 314010100 121657010 268638968 939086028 299825046 931040628 843752320 652683818 354079884 709100876 741244926 962155456 389738654 355622068 469315022 270911452 729638164 779555898 94061318 290899452 783764068 518541422 25215886 666148822 263833658 365390446 627739968 634230414 674905224 486291920 273972068 963002142 153711606 681162000 962928538 582808886 106388430 949966702 862242594 704860712 934130460 192097854 453882642 374320314 910992246 102272884 260692872 449521938 607703120 807728704 923065966 856350190 404414666 804747844 982431844 613872808 852598738 294275924 683995608 214249238 597980634 240518134 380140890 693220766 276286364 979257824 757460756 989479590 147603464 802057754 186324654 932312726 545476458 779722764 447899014 730096126 426074776 712145098 947602814 229366636 496977862 928339346 175828040 60303142 400447512 707253358 437987000 25814422 22233806 82389108 306071382 455370932 525050692 319450710 849459870 667130122 722464102 935308504 979070682 394780178 870268812 804282686 476415626 160132272 245978808 29201568 388987588 682577806 458197904 899621204 547266794 591168620 284932656 244759854 862833948 861811686 586670560 158042270 270868352 90985888 291701748 117830726 703699536 904529366 161308184 281246504 974707648 64489896 938604000 865603434 213340868 503575496 713447756 683365116 211359948 213909926 600600506 921730046 900091086 127972880 529792018 924881640 471856744 625929912 206361326 117350134 382381874 351908160 529950022 410420430 835765008 243439846 966289758 41741596 889266264 378170392 911526252 891250024 857127790 921943762 28405590 336566330 355733240 590944928 921350788 652625934 77089380 739649164 213307598 116768516 587499820 66873476 295478538 361273578 887933240 82594146 526513974 781032782 311379090 83581690 464174742 316499542 797765312 183409742 499986276 729741480 545397330 188835576 768479260 480140746 376574526 651127618 704303302 889141194 283189348 927960138 441850768 802518190 464448164 184298564 583716182 271998028 27769790 689620442 487901070 186841792 981647460 294970136 409932246 706596646 532480544 682998500 461762564 508308366 750098380 880124554 510776134 645763046 21637412 867443892 60361544 52048588 258302332 907734278 107360188 247281050 758156116 648061968 55329610 618204170 621104274 466466430 16295718 277957262 682426642 922195170 107577284 972503380 929866224 633199296 480592400 161392062 814347864 673219124 162202872 155327210 787965942 209365004 791925628 314552170 346463974 370217618 262357682 33108768 784340346 517322386 199396952 496173640 65329054 381282560 558175212 304293384 53179310 481090734 318898604 586645294 509675416 234935300 452404024 118590828 579898026 40271654 2516760 616502708 815798288 38966454 746129846 808196434 185257408 261231102 619125282 171335214 153981816 154149838 38002806 221459866 761408806 168970568 517088802 464046762 463932228 153385312 260013168 460537074 246852564 783529694 89265812 66762198 282617278 146746162 379587948 86801038 387854992 748546462 514089492 941149808 172908252 737056748 207931326 197931334 983851628 714155174 671819060 887213192 843043088 197508518 658251348 53654534 765348496 139465312 822865818 858713586 280395174 193403614 364636790 912826846 769809960 565364608 187818954 69352586 38653926 202945176 185950536 812148988 144247206 753106790 782930532 138933298 163081716 280825544 375690362 524553060 192375748 22357664 901706588 583026138 576020604 312052790 906742490 394446182 358891188 780604710 828340664 919160584 156917886 800017734 703987606 343020866 922863330 858440234 276113880 160056548 560009662 154591878 773663466 825032338 445399722 128955264 804408478 943654840 796612428 897372832 21488734 427526146 228400804 50725428 614283752 981430652 416176050 145973148 841043452 669198770 303326044 28660098 877972054 959793550 154888266 440357210 242075036 102378622 588867418 565453232 39778734 103757136 200438122 649256582 333120530 900517792 65861056 151182828 804476752 625543804 17995198 68214630 557051052 269930772 557935076 459700656 997264312 820291340 925014470 64290536 919464540 724242228 912364918 321403014 229663992 528870098 983789256 336125344 685967236 681175736 239618946 19272338 577767440 449725150 988442024 259056348 1828416 890652086 37318692 577307466 23460252 929254828 262339148 101052198 687530638 933489732 848450012 118609568 375437120 601245590 907150986 800704676 937713010 220147534 614316694 666832352 152953276 7531308 659693884 353957220 548976280 680256150 725800098 583803550 208679768 134776388 291674562 566019086 269120202 985434750 964128010 765078268 122404294 693671960 634927214 819623720 21969634 444915252 233165190 87038538 333480986 597488264 347745870 691178990 802522284 744030100 839007610 577765204 257571012 20182190 38541276 676728190 382252708 506384452 327651926 344633352 355848122 627681926 466319422 747291092 261931732 677036060 597477172 176363742 745311664 987339326 452159452 64904802 121680360 417750126 314874142 69843186 378522594 790852270 485856640 766523424 448647974 569115926 472749086 993457852 868278518 759552808 389447704 810619668 215273046 109143230 913302834 438017328 743481210 951037330 543243980 971693380 331749028 489808720 78837282 874352162 355214794 927792330 657861324 659514576 397781164 900264142 781321192 176974908 52210840 730393148 434399028 992531982 169668632 488886526 95765978 541171986 302788686 206469022 754666024 98310186 399120758 524991334 250307272 235262730 172450366 150554352 686769574 276776806 127752374 54390234 891429588 430952668 388712108 40631890 715318876 928574056 600896218 352444226 456989534 332621660 25091930 987325498 82276428 88595044 607060532 878920018 7441152 466442264 386884678 875719504 737622954 504491594 665483524 30779242 348302094 816145370 490695690 476557566 453195418 189021972 477121340 738841428 188859650 31494090 640294440 638121118 56350100 749296230 917634490 949824532 447345186 105019284 395105564 87780280 786419614 438767564 638169970 307392510 957483116 320177852 454182862 619208486 235992908 747569888 928253814 799785698 498668702 135728290 237105418 349109386 488411618 631563452 138610802 450872286 880585442 596852302 524087904 235139138 196983656 767475518 929912400 332645130 828521926 98028408 106841434 535924038 932325588 315988132 356641456 154090700 909721364 294536720 983657214 424514438 661552472 104839236 180220836 99007416 878054684 234819400 155988364 671413664 137514956 500615368 333858058 516740516 774129688 59371700 568064718 855699012 925664954 878895066 869550204 905223446 809129160 143048914 168455394 343203438 759514264 747278886 574170384 470767296 317340306 302528678 759613636 154339878 17522764 654067236 685078648 565799438 605599846 452658464 307898256 789898108 802341314 823049620 314537014 270845084 296350882 478439926 68287592 880718736 243524332 296616090 739316046 810850444 988119642 111402756 255253852 275108052 856270434 538437484 250583054 580495776 226755208 498217554 643215274 334329528 783072684 174864202 448582796 14757296 918828570 795492148 297030434 803743170 687176330 710123788 461848108 699969982 576682084 950118308 495258670 14458586 561229676 975505606 638091088 836566622 156588170 136917532 832508624 939680378 408541828 790239128 480411372 137552854 249987272 143691948 611561130 565544756 771205654 973650400 53184696 67543190 803246572 631405154 52976860 40142408 186956936 100535310 311700142 833350684 8190582 718257932 632985964 623937498 53778668 85132510 923593928 706116232 518688318 803517670 815920906 271027426 293262248 655981380 223153848 106169522 830844898 343993638 932724186 53510414 609750086 570299104 508584526 977332028 837069982 348648908 246638610 576463672 86821742 128673434 788201132 70953816 940409116 270551894 388845068 150292854 453838630 462870452 524169780 679770466 692958204 339232856 315039852 19249542 875503852 749895710 485189434 452028518 787575528 418255038 121739976 34065226 963443198 676491848 454750642 703560036 342865866 105258290 26112586 619314220 242160180 477265854 233298796 108692614 376490442 4728966 629786718 722167354 941687762 878349562 103879578 35797458 533912358 40537992 480148360 578220516 577662572 810591028 769244658 730607816 633832520 422579254 595694884 723214568 47684576 154238028 900494080 600859844 482135328 559459102 90429456 138096324 28016902 894830752 72088584 1653394 347980490 447011562 499043110 444663100 221442816 54742122 238194274 843602066 403150068 279939790 638183184 953472634 44995398 306898334 537101340 340037540 55530116 272833524 20122292 710217788 265144022 575518202 317187492 87618434 797361576 86813688 179774252 735717796 854741618 37290954 66097730 634887338 364212854 990972096 79018836 73795962 794584520 158951798 462960122 423444090 460570132 64317666 130974128 761199432 539395230 824665824 244539658 931938934 683556086 888133022 306265410 938110070 101005362 167427728 618276344 47836478 120171200 966562076 589958840 389354124 972673290 522668908 99488986 703546942 591742844 376856226 126709174 948075906 398288404 432491778 502784618 525184782 46873628 945731128 856770896 154460360 420892270 756277522 558379776 43677574 590284540 950021138 40563452 79225902 198214826 540948736 125820294 765323426 273593594 41596086 37850866 843202750 226632716 777159506 324554196 727744110 931169024 257122610 124904618 171899920 888542652 659922210 993026420 678120636 556066702 498764612 128140142 291222452 34584280 696094956 455127842 748045054 378252666 446788150 817807154 303088634 147612306 320129684 457997056 149562364 194948498 280008808 943285346 572888782 992513662 300363406 68813724 398393704 336850062 555454406 45276 364898414 123401370 231545516 385977782 275628614 528793652 788506396 395726208 776326896 378559806 967670446 975260558 469840096 744564378 108354044 668260246 491722570 657281024 638296458 309221938 187760916 306942142 957112496 2646032 594837264 400814394 70625320 783076924 35484050 540540450 205031682 397068958 946252798 989020656 182120596 341691186 506287960 866430318 788335974 489732396 635791350 111724140 613582054 172671082 578670662 552003182 354099966 460799760 963768200 156256954 67996822 969266704 872629114 930308406 710143474 157490796 371705370 47491280 724499432 452708266 144458818 193602828 795202606 787673134 985008992 534859842 437886024 627609160 111550076 212076844 573932470 986307962 100951052 738994440 920282166 463346850 722806962 3028260 168485542 461944470 130528782 470723080 55560116 101014408 967716512 893747734 930818320 176779566 143214506 22151168 664000684 401259546 597839114 347071576 110228796 343744198 852780016 341892128 684051612 711011940 119427224 401399858 695193696 637545164 499671110 939277714 182194938 123069716 713831186 676030308 68538168 170812400 176311228 716888516 13347026 224721228 722557736 977237390 776264472 333652120 913162490 584047980 10332660 409888408 880413124 583124590 837023980 63183298 611259990 892460628 835465154 35949602 133123480 672402594 6047482 680986702 417206006 161002078 77364762 703984618 288119770 734184670 321644888 40454574 144195930 933408424 903509388 311443426 401260832 322443312 912668262 867344258 389848142 644114806 805240166 876270348 299433352 937975346 16621428 597467314 138737500 379223536 448170298 414068700 917617296 55199590 93250296 938459478 465006172 368806684 374674140 117775656 662423820 365219928 698315440 185634984 633941538 783653380 963948920 901008144 401165582 448401098 201324106 705833912 466238850 54740868 719071030 337530012 45478392 412740964 440136412 640433932 164423774 969897588 632901762 772677280 234452728 846839988 240199504 509166234 654209776 237654174 522124452 171036498 576187690 751428298 402314444 229247938 420809806 968673658 706601054 482808062 20274610 653281286 459846434 535255798 257174356 568249828 11191972 813481064 371981056 69650850 453419466 137332864 206450266 723409760 846039476 52416106 702292496 187504090 851273332 653793056 210317602 684794358 630118292 375985964 143122468 158342368 102166818 415704754 225549140 359191828 421844078 751961024 723017836 437771042 898364854 119034748 638507868 878332756 937285478 375425788 879733714 816885288 368488786 599438182 781607388 578576254 410602298 380858980 829142320 836091558 240232556 301179196 501762410 469483404 729160896 220785238 838738940 845771948 900876398 766449404 901402246 832008388 1372410 634824934 949363958 948519804 56146664 373852982 659518188 302461968 411678694 59671724 328031404 24733912 241702274 1323388 170025486 83832360 686598428 20240188 767791424 303005568 690363370 697769732 863230400 332446008 46500092 333439254 998735256 844704640 415393608 11695224 800576900 735251614 194845672 205076776 352009774 969703796 86497928 234943714 88603448 406705980 660306372 418767382 237235214 356302562 120790654 317023338 121942 868055598 416608570 863842276 442138156 965821600 968908576 188255910 530783184 1201310 266192422 670533920 966741274 577079036 292494346 85437206 969900178 371597374 849379978 819111926 816029968 519859684 932228734 799949254 656564544 940091328 288646496 873659434 153755146 375025202 430528008 696051672 216997116 453969544 134979082 865867638 103103438 518035700 402680378 205108400 493754388 706827402 724747040 543532608 395273114 255382952 483586798 59553420 109588524 220488294 835033724 448741198 535855072 334510544 93282390 599821346 324140454 821520662 507053976 416222480 270177370 140715958 732891358 299743730 81905510 169701470 202212898 83986550 38338374 588899944 464570304 16454562 787245376 412930792 370426912 135998740 998882038 960454280 782342122 112628078 970522992 666478216 14516278 849353208 168922176 18077116 896301934 286745594 183117112 927028398 830311240 439372466 238501314 900171038 408724250 251536442 335990844 815080012 907115906 87456968 687403202 801763148 154114848 30991866 155506070 687690690 114916174 446802278 685980326 170892234 503014052 979230894 742742568 223816056 736856570 693084360 728324992 690903044 242601508 720713906 771824972 188677206 682358230 935429778 831947306 571826346 411343710 892023214 993406808 696182486 689703656 84856550 614434152 670554772 33657206 449669892 927812650 998625358 549049194 620920472 893278188 669635544 842659004 912187560 790706036 422907666 502158978 704218148 368079588 606017150 847063762 854882042 266001544 15522614 308475268 433439184 727524550 341674164 713549018 490391084 496405568 528381320 392547832 32021474 755229348 368371952 821545196 357971474 124676848 775246150 757234976 322367574 467755622 478980444 877513738 667008090 87653588 865771016 571438194 184856646 54224830 765489550 42990778 865916392 436915206 677491264 334144744 934573664 187496610 117251650 642516700 495016940 515011122 282375588 334482860 851785800 258008702 246661104 809783240 473789950 941222134 798509080 438792952 828246806 277163798 760606250 197092030 915903054 161407034 323036388 697171990 591054312 356640726 710510528 361082086 214762082 276138886 787996966 977414978 627904770 449447868 832293858 552546796 685639182 145882160 444611184 785595950 270043742 517867542 455188788 25413086 592896118 158345838 831067742 858472264 432349184 239103062 342892650 679012716 23767588 498062302 756638486 481188132 887266828 701436924 591586396 930772802 345172558 741041594 987999904 90489984 674512392 377079916 615156534 782655558 404296102 642000620 545254292 753857956 658186690 984773422 225984548 691940128 459805154 334247752 287561212 9467948 122587486 977392630 245736930 730594870 850511186 288262580 987093388 144262064 397039374 15664896 954159700 359392614 575349012 947744912 612950556 852143498 124876128 280001234 507993162 921621016 523169662 223220950 914444888 696862196 919763188 206666334 818193174 989295326 960711642 362698370 277297044 585691998 969125142 612305834 536940582 57133232 726568782 620352486 838596378 844958894 470741638 115801312 120581276 436362788 989715156 348431716 925103152 6741878 490352762 376007794 718851722 133960678 65931438 487900620 651004700 775400276 41110834 244953998 975334150 72433052 450874118 276253928 526487148 701961104 251462022 616466882 179230034 475864102 673942514 283530784 696998410 266997168 344902680 922736996 907255656 580537966 738257332 520789882 219100128 694846944 24764732 338996188 579694506 817478608 719652690 283006840 244689794 254008682 837733426 145241360 931221402 912289062 223614586 591892340 798233112 692951108 214948336 624743944 998621648 969222566 577051926 542292582 264496388 584905004 288486124 213873462 730548672 475928390 715666994 696412880 856852470 347970374 150865418 842240286 699621696 995040008 951399698 635112950 654782958 245606048 88314898 311145496 214126694 233382310 265332324 721726740 578013292 800621674 961121628 693658692 715770322 970525198 963041250 257640110 161383980 942083416 803815602 474498690 302181052 25886288 71219156 646438736 598861706 887561562 709164534 266515760 431829744 149622818 88326636 203887144 359975570 463131612 122979026 365432654 86610524 374430740 53572730 980654772 116365810 212013480 285216756 514792158 589453078 921393964 834642970 152586372 843047226 935828314 84626154 296697860 579112554 980181512 282510340 718889156 977086868 880627286 401957308 648983454 160835856 517803074 366380050 744049918 48646374 154792250 668133658 977672898 367249400 460607922 164934980 824339474 568215370 944105992 691586480 821300428 965773508 730755544 18667908 735932822 449475412 819329338 635701614 660452368 656368692 141135924 51556656 380039992 825793554 850697950 998375520 9823686 530009686 84433964 323677954 27901732 57056950 934603014 504715242 78562972 4467674 812413090 178837380 257693452 939361016 631760658 669851988 250228638 798655732 518687054 786236486 98734106 253217752 416415112 340518480 696747632 936380486 368001332 823454162 43315986 340550756 78167474 260560846 452413682 647801776 564938930 954910810 44321204 886313890 226572728 317491686 321289878 343187210 582778770 63291478 800983190 91802028 881617576 335115138 575710042 580539072 95073222 442205546 101034968 161990324 716053576 289327666 990423920 151082728 993632198 829583098 746756106 729975588 531863256 523924248 570957940 271500880 428565882 167882060 811408354 611989100 101797142 686564140 484369544 124194552 506021412 125119656 992998486 286712886 628221510 825004656 896161446 788699286 657583806 693451620 931586206 166903486 958319886 265510320 347742814 586039334 581103558 35991484 483981042 704453386 245944696 505101514 441365184 491418642 696352434 685961126 891446906 379330190 597560896 13478010 104233058 478914038 556700814 14239016 720769900 553966272 457249448 790688276 516390402 94101694 123224616 268966848 891068818 187243370 515972490 43282462 66474960 297880750 807328648 373021170 443017968 917344082 32559014 436706318 550338556 664792920 549856062 340224664 848267728 99956506 295659380 71990226 511774262 996665800 523160200 952037384 244781950 280976336 226689806 45866926 167553694 441431342 203617266 116919634 418754904 987738210 261257354 888936760 352374672 925999234 366782986 85110270 265189300 37084296 676505836 254682010 880937814 711658858 118378810 368598980 143701382 431891568 645959326 942826828 61423224 868638988 622611302 60538620 495927502 319262444 136028066 347540486 163819008 508384090 745196756 941660516 792641776 424758658 743477086 483922766 135427954 133629806 874779850 379131166 801209374 256284560 680656096 35913560 705574630 270301812 109449252 72198384 996360386 568266448 757352974 748778124 356209616 395884266 695278158 829621354 168611812 836251694 163098106 303773314 334663732 355389606 1924336 687858574 561719624 65497094 141271126 72902862 528007476 566651672 21048360 563654614 293265038 269730106 594617542 47390502 53065044 578604380 25770436 605529048 284644384 379657528 879436080 596008874 674269294 729774266 211983698 29566300 169000968 29341158 551979798 972226092 815245566 198772586 749747560 57849456 134127228 949345902 357094844 853777448 610451498 722298464 170734038 892626896 155499586 868662086 637163974 617730032 903043564 813827204 890387062 909475784 605049448 365095214 495736998 776098410 222482834 928250316 512067880 592799038 545820594 293664482 214993308 119013202 253255784 18795372 800249866 300724598 705252930 165396416 475760358 29545654 717996186 993143646 121034 483084314 357714356 844605638 325665676 125272476 646463018 980508606 768002340 983650052 1856662 116605214 724398628 420275086 727381384 363025644 933963938 484756936 85710454 609178778 856399598 694244930 660357324 258062510 681199474 461948172 299730100 363963140 402981962 257304032 651889862 196314086 656898174 805644532 587342906 269780958 389782306 492302052 251433500 872943076 659273836 812824104 122220610 329774712 580536194 850656494 708443062 916114894 903916408 256562622 726167290 699784652 148657224 189758000 239641778 116277178 799107092 154882416 502104986 632169740 356680006 257278822 438042138 431053636 25402238 172497830 672739040 501898492 598326428 806851292 429780646 533357676 991461212 784291202 899405716 303150672 41026508 620119620 854272560 465939460 689255042 639826424 78820682 981772532 83954300 158432102 818355510 500593716 244858444 705292004 632833110 527517032 448646750 945860550 491685908 960538596 654323120 824385668 870234578 914221822 370681482 531940030 274601422 848099460 161630236 712588966 780537448 656958416 142466444 131272144 315555376 991849650 200037104 978424154 221772152 174688486 692437644 845890952 271843874 313821440 612003448 808797056 202298708 793257574 436715544 132498162 703001876 523864958 642550830 653246778 997673760 766361930 149241630 618441270 882756078 769063122 391497582 956678618 67664084 289017564 324704588 450585086 269753208 911029910 246487972 959394432 332171508 423097148 873794948 986467238 927702182 961948704 604955646 284969948 402775212 960146488 505953724 525556064 595227920 610365372 764313772 236504070 831355424 561809626 274372920 679463154 814919418 328590360 264082244 883308880 564219876 753380008 10943858 650715704 218516846 417675834 680724026 253160836 996411816 891977614 73803532 906036534 671661856 953538960 199455938 487028262 336707180 263437064 323690676 220763888 250072236 865697694 773737682 178220482 246120026 519362480 40889036 89838858 715708048 273327604 828404354 32157478 254073474 42929258 194845282 901288530 341843242 523906318 816498582 676246402 246218510 121047240 67950242 101162060 897901680 892076868 752844734 665524058 361564630 915562242 952033744 470324732 36099484 541572504 881075796 597225616 270117278 608453758 171593642 162873252 74496566 640484858 92362248 496105004 6964606 117218510 880390288 868097858 223117668 681828396 678131300 978601956 57360146 385502692 339309278 530444372 571159600 888942514 662452964 213637534 721637746 709844040 451150524 432230226 310500360 239828302 883951174 3420608 157002312 606055300 44978778 52399710 785987340 628442198 941009444 921977138 380542144 726750380 993281966 619560896 749431052 565678086 951215206 729672184 659708032 287092554 404134438 456625378 643988938 239793430 890398280 989185900 465261942 582344730 938890916 689514752 783280664 997961924 446153754 573272450 317713678 31039332 932018410 359249986 71238068 958282376 6734044 914664268 854083976 103120316 592975860 800182730 691609954 570895556 9996504 112860506 797104254 915331310 968187330 38702938 932448358 754448780 691960858 785654566 684111048 193824456 862906138 598151684 657671412 269952532 669617198 903129220 131804226 310965786 526141772 204533682 933119002 575268622 440429558 428271256 512317284 829164612 117338478 927417042 207844480 127227058 705776246 958117372 559465056 791757766 706169362 233008390 656347742 851983360 712750316 860556434 255011822 39846644 891142098 644002280 323387210 555858334 702285264 433914516 844362064 354340972 107948138 230703584 412649240 914181996 340939800 738419860 513793234 687221254 96750820 573777638 331710912 410432382 30093070 507829978 521753172 833715936 179207208 812950444 974857548 958502604 66079444 353771418 833571040 306706130 833450470 784159310 492577736 812363810 110561586 954588658 896707322 938954490 68627564 486319334 410744996 730028270 903532036 622860190 206524440 548935766 558978260 514499050 8270730 879030356 627060394 206379900 25733034 802780150 214959930 597068066 737293012 58754224 646951310 76771034 216593722 768902292 661311142 760121608 164962662 898048562 965132278 965191712 525226100 21178674 532703306 624545878 889770286 503658050 136417622 33008208 730360596 616023566 265317842 620478376 303934808 148311634 487218262 937165676 226935764 942144518 467730712 104577274 334687624 435493822 674283994 308260238 954219982 781162040 668286024 879872192 502917838 335026394 314382828 268166564 927667926 556122672 386203186 579472764 543991140 202488870 695938952 768296528 213621994 494403688 656856568 246872592 411893330 798960728 648386332 720153122 192086508 240720156 153853762 393016482 351704158 543883984 509648330 758812580 82822242 438872202 525182474 339699406 792151576 594002796 785398654 927889158 462654864 861717524 427685202 424531992 189642064 635485168 85234234 191486280 550885710 504945930 395571534 755561402 188371410 159061494 163486228 626651928 358499512 574691334 2213592 718251950 363422544 156466630 696835956 640482554 162677370 973615284 595946628 524130876 202718484 825244904 963280704 133868152 958897184 754834336 473259486 527357480 619708136 84651308 699962788 115650186 349765116 485728028 84850696 234907858 588366168 950413804 295133896 51330658 846231702 57380640 456576882 738414178 977658452 912680688 732634810 945310880 813430802 47602784 707845030 257185926 644583186 185319380 768502450 719540630 653253254 549078286 792595714 313517684 26754546 111757326 147865500 449499624 522274240 475897206 108680006 539493108 938359190 305193870 310145346 802403918 908831200 428565174 545115686 807612304 482551056 545414470 832426664 547699938 118059754 425275412 50739974 56441238 548292008 155632266 353497408 597842486 548491414 199553390 361051214 414822450 44130504 608543922 340358416 575429172 95512390 642427008 926628874 271326242 532264964 795855114 373364096 415327736 34952564 603868768 330499368 958320898 665238048 704493840 439513400 309602438 958810240 454158240 859409238 266065466 404572592 398033988 806991494 744855146 621132446 879850578 330535388 746925770 149140948 956634032 215605982 760188832 555268454 47652832 226907448 880646532 847263768 403826230 785579314 236434112 817817256 673670642 402115470 800498900 415669072 757699278 723567370 933042842 888105280 664382188 233919320 852273312 255835882 208870172 250117606 580590334 804003102 161669502 463871746 549842170 324854184 529483586 42746922 140427078 47113090 799672298 905387960 511038394 29865702 196226234 381519960 885826494 429943310 419734548 229966410 729713920 385069368 462959998 74487766 701108950 997536948 334723120 547974670 529807528 450501990 857314708 766485498 367160848 933213286 151072090 191138290 853863052 458814922 977376680 919229954 486548896 943646564 95945270 418189076 155603186 258849710 687064024 134063966 933758 516451550 910604650 970176534 181540964 607317078 688374928 208349460 948983064 771210682 675505346 845807092 105647216 535921004 271981446 3046982 635433610 785495190 80534452 524079720 42116866 779114408 29557322 261461522 221021896 52143568 852234396 100777848 255824118 419843402 301321164 995060836 89813214 253177236 498284856 750997986 649076988 933763336 334260850 487942768 763253212 445798806 552758142 904204978 980698188 876603968 440324746 272898474 897070602 543036324 273977790 389096234 809640854 722142372 106199954 742875992 212903484 124921486 13352272 577433606 349383466 330073248 768914492 43607156 627890406 652406396 716493562 892841806 382262038 674267416 70737262 217238092 407076004 190860204 320027372 57031982 166525920 468241588 577979258 866976492 924075750 174503234 914230858 791509756 704189428 309683638 317974310 769113464 366423722 713799384 620742540 869811606 495710862 356064832 365135352 513291006 582192818 208557372 731182722 825898778 372630734 192228202 204988910 348145306 755944668 284565958 895717838 568448488 962456444 957354020 30233204 448707800 467388478 957338036 396374480 819483408 800324132 203091898 343069144 804403568 590923068 134306022 643176858 979723516 199864984 622923106 65769460 806466560 646278486 41611812 412109198 439442074 214938746 745146382 267556590 555522764 255906964 684426584 252730358 301990774 503270406 332319938 833869650 356474394 117718634 104448228 305742316 137357052 590729938 729294468 534547530 454241760 47260690 804960864 90204312 822290496 88519806 914920484 629418714 282655758 999124528 895982040 583826754 52139738 159805118 147546782 658050068 805747836 877189056 439766454 826967378 135472858 350536030 39805516 908393454 698082676 841906124 757636106 782005922 945792434 947964898 733345042 496605704 789408424 843781682 674239158 849400974 830475494 379422612 792769752 11392400 101600240 726477618 674349616 772376012 188986606 942575670 760740644 404755496 401056824 363677096 845833006 458715838 112209806 998622786 760977462 148249658 633570600 205858978 890936986 679409446 606431752 37528234 369773606 939980372 637089536 159735738 967553630 150911200 22237232 60036916 575208232 533890858 156675230 382309390 892466372 910700120 268728972 833600628 318053300 84318836 927511760 228221468 799391630 805611444 386880662 819220196 302194508 390406878 960738304 533610650 578019134 180708682 288756586 93188154 729401688 626592578 887331890 908481288 978416644 257591034 635731630 804016846 783246056 753736444 965903720 644821738 566178798 806592330 49633226 482567946 826724570 524473722 123929766 688832176 49030116 244435092 576278816 582821402 518326574 52735984 654675078 176126396 106060314 69384152 796367492 308298152 726887522 255624116 238003490 242394420 269261652 911985610 231322818 961334290 362687034 33976006 596723778 783800948 721014696 244801088 479215846 721020884 709100534 511092582 812285968 915931072 79620650 711706432 134898172 245124572 902681350 323143064 812715242 407401330 841728896 808431162 538140406 466112636 286806794 28765104 994988116 437622612 611805432 993709508 98953076 827939086 141752892 999181740 320253942 809778390 417396402 547568890 747510534 500792626 265893388 128811370 990286416 396176512 412680502 776702932 453735532 91214140 427233450 600515024 880678914 70569112 272981670 398048844 808929898 798340140 146013822 544936998 709355284 366230574 181316944 457485598 138604244 885740188 601858372 725563470 402059614 151922994 841515474 783943906 592731898 25593178 510326414 60379996 332047766 313716498 852937148 514816512 899984098 603542220 343089300 308644184 29645070 543984808 920913232 651863306 795582614 775670342 738957394 126697408 791132960 672217652 373989922 269267766 914481856 976070612 598194718 599782242 313590000 686890186 656937336 97757960 644296226 66746308 806804420 536879504 903367862 999197318 385176172 383139498 495029930 691293838 886715386 927379210 643057606 792940316 52484470 254143732 721545650 396050510 32805026 901384930 37177034 941388736 931226908 17304394 283528570 85244912 674571072 478393502 516391874 512909612 758073274 908291564 809481238 945576342 893574490 595392134 271997902 61162694 850529622 458018364 526516164 203088556 203392806 740752856 560081424 649617364 498270676 233458642 421062800 418040974 481233558 774338164 545125012 894935552 713237532 479876084 701556260 459050614 200615972 735176490 693204368 20314474 895755594 268921036 19959634 859885630 473434170 827597468 405146906 377034740 439811152 560493696 425866548 25022676 878034922 591484470 299165298 561944054 937560742 65760288 457301732 577012820 727646468 275385702 596545276 388084914 776870284 528206734 615010674 704269788 732487050 76308906 731699802 343425722 384841324 600838564 756647674 432430194 330493508 143703136 957258416 362118026 953186352 836028470 257359996 97537562 687419296 107647900 832359046 213628468 255399734 220703610 889795428 94567836 808818482 573745522 818650828 840428806 425859222 994382214 567576472 971061314 885019330 787223354 740852220 102012080 367684222 906687130 467169424 236924252 61166042 207754766 788118694 851280062 273850064 908523196 512564106 686778450 495202428 531346722 997392190 75582110 698459014 996999530 644517332 223805526 963809386 870675268 10568970 175599124 472983614 938458560 635716208 332640886 291016102 876851340 455484140 857632892 973484262 109685120 428691950 357256392 989309812 594068204 472183000 769374164 287616112 685781698 989817264 804975542 203678728 563891916 918805308 828520404 93889988 257249702 853693512 184278378 718806910 857200090 81411506 606877512 594683524 498816754 864344698 36138056 773578180 958188666 833923128 249693614 12066828 633552278 7272154 323830246 710796526 520626476 825330372 137419616 299715034 263672238 840610130 67278762 475478686 664099938 398276888 749986848 397695730 182303728 601086174 731104630 856251904 317301254 790776486 287116484 328166262 176834792 540062678 121118980 772923700 859484382 659981660 430036850 694007688 353320752 334270140 464336274 15205182 744646706 346299080 377317412 590186752 777461606 696827798 502546406 485800766 246072280 728256176 939520402 882915620 21563850 116793628 631895894 504139896 682423172 208862194 853412552 803324286 323045392 479725006 113271932 590796120 397599666 175470716 808590300 70370274 394716678 278620302 195372218 833904000 265307980 386067652 578895722 447094086 273213176 173648914 848820444 999389350 521559860 257700622 804552802 909546574 149617086 90716618 343076448 267451586 154027898 821165966 52640104 388749794 134732308 5587320 428203800 424782500 660127436 33271498 687484874 566408820 56396062 50581998 680219220 337154628 274103874 404962444 453533760 645107272 960539798 489943256 721488908 138236576 77138858 273599544 598862146 928399796 312373232 632703454 754541952 604530148 661614920 238452208 286395274 226219510 810924754 69474950 420405372 362867502 555107694 756532432 37371724 381719218 14933112 64710156 416497780 322928558 660137212 714409420 377563690 305400886 517913016 400894082 143416026 940704402 914008206 340974054 680638720 257574626 699166934 846881632 139949262 901632168 875975186 731174434 449162114 214695926 367759814 273797870 613731240 487736466 871597518 915384450 87766028 26306862 479616988 398593762 319479200 24841640 517644136 558631140 107051754 668137448 310558934 709095230 912631652 214994396 685084830 515564026 842494232 823356048 43883494 978224796 133936006 855857550 829224260 316745616 84942880 395611976 504307156 541879878 781034192 213503960 88157740 735338086 123021876 610853052 763731188 59339238 546490322 200205594 877026372 31809100 33832458 55425414 702320036 523564884 99698358 139950170 243739684 584954846 332778836 223764294 793840132 943110014 989457190 734028320 982841940 430055100 433868544 164703752 487916236 579708050 157081232 177384560 402753826 486631042 77134700 457539536 217800688 368136214 562661084 547554962 398797146 561199546 174260226 227184774 280103680 470661712 421953454 561355610 538718436 428370546 216259478 965285644 934263386 749855260 624989580 174330512 137459082 696868796 148094618 778190872 206462856 68305698 895490288 644312244 304493770 518160612 492021492 879282382 870856122 763399932 175867604 889383866 517043530 460098728 486895000 12941770 955205572 216057878 402889456 895596222 605705968 457327608 632185716 6472230 495157012 959291884 461062362 488967304 599186400 942332766 741924420 198318150 661194852 230594380 865028238 587126972 239331878 52437986 796359140 172046768 905653294 266917028 315403980 457766000 361203830 955025010 979471690 843105044 821467228 52957490 648106900 932217974 738895476 405151320 111193728 832367500 334098994 714894554 285227620 549474862 208203050 817267242 787755084 862495192 411480166 558915860 792677478 584933424 210381810 381825998 373749070 308896864 705544082 510631466 187237128 285535744 625559426 773541158 210913656 400418212 813770970 801371942 857588642 485640670 589759486 710750034 442964564 276848394 340250580 479418198 619552090 18806760 794255118 172961266 232783862 829602988 420838352 2497844 360698846 832718838 581809214 667952088 93503554 80926792 568538680 658724046 239100424 437122564 159848878 200011614 922439870 901381988 984909358 828155558 108205312 781098798 731120460 786087738 151245586 447850696 927983594 953633494 284822718 754505654 315128612 707124550 704254596 198041650 595789936 686329358 818737120 634105034 722919102 565575330 357058544 322271600 116279664 375424798 368370 697819134 1065096 580334736 6523378 125009070 565499012 926623068 872542200 360396836 249661176 742132862 459797942 825775682 876692384 284096704 722170108 255513964 548896762 702879224 190361128 245484370 575008368 879170854 662171974 290654480 213467298 622674528 633218654 174027852 222830458 961818720 364624364 890383650 970622054 28702196 550428532 814558036 633351534 367254390 693906240 187597702 853477694 623567792 515470006 272389454 74275140 780264134 717485466 300000376 85286848 91329690 119756246 467528892 250605486 177280582 599503256 497843128 435056160 472498058 504299244 815525262 388792382 736088288 804743726 430307040 942900764 974011580 160449242 241437218 590005348 783864708 337059854 870158216 997644790 64168926 887199914 197120390 850685196 501658254 808228034 782578058 702547344 863578986 513587972 70637300 381872912 786294822 530882914 433893552 432177532 841150450 830892418 526626262 152237268 948769578 635803614 285041530 988576248 833862722 989976282 343979350 14424492 307983220 958477294 631200592 331849510 208230000 284338368 949542708 188357322 547352876 742788824 451004336 457103970 795895982 365773428 260641490 316094578 391084146 391000612 482723140 100095682 785510534 368285908 943135356 778788592 195757844 444892312 182947868 647622158 69908850 947569246 576327230 725006416 796613832 840460500 830828840 766399126 767360964 443964766 577973218 75416854 711030116 869734170 107012046 845700574 762858564 465965780 729130340 442076736 970688672 10907870 416878522 800224140 606716730 84617074 763818914 315180360 118837398 88965938 896821332 502361002 381218780 56187140 31738452 677055106 354927494 92356514 330901778 595557238 823109562 419486774 469714920 876317366 160873130 858034748 490115360 480531142 442862990 966249946 244814078 840975700 290872002 579413446 65698160 817791260 798331546 264165324 626418254 483053210 980992524 630918370 663377300 676206268 338822164 437616756 859653852 994119774 57762248 276882872 878744544 581115608 401616078 656472244 416700562 77551316 399575874 915086486 948064000 593555240 12757326 609716286 130680910 540300788 528446740 612697954 296625756 308380328 924969844 987811468 169949206 480565332 232936448 317780130 986727068 130648182 745564906 982895540 421765334 73912358 353513826 462436896 519299918 992056296 333114472 287801398 310521840 85916978 628271778 373522602 287302058 213702742 445650096 854327832 107893310 43846370 340387066 285896222 884993862 799369442 658325220 859027808 338344470 764210192 246539642 628766668 281506970 220875394 297135630 25547708 665309970 781951532 980974862 614766244 613132726 734575734 565721844 878335468 457926974 173756158 338158484 628398178 204579452 24375102 446480424 169384822 957272528 936786678 939900018 198996942 282704998 320799538 223397138 234483468 629175016 157474226 697030936 308262866 121276628 922775950 720371482 233556700 553108324 846649926 162687142 140339666 985621910 242546758 658648532 614956318 396745602 51483604 31800244 454219612 891744644 895929850 318009498 310685994 62429974 358728298 503524722 87821314 965971480 82224804 570612186 353547264 993779670 507570958 72782280 60685506 616594862 304885016 633811658 957719912 776939170 776893658 517322154 414112430 694526992 666516202 573943786 518180034 424018628 654707310 126528860 817045584 675800500 644308732 93823808 378150382 257673542 707094164 67063702 804648922 548265070 491602322 186248306 651983076 745905912 171401026 678113548 541787378 720297516 108571650 701473144 797229724 373999634 44497250 268503284 713304618 582692912 477091198 630411420 241788998 60831276 876969302 835373504 928557260 463485600 699617064 645263304 827435416 81969300 279304758 165242974 404404770 69083268 523044220 91239440 179112384 968684042 14460846 353615646 211637184 384023758 303660506 324275544 92456464 909318826 97978426 295375194 391980754 309159672 539864426 337035876 212366736 905324330 745179524 206556544 849714886 517424978 628003096 946331622 815218408 889807074 535427602 67723968 745888856 161684558 198464348 456260620 790613942 864002490 387864084 665377146 358686696 227691004 852362550 491541894 563192132 634190346 821661446 641606980 784158962 767866260 49963694 17828542 871758442 746435328 610384280 908228102 829809772 161576740 868128208 623452686 618515342 751976294 979201180 464631912 395729294 402922206 334726704 793777806 355148004 1364568 482530118 609837468 829761018 570937612 940599284 2800636 667432464 87297872 465777930 121039140 165758318 585705258 615623768 195602004 875579356 265615744 290437042 234614880 366638530 989199968 827510944 60169550 585366888 62264902 28182960 132290988 977663928 818966136 599756798 173808104 105273402 198224848 93573216 9363934 740839562 63011380 208878418 19105466 450158972 669765668 625520002 4191242 512695812 265162286 460424588 589930768 430360520 34448328 265225558 794559452 295117082 226710746 57637770 56785432 189960110 699100476 848904982 535662684 940398568 204467614 555683132 433533486 82914516 775398538 799080426 276078458 816638736 65304098 744775350 907534972 459292546 380285106 765534384 12222496 15817332 868792442 212964004 342808096 947990846 284255146 20963676 693079664 200640738 461015926 460191506 182822620 206958036 252852878 82009710 498539614 635012048 248884836 30912660 154218280 650489734 917448050 722136076 123398716 377457404 759196286 695299084 66483022 397042400 512570870 91185078 869438490 413459304 823873118 549830482 792963168 3466606 908173574 776379518 300903996 630687848 395870662 714110084 48349908 466440396 735729582 451668104 507312922 174821794 912527190 145708380 714799420 17374488 847096302 687847838 540403164 643902548 690897076 737329946 252886460 476594166 485172710 169826642 867528542 396495246 982088794 397705948 129147192 498272018 612254570 164410030 583137080 369991040 520238652 948759930 816652866 74101490 993406204 444847158 309087338 624767276 908160636 561275144 27867230 876113318 804123052 812054644 753226208 706170840 668750618 595884178 488511570 465960360 714342220 49826946 578283804 278884064 790474912 179107586 326755898 365596846 358273168 892592250 673455960 520233910 524569078 432443928 938318344 1791630 316048692 19017202 605856130 277893570 441249042 446363738 612913516 703145392 421399218 243828702 372739846 17290100 5217094 391562028 946447280 768603992 397392352 94472732 487819394 567115874 13116026 194630626 434824604 587194768 21671334 940519760 398114732 435725614 528422340 727718974 420332582 75154138 990226626 632511288 455183072 526676760 529254228 118858176 174194942 528433558 105202030 348576662 373512706 608066948 638406620 330034988 901165956 793680464 622896908 662351804 628296468 709662424 843116152 840115008 696978584 968585766 531509598 149665234 676824190 680107906 911271042 833743662 937468032 375651016 219617648 895352940 804166002 383122100 403890680 904589324 178731744 282642090 650092098 494315984 789745920 139593782 702545652 34023948 764216716 556610996 430114542 158620308 255918674 442779356 654966044 275963906 230929636 791717420 870584468 377062514 248377510 994792792 958837708 427363758 950087426 837792366 669784204 682705552 63435404 529645432 120179232 461448098 697130336 239790374 742218218 769925108 941992224 574130112 833838762 636299220 450904214 29666674 962962584 752335880 127374434 498276238 125160090 175271460 158073018 507077258 246049162 41354856 832687128 977511148 674237898 215998220 197020822 184217120 29452730 983133236 812340610 144124176 206461828 686161324 602185766 421310238 229925918 161827362 933564768 554584894 491081022 127128620 264687916 979290666 795078182 741595072 943178584 811129992 374971152 993816450 92374274 621008878 878992686 717211492 259923214 690741196 608645812 310047688 611748636 617023748 375691922 764290182 238947468 483833786 89127334 106295776 971063764 109268366 21657728 787419080 642601386 465805426 513467746 662003724 377933206 542419792 188904696 965913684 337038920 376455038 58304400 141631398 857536088 396470880 179519246 929135920 665313618 559712762 488109532 240471774 5888470 119142038 653611922 608549204 7529868 45807486 93718164 642605794 249046176 719462534 966154190 172720636 863193622 550516490 842625714 659233946 988187214 17938432 236424954 721712362 426404338 463669330 730209648 634486458 581289634 963996542 915723584 26718824 648951452 757192192 50769244 734710326 193822498 511954862 884009098 45636062 882895280 905106616 555785956 698178456 951893970 742273322 51119042 889317332 229560172 644217828 457725226 342327630 757249554 486774438 833265882 126734678 203250212 927304232 579455428 734497446 421208002 388743806 191337298 649377008 582573426 842715288 897316028 865583738 103813556 993418734 147231920 953603174 411454476 33297798 727896906 951450306 377846910 201236284 451964948 450520196 54317028 286664628 237794106 666363464 778932348 535462214 679148958 989080482 852065674 544160214 742255698 477110072 808197658 542612198 875569454 246326556 977811784 276601288 872276398 259615350 40821396 355896960 540971720 689842934 385335662 463406662 164457948 954291056 18722904 124854748 204289476 763978992 566521076 934721218 602888216 983361234 627723416 496842338 234430952 411050690 695716554 984036112 618225922 383786700 32029084 267488074 304688442 820064136 492207748 15411454 730143222 956178102 841393090 208316084 207902924 90642592 839418300 896528 159683170 172780394 446744286 895287570 79304234 240475306 602834078 413922162 779918238 23438848 526073368 473805614 332240786 76892578 789497144 897030828 238895392 635804776 714753654 602641328 720509158 579757122 793296762 293694154 766514258 186093726 373228084 305977436 58818974 402670510 186377934 35436318 794433370 196978070 820322416 292532658 912042306 547300476 814897158 973208530 518576830 555724424 373400952 253601274 536439106 395939018 836324020 338112316 963059562 870617558 874774454 285957266 4737932 397649178 222447380 15144540 605118786 599164388 194819218 393317298 370549314 94015270 196156110 962709522 547499076 170014310 330149450 1232134 382686130 466610714 954888058 484541016 438161476 349855488 919932748 570423762 492889858 455045058 359981880 426790002 623742808 861913170 290378740 472394768 336915352 69948860 448408182 438154370 501980772 505528934 295954490 551282322 987051568 169256102 328438312 682311988 936833346 364150964 645425470 509843670 225973174 732479002 332749630 747490228 210446612 867560162 56573820 844310392 379427178 962200086 887464536 534934994 445100336 656055940 379480872 206643012 450804954 34100480 85278368 501174810 101776384 254488600 391067032 254815952 706790176 802997486 102531432 192877476 536441548 629529732 239638514 994747990 554496168 112893772 250947202 467300206 183154882 785515816 256478492 195968062 408421050 75974754 26025500 231434274 796879430 91934076 710260928 917936082 956443388 526654120 21173264 75865120 709234088 482415850 662101554 698482044 968650616 624270466 4306380 636135726 8021694 246297806 459489374 403748062 535053756 676534038 69195566 754817856 224842622 125570814 763953894 266666972 79311090 908398644 930500740 595094522 288825908 121728862 887460254 138375790 583694596 6594932 387286768 567009904 896292058 507050042 369922394 220242332 791717734 959659694 369159562 973034080 161628558 454936090 879246782 195164408 437980204 267269586 261914018 124214310 326619322 950919752 875819376 560042730 501573716 152786182 312468452 972874472 310419100 429635514 670518568 315804326 269645166 462413242 893109492 955129484 948908836 586146772 886349642 903144524 7350232 558439260 146621200 587061050 533474296 150267438 148122622 963306652 962404186 18696154 90451840 372310632 863651118 684841012 602026848 862665186 6723642 790329266 747360428 540548798 811408168 769612304 495672414 216162992 270251542 418815868 199003976 878541286 506983804 842734636 691786836 940126242 707897524 587939674 224051298 363880706 466250396 672650150 774350326 162098918 263826698 54957078 193598386 968800692 422617762 850646328 617950892 215361578 885805080 911168372 521316486 405208974 144405966 437579202 127147314 742917476 390653604 866493896 67094934 53272524 540034980 1720806 714303870 448335404 33267888 735986008 285349274 492089342 487401228 201805240 527637682 401482036 259721992 395102096 524861760 170231706 620387658 368666544 955678194 160468764 466244260 815580652 447234396 988422644 259949394 346207768 56266564 26130378 285337686 479372320 302027310 103173620 866223794 119808622 844536596 57577714 102373396 287260966 812446406 141431072 189918942 414009012 451076702 162392368 551418994 801015130 752369154 761318958 131001894 677691420 504551898 671475980 334162648 481865216 358438480 148392328 621172012 79917846 490630026 991448518 181605556 741810926 537659422 591517308 279326946 263129676 867069042 463771776 472722696 581022780 996707118 691183746 630274872 277339152 665015244 220341598 15267968 407802576 744399752 859244134 521913156 255598942 935021902 740357678 915396158 825648636 159384366 291238222 98683438 439290310 954843952 916704388 263411398 521133720 943166174 741227628 864046206 230608778 486365522 302378364 422957818 466864574 556093566 748455146 358414520 667186922 782479668 989916574 744179752 268862216 192928632 543575598 263405880 732148558 543457720 451644524 436943110 165405546 457516422 405295038 964144054 936798264 915502668 866902522 54750214 661774760 23108190 960218372 975874124 507660494 725097798 877266084 804948448 174862360 398806838 448647666 65542986 999197906 671366062 829557366 531001980 749522730 886527374 500355348 5569674 201166124 256994854 76600820 473126378 240827438 427550688 694438576 565688776 757837802 588268816 717765900 14033118 511939288 757446150 388305486 93646792 956791066 930419358 554090470 192327830 999165844 495237174 848962856 13444804 211075276 102423774 686822028 97717998 245429216 765725160 901873306 581166846 364006236 818428238 348916518 261737210 813854188 881972844 772593922 82659010 149252664 521174662 803938578 66675852 114236794 754795768 273345410 428930574 124480760 562700140 776235378 261454154 955514166 306950332 557935438 219512344 630175338 149343506 10663140 251847706 582735296 597328196 787795044 600663882 412013956 823821692 780434258 897595492 413072364 709785832 814333952 242706790 947963878 397243680 922290276 76484436 984290106 587781272 426140142 388167338 181639794 80905086 655625200 411079330 842129008 663096462 251343552 763075988 363011514 407017614 685862266 262752636 203433610 178980918 990804360 341026648 766474368 692675110 917183524 76322838 786130562 940455202 102573348 269230464 92484078 863457958 741276282 115284432 650366380 761962490 701688142 561457450 634003478 801897624 357051248 854140694 918982138 399934806 10479120 538615340 886785414 922589280 621009048 256879532 471446630 620983912 447746200 130213522 184717852 475067008 279899320 899589258 906513024 774956046 315261962 8814956 469605166 918855732 892103912 916742714 646712416 123267098 373093328 781192234 1722858 649723348 886417074 498295056 971053224 28798192 886020340 136554084 530898148 689777284 954812196 585418858 105717204 19894034 206265322 630566064 879465920 525786190 394318822 699882332 316654500 879643784 529012552 810776598 579258222 932014584 110361326 23007084 263723984 702418036 53550486 950625596 224807012 459835912 479523528 855476474 151996658 162985446 817590104 265307916 436866406 586477792 496972446 22115280 916022600 900553700 922371034 572300068 438514672 552994952 979460094 135507504 207376554 226691334 135315166 737693434 673048760 42524950 682463756 409750676 98452694 348103280 256676096 67649438 491913810 847182438 824225200 438192230 911304498 422474686 370945082 358108894 985048158 42405732 9250204 944504326 758108828 227677660 16275974 902895298 347593398 824831840 513067756 418870030 150826032 100884170 175328146 848462832 633842864 522741814 170664324 784105654 80839772 103874338 300929860 51000602 194046446 762377392 399159284 164329960 778999768 828052654 716507658 3699932 447511968 391220624 903015860 821476526 348406794 562316542 406709626 553349610 903495410 3348606 476771256 314696098 504792788 847466210 315066054 724795860 960914444 672413646 300234770 854427830 965249414 885674320 334796526 358429544 253322948 969380444 129813164 503599608 685300904 508594902 923726576 838140930 577068006 292501864 954228604 784337676 947290054 988259656 671215754 838006648 92216448 53025954 259517174 55028552 503021882 249955318 349319368 232231150 4811148 338551516 807465920 827757410 558323588 262249218 750145962 47562106 407836010 516486352 538737476 296864620 865626800 535929638 740081802 254245658 615417148 342645882 801459660 209058206 434656270 661000054 352836664 328016494 221249164 155706564 437584530 600407274 122288346 611246436 339147732 195829374 152028664 152232566 793793384 276070852 458275428 49001984 468280268 597783164 367105894 720263470 125549242 874008734 22727792 948081998 519154120 578369650 923862378 479277534 358596180 15456886 769541390 32224320 140068456 900071492 666398516 50928048 515711752 318116122 565210888 585266816 608955064 191856214 502705106 539530598 198589642 804964246 32890030 840643772 168965964 896925688 294373352 965612962 604422860 83805510 466345508 463242212 971054840 955257650 204090174 958438314 229190516 970707840 59148502 727846966 588069332 706646092 345958838 479723062 957257968 491123352 675580900 93679860 634128808 39148978 7333072 326704550 859932132 787998222 165370460 339994820 686365530 532193312 341448824 566717660 670312876 466570716 807814976 709360280 875769156 97202248 508278182 620808912 498560392 188051310 625960502 114674792 281050992 446282278 956496716 739678534 330936704 375724850 886027154 144164380 211431630 327840306 793362130 729377278 651502676 169382240 48010674 537449850 536156610 193467392 367754132 854760942 192670632 639311658 723006092 425030148 59323358 28608512 668320976 829311000 271127824 937145238 651233628 90579378 327749400 215027676 686454766 736234270 959486944 846579430 600581724 19578944 186429296 184695320 426994520 387447278 523697710 369542140 932500188 664570602 293899672 868034328 659499564 97849144 3418830 38656326 124881930 230472790 946916810 192526376 878308470 314523872 747501070 995669892 731077634 19546452 788869380 38170206 368260536 761385722 230806128 971623972 931806378 268973788 207264374 964140654 303490548 503467560 259037466 813249990 107924866 954839272 835081446 763258494 221096292 68780602 84115584 349777050 564337106 578566366 826748870 368531874 568674084 351128968 347289518 477243340 375521070 475980100 306556326 445027784 404562552 707287948 468170790 780098376 899030614 622784652 239451818 967733298 138889702 754567724 730096420 958181288 60866236 167527808 37780080 635310480 130136344 202300798 599595066 27770070 343782556 21662636 909411492 64241304 784958170 993734064 959502222 538305842 467812266 620486622 150350530 548937200 207998940 862522256 708314538 227868250 772976540 975198130 775586350 628345064 33924658 360848050 567634536 378122380 646647472 778174572 351777886 450974734 24144194 478251578 633385798 742049104 152638716 947306910 971112416 556182118 776974422 669935816 455770348 657781104 384088328 325668998 87595616 407317566 607483632 145358004 453430898 638474486 100680314 720151410 87178814 429158470 491931596 834996220 91552340 69686086 255985334 728191170 878528822 450740656 848058228 543969236 997707730 713397042 935254210 342981746 125992050 110084444 894845200 578449264 780534344 506266012 779651492 172514436 576499016 941447818 127763624 277321562 479920384 572260716 530751148 696746650 223825220 735249332 623047004 482498616 603813790 695730512 970766202 556365580 36466496 369875756 516392894 630196822 255966274 511545342 364093700 73799248 611680938 822224902 737433432 477509524 624477738 425218934 513298980 760516732 847078716 265861068 505589592 781803296 81454826 736461794 383869078 404355026 372249624 692340876 986707438 837970832 631177560 306598714 952247628 769072698 531671146 8361320 99360720 401605666 89920920 422894832 135285836 973636186 72649146 820060294 195484094 937989110 970648016 710673502 872239892 83460106 151103326 37845324 618181294 995321186 373557736 461829730 228189952 831907258 722056192 604546578 776188480 873521378 904249746 552868396 976230650 392583400 479111360 355186366 710771964 721413626 85430490 232625188 976960112 850949760 299895436 377541938 80106298 99036558 118982284 101073494 899937838 705540612 159002900 330904142 758461492 162323066 545315216 119566786 199989184 4118506 690771162 146994430 656645838 610492766 953400978 283601928 69021400 139560094 186889216 125520262 420186144 135615562 735424662 15857082 168438390 582277390 441633950 188412038 326126150 901535892 842020580 449300200 592452682 655005856 34398452 234111396 225534696 30416172 639818600 733462326 622841088 707760266 204118956 673001036 364178354 911207186 862081620 871074412 768632896 546841750 424588132 58323266 336150818 352619788 230107872 301251910 579240836 560880948 484212054 386832790 383820048 93599274 801933068 795983262 11556924 863235642 468909652 129084678 595462446 117902050 955075458 504616384 744880630 658488994 107485956 341511898 346436010 698206104 140897302 43678552 988578138 137480790 266491554 308506958 592525822 784358132 45406792 76900178 951528676 95199392 605715266 605956516 494346292 806201016 517717542 458146044 746130644 450883184 324867134 475761900 814398724 265231770 409928194 20063738 917248260 295008854 801476426 446027310 585326478 318366660 421950588 37336096 316564368 356907100 134193286 902662210 423075494 850511818 956817786 735007064 164847662 962605544 345108914 928569956 456686752 973194282 431134756 902989400 157184852 493931130 496803594 854719884 183799508 444513172 951517666 233431158 324799058 443827584 105122052 958660644 950547402 819020824 760545794 961457744 68895892 370767830 43328940 122573040 115029824 425520226 772866610 64404858 895873116 571109944 284912380 837873946 679434916 167810392 560619744 623904776 874113448 607919786 100326372 395577216 806743996 205269596 346737108 640798420 872699950 988335668 130280590 440352300 719434074 869243350 94875832 636484482 315197850 391498944 205451782 22012050 465166922 839947912 434139806 855157896 67481302 892513910 273032424 905168470 353344288 570929722 661318424 472285614 660320306 685427986 954212264 827959396 575508882 451184030 982197234 625552644 158659522 515998308 985217984 773443758 717859410 862654312 591501348 93848370 9627182 22325306 897461852 356414572 928713316 888852828 64802474 226967704 773547648 233705832 693007334 567315732 136825396 557727024 451369666 218160292 223341372 844498398 867569324 673152922 832615812 454040668 37170426 925512964 442615244 748591836 36736682 510532090 721863862 1012396 664303078 650262684 631470714 627606558 348463594 678868178 570675796 412347410 699056754 474714624 298294896 970287178 664088446 231043208 898770942 580174396 546204364 155974052 189772208 773616896 958116314 700677174 891460694 178723288 299025746 122797052 851524152 68500012 727830058 988534240 372233924 401476098 554615814 980053432 628132322 273324432 912053836 738825734 925572000 336729874 970556448 581190834 778132080 962589022 921076746 377382086 577369432 850465784 960891974 737300692 49391042 331139962 616557056 352499360 609499286 877860884 741779854 54066226 873187818 674979914 995834204 837752914 479936780 866326872 946667976 577763078 123621840 130191704 536561432 716283764 135184098 430455864 591105456 863114922 905038578 390265138 843181752 542980678 813045892 282493488 757363860 196866282 138732860 649337348 276605670 375016964 625988674 257198638 718834368 25837520 604817350 728968008 405462524 190042164 125026704 73904302 723126152 698575102 960123408 559151680 625559054 480212688 507524472 976884740 55542312 275420516 353748270 672475214 491975522 830149586 904054694 398916214 551218474 125703372 177511770 729360826 899310718 457998940 540577400 295981048 754159036 126439572 238211814 314006890 856711128 490732124 433212572 394197532 777967758 158904352 169735612 716108188 447035340 370989428 172445244 911741476 295849186 662675408 515802678 243504436 839778604 215150478 908459192 573400502 845074562 897647656 120288138 551839464 174897652 200366890 797861110 506424194 125436664 487193006 931020888 405640784 952548286 904227718 795659952 314435282 405734534 103505006 432657802 861068614 373302978 70514050 813920574 461005894 83177560 699173084 459790196 468488038 478544724 498975756 977026862 226858476 658366006 740419470 802775366 279346870 805471926 259584796 30371980 813656348 288955236 370722756 430112142 415724290 344716684 274549560 303384072 186786440 300827042 378431652 783585090 967332548 783326264 409029612 410840164 554439046 934489138 59355788 503093876 859765386 936108604 841374860 832511270 422875078 58128130 48048096 194925852 772603194 112468186 271571920 739419384 89160748 252214512 425585824 21735792 528108930 233329824 152120306 552527856 903804074 530140150 315711130 425174448 232255838 28658680 594706502 550579580 612672558 812668536 449913378 27118470 168015096 863026890 51714530 725244884 515691606 667896834 423378102 746472848 773284548 119826322 506937114 45780022 666519098 148018248 625383512 494972560 326041924 808869540 210239260 855111334 648490744 348029658 972302686 248017848 87858058 930163698 871262172 303794698 131957660 451876148 725420794 939737740 206107598 956324458 394881642 958289334 486861624 885208724 405017714 146861020 834749042 538742966 167610094 605193402 35065746 455786734 865563730 703584868 404501136 477811902 955904624 471938958 723130528 967326758 562167948 611345316 77877616 763610220 302623070 612164730 363464054 154440028 297739226 968477734 98357690 911680524 35531516 154804424 419917886 868456470 132542828 293485978 886336436 449428746 922764000 482041624 322868098 558085136 343267724 751014278 91695160 668821796 14965086 22876074 968191042 600042190 214596938 766218866 247775488 802261678 632165376 959471684 185688632 414295782 540823272 710533994 358419028 327517092 423184828 22041112 225341838 763035496 953133620 275268386 617933918 162870122 5919624 533883792 433209252 176662262 134474542 946828146 863965156 566733442 127923848 893072824 330290198 954410178 989660044 901872702 525957028 217287480 111151288 257270684 97040550 69158224 731083208 95083526 963126106 907039082 12540382 254513440 340968060 425240110 628166984 705090598 985302226 793286152 373565632 70409526 917975976 365525510 749258334 980976544 624456468 447612116 851708214 866884202 274545598 523352640 807756690 866994160 32779628 859194860 724260806 662491608 213333536 930513870 818483190 494369498 347298736 329559726 374601508 17739148 437295932 65028188 501212586 339173672 167012156 779809750 39011582 823449348 723733778 225722000 956692868 862675032 727612928 829352640 463466308 156791626 229551646 728337316 116069388 5525570 286363954 598974832 35591900 581911164 648684568 762476004 77149874 497789378 510347088 869158674 537592558 144769180 933566196 243887820 669768278 569725378 766911800 478602288 992165410 998429698 251536736 393662886 142675732 166740320 251295846 190325326 921107958 761258502 749874932 319820342 142993820 783843918 711128688 824552256 537181944 485295872 800081924 56789364 396420434 888978730 618574670 478639698 527808546 547849568 900505722 50657046 365888450 691131388 753499184 794419266 735007456 55867524 903475478 990559328 858768366 260132734 475118046 749495480 981827664 563636632 943467450 178929832 172091388 757885730 222998032 474885002 641530086 124600372 623171290 430397146 696796366 55702246 350626110 158334780 267703170 458725276 697299764 647644708 340551714 350922910 347009356 713167464 205826624 179443292 942959980 398406482 467096022 835367618 288657744 588582140 138799750 479483416 640714602 288185228 690822786 119330656 141449218 650486356 922912172 963526222 574649250 652393698 569405466 432372480 633791056 300927086 149501524 2607416 985731166 575679268 851787758 239409230 285178432 596067902 680985424 449997108 433769046 897643282 671623904 336584860 62294086 787457354 954427546 329730754 234278506 337841722 399447354 296435304 395323748 101363916 294230976 405366778 510747092 980524022 725302628 828360882 623160906 209455180 529775346 877117632 564585726 13153914 606216582 768476824 78715696 549907660 769140964 666787542 940121708 193282434 93072326 26015324 147428352 565962748 569409286 213739770 911307434 352341104 519968020 83598826 671623688 442946536 947566222 141569918 390781538 14819858 103970764 646872982 433474054 268819388 463267114 283629066 311712634 89721928 12228528 643004108 49236188 626517614 76261196 795458248 829923832 83239300 703413670 876995346 819982202 627753198 461522606 531669808 765739630 178438388 453938786 812473520 733301284 810516470 241855120 855445198 517813104 18629262 572475604 577456496 879429874 854193548 879407228 454916664 437141804 382090616 869575556 666795648 14456020 441368240 410384216 166599122 738090714 798040048 918643392 607670108 288973488 527850896 130100984 447446546 293471984 819805066 519038960 167660278 802710080 64395788 279245280 184506952 785679216 980697072 347836748 654665140 700689388 919149400 9133786 568934266 867972784 385834076 425118184 914672056 67353646 239046434 5900040 458861918 351937824 202205608 92250514 389680226 605157448 12030376 475421986 38308550 756611812 896580582 332910120 83848656 692972710 490246804 786222646 992364236 643588076 775983118 329891436 327869072 644363790 90490158 846391544 425665026 839478716 6728462 503151244 468419408 353372506 533603120 566004552 798648258 839646384 820089654 358134592 248156202 829813908 476963854 515946766 764328004 593461570 151198224 812689576 359891328 200078584 10811130 501448622 682155814 672221114 133641358 350348976 925525418 258197928 648876386 950160070 836760750 722823700 883364658 517376488 990297942 816819232 150184314 675497068 469254732 631195464 364237930 540694238 439241726 401416142 50250994 287658112 672742882 32624630 734619988 934055724 421943234 21619394 814131336 440472186 362743590 653439416 71808630 900249986 104385010 391770798 652234766 480417382 286922418 852915546 874024892 620886202 877703454 309229582 286184638 66877852 440284132 226223820 177844258 861649210 795302506 436324996 195576424 219125412 400532712 446110424 887573056 895160784 446474558 552399576 422371770 669786662 296148496 913825312 448965782 508833828 596650728 44464632 642413438 635970988 869699766 851956462 500191088 121648574 867345108 993592070 697890590 202274358 695300330 170301144 216949572 705700664 661715082 191653028 376121502 809293092 604488254 445584388 266371072 353632376 421496906 796619200 526390636 40580754 875228162 422963954 238515038 749156276 722929626 28970720 507141530 280626900 797577758 538291864 273210102 599728234 196459438 702567942 601422684 359398800 105508024 154053564 846083758 61716122 143202494 681922728 104644264 20109466 354194832 430812228 213814472 353757488 405671148 709644708 626931538 98890176 733126158 67000098 972934608 213444176 246597796 428850952 38068358 597840870 344328786 627263378 644062736 802821820 906807188 669690160 278090658 204827814 595102254 84120120 19991758 268731870 816979532 185704986 341837972 127631778 206822226 771677790 819958580 339840480 161904334 629557658 237580576 567400734 804623610 948540714 99352128 869804970 275066078 562808562 246562672 30757542 315512702 420602018 374387242 478496738 126199076 701161536 736492896 641117278 852642850 228146566 649552152 788301214 292958560 35593928 167014788 750457952 764507282 286058604 888061116 679874288 495359638 544752772 14925370 213335634 518678494 548233388 673553268 46227946 252333774 22953754 33146298 28869016 414270388 763958556 508000134 478171086 98522114 672398904 554620418 261280258 994331204 99320014 482738372 799202818 998973508 116198796 57662596 486105412 510301084 555844656 352724016 748883218 665503664 523121966 134828772 38994878 456264464 388866012 941876642 72275524 147330080 930922034 278139808 191768990 527495912 271445698 90333666 249271828 482829252 587852868 908247338 571110168 970431888 338403496 372248076 540065714 591785594 741396746 474944686 873645924 49587450 615352274 623143256 174435710 77302236 216401188 523555006 259527026 304067394 925068638 810994926 144866720 541153054 136351244 477749156 377914452 666094782 111945800 945201434 678349432 826194170 649922698 612561932 989819002 774709698 258190010 382201862 965145134 799770822 426879172 676311612 378498392 687258772 275989468 838945354 149912582 313871402 614235868 352261166 245124586 584402976 301514476 164756546 807663112 696609308 194257492 854369180 431761814 431296060 646083136 718533330 230050228 588830398 55816834 398317138 874927392 486654180 131143820 691575558 256076212 355385532 232255496 717034956 17661008 261433842 38313368 2898864 92449878 103737704 440737274 259476776 874004124 295627052 595807544 327414188 502982152 277067960 265425184 52227718 904215020 233069038 387942192 431497574 963547640 68691888 711187998 692596348 643214574 472270108 481906520 872121588 229889750 816102110 978521918 447730988 375173150 586632750 754682214 26212530 936549262 217978254 671799184 165747308 970434990 106904216 160065678 775061958 724791702 284677314 124452084 124699448 233601412 278479128 841566974 673435772 855842422 384911748 37734244 348803646 263137360 972462266 624792360 785248644 692648500 839049074 879918856 24249032 273215850 232709112 960024750 481850510 416812520 906519900 488825786 728674618 767019892 673736740 328659186 180151934 397306750 884331370 53586708 503920520 815117730 200440676 903413810 619835972 633866018 266307940 114463330 370550006 191452224 592995642 337784546 48458828 77929858 416470848 842395752 512693620 987100732 369443784 424607790 579845750 315683634 672289678 469072974 433624932 90775652 892290648 310142032 203927374 714113812 760598476 100627414 266844778 348299242 289103504 65141716 977507638 347634808 181928158 593084228 854275846 165815258 447957776 170105126 627274518 159929828 862708148 268785114 292106348 252263172 345950028 735243566 836941214 583877958 153020322 506613180 941562748 627980684 486801192 667159026 62983048 650768562 604285136 672578810 339513198 178342308 291828366 360131498 866459846 516223614 342187816 461969194 614264068 211972972 825129516 576332896 541102194 67154078 517186670 4081508 23101168 286006036 761004742 931147328 815154486 416901662 397473430 164982014 236638402 320794084 669505650 701532412 738316454 170211282 828789896 69615342 398913044 430941190 442952486 495707394 94145580 334628888 629887870 480911136 785765942 315466570 542079668 947908822 963513892 848415770 713833586 662659360 904024028 309670802 845020524 745064096 465027580 485365308 742786354 462048206 197665528 447775218 914470650 443107610 778636940 419400398 979859004 914338384 70694670 145166276 70519814 948856272 54903790 71690192 210945250 15654418 664740414 240306966 486452134 43247002 364657630 876934156 860784606 784090292 310518872 833924496 72349264 502669430 251921182 669328752 840841330 599962568 445527650 590779590 597867130 475574298 53483218 700073110 621068992 556510776 581176666 952367178 422331588 180029280 624807444 987783688 855818228 492310082 841357116 121776936 864854040 762562694 879269950 819845180 414843096 445342702 292623948 9708148 808307384 433680990 587126342 130497300 618702384 335503900 407811064 719937092 611586264 918759552 986255722 209445222 839777570 609520434 408902406 649785478 474297628 324764328 45635648 787529240 146724090 865595598 711250302 929826366 196982610 519009786 569398104 770423522 48465044 517566194 475787046 584454404 298781784 424153164 587867672 551317230 184672728 920566270 953579130 976219974 418038484 68027094 930031818 258731842 832425252 717218020 125160964 758562122 146894422 70085046 232151766 728093624 612642656 656632078 615574470 706594626 535938128 747871666 325467640 693455474 858873026 526051240 689284842 619327048 707662610 615248296 100714344 893301826 266687888 42781688 43481124 749868510 534540346 769071918 354729846 74914694 649329006 910240604 10686644 784063964 131080312 977738252 870801812 679396148 329035460 260972644 233456548 376168272 914096600 799742452 133463232 219474358 269987986 720591768 443796760 542217802 729146876 637675466 229022410 952090984 973360908 28966638 164999454 662486010 177734954 217530946 461767068 716987886 641795014 156029116 545088034 587469342 319479830 996395820 501255046 17685612 454268096 313375020 649972786 995479390 530659646 197769910 635915676 303349606 829113080 698696022 496662872 421573436 158226290 421000052 270577882 376642528 517941210 152035794 346755608 829792358 412670082 210787982 336366708 715419892 893626148 903667798 402943810 716079410 200481698 537132096 159168672 490406774 4739956 4476472 380215924 136434046 964966270 39191266 934231728 369030120 781890114 278516074 401536522 166498724 803171822 524861696 265280836 667120284 617256656 619722310 36585842 273442276 213836618 660508626 353771514 214136840 922276654 846533962 342556648 305864802 436529302 641357242 352031930 116329932 231095202 320482780 230921660 184772860 32879492 603668004 564205142 948475512 268308248 959753330 211831066 359849048 34269758 55490398 489376088 841483518 862486582 98311744 957729694 973240506 309293854 925441316 219572402 553104914 560011446 701792260 381647514 62779048 189743914 567327166 511321050 824679868 191731480 340185344 506769746 709364972 750244094 928138280 304899102 131352278 586468174 561933222 890089692 285016760 591193680 172335032 959362960 785976882 442985282 293661640 105707424 66327806 713424730 499362786 101951534 686378122 740828708 133255804 725695992 733488050 821110858 63189426 887347274 592014226 291316232 779602986 314838912 517496492 224130286 704321414 147604678 949339170 896945444 86729534 379817174 327206578 61171794 754725432 60226874 684971070 192173622 288513632 611061120 688857792 831926440 901050642 821211048 499627504 914090288 52924232 719991026 53920444 220561398 488642156 36268838 664734438 887058478 152904176 139292974 282935778 737187136 897928578 920395368 321656694 258723174 759751860 997285806 497565292 408200476 193482704 171754818 685322906 675559618 505003268 784194406 821997114 810237780 175807004 714285050 54872276 735249060 150759362 378646382 919232142 91634846 682373244 114263854 500624966 833777748 384939654 325975714 800748940 347038638 575598564 285660708 62070150 123017016 530766812 159098652 106917658 714170840 145443166 931059846 639502182 986776046 70547256 559401598 679762568 412792236 651430154 734354950 495578960 690017628 843621384 350027342 58386194 520403188 730533426 371094908 980623700 222082814 687182902 707153194 764565248 545101838 927621246 489744424 649008562 954683840 80628436 899079068 989131170 460322246 636260914 235614928 303006810 944901486 534687194 134100654 813792594 364892732 983804488 508606646 523953408 445015106 965255894 801045976 978379808 659458080 382429690 71167546 536783026 598559214 764656022 643280196 615785884 169853020 614823160 546899868 394873082 177792482 277725084 244742116 940197162 55736550 578182988 14715964 687082094 436658204 274563240 601378128 461597968 84858558 689228616 906884788 492461754 390939758 43715464 645547066 542045026 601788272 461624640 910828178 835173098 903475062 327673100 880303388 814004760 352721592 631079584 530316594 849864832 779468514 48814956 363705104 906738530 765605810 392801730 982661636 106935780 745640166 400273634 621985198 605464996 341864218 643845022 20547840 995194768 664146448 752503918 229076306 995949708 44524830 86290754 807515624 369277858 66176926 906264592 591157026 15286610 411698420 873843678 624752764 951635490 148258492 267290156 475307990 98115460 2977756 35090602 758630406 655353024 196785842 772034770 815945916 243855612 42871974 791378746 796919228 739890720 56110330 321998848 873230334 800146168 795017496 637481278 310506402 519616682 734351246 932197458 568958810 513810444 213847720 346739174 446136884 411551248 475769766 514711760 185539732 683871712 469655752 826694870 861380984 697927810 647911550 252444684 59344860 145400182 103102974 443039980 371328232 959743710 618386294 641597972 38381170 327002850 304766912 946721422 127107010 607845940 233617332 755020556 967740660 93172284 834260558 789063014 129057228 958444664 834461406 843990262 898637446 782850686 682599128 986812016 925324580 528911850 125537698 387750428 882488010 749818648 176090232 989721402 721218966 392633056 12807168 493637124 67553286 158481854 383945336 386684968 219529104 366716784 996023862 149620092 41804856 233373770 256553396 880742764 628799700 385382010 623058352 345581498 842914488 355980862 660983404 884194384 68339802 76984318 347091232 486794958 744938604 338531342 388054876 594402286 403798004 478205370 881788312 227907344 88282770 857049374 919656744 192786370 322435198 925701920 870733742 726860488 44572220 131253604 11579792 395976974 771886276 251442744 126486492 853787514 361463906 541754318 448141946 828894860 480417800 981906664 290935000 743602968 468535032 700925292 833304298 103872884 997511084 451176298 216089734 991114202 17359696 269505836 781067314 521094300 127675708 676132812 712731982 829453424 55216202 801779644 167682584 298308154 606075102 840624970 5645088 797934286 515086650 178533208 59491498 521702638 87470238 673406784 183421202 912231038 453453160 166776206 93882168 771807656 254214774 502971616 334713118 969577718 432018146 855067864 963200822 587689838 727078020 820237392 971668976 745165594 623469138 783100186 886315580 614010766 264477124 462790062 387718994 621596850 116317658 749620744 355565692 931656820 813583018 22298492 227038166 102962056 168103814 614689322 550638686 523675480 305998340 101350426 425980536 508807248 772111708 660129110 691596192 779271664 599750426 209796074 978293472 558913406 819899880 474584856 571923174 603430866 616321088 521868578 891100092 475659582 413350126 710228520 614732218 878899160 305891714 439023522 867716198 92958268 527500422 101008630 358814304 879339930 273289106 669318180 544995388 82230884 75208612 374465662 279027156 531648964 524494040 809995486 230436970 857032208 277409486 117940352 754537392 202556904 62595390 64564946 154340048 76181898 861102358 805661894 757318200 701649334 828450302 397593470 578343900 563190206 413825612 515071884 660820768 888900170 833777470 257935682 933171484 816377088 266629096 143691522 786747398 27916530 687418496 415094834 852763286 765792816 794492470 65266544 989803496 968621842 318720042 728251632 36482298 496331674 504377128 216053404 411482784 113612130 917121792 444218388 55505280 133025276 265337186 199473258 980536792 588346276 223023750 630838854 647308992 488179254 962431398 605806198 181975134 767806922 778681732 504781132 45058306 125293592 446717292 740514374 260942912 966596390 396610346 398974314 731490770 300315410 203352184 675021086 850266760 787278758 126340824 686391702 393403622 39985124 515938652 732495930 122218968 930941458 222095174 928401162 694795642 659749776 380052842 109256902 378534514 583923640 685581648 927072496 982714040 906789306 367492124 927199806 602714350 848792028 203020996 690307114 8168308 773952212 715974720 184678658 678068892 796810006 74411826 755066580 533130518 952784636 267175228 651393336 106769788 887597618 559591542 181976630 195737716 634004226 904547038 574075576 440208518 41964582 521405048 6621366 618204204 863029448 28674030 170596220 830352112 232415700 732148074 825001344 923166546 337346316 916899260 191173404 390393210 602756350 736431892 958432100 453569674 729991430 706052560 166934 15862954 744548620 905834834 743407414 125659740 168629522 573689646 692377218 443875840 417910262 228563446 359524736 291814630 19759788 40992576 624713848 132274144 518307562 247355158 495330980 185987958 654565372 412937166 872067086 244653196 424956314 802875142 669624942 88194834 522818466 759468852 805087382 625352516 633449072 461316698 827841986 586935956 747088242 503932792 962813510 27132270 339183994 784946550 251481404 579571078 76206658 263436362 294280814 303770978 853971626 543760096 812632218 564948942 857797190 112502454 86136316 865787406 492309796 286385730 346504628 318540492 375666130 557901886 48007648 385493080 386219146 304073884 155874996 826044480 571329164 781117562 524780082 51900546 395549050 710862808 807197668 987059696 670841020 584018788 206603974 898979282 224190060 393504316 84558962 633672110 817239400 644212126 704527790 612896958 47291410 53678806 29249640 513697504 936413350 620802224 803897526 688057880 893920702 894461766 389158922 333776114 65352466 371250464 609488152 836087626 300218652 202730186 357804044 34103604 698188784 584242168 907591866 343675118 550148700 494469460 758069740 710104412 553771974 33538530 904827192 866803086 705608232 131568618 816066356 361478452 113839242 133858402 927081020 837912412 786191558 530320244 712986480 932473300 939998998 153550212 701147162 106948186 750607146 995296500 851881978 659413638 888464988 573905432 635980280 859415992 773498758 959321012 536179850 901096434 602948190 386462870 168957184 199251544 96516054 769830558 148152874 351033688 448417556 603429044 616400138 87571656 334187916 641208926 215022696 946807678 565192482 594475400 867140724 879556054 363702482 820211616 183222722 184369276 698848822 53947212 621922082 380994990 617495682 567083836 330178800 550359072 318366682 404406190 934620030 809670258 676316854 536690938 495946270 610569322 868027554 677874378 338201038 86729910 140759164 532742730 461334702 27475856 150852604 892749670 693471730 45970638 161609024 147352072 645628386 70855182 932704226 334635542 807373054 445725800 636203838 692920280 277509286 160053168 834243566 574143526 790628710 942133786 491664712 234582878 203351932 626712048 716573906 398475568 553803186 397452160 302161634 211788170 72556912 85228164 487522224 940465122 174203802 810879886 496179496 700272842 626961870 878489514 869697654 789966580 622637960 568924476 534900872 989428950 353904048 384906460 706187204 279222098 762058484 894491700 830757936 166858726 833910220 448518182 132979158 40424060 673154598 476175018 657498892 304115528 911607226 5263970 46284418 268580428 510811524 478199812 712062318 243984228 107722258 667180714 420167676 118480566 281221062 664155568 302372410 298858950 821572018 561301712 111103052 996428094 268829220 42831536 392251712 663138408 162131948 3325706 853482200 548068800 276040358 708847888 470385322 769710740 831074860 716771358 874829182 181340832 381018176 882258818 356315330 194504888 81124218 732806190 897869000 928823814 291318986 896670098 882408286 646184806 810082132 348207852 367072710 530194504 250645580 653174064 712806680 508327184 129257488 752509082 663293428 590631834 21379578 783341464 618828930 778747190 917816112 874559366 976112860 901303342 295317494 615131700 887905368 849467194 82342528 979099996 119556474 632179676 434707132 461025432 676576214 133172902 488484990 778311844 562982042 83984294 57688512 103369364 377681960 318763882 108562770 555585538 885023056 589754822 232631010 384508296 463316772 749685026 415752746 498874448 594832400 287138728 716611298 464376600 421887054 673372814 257499612 898997626 440688332 472752950 646617570 15811292 702591554 771828966 997288544 966840688 789230506 503344812 62428982 688239466 573367340 374751426 536820924 718471364 435740828 757650748 83738416 316737272 903280782 566833582 115479960 36428970 319436354 623376900 4301180 162412778 246198652 633310610 858053020 121934250 449403474 784397924 192058538 491938744 195964132 628318518 758184660 351209084 427278672 266294910 883576696 80317160 778226480 709629350 440473562 294134800 210291758 376598420 499916338 411646484 931313058 934414786 761302870 467162644 634236284 721793138 716160028 479989056 399390072 826386782 243986106 594716562 921228644 576180390 361364456 290617430 623355822 110254084 665380050 555864868 592989854 202241600 221537406 858924190 870206692 856536384 740117050 501331300 234551094 609262700 975210460 91372202 924286514 379399334 596867946 345613190 280189102 661097246 392212348 164077376 614464074 872322336 97359162 955504420 247418576 442101720 431789196 393919466 325907744 14420392 57336222 52742626 777269490 464803298 303911210 847920400 405052054 485737200 823126026 696187078 437053660 300232778 929800998 783106322 397097228 664543620 574766374 440732798 828760252 396674366 814925404 230868304 120831760 867858590 381725758 679825666 462325844 379221748 922321586 442444930 449507822 79114798 543903308 686028520 131289354 29176894 74135694 804993304 612034798 706462580 558386048 80688042 975565414 750901424 842943232 964529500 995698088 721241124 489735418 283519428 601971562 597053346 181403132 138319422 838007784 812117720 272796064 272323842 934700268 601187612 449582168 67435372 636080240 626265726 892876030 835270570 688414964 899615806 68801434 331777958 549762728 993405864 285535094 114997816 4254134 378668978 37900164 992872638 689481686 928558420 648924870 940834208 875785460 477291108 36601914 445441882 464641602 38964484 848028120 597100890 13568540 636609004 329542652 628358692 699811074 133430962 530152174 591145580 425786258 767008434 790622986 466367340 752912702 444788774 93239414 898971314 456194664 340528540 65320998 16933030 886719668 651491088 349366904 749454564 760566396 681309306 568514132 570324744 939943776 63756638 743320652 499188102 859816386 695570648 595728014 310367830 223752500 356550202 382514198 565383592 339138834 16829160 846619700 482037778 865994270 59949720 378127850 490371488 313196280 839084130 610579524 595013588 866372308 787730830 697442654 339745614 446145442 67316444 995223690 223684020 8579494 390331084 428080288 512191136 144759884 800770616 469028992 636148122 141947136 651505392 794405718 123998322 894792174 857849660 395843350 707590808 553626350 516775506 39977652 110972306 896662520 410827150 486745040 881493448 319063190 706756266 202475894 569240378 641547206 613990294 419355058 285104802 48385920 673718370 701702996 486313584 440993104 379770312 764217758 609244294 737451078 489374802 401382236 959878890 650631174 834840544 995711332 573838662 601245812 943028996 202954150 293552874 69527730 630895450 443631518 418083784 506428268 867168774 363638738 51061800 313209862 388133924 618641562 723506312 477148298 518482282 370060136 677492226 749736772 685886446 506866574 397130466 537744430 206206556 196087726 856981342 545789012 628213350 442235842 197197328 654161518 906413096 272607724 261317026 527387620 13620156 463043464 455909358 642463132 328154024 217677028 426999594 193186832 496726424 174344950 104999018 738434736 316552924 351572334 607981462 510195694 662317566 578706212 507300202 131104368 717215836 202178292 2055086 350406040 318962108 533267020 421713392 68408898 832712598 652654818 487317508 256571700 607400306 690814734 47529250 543933518 895100992 327234860 431081276 567423026 960477628 924420984 351044350 151200752 756396608 296815964 368120856 59016566 435114780 148122764 196366016 410429632 977388724 174007724 62120604 909444352 400937634 592758030 815087190 895470066 976200330 385356916 470565018 906853858 349089408 556643822 336255326 595104556 142096000 979582054 487530424 463804524 950860632 609210926 384500650 838744486 667401566 690138374 972752894 477340068 673141610 692818396 907014702 959890354 268050120 252987258 27156996 585894066 883483758 229549572 285164318 669425496 35212102 848643698 696871196 624149198 308362156 780305398 950447908 970522026 741869598 142175616 330925296 105126074 672313082 524134184 727571516 391889432 818217524 381402488 26603666 508286324 866318462 656045672 940066086 809785070 573793612 96994364 489200698 153496028 860883164 995635850 735878202 227274840 914108466 839320488 176114916 870824946 164506694 544761190 490267338 66686554 722945442 253686512 73779950 818398398 913139826 852093592 740151066 85015384 906153602 183435340 741203970 292612554 373806310 436505232 911670132 761539100 898208500 681744700 103542774 411170724 406549236 984737738 238819190 756953874 933242948 237428344 707454170 120208454 16880190 600660716 558356488 424653892 847549432 23537668 280542602 419924862 804724576 26414436 816353444 421023366 480601506 15459082 56203692 753143492 283539192 818842596 161822510 239340758 381454402 52898582 863369000 865202680 568007208 753527978 452428324 911596898 224632756 506069494 895132522 492570226 462376226 485320488 432430230 639665360 963443810 755985792 453888700 308936646 354868646 813395702 605294214 772901908 89966902 553231178 866831240 148195132 993462928 447783964 437299228 621692356 583225188 776341068 951364698 797509094 295943062 14889564 290909774 90114534 720377390 568399734 665638978 800723792 206353326 285634122 458061076 279289468 671006016 9376580 229614978 705563270 957148608 118077578 249300244 410836114 264650068 727755196 919470402 997977480 296805164 223775976 982698076 176136436 118179464 594093180 455089318 46697370 163120186 784878486 282357126 996378538 333603128 647534446 748365426 644036380 298219750 942235514 412170364 135226890 15143366 97731050 777164604 751020388 402211278 843149126 780101664 49672644 694646390 151777438 266951260 683886614 237284570 514162266 91466314 706770860 61310204 968693284 742719000 350304286 337202616 341035308 601862896 873931330 762553748 18457388 625167638 175870354 404375404 863208868 437202308 220354212 180947078 103186570 683329002 263436150 178686972 32702438 554474858 494538546 321827496 85442680 515218896 741198486 725341972 634007220 12614216 892487826 333521210 259058114 244218050 156522638 89133376 89095510 299831828 315024796 447891462 409286174 3886174 907840248 664400336 311925816 308419934 783780122 825597756 482695768 218772068 528356786 989235132 610244602 400580394 646333888 794190150 264209636 155634684 486936126 594970594 664771010 260806068 285848 883353208 336942914 13503318 475378938 772510320 183314438 541440818 15279626 894059550 564665268 465632436 565116102 229633798 296819918 209961718 856143380 662624992 409536878 443281598 618567858 750692684 336030030 792156792 702428166 358610342 748382866 127609076 117224308 814340420 224887000 325640618 760751706 655942284 716934168 55775946 554365190 325411864 145417600 549970424 433524032 32773964 655678040 497575078 355531480 276896218 145645632 609636002 551744740 297979528 145357822 569072708 145013420 489515918 694272540 473398642 721418436 385076966 279311418 602648660 701447796 972351692 562407286 847741142 294004736 239596984 780408230 409051630 312998584 471322424 886344416 723275144 388335658 651592494 350084342 850472426 48530358 681069182 581674634 568032684 361896958 388757532 293824664 984459232 850587786 114097380 841831098 12546634 496850358 408646018 300143364 557729492 898115792 495811886 781513800 834880486 998554736 229352220 554432190 324970152 397849538 578331892 408288552 351377420 224724880 224351324 993817146 295394400 137068644 947821340 326529938 527549708 92859624 457520982 462419354 751158086 929237492 127973850 734264652 395512616 102318478 94408792 669398210 90305230 725376602 910251668 634982874 664754520 884946956 200521738 635541534 659423916 877966688 684650516 489038972 717467966 29186474 195305954 780093282 3006750 12756296 276011992 941727398 733483130 911429094 57574544 140879802 595197582 604283146 419707098 41754796 981472410 311347544 66813764 94151512 879702080 541935294 438592144 575285778 985143084 240976440 730077468 12415352 219860740 39039654 581451918 311357568 241035108 907777362 85632222 874030494 484620846 121206242 317684332 440156392 220486712 118474062 773707778 44939566 923587658 247994316 726237864 729000350 771609442 453685036 229914590 84543978 63486398 782711338 86550232 5080944 173201088 776817222 992899668 70650062 327135040 456126322 384548260 474295590 164341064 887882094 10128104 114229282 423223684 115424694 683297500 540051412 906686622 600132198 49485398 696680934 923018678 784500834 685725850 506289010 35638232 344121018 653571554 749069222 433806420 858760194 888120080 460221456 757079268 875712640 520197038 926467118 204490992 908127388 71072988 797981834 329260218 571498936 715823892 229981244 537719536 969479672 552519718 875053942 86985622 136494726 523882146 809954976 547956486 585724124 461115062 437967088 306577518 119122818 463976318 948609938 39205422 846478712 100862894 289970510 621173364 576799172 817508652 613720666 934009196 512165066 840617652 56196704 420926964 328269012 721381668 878554 455640328 407955818 762842328 638591584 391082864 354875804 661139952 33039968 520468058 716171074 159264878 235393734 577550520 55770466 927286492 306451894 297873426 484305918 920427234 221499140 590050214 398167492 958724798 476578754 619852316 730064934 388955440 660848640 99853736 352275184 182388894 671455412 825147346 201856812 391797788 607518102 682384840 981617510 534419188 996074794 42252098 962866290 765707614 155164334 173568404 364617038 565887894 375696058 424049784 662401350 26930730 478742222 153062788 506108136 752343130 749032506 134173406 62000182 135177052 644402204 186021398 166847364 408060188 452972078 865538118 530169346 413756512 768928676 996367332 174755524 813571034 850002422 610136804 327906038 445561802 590151730 917661426 578900858 428450944 403606520 319725298 261228426 319138218 930278202 732896152 759722152 776223996 743862360 964397454 239395268 909938278 736856014 705813290 523243976 502887368 812972708 391386222 564935266 3402492 925087974 586592492 205547328 956489444 632061342 747768306 40826596 329089652 974282234 983004576 174089232 210651590 145836786 417662802 5429874 723802688 166504710 458144736 682733674 535200042 598640484 851923200 387609080 114705058 109328084 188083998 528154946 554271900 343360434 935418900 208023880 883431860 225560172 946160834 591610838 12555630 284779218 5436320 660750650 253344828 268464286 872626878 987759760 483547320 611119844 794648886 357196702 371161886 728514348 24157614 926812526 252259382 662130124 709389474 131560672 107142170 751214720 690851608 724617082 796218712 251576232 101726200 415338822 415396234 226560698 836164422 195070612 996223928 604846340 312366280 477069250 661802252 790607808 894234702 604489260 73069408 842731404 573779972 304346774 2276472 472930008 641026332 952123140 488912248 729255510 636679310 832585108 814781968 336765522 591105842 447348544 419666326 11853790 423001428 814788638 258593496 96110890 849111218 285711670 482021936 639411596 730878916 32394116 975526912 30622200 914183564 153037386 283940270 759375216 252440282 464232076 9015702 309135242 361375152 613052872 313676492 769675768 37713372 238125540 424781964 404809174 232104038 831585458 788872312 303414744 194384432 221644874 406125540 719258032 919522414 516136068 635961818 448534086 17126770 501487790 358802754 256792120 417777390 324944492 621340272 202283444 541134506 516537528 821737752 724320960 598625644 757764852 73738288 686892548 15850338 543178470 859404718 641946442 92575548 227389922 979866876 999710202 556439570 179704494 157659198 164679242 229531336 377418224 753660856 703100102 252264082 1583664 9305402 242913602 703974810 588333276 477582122 508370882 226614774 506715318 891811878 512069240 976830698 829396230 683749386 533697474 545465928 230595578 909187824 27418954 30504958 212945274 222575836 740324922 412089016 353658340 69716044 155608616 541976248 104276680 57097958 258758976 528266948 826303938 557440020 131389680 502859964 754760864 441347584 285458784 30371152 993801912 969998258 716111970 954051686 320598830 468056558 920187912 439724032 968129700 179556684 611551546 726306986 772115306 454744118 159061566 760028684 265592694 143159576 249365372 487489498 415711226 747912136 144247586 763431074 517136900 336856192 265479052 832362166 642672264 951598810 748680290 745729130 419649290 288497220 712100492 654628582 688607530 697258902 341192800 261290436 211987864 250475678 770505484 461758710 919425956 553520414 563635358 962169458 634666060 804738080 479503652 941364662 981534118 927148680 119856286 48111336 246554994 404389486 6523414 543647952 448913304 201208320 574606362 592173450 291598968 872092148 603110014 845742954 636464330 851243208 575641850 612307458 689353222 427721806 965062970 129263316 303159820 294987414 42862644 599096886 732120522 508511914 991274338 867817232 143349346 3837416 847987336 223470744 200684334 628342428 177882530 813643638 508963284 683079858 235286510 356904232 468623210 891421366 478913784 390291808 457809946 568171364 840674756 939995122 45712426 448696118 525757484 725216586 812773962 552983386 137708976 88604270 804048534 406204122 664117026 486313422 12698854 746061886 547816080 450863562 920742400 647358584 476554838 80834942 5850616 804608680 385429766 461501116 821955290 660250896 609866464 26017466 925606378 45704544 620733648 484451242 114745276 646127450 48045160 238958926 381521508 699366920 86666508 84634740 933248856 505799264 369819510 762645032 189677108 389356664 73842030 965994848 626734018 28688338 923665132 184603702 456414952 199147588 236031850 814309704 646314308 482485694 352992496 669181306 196194012 213634170 841330132 849597746 727957416 471649932 696800990 814978546 357120646 605405396 950641802 784622096 23352820 644168968 742115912 774785330 249390908 874198338 136638898 253708090 216714500 788422402 78652060 603886366 40826550 677869900 375467280 243396752 761269950 234918380 881018474 266356354 884435990 393877446 577825992 378610062 232330060 677070608 978792518 843484512 795437680 191239844 669817456 742956936 199974694 571498036 261529568 131885152 467126570 37492874 734007576 40987494 153939042 117940432 60032570 269535356 674324352 853011672 456986674 842092014 556176254 961708540 283800648 231517982 844785698 549958914 117221860 705205586 898533852 640513858 771111588 666676246 941040470 289084564 749899346 390959782 687631442 202068422 877864988 809167686 517442020 791093060 60533922 390749562 338948304 781154876 634505812 254723318 339100056 640082860 907830486 152089430 817565860 924660370 948359394 841902810 983471878 898459792 519831758 727654246 993656176 462505012 819093564 331329926 952698658 751957492 540527852 36769036 41764408 387493102 829997566 573477216 129349186 321932442 278822316 966721938 336798392 812384428 531659144 585523736 589947338 385276214 382071484 515541578 819952078 822493612 855645864 54495702 33013490 676355396 766839700 407827036 224272058 991349872 28292272 887367308 15552108 529512114 917066464 850165116 435995180 51333766 432764818 555214648 892612612 674055554 584492988 892580142 606520178 672661194 625079348 781531132 7041610 549912352 822914298 225397798 758627670 485841410 916802112 344717110 13312976 493693140 365748572 59076712 620655664 81523666 696762080 675591122 189600772 974200920 539355148 397607410 481717208 155038384 400922772 923740250 663077844 580366834 922629964 240469986 640487408 969355924 407270026 710799968 409741650 337869910 599573806 769708180 809797798 822550744 98705094 80081620 563342656 591991420 914554736 820404922 552221936 610403988 302866150 299278524 234213460 730685492 577273296 403414844 302719372 784596638 987129088 259782158 518170136 989875250 947665804 98588676 110785994 246194142 541241788 933031730 601216962 292168714 139851452 486712306 598235844 3741738 198867348 593540120 856077726 613535618 95510504 308539988 2145654 563343156 577347148 326440530 768393890 217410522 335784148 146614010 578421152 776396906 71244614 20300754 679494750 316061218 46833902 969793842 221214398 93288916 206158118 650709094 75404822 301796206 409188178 214749980 196348876 547296924 468908264 541668418 630001676 186752354 879289564 98656660 23537550 199601254 937949666 950223244 489884906 943643170 590090190 397530292 640248006 363147184 765261452 250977770 565114874 790804626 527884676 150376908 515666310 689396942 403259456 173178702 702664092 935331390 841327764 607269372 881003150 905339384 84501938 188547750 610299938 101112218 828431682 972941108 781502510 604363446 849150614 809385088 377114918 151258474 408110680 38279552 837653990 214256114 239645284 993617176 297627860 90054076 368567368 324011232 695565960 736540748 490024870 655153032 829233796 530861268 736373684 364025796 88815262 580485076 931153764 154360934 713681910 346343764 746430534 32925684 239782614 194753620 738925796 196952236 941065192 984672534 889149816 751599202 502590170 476349374 771091898 40898590 284726320 104372904 972529038 438452758 767747446 418882782 113523202 814835112 236857444 474819182 224215514 144671018 717043938 463466950 464555862 896705986 590470292 855519048 831978312 318532864 176334120 918665870 365032910 861038014 140140556 908984380 777929896 233639198 501949068 405950016 946171826 45107208 234118966 507728854 232082564 779538364 11090172 756059576 551329550 277824922 558205688 88186272 474070004 140032634 188181674 416332252 336152268 454733624 734737872 131837526 282185262 861436492 464363774 754225538 120091710 268283956 59665950 51131810 205624190 584122156 989400800 58902990 138810122 86465398 284439884 34300760 626280184 635254198 475490010 323213088 445349370 19179634 857104382 966397300 638249648 450554390 474782058 566292294 797560684 540053328 800659356 636431816 227368630 229349076 298444138 224584788 139095690 566984516 91810336 639785032 952798214 819899252 131154118 263136072 67116798 56417084 340278910 937967714 20722252 773246814 443744138 790746710 287747138 178452896 100836806 986437808 855353332 89392744 170604022 62236354 795176596 708500112 462794126 154286312 720491850 500480900 688182178 850931392 58331974 846069478 926859438 763120532 276210552 885714072 734802896 314637006 290524456 157484548 955330872 738154680 910059040 113538086 665468990 677119672 575576364 493108496 685586104 909709176 413490548 60676208 535097010 848631640 87519264 611251982 765201148 609672220 987333644 838496456 74742140 557983850 958493698 536869220 189073342 438235740 469841126 189510306 944418062 982977500 797287848 227579292 829731290 696885542 99581690 954088362 7500886 303127094 568584824 876810858 873880496 742311604 194206552 417387528 378123388 556038118 598607168 956058358 808405130 258749570 102641002 37250322 217015642 120447550 853817316 205152154 204315658 458878732 301284470 194483626 183264228 172433348 251767474 873567790 940965664 648302684 311921110 687285724 705377864 514025280 193990556 89587500 442441416 958512896 285400842 578465780 867694832 270549798 546044548 778015380 618461226 51162520 424626154 872100010 836719720 26537528 819522854 852250 846449462 738833420 489687978 563981842 754206378 179456386 230837280 328637402 190405298 777994964 65488090 843275222 70619882 206182504 762606702 682410568 179186182 904805782 14873742 700558676 625233072 95240256 963525526 431463442 158218680 508771224 985553846 944822840 848835416 93563324 202208834 105837970 287402592 585184564 804158542 170174792 400936264 103940602 245430750 464966412 985962344 62109752 110533500 361525716 661214578 707029736 518337732 507147926 226123326 521303968 866103732 78214684 348978404 42593570 453712268 240158778 295258672 977946664 224909252 144813210 857505716 763268936 449205528 653262642 655047768 423193196 109883616 783020788 391107182 920272268 944185532 592116428 706391724 998718636 864759926 447737280 620512470 536366266 553831340 845472572 547780104 440846632 660994146 48690376 312763192 435738452 37714500 443302700 806605346 359102410 39904648 140813616 388838848 647432880 696272206 633361048 215085100 808696354 486195668 137910052 123428666 281097556 3082560 79294882 764580300 42470816 662376114 277225234 268518640 839044548 776592676 478079206 241334750 254460798 609067476 832877058 763682896 781221360 219159890 95567194 30699574 393846468 680952670 978206836 720063446 698124516 666935182 481636516 380014064 988583216 895390960 414092816 508888272 386751642 897273490 440823150 433367980 574801542 416030054 382788628 789785820 80436468 201938570 909788908 279014498 57482194 174831918 242675020 800265834 406989400 585913514 624810564 611244678 155670314 795620368 61808402 976236988 904598198 242621174 94541918 103648298 985273576 627769354 434229726 266654036 630908904 964036438 17956530 586633386 303728490 690452860 632064788 664494724 823386710 851220906 123385566 544257332 254896022 596014596 886117232 660259790 484363552 394098056 491166338 383835036 740613512 405098538 106344580 398041490 275033804 123152604 849483968 280495138 280183642 667594204 85356446 888678254 40288808 606420592 134337162 349704396 36627104 397154930 200873756 957022264 263467650 176103886 863694050 245040684 756365970 913233436 100481142 324831258 696690688 520321186 547325802 437859858 740388856 597647840 860473536 127299708 965248060 633629750 791726868 197149966 299623316 658082002 591096730 55911692 514699354 358566654 797471842 127519558 329880954 93807344 300718818 131147556 161956172 913013056 628165450 254995996 996301204 273504150 560925128 593719768 241658944 975710966 129444090 698178960 796952124 50644466 993517938 531650404 418552508 20728964 520395664 876890144 889817630 262903598 719994760 506712100 841207658 290972476 422367750 123715604 11803108 415978768 399891004 746320820 957647202 222430790 288941880 774497484 425462386 18885628 615019120 579552716 532712820 777147170 22827264 596619002 979431950 689169230 918359268 382566056 308042992 163389544 739577004 303237894 870694872 19195472 807290258 49545664 782889328 825959476 734631288 642759376 606548944 188001076 332459848 461385198 611968658 56429308 914313020 971957678 52488496 753238142 671925422 265727760 194815936 783500192 702038500 765627626 807738510 344148116 903907924 620762620 687198148 735111054 100548156 463789308 57068274 835155832 226794000 887329204 292526100 813868966 934838308 422613520 738235792 119759458 317756876 334156214 780352444 833115154 355923912 281303024 698754054 641407072 719163232 274698172 516012108 924236106 713203198 905108848 469282014 456809658 863140524 707533846 305283306 919098856 235021892 685755616 382700910 619412322 393005092 200408378 583791340 317859438 338673708 72963280 302907786 424402604 896049752 693236626 176715258 18888488 280769808 690083592 314158450 252337540 395825376 818356742 899121806 796812830 356943594 418613694 514096004 357429210 719611938 127201808 200777436 923747224 946373430 107421474 811602960 232457862 598693590 874412678 696039546 262473620 139882840 269693342 56983364 186063512 919450622 497153376 275790684 816263498 242642078 709973330 420498924 467850592 829494836 240583612 317761878 566215858 807724640 172969048 950660162 926012000 401842992 834646454 990295846 129602098 21335722 838275654 188126116 916491280 61376064 267561498 58647258 464101874 962549220 396829638 837182382 729809598 658812904 684128652 81122778 331603662 216779740 18065594 455835070 753387116 494735250 217484186 904136884 134725158 274744864 871509064 396957292 901706494 565112294 509996100 39117268 43484726 914381782 568658194 358799146 371936776 394607160 166350602 808042496 854013928 95762768 245766796 923236106 46243088 682661246 601201636 235098842 861523340 655845426 791570476 660690280 36114902 168225222 629006300 51873012 344309758 42380114 151106714 244770904 727815338 388410834 418587052 782869606 171483906 244039848 220952524 285381558 281385842 292352030 941171786 933333730 320306476 52450114 775427730 661327096 885386644 115382384 235781780 429569280 282172636 732729316 190992936 753579508 815461176 247954362 802952476 420427390 933178430 852624032 310684948 102005856 847832746 133928468 34039110 318862958 584766052 319158288 274250832 250373132 531128906 978526102 85381350 830088092 720396586 935365862 374944518 796130080 841203164 689471706 302595998 86157140 881799260 673173526 723405270 23561158 561169496 162197342 621251904 994147688 216714444 171269326 529143968 961444602 410172644 733470188 968200000 76773264 845259066 319256644 827976298 667208710 348877638 88800610 392671538 647581352 731615878 55480386 766736218 545997620 452034036 571906924 455584104 113240426 230083572 276734456 414433012 14411398 288683274 526404596 465885692 130455770 388294744 997977490 304118742 790173978 700300950 468838316 138287178 19567770 733767756 904464534 818757984 51112908 156911574 514737808 704583402 421770226 453909266 319722856 508032492 535676120 987031898 179061892 407609068 419768400 363886270 892033446 524129284 842913568 196045404 341638046 601223326 586144194 780928814 25253576 819106362 500908336 264175674 90719848 435966978 167082550 377278720 608504970 156715764 243818936 203539778 303160416 634038512 946680078 43067466 735296718 349885106 413463850 509063994 652572370 918708894 755333926 406729420 975254062 17631638 885397210 107958784 684516836 931432126 151035856 635606764 724580380 965605580 828492082 331732618 839149254 65135124 713857930 773360774 939694702 383069708 366859438 551758410 491640250 191956114 705172270 815498458 718520626 269652644 213650186 106651282 77762624 472978428 528942580 91946846 233937490 252461262 247321520 241915000 153413122 312828906 128120198 369490792 547073594 368069604 990030570 997205054 325647048 717840454 789464796 145301342 91985620 82489500 436692868 460858366 29619454 451811316 168545070 721832562 603602546 617379714 995425424 28950540 860638018 156936802 846518108 443816566 78273286 350306672 70418096 393483522 183189444 563237398 934449786 762975226 494438040 518024000 603073028 754587810 790431350 407898764 19168488 626718234 37318508 236334934 758728818 713069482 122837694 989830424 161212152 753968830 572084426 196243922 411670450 970385132 34173512 702700286 989590944 548471256 40959260 634468902 445102866 680688574 46472094 791903812 370738204 631390794 823789494 662924628 801677122 324771106 168884344 420495062 674662646 235205804 714620670 481075816 897734180 80352168 910838768 788391868 818128966 39283830 786407942 196302788 872004274 460252990 933393260 526561136 996869964 291910254 785663764 817317312 849525802 415428216 587100450 722724386 255019666 53745026 355651702 356893552 45291418 438764704 574501360 869732932 535498018 977752660 236232048 91053508 909553140 798147742 462983860 376040566 96577382 513315190 670451028 97436200 604729110 267669122 442685584 574727314 572654256 23703492 483111232 367749992 289814306 933619118 456055174 96239704 646378644 180521394 994450308 305802612 140134714 544520010 591094844 424593256 138105530 392570616 350873332 359890472 254633776 268918866 911891816 643026968 740144654 2645918 240526716 515273906 565835996 387660818 425216468 30738064 87116826 198224306 347827642 573565958 999988208 354637276 750806254 843662136 535489046 677145984 861099316 113348502 978093684 480269780 260494060 732482634 641683726 674170256 808189504 462356126 728983134 516242034 311263562 349706432 797060698 792475370 444893202 591011518 691559606 167951738 691502164 928642766 642833780 185459532 257840664 327637524 871956812 176807944 130345508 535322404 421529646 534151326 795931134 163087320 779651836 203102034 598392628 459062252 994131832 581480930 394088686 789908092 292509848 471729998 74275228 91278378 643150588 433439100 847938512 460035680 285340108 356124590 795113742 571246814 68515438 892584454 624639912 96181196 6233776 848330562 893175164 457917820 818395406 133340732 497835648 535732286 238393876 760970712 897428382 768675872 473055782 630817160 968310304 628230168 201600240 67021126 476122764 448811910 748515804 262727592 770163492 703391480 957091770 436943560 481883816 94744270 647548858 30706602 958091472 783832150 187802446 538179272 153991802 106733194 42151232 439442370 378282136 689567282 204669162 323544508 903534246 166745602 457105812 322056686 236804696 688112726 72115752 687736554 651680572 157699964 53088640 950040820 619180668 164821616 312439762 210478070 401937134 411101448 462820820 679561124 501743322 903536162 752794848 134657088 629827330 949602880 298531324 426282792 761525816 28746664 108838456 288218460 599068286 368513464 333273546 590378200 629089904 357455374 428587066 289315316 591201538 646998512 472448148 983849966 922490704 345354216 433961100 598464112 361464202 737832584 734852806 8094324 17195508 781704666 553324520 242033946 775052542 964999978 95184584 995980498 355045576 717709714 162209286 317515386 962546578 343058190 226549200 234060418 857998992 109157692 699320696 638339180 67990854 8353652 878779086 662274386 188858406 369542114 541846292 792704794 423065458 187197572 160071370 396330564 313709058 155735954 129118324 442644064 828383384 822616384 693371052 872648364 971794286 460018784 990821022 710150678 78748630 561433076 784229024 500220724 599603730 270977752 820378716 228840746 395263320 543987382 988178104 522463754 75090102 693336872 185386658 478049672 499699458 111649750 845430330 791758706 690985540 194842368 922203284 91319020 274859868 246041430 346890710 721114270 651638628 972693166 858715984 967300868 430921340 247033180 497871810 196650152 9187580 260106260 649397308 133220722 642986866 715966846 745125462 206391436 411808930 165013292 421491808 178228378 860633782 456284864 293495334 4515648 707618738 538306008 518523222 62307156 476234344 342542046 760332526 943844336 153683968 284997036 149846516 363195480 131780124 454604494 22755330 222766414 249875310 797947482 74317124 271741834 173190238 301688610 880721894 666593064 63185448 368846340 372468042 821004534 34491490 481591182 894237578 851140428 527094998 812139236 687798954 521954866 422120112 152163218 308345422 944675736 533647870 234525122 36852438 737123100 5174540 724123914 174951438 506038320 466633628 239378632 152647380 140456476 203710482 158820024 946652402 374134474 90901746 911773172 899785172 153994170 221100748 992908792 892554486 289546426 550733970 94969650 582880592 951690470 700460282 828308064 283348994 923375242 620715066 241852928 752429806 684626966 643772796 703874730 829976594 708349382 964392880 510882372 713935576 484213370 586531288 578216602 276351958 208386174 403343728 142278442 486736346 301173048 780017232 418459502 706746836 532106336 425702324 734881556 143804866 672945436 86371054 592445016 954593086 297489452 930803622 929612054 556195388 739918588 701265726 27970154 645896444 614167988 67975340 755770306 132740538 290222380 156804226 428259670 833131402 838307878 538074996 842663028 175164114 174236436 493173650 620094172 926708532 634464102 272347758 313228234 841213708 282568344 444719742 241663256 193170852 976953514 959092048 421278140 129045038 705262154 726407732 371245986 97487286 755914946 155204708 469748594 783995978 976239118 554961430 308246680 421197170 542238206 753857578 533405320 185160994 215528274 456914918 194966182 779509910 909384810 301805160 246747150 512228778 366261906 553622884 978296296 921485860 358312094 395560390 358987104 149610640 283039988 450762092 498006812 693079994 681237974 639824062 665507290 925867978 829052168 303860276 929477642 849157332 876254928 501933582 768740520 860442132 390688970 531069512 77834388 752379114 780619808 639817838 268644126 941564712 569799838 489168408 287956394 950897454 169604860 126253672 503088006 734486794 56139036 651317074 130496828 410140322 736496654 791973080 28527760 455299514 276341680 69536622 226965062 812555942 693491738 471593688 464867678 382147154 760361922 174105086 270365852 639573454 431411436 284424282 734715516 74705968 867541452 122522312 771522806 16663816 879111492 407142616 234781326 376790880 639966136 227692908 173056586 804322362 520458758 137723968 995904090 91632832 548810130 543010330 549910620 857852026 154673058 360129744 35317620 552491420 670274428 550025264 627766696 375899120 757231298 243065588 56470118 507012732 52360496 535319952 428782952 848148170 548883744 189684558 339415760 958760464 75264606 650233844 585052492 171078316 546889504 156569048 896680582 577076408 226011440 499417488 25363088 518995850 979991664 262671776 184594928 225096122 958747098 205407846 739378876 732490656 338582464 227312978 357759262 455377126 418683790 781825922 240566660 969107050 660108460 827739194 40087584 148341026 799989536 618503172 471032628 442079682 972802340 203000462 829052142 491942322 624511226 263197940 461619252 706943226 481395314 586568832 319610346 294989958 74696022 709356628 384147760 477306062 861266628 746200880 842101846 396529230 221750962 653323242 956554000 390594176 341847994 359355162 943242776 1988704 18278638 772334516 844355766 980535968 166362976 362115162 960913138 795193798 582558652 955743282 935525408 173207152 937454000 191371980 211415778 265034098 113919532 525878770 779603912 281444586 779504098 498095592 144945550 725407068 586390592 25749190 188442046 415707352 990052810 90696136 513010894 525657306 141366442 716617916 186386110 74103118 16428178 276509396 262045620 700750062 210349822 631515078 559783402 524163754 526773436 619179234 102267830 654635822 930547756 59443338 657934396 298353784 545591210 163847376 450553898 513774402 764658928 272992632 430313562 481692476 101706450 255129730 396203472 104284478 472519244 532824044 637751582 929729258 46610092 570066496 603047148 143861178 130633318 455708058 603307146 906153526 31931636 328719866 630322040 763606590 611969932 586332192 482201480 124932934 602089630 280803272 212652496 765077934 13946932 579672828 544305286 635621110 911402002 952433380 133396682 823935944 678618422 771027224 53371880 390206700 757578108 438102576 406522946 113346590 981213538 436855552 894331592 2223390 380390888 715160994 908121268 137755256 986973366 471421206 724034958 850362952 41207010 411167568 569987038 719225368 310552666 349978100 160372898 102523968 19136662 465708686 617930646 973370430 121909550 419457306 287818058 448967504 565712602 261764078 250180418 124522578 646909670 444281318 125097112 287504688 420513100 478192800 399327670 479852264 423458216 439611714 134636480 536575672 434680948 189331208 573230186 945137282 385905768 127943126 435929794 640172796 619187506 604100066 276031034 960577192 812219850 451600246 642842094 229594704 730882774 467956058 463235688 327797232 448188872 151243302 825235228 313031006 544051764 150189746 937653616 60437280 601629644 31454490 362552452 427295144 668570218 115023892 582975702 831947014 641760856 642090526 784681398 892487616 917367724 567963338 107096396 93083288 453141580 609328164 106868170 735272718 878482374 689900004 527887104 744849132 72944286 366255610 135491932 494171200 931206232 519665322 691455558 773211620 919211084 313221738 641296374 165547668 523284712 374905976 80027314 446897712 357644648 692945088 37682758 843191760 6716580 307054302 412073982 842905070 576483406 804987732 975838838 747302504 521600808 635708694 721590072 458218380 192757506 690666536 711128604 157698420 602836908 319060706 752941700 629519848 451058250 137191934 198677376 943145616 986332884 486520472 41641046 311524004 329400954 178017500 601896072 688584982 997679872 804409258 697652218 738833860 930628334 205295134 215112026 186238378 602716708 856442510 834494652 9790614 416428374 802018284 179681232 630404114 799520440 146126788 821929548 425428618 527688978 525330384 190088644 779848916 994657044 76110600 376605726 178552974 149300488 591004984 835974544 883497796 989995180 235006566 176805038 881241434 491995442 278144674 214308096 920447316 627555440 428262458 289676630 750599420 923801340 451705590 744180376 628341612 654368644 947997836 306086078 98019432 918540808 867922634 667101460 727634464 356973252 928178512 126074762 55845900 811822794 88455430 158763698 924151216 360989738 449174196 299869946 5588346 770307776 284204442 259091296 752621374 196042158 99882760 650036772 283084694 156336020 822508150 864553938 130713878 196875330 437822924 254539294 721536812 612121862 278679894 890149906 386606390 873408920 177826920 867977522 158709786 999734736 162284618 448930980 676998920 489705596 701528066 799158672 966560308 262882552 161419574 33484904 749796810 708530024 338920980 258481726 624473210 290722166 949690612 779267112 801880150 799997694 24345928 807116314 933665850 615684194 554529676 957044304 28269424 891551668 750725338 464011388 541337582 466812802 445575064 953940018 336997546 562469444 562008868 55635952 307837162 610698946 521358550 819776102 629191358 714519344 781625526 494385308 837552762 335056972 370382594 832029326 643694114 995487380 780936640 127684190 52576076 79643204 960444470 850602726 808580278 395417810 564098294 799361868 274857258 418022876 314524518 102110326 111728634 176706008 63532360 167375910 9772428 357641118 620994398 593130456 406281410 42327166 196135762 868193070 545144630 593813468 232902490 232276936 856151080 137792066 103294244 943301348 948121408 537985482 121341550 345322862 435287332 581159046 140008196 220596376 776497076 949122126 966705296 411320798 473568028 179270932 159186472 500568740 166368804 172362888 927233792 436223020 451569968 913151562 116537380 323751908 821742976 770570436 742422528 848825112 432846584 349199504 272871646 190482698 200564444 256331790 539180526 792054276 685934832 564540724 462074992 880788876 967392884 310714950 494145662 60132726 793210122 967405318 514601808 288938170 496208944 348759420 248909638 857496368 322991702 526674934 891306488 788848286 282452006 378195198 215506958 501311640 659520430 75948686 121131588 937935254 287740466 224584842 416972326 2918496 500153962 493891476 511950922 479688586 841180088 3586324 955036532 636281916 763059892 588517844 355556314 283037334 771670872 301802426 961229576 157829462 436461252 78933040 438260700 403365162 786109570 330541030 198801734 7890718 711879992 388653642 408643114 749892946 980530530 112490770 491840852 520219356 723988492 516352816 987851324 41245758 62535426 277412598 425061066 306382888 842241372 64985044 218665384 341019678 410854854 842274328 120204692 965615874 631131152 814863246 746842918 747032750 914631882 927094634 427377462 619594988 507330086 516662798 699875992 67463860 742657784 86876364 170224188 262520336 824883536 64145374 242448214 386049276 811833426 366377642 899972686 349694744 138017326 419176770 662891650 354583250 270995888 207752464 307701716 849098756 925124102 885962196 12468728 162270668 261613072 565569244 679875898 666610538 773929134 808402200 93389060 437964096 694343328 367885656 560463310 157752022 705995996 35544740 935604202 687302850 287492934 5447510 272751952 746537322 394864024 248694450 410642648 231659164 417895096 622325020 469807288 564373324 637962428 486508016 507195182 435778456 738353282 460914956 588236726 99845436 648077112 182644830 719322318 951050640 685127190 794269198 742004238 438197556 132013612 686552240 29145648 309553650 583396624 323812036 755550446 462203066 869338320 222529404 822531814 506975722 357972776 939261656 654089690 969996746 946773294 603427522 753654614 796496300 70902616 226588804 567016764 595816318 969209228 187143044 107482152 376047882 755451458 653591162 63039934 49956552 830541152 768096442 444055228 956967804 811841254 446927436 571865870 92252738 555901202 441574872 441988930 254762110 801147158 91428970 365818948 985820942 416418866 746911692 391264778 678775562 847317898 446458960 883982032 780158880 873025220 377819142 864973366 819630078 865212734 782667608 710477348 132258410 235977522 643441434 46598524 766100982 757313626 870008082 176864920 973110684 68337484 724245984 708863858 872045162 838101858 597866212 160216392 731246022 338881310 871505520 371914444 575327314 84691422 951121974 861887464 711910740 257405678 394961690 772407868 86791442 991148180 656544912 535862532 279820094 671898024 289293458 434788116 421410812 992888218 283712658 392386828 514074350 615725344 819885648 456074734 895157806 400305768 880199854 450420524 747012320 708315368 69231024 752000844 982626776 278772400 412142708 25335630 308642948 432520898 723906310 557731954 336163894 952167170 846311776 969616172 2501604 408801586 700868878 860764772 406144872 603987946 263600032 390517462 787959740 482437194 635410998 864148410 149326890 569187462 648907564 929097874 846378104 733749984 758365728 960194016 865548278 648792204 920646514 883844484 37093258 735947326 442162698 983788394 851323296 12997976 86325860 980959626 726798454 699386890 517792450 524106152 613102496 184470044 163706258 269327366 75743214 286997054 264391394 743142396 45231798 9673896 710794194 332050588 957515334 371312394 602303204 955765298 45598148 344619310 211080202 504241426 732893106 996354580 127201554 938107856 66586166 856625556 249297696 687197642 132507512 880073938 946437192 656513302 729523684 424291940 378371172 584700088 615324362 600270242 3156554 686712360 708934444 974411988 287364946 425916130 237646600 689823610 5378326 706889998 194416780 417614002 750836706 651104768 297753508 782330836 355821528 423691772 704606946 784425484 448958292 94188740 121456400 81982710 250311726 744550638 854403516 958491000 218251500 570790444 167919614 175745604 395344474 542549860 4467382 268268408 877086966 118137346 845456092 613560854 865234552 559514224 193436406 995020252 419949758 788881030 63258332 15269946 719142704 591924186 918298576 92114510 688167686 93941522 327485936 42701088 885032436 119083072 672842730 281825774 608694046 472325776 554192818 425348452 679826750 965774714 744759852 44106762 569303846 716538714 662725040 654144082 127622738 660871950 273905350 947961574 627199738 621651276 172086096 248865956 635843666 724708074 336422420 109673096 875814620 749151370 784414628 181460614 470854958 761397974 297005698 27478948 375543458 684068152 214096230 224187468 791482158 924229756 336923574 221127134 645631942 171203374 485454626 225669138 841627252 613333616 252046124 190916488 731037020 259647692 117213826 468422050 605997718 109259754 185850974 750612598 686047370 979020582 725774760 380235298 879684074 773840576 484245346 414753654 88527600 192416116 402920506 601093902 787370178 835255194 475906890 43894488 586828084 577080040 366105162 865561782 567358656 73333768 460635330 724922740 921033008 840015998 526651614 157712782 438834016 566405480 23287684 878873168 829215340 221097378 678312190 731942004 396120994 162090174 574840326 442008502 583814096 476024130 668045666 736613656 919583328 998574 677802164 505136842 185218400 227344230 171010052 698910960 871914330 309024396 106567448 202105988 382083638 189165338 42727064 580437148 39628816 224408744 232738008 787522194 632357538 891358518 695633592 622304182 361644798 816828024 769093454 470448740 6922780 105521746 450597826 815851806 4541118 876512162 186132224 696329322 994394478 480202286 927073612 183460550 254926994 149710502 461790016 383408050 673787690 704395968 150594208 713663858 709545360 95813064 678327108 96613276 380712902 440643786 649139364 958102422 83127794 17271194 288712444 13548538 98533442 310334328 270352548 85438232 500301034 630146514 667463084 669132866 290348148 998674424 398842896 150458808 501607110 245416428 895986010 402934618 644796276 46918272 307371956 211226354 513813176 370635166 872701616 47556806 880644874 444259634 836879224 860724614 347787900 187102920 991894984 967656310 114408630 721320458 810119668 287660162 895510352 571859238 709989702 924167114 799909984 99542908 176434172 379011418 560329140 621725952 460010520 130998284 535542742 510396444 867432206 782090486 561910108 10771646 467541974 177335382 125449228 66114352 655975354 113004 742040132 898027696 979631894 99142078 52227872 790486514 326384174 905943594 999349396 601630172 707664504 919263302 565104914 896939832 138532408 516035246 759579078 603455952 317898002 800569378 846723856 854207838 923878620 623372402 998439290 666473772 932996696 988082746 777282548 705493266 77477078 770458474 203399982 535745810 818290686 169306286 775225446 682824166 968345844 987299448 924876618 365893604 454978364 176746908 855918596 899055366 676412640 93439844 836834770 475192994 713883144 328638624 1295208 387004872 944665022 506858620 625485746 903879168 473730040 333639520 6286672 708953958 860756358 183413140 330688318 902089586 512209770 629971524 35309644 86432522 951811344 587332022 694935958 530542878 305643604 699683196 966762166 774423228 829964090 720541704 749906704 284071310 998801384 793467854 642675622 396461586 221572674 565209740 792526242 795095178 754224562 407190194 643447842 938199348 458085716 868374038 582748946 414052972 296558796 292457684 425477878 814601966 310051062 61724072 937842234 20452650 839453728 800417518 43470726 457567436 7544836 8654492 966683624 879705660 855881108 556425614 301201230 250399452 784487104 990166932 170079954 101956208 964028892 77762654 399117432 188031370 816603622 395418956 637199714 120451838 114099536 213783404 999423162 712715514 263030340 669362692 85587820 915765104 23331114 25759392 965535984 649650666 356660764 140805604 978386310 491231802 660401392 903637176 277805826 462336822 534995232 847330794 567539566 589458686 790820346 796285150 983108028 122609050 669112056 168383614 781811312 962021036 956300448 815293036 974095236 845808600 117466428 168777222 385492116 800712694 18469542 606126496 420864818 827925752 169950112 978560332 696519698 992976866 104809080 821457666 931078656 158905800 269962666 923567946 840238912 740479490 18707746 671220560 921795324 790181382 599001150 251964164 554094708 327953098 474098490 356428034 610172298 447150808 925229402 372718920 940290832 150965816 229403508 1332516 254956872 959016318 955681430 234507520 499181722 75893084 630455272 778404872 350406456 930675438 782367762 754422186 435407530 424490678 341082644 339766316 553130616 501881910 225934172 824059878 920047652 313630600 617100688 634641928 910163486 960793470 504294818 264548682 787676278 652370372 425020894 768443072 993263426 104855514 657316316 785434122 645579308 879519222 355571264 904145146 261540988 91124230 31985084 679965444 468366974 296313822 399656660 115567412 352681216 502485042 761833626 419493650 814868968 937084258 998679842 79775440 262131826 122058366 307682960 945318230 243245514 774133352 857617068 241564488 525673750 565689870 177847094 57443172 701733492 426373554 202052226 41208822 223878822 187382726 267971230 86935196 340564142 881452750 698279814 7022502 152286522 603534536 573868564 362696842 49828506 708501486 116464158 438501542 309019352 535234316 529595462 614062956 780513590 451757474 919056568 623343290 813201826 707567640 338494254 501433666 590798332 633311566 768647514 283443798 617024932 827388824 627177600 251953122 579018794 238391054 538916788 88640454 341014822 693888456 902746018 991771934 24204068 944973684 568232818 460999872 124841164 310653480 634857930 240912584 263977272 592335924 327718024 927714200 662428560 627386428 25741840 802807962 817144990 300996510 617955736 775782988 868741588 955975566 83419612 792106892 434699030 767276428 292838996 707862234 583840592 927925226 482577878 584332810 496056490 884071122 833765082 414179146 336542452 147138576 583274338 564947900 568262996 29363570 545813106 604454694 162363436 230235542 805766348 196740302 845749988 978150966 76952368 103497806 720254330 955996936 602960984 494792864 741626664 264719682 316943014 295058014 448136614 321272560 200198794 244164690 98827428 928605430 98234356 967878628 982134506 144489734 113403550 210139894 598558304 216547480 746875808 462275140 597075564 295862434 762373856 596888128 869761652 922452244 800633214 328714388 726077406 60510528 63113872 527361158 763012746 46349212 266623024 706443928 563085776 97130952 556915644 934270938 667192010 943948404 64726390 853102752 614987860 583072862 741176202 266588464 339483034 329724274 287867000 170383714 492147798 130479752 179319752 761460514 32354878 197344812 607399082 927921316 734045992 241271066 646565872 336943156 958355606 698751150 369462982 849751310 410572492 613165878 334378048 356980402 953183692 948300866 924739508 423341162 541364564 449230752 701496684 746542160 86059078 234641182 220730018 944827742 735752132 444715980 768653398 606257346 262188434 975110242 275260096 409773876 582574744 76846764 159305028 74822820 871256760 158249498 779789458 467877952 309183934 619969410 8365572 83773390 548534128 620549802 988468890 677000430 981590906 219330094 98154076 31635972 231716300 920036652 3337966 8378252 199568526 459262218 374789686 188503842 166190396 872522400 949591078 283270888 510705214 671781940 843658800 832156866 736307574 456293656 845811170 154964882 749167754 120061572 679711456 941649672 683888050 277612958 889961618 364884382 404368892 830095004 670013554 307159260 339050914 928178470 195377194 752733568 285395606 881695978 977116164 191112372 134840502 89518090 358047868 107376154 539400294 814467038 77709304 86097900 119145116 817896404 407292268 506338686 858577480 246955678 34250078 956532618 682104222 928456240 774572506 735977386 203126902 890283328 921269510 658201696 572551614 757275242 164835918 514367958 144650668 479072928 758261696 937186094 877581852 650750944 183465644 992250336 660042056 339129694 958406848 518896566 321717794 593443256 954901394 130129630 694455888 527672472 648949042 465666682 496605038 435766208 536882220 765820378 966628250 335640000 909388742 12859730 302412998 866479198 430701890 451169528 1336834 447252190 165677112 472861974 212139176 629446060 81342140 714669288 362832330 748555744 625776808 891653962 454158410 938418486 72897176 248959740 71083518 733230302 677302192 475545590 81003508 168548630 578429864 53588212 374777500 124811450 789887630 444732932 762999218 130989344 874201648 601760608 400118196 152616760 385510594 932906248 725014120 584293036 532786176 767510150 737428654 907243602 455625622 668084656 794181494 8173726 157742766 498928644 732360336 167640466 24138690 960731656 495635664 450876724 848198004 179694740 848625286 898757612 738276232 832658714 446119066 816385126 166682160 796992688 333947834 562466316 150146408 489556550 503923962 99264696 164859722 84762130 271169932 52438838 607391208 94619502 531980994 992933756 176171488 287729524 711015328 542243128 287693376 127098746 235507166 874993076 451145154 111808726 452727252 426812346 746783444 678970562 761854330 29270954 934981776 598371116 36209268 530803934 426806528 262183678 725634208 882523480 441221104 711616324 809429566 366392864 144770230 155331944 662682648 459671278 873352838 6065022 147802330 396609642 521985774 972100798 764454976 846253120 811680438 147934860 974872100 336080212 796155114 905327626 659666350 312213570 608023846 701195418 178329276 235281506 268863716 504976464 535503436 358931852 758823510 919884062 401803390 711333056 39502184 325065466 518609382 722421420 168854976 30483430 30105896 18746766 595508454 810974044 16410588 323856326 505839640 210451300 591691744 77446710 913828414 986353114 230250848 688779834 636973270 469471230 822130716 879604466 291810846 110996816 374450622 459860384 390506160 294704710 973293096 835430372 96657520 105647934 948809436 79043948 820744416 88182616 618635640 501801880 931854234 689899380 999546468 644532054 700824336 899075110 158927696 507868916 44965060 324657964 793589436 10714054 169097452 64496166 827983688 737975710 842632048 396351790 939496046 296694228 570952292 808283634 47504506 79194334 498300140 785571656 579445194 547828834 528190918 492407076 951377270 783068944 686170632 982773320 856804806 936295388 684903020 431713968 690619374 643753432 323257958 331787582 895399930 895185286 482065170 100667434 418844754 46016098 181830482 189724608 519375196 520917988 360378222 908964716 746900342 237172124 377683636 329393556 804805522 478882878 211441498 79622592 311967300 735550748 475046528 130761798 386953924 983813364 135727592 899052636 234846456 249799634 266845840 241886058 498790396 21908472 546413074 87937844 349565342 216431018 611119070 412831738 845779184 736756892 30672292 267992950 353693156 812597796 987705436 389363192 464312610 710031188 204338680 850520016 549316218 404397964 947562084 976111872 646505430 175215834 297048646 181558906 370481058 574813726 147409122 944882850 697237676 633845132 992899612 43265150 913759458 172759370 431804748 412984576 536175174 402650078 907332136 6775778 535835612 703680826 21061116 30423644 226035814 414952576 876469088 139750808 272012686 951365238 955909922 894207046 415985036 992253344 161847992 828861698 230036246 548050498 883809606 677167354 884489672 479044730 643718466 683214036 297439952 788683674 140370022 98624116 541534026 368975370 84672954 13922464 92241296 440691410 581265418 163229404 665117304 752236464 527594670 805185022 452928490 821265476 837275332 158048068 168140744 165552372 324172534 753113462 684642034 98409374 851920854 438157574 768308764 931949098 392574534 759340982 158256938 320652204 882690518 276341276 714234332 93392716 146869080 648367702 110884156 905012104 767859796 514229410 28776168 424348578 586317464 20344554 939586836 267713952 298891720 859769928 948737712 120998856 578884790 906747254 895761012 600630172 19204578 7950062 267913588 483488014 80165882 309769794 446079038 939196432 565942604 220322722 104495994 912931804 861410458 207705058 180964270 735351816 356169768 107231138 729258086 155465212 401492236 95276104 746991126 220911632 818722566 292686556 978475408 371742222 74261684 843932162 111850762 611107168 309618592 396651658 900836872 70828002 214048348 626191442 335417628 350068966 227636936 805656216 944902256 820694974 882580328 240903018 412818460 417276388 415275508 33956568 549573936 230781072 458455110 598053738 324962578 511114382 127004088 225993618 505207306 587276602 775650180 69845016 83984600 540406310 332586490 958224686 614570338 832521106 936124842 680850162 219324668 255576180 143067420 805899892 521297986 882957014 887740164 264398488 84581140 614850 70859256 799511408 250521828 42234382 981920424 846582554 401317194 830517568 665900720 102485352 987146068 182877954 422726948 121491678 99846730 392953996 964725788 921398700 217196864 929899110 804161358 49768962 95656688 492988074 290540026 96372396 942585444 302943798 2648928 954501100 615642692 860504610 195838584 665311790 239182728 713582656 290398200 242733510 549384360 684848712 461455336 563111384 591897440 882424622 984507412 103400584 214441164 395779952 298273240 716147966 814439920 398417546 827167116 958245462 350434296 785624552 193768548 379351422 235266128 938899220 805841038 176772910 141231562 78905032 434079096 781921186 184589076 731311778 916362904 5667732 750931418 103304124 309274214 583626068 592297712 855504776 621064070 31987222 788837498 808774740 385118316 563576736 803749166 324329686 485753328 265144912 714382916 501868988 922252402 497248302 711817720 845820050 348338912 171880078 444192250 416180954 678395414 898268164 26301010 982141872 83660578 722749094 798741486 172939606 315313962 623936944 949121576 807010118 509014516 965056992 394488422 546296088 614951760 756528428 596331652 880358442 671318076 627197752 886080934 120688786 643918758 600634992 288879494 194941680 743506862 297896826 658796476 670864458 923041222 217834904 826823754 109965866 781809286 374716136 256768950 409110432 706358136 964281142 827231344 291747836 228775074 431937618 745987004 237864352 413430764 497230970 346184210 147090582 750179430 555371384 58777196 633859144 2802666 97221550 976524960 339610710 754946460 503232880 496462722 839754202 531171920 768378282 413892808 202263482 389928470 22689502 472309716 53113278 276702872 255992654 581797574 656928172 212746504 183585718 952288152 62401132 102471670 482858786 18487136 916087738 715392610 329313722 333000814 469511286 215755470 578946446 882577118 6647262 250255562 229148778 173210950 98280892 655517484 328103194 945815586 754538320 209650974 196957008 99610128 771111560 431194364 70311028 566295894 729890786 88793286 833257542 587654742 545381550 333361944 223228344 824695024 539855790 114788218 444132508 94178576 324079424 677956438 562509660 68172172 344653666 532246274 518486228 624641624 364119380 332528518 983899424 649951862 709917664 718573426 847524280 713253846 94695616 320138318 813345732 802763532 374372686 119782760 795131354 361591034 64587488 725503278 257975130 54181658 474090588 442216090 763681616 791535792 77202432 103395514 423015600 532416922 325915110 845395668 872315126 277366970 849924892 258328878 676024738 943132984 287494668 179434958 969648606 226074238 490287012 196207574 899676492 781149562 555536898 632248394 929436812 856531564 386394576 970454240 586227560 480755690 620802748 762724672 149574268 285044598 16172326 95527894 779226416 714766664 930803212 457209716 531980516 461423084 464639780 413238886 918647084 514410838 774168124 626420404 381072962 807494096 34353534 531787672 645565846 522072942 119883982 359733674 270539012 517926574 791545212 836964428 927558322 235985918 195444786 173789654 239260990 692215632 500981904 423851684 975459162 422803028 29726844 787371670 445050074 291585630 732520780 868981000 965131398 973760244 537312520 70826250 123916300 878538146 39985052 840735480 282348102 768674270 20492056 467942582 715842222 12534618 223705904 485555448 491738866 799098958 876790724 476945586 211137702 294311842 861797878 705956902 98454092 788451584 944838030 894712758 271296610 801039576 214103634 882241938 355265214 31607102 118892730 305129926 248460200 488200422 214252642 944924856 49168976 838835494 960833438 825420798 93954522 284304878 456920658 238900236 568176120 19504626 724660926 735209774 38485942 786652934 838270988 649246112 44747760 127868856 481182886 597713974 945132778 934673256 635768666 401113450 589484002 360163094 509583298 315006154 2406876 727168720 238916170 238833750 340375442 253578248 374348590 125485384 489394424 386480544 930298200 310928088 438585234 996809190 660964976 346132710 609860740 588341958 88695538 290154962 274582100 208852168 172443402 775054946 712262688 715511202 650785996 996933032 590328864 215782282 328067120 477991716 430337930 683386064 50773050 717247104 473373978 766788078 493798052 102120356 699069128 850767330 564957440 441109108 848208486 866591972 253425594 544436350 388637576 871020164 171291866 66744126 613640370 810545676 678379444 34369962 60501616 62597624 821774974 826658406 126817850 664492902 485562268 802185202 374456590 608015100 555782802 55516096 967927378 169023360 876996660 783229394 747590884 291605376 936117368 121486506 477169594 224484896 571829888 735929836 114688288 331350614 739495754 60284548 928054120 370246518 357545914 898724474 581017052 514600780 41668800 417602080 462325480 439008796 946408704 52833010 262562246 506802470 249496426 474955708 794063174 187967986 136084902 239586468 999486720 718458188 419111862 79666974 760690522 212130066 723993208 173464394 327833154 754922052 674534950 857311048 314452738 496658582 774035206 435784736 289555982 93564776 779717130 7108138 555310520 317649220 184150748 626832004 679069446 950763426 334693714 768318338 585573580 601381018 265830014 24510364 398450358 407231710 776003628 334630348 779157744 105658616 985980906 479364810 40941654 988259572 462952496 16945094 408679356 443965992 840471154 973161410 509437716 743532126 559330280 463381692 404336626 176689422 10014610 146260482 567506494 187496014 914183356 529388486 120484778 203346282 916963658 389760274 592386414 984731790 117271132 19800576 995249052 904304940 706457200 913683662 178200552 160553936 962892198 91065806 931120180 105137090 291988416 246945072 350898586 477183396 274066626 899136178 961724368 873447144 371165426 225674310 849496696 986722718 496753858 888702702 940163594 320734766 792373858 41174426 427245728 701502066 58699302 109786062 983788424 848316820 838325758 135475546 984671488 217031686 380203142 896293596 256285690 110789534 245844410 459224388 409756910 836211560 942125204 765739416 485124506 373389852 313185714 916437774 375308986 793285026 518459010 506395508 349736608 316697188 611344384 563010032 635522980 937087350 893604790 149349322 469053802 402165112 424366598 670578336 600653944 936969498 54382996 806037734 541521950 364466638 427638658 992710450 71347126 121635594 337713292 499623966 108995454 470915888 512695246 723873740 970468440 886555214 509072154 430908984 170613802 747658702 266320014 67885428 321445450 839162566 962358982 63237368 945331486 69030860 742657032 241070254 425374508 681790550 952538386 542429782 228700980 955080648 875352974 965598310 590674990 744290434 684471498 726317622 718220322 756250342 198149144 714191806 730575424 811589336 413844608 777968546 464843186 890657216 495882260 152081096 873114182 407990224 434205690 685624300 466463852 448187708 232943078 37711972 160388788 189435294 128352848 849861410 471019078 137111496 212023032 42970490 387705138 667772848 52186528 180824282 769438406 880292510 22538330 483092258 532767100 312801502 279325792 990711364 667030754 687705808 359572678 280428598 816077762 231744596 848006804 63681044 40082292 656987510 760862128 426705990 370703770 557112662 606454712 212161174 781793328 787116372 599632576 647389992 338054614 879827082 543371694 762454318 193237374 799670186 218842462 786831960 953234262 912222998 81966228 834626232 931392770 227262746 853405094 866111276 137903574 301186598 490547228 929554434 270632718 548454110 2342028 287935640 701496326 608041570 426861046 791769472 59841120 618583326 454613456 331663304 65915736 495210144 234045980 672609616 136582648 533232538 325624238 679957000 92552974 722280890 611370790 113615672 88265154 107305874 373948374 8739008 768637156 705943024 970043592 523886770 786371572 190148514 534507112 901322932 48828042 277714894 149949252 587649832 860974316 212905526 715609960 458472300 634074486 209513560 752816064 98551020 268522376 284114726 864526082 639523990 716844958 644660860 127679050 732826636 407773790 394758858 22646412 129226478 701658504 946524762 767765792 458202440 154267902 397726774 290646038 46224810 129549524 818335638 881243146 637423094 399533038 648758880 883276334 523081024 858585170 22632380 33139596 180544672 434754924 617036714 94439632 827916312 924991832 446628988 444345574 90415160 668322288 74333494 321848884 970827178 20301680 573726456 844308770 992267204 767704894 246568240 630876044 697181254 719906080 926309594 949701192 491242812 444671456 563745434 746652698 203446584 132789742 876914816 313213134 342443636 75312228 69919328 480558030 811458704 678109076 455143964 408015768 157940940 347891564 64835518 624243788 589291474 246542584 66733566 733186406 635609556 712835762 697340760 867679500 572421874 440168282 578296490 798501642 431493316 87236738 294803486 519157806 546831028 248253082 941990700 660403952 124833316 861563404 850548934 503331026 713349064 411974658 58714194 106389772 198523408 606759674 494690318 259195380 601660644 229429752 765879650 975880662 481759552 764075754 399476548 139135088 165506688 728184426 152150034 810436912 990439442 675641286 42869582 760304122 781069518 521641210 500681176 784716146 22457672 734501828 792462014 853546770 838171746 480735084 949764232 804031988 305847902 323361886 429079048 823374968 310425874 410682080 292725792 287514222 969981550 840121888 283974306 28555626 133621330 413472770 271615648 832407686 768505796 361192068 164582706 432788470 957115888 427140776 251391032 957817896 141954058 776403562 437829468 671010126 215236932 236862920 273306060 564759042 778053232 528756276 859898600 778844640 193258998 118726368 862214144 854294732 842210732 703409462 899346184 369828418 348875684 786969256 532675036 380213570 59716934 847541024 510262872 339385054 666209506 409467120 551392146 214821180 74136482 220539282 846235044 154148524 521180906 112759706 771016320 733609564 461398702 924627948 345619790 20336462 849666968 121370784 965706590 788357152 883034034 477783212 522275774 641315568 589457960 282910208 705617658 759534410 779277098 879134836 770400928 879855144 699984742 602051690 118540684 306072086 979359716 110200428 609668808 745998618 763588244 807920004 234276472 833202660 692334482 2374490 9893902 595741898 843908432 387371294 8019728 843919960 284327362 828004004 476001174 225034056 698139842 557226610 900025854 288284836 223011340 86860588 605192780 715671586 298014960 133205522 487192812 892377924 723345738 966236560 731290362 833725524 385826000 42048936 819472672 964711638 713247394 620083688 73620404 600366400 278533786 737394364 641465590 582957794 413811672 510183072 335074278 2177066 60798282 467513840 799609368 386926464 231694032 647718162 315910592 206776452 253428340 193304570 731673708 453023208 288939264 764139588 375369120 673744188 751138828 954858498 867326980 324826198 531441258 487910066 509868928 697891760 828452972 840238200 804305474 979379280 353006796 262118998 110326864 334135634 493044082 417063080 334035070 447636624 755150834 626299238 673672104 344036654 191120996 711432134 501387360 498560628 74239526 413065316 587930104 75768688 321655892 148354818 658931752 279750784 556432266 183693134 676330152 687655324 108125138 680051514 239118524 939979458 830186820 546132 334828146 600556474 157384248 200830118 189825952 508002550 543360394 151731598 970208130 76117198 537277906 924636938 535841190 945772006 729891128 35192598 860272390 163534322 671353098 799558726 627582338 3062476 302905880 263125548 154565658 918405826 519204590 545418222 938956242 301119120 234196166 924103870 672292224 239921092 688693312 967976540 89689334 896546554 221004860 188881344 184618486 630250354 562931214 960474248 320359578 457636836 595404652 938484250 777536148 271479196 31351072 128328316 301233314 328159734 800180730 155059632 130510834 127459168 440225934 461719168 657064526 584332052 529841096 280861834 178446204 548468888 78612614 24064184 196209350 103853322 882376326 980934354 887033342 784323318 923757922 42066868 750308600 805458738 183261696 106584544 680510296 442507074 245413866 325751660 275488442 467116360 867536238 414009812 114923002 442024144 383390772 461053164 129394606 793477322 201720998 694932700 23509972 716317620 156301400 199203058 320606408 63897980 628684404 888489352 414015746 487828356 552344116 265985394 854700388 76927056 606588902 434539342 14018574 780602646 732448888 377249136 265357370 650497952 747320068 330477374 457885242 992620718 504362386 108700002 821073856 922586464 829539290 313393670 481645308 27805328 371868996 104085538 881507254 402475724 138575412 875913678 928246410 217624410 761436092 791839288 260890794 200548628 34687842 124592302 260603754 955146992 588527828 686013324 598195412 804535486 796893754 782034054 713974740 945074868 75016548 224787260 782625706 169633770 628421932 946477464 653164920 110243078 209235084 248280272 289115002 751292956 387673864 705716148 231823116 681977290 561739888 905138920 852386884 925877914 225821618 809926640 898506166 288479662 709597944 788904804 835737018 375269646 718227386 100324182 141296686 736634524 207962436 921785824 725509768 885117972 850911730 629017838 680303010 103587784 541932572 96739308 296480702 336477514 67807616 175048830 12367322 976794206 721398066 62458386 275224988 406922310 595015090 932897448 436315016 154517612 400347580 832785914 556205250 255578408 396951378 60337106 211664800 845005174 612181270 484294114 472734998 755163428 461287762 541184930 646886372 336824220 113858734 376607790 39404852 900168276 38860690 5127044 44637166 605628066 552828172 241373288 589225562 958728688 726599696 798788662 280991070 788158876 42493782 90889482 930476944 422899556 408015616 23473796 1844780 210887644 545962652 759135478 323569544 960640140 557217524 149124856 602953730 247783826 285485616 585476864 769199218 782180830 620820868 689417568 59331760 922987736 347407868 426358062 177884032 404039946 959869536 61251890 936917260 677348890 618463832 9429344 675414846 425523752 1847394 227584198 670971758 706248786 925145076 721856226 407958644 123516136 89944656 132247684 302705438 348696426 279956346 254419032 848814000 723379284 819895004 212419934 337205674 174000190 480371456 853611194 35428552 461496528 307232922 681962094 47237990 856722238 605420386 780848654 474009312 384514144 52839004 986913390 998899892 894845900 651260636 474321524 507168162 728936740 47098348 8105116 360445840 909260242 742873716 464887628 898029726 798141810 953813844 90515870 365240972 815315056 3028490 768829100 172544168 730189838 57432346 663816486 198314258 19416622 865234052 311528296 343234484 166129304 179506600 424967404 358869194 904010194 228714072 653095992 809621306 398552330 359302894 946190072 806299060 812893134 209946086 346407006 453691760 53333188 994071180 11848490 38260174 446976306 792018558 667572686 596383798 621930090 22765362 416196934 201999674 62662564 990254296 694068080 585151074 954019598 352897200 565158892 170671132 169701276 189122730 188196870 253585942 972517004 308724608 414566182 490495360 627532258 421109870 523487210 465994052 953896788 110232606 50488342 709693748 946904972 35833424 406227046 727032906 350258350 301931986 58445614 854227282 554877154 561667042 258669110 406710524 594966730 433365544 942777270 292027438 733825938 123019668 961328626 223453834 572278002 850205438 885876888 401754188 538735926 419790430 286338808 322910734 486678128 235818226 181228994 24808090 933731910 169345538 317284420 691390644 474400814 352428956 8770990 451940410 910774806 655476940 132692934 68290876 396817632 57723476 702186992 743632260 984833996 793001366 97691162 373062088 853797026 579075372 769540672 617730814 615822400 103773356 570842590 611533082 827566448 632269256 15796844 747829426 153228502 316555836 61532568 204485514 98819182 439526988 281170852 946274952 867107552 414151178 908459712 86882930 619236184 151587082 160835436 201498070 139364940 606165336 464003038 946764036 730259068 699100230 163628456 961386026 56164002 436443722 173038750 302712482 765470286 564715160 541290266 961462866 138572500 91121356 324625760 657006090 434728798 706300344 286970582 400516684 385899254 480522988 277564024 187193032 380937602 95268472 737322490 366718044 631751904 821359124 170848028 41391226 713155614 317269432 999691104 253707674 129122388 245417440 941728872 157117606 615125148 10368482 696178054 757921426 360029962 6339934 162428562 189861888 727772498 225914666 74866616 610228526 450295452 707624286 25064456 125432926 876469644 628624408 98790432 642139838 718657986 352781210 257120158 293615344 547131578 878688754 954848228 733331586 437906544 286674364 971213312 855091770 877817870 459375598 883001044 971500102 928995438 435889220 807471258 343073520 65204838 222950606 801301430 786945358 682815792 903781436 218876990 43935332 443658360 494904314 911489002 552184192 127351524 712176806 955621476 764607890 314319730 880080066 87677122 20093422 742612374 523823768 752212804 10208622 86303458 397474048 116741278 325538606 923084450 670625550 444016860 20449150 748488342 399662174 148011538 93117306 739785058 702659248 429702114 801788378 670504886 902770444 959590124 766422646 811636488 125724950 447491908 800718714 51623746 221584050 836069486 450975610 954933534 698498096 434590624 535878252 75121884 100290652 941036404 386545024 684566958 914179970 841199926 643225282 30492968 714471904 809966342 950596190 995382468 496872538 659552918 657936574 620748608 588857862 748646828 324057006 681123832 612329182 288018372 154884466 271670638 179031268 302028528 833120876 370995672 758818544 353482576 641339024 264155482 981997928 633428424 413071552 972143228 868624258 82225280 559665628 93496862 653443600 239891504 53535048 624880480 312488788 770126584 773037876 155490214 236020266 719093206 688166162 289271034 887872356 334381262 775228378 981512620 317104344 468981306 926885332 683631136 24182084 853378602 191711072 538538204 587045326 500974360 173743274 48838974 339659388 37295448 832410848 426376660 153205738 412272268 940417756 409005830 709876632 303542016 355124 332071446 551359884 959003824 323371386 744887360 131731138 37462634 421718096 585069782 520582550 47935280 422495566 588327632 56555488 895248844 888315972 260336450 664845102 820441788 6672222 597032430 664164124 831944086 755867874 381802332 162177856 572335486 912273328 966378450 140352660 226675418 705087222 486855414 322370180 411041056 206016840 895422800 380582236 540815336 617070788 329461224 280618392 957749916 6483708 437587714 9590248 426785514 865479072 986152976 25408702 194987020 582700544 464174948 497617424 826224078 329689522 136809448 953901514 921150840 19229586 319029768 393190168 140211524 496287060 973603010 76253780 464902742 956912444 710190134 355984406 505526242 790184146 187789890 467210874 906240032 770161724 592835500 432025754 546700486 72470158 546698596 750127504 99755150 479992528 549242920 623137248 598802846 144548822 887890916 117989916 454526232 858415678 196920358 711329270 299043650 24440886 946072238 745657624 501672230 963200814 770658180 235487002 320579802 954581004 493989494 288506718 455923340 74435478 931670020 520025012 368122606 438488578 633073046 950630004 220994346 598863802 526706560 758560816 704600848 254943486 993803160 546483488 185351968 873801990 941444896 759845476 727223622 967428140 640460946 874151168 262622464 335689538 445229512 331011862 313940928 590975042 468235614 668678156 302264938 131595598 732826976 271669696 152226152 210829602 766452260 510523654 177066488 407304024 199926802 534612108 154136268 650446196 756133798 317592988 219244940 110328304 252778270 18308210 332463124 216414458 280411866 915670488 709530126 592077590 287526352 781059756 434635356 674713316 619231750 564597894 52349114 45542122 84558928 901601190 522720010 639235398 94907588 787372460 526398152 989515040 543182120 143864682 904016346 957286428 542449988 493539298 542981662 134347404 459671576 972892940 951098824 432088234 712641168 867625742 231174396 270019098 276965174 268678700 7314894 40486116 70093356 925004944 533792936 897742050 280629570 909747734 862435390 266099132 295202210 323185782 971219340 837593848 122956278 724515934 127837712 515005270 46916288 677321162 944118982 768095438 900507186 589735784 289277136 215083712 303296926 745755850 792820778 516248450 464802660 145487590 164483776 980046252 772118100 882095976 362879744 294298566 437138274 965588310 60870034 724888288 578054736 360558034 705011122 932833816 107202078 770507166 160517432 10146408 742512332 152729532 972743728 352310060 585596246 849220174 590617002 162196330 556023790 826828406 263615566 181788212 330876594 645477832 967354960 190300914 19185700 247934106 260025334 664540876 752419496 419708252 403931340 957686078 276065486 44218948 535248296 504644580 438869040 892600154 725418998 32961128 157120622 818417618 69537796 638234248 940336882 368531574 301330200 946892414 797783122 498702720 112229930 5467506 239042064 370556174 123058268 583663238 462001116 736709354 635475346 18631772 865095994 51968252 852441662 952547268 590208754 382095684 603961436 155627600 362439086 120706766 885236008 895427186 143510262 408911320 99898512 326882886 118513794 808766582 217934312 340667508 711149736 498571066 216398538 459275904 657817482 794099964 386332996 459787732 436072554 259526436 80182018 59735634 515397044 910035336 517357394 138544114 320677330 337562618 34033338 153551098 334494960 5046110 694653458 736208034 146778204 579973328 488556340 340442846 109653542 931398786 954939914 233998586 693740622 655231266 791124500 374710274 346038200 908805330 190968152 680118940 188586950 721129878 751974484 757298108 729895062 873224012 995153816 565950646 119635398 693724262 477028408 435529934 278379358 475645706 714684836 393457296 673860038 697796356 836785272 648615310 672927876 75956624 443655430 361709340 809223642 989723050 80000206 998666996 10049104 631369284 606572636 232128358 160519664 946306816 677919774 593215048 68299776 701565558 821292402 277442842 360251894 856495346 81692614 661157782 406901474 39693890 272831910 913290768 107131496 788272386 114484042 303267080 837010526 141732556 562179642 670826346 587480754 132719226 776567680 179054318 908070188 393458320 904218594 447637448 437153540 432837772 344208072 999017302 823664760 207147660 790135730 113074566 599991750 187922664 425367068 800069014 60378120 761936646 620048080 354700066 895176880 900650570 206817772 52140596 634453462 179533286 958504016 543287666 789194884 444819870 285916186 4066556 823353264 785233274 247574470 126320058 65045622 553963904 180747618 354279596 650671856 684673948 822938826 870939390 30937270 559411124 471747452 219927902 270568948 944174194 537260644 778074808 875329104 624989276 49419624 599242760 608096306 621148990 790389630 591428302 136028346 578955702 139489976 888923294 363594698 111460902 149247860 617930542 404256992 241353006 554562770 660554116 336114476 664091678 307421940 667224128 206038624 511729008 293853230 660210116 243437788 9462556 97738680 594182566 264911074 896548512 923084476 597951256 334904262 901772640 570221308 771388316 531143402 455670090 83369278 493885976 495451568 414435002 400761324 42585390 361645532 205130640 72154972 954303434 124323142 25187154 665580896 335713398 831609780 44982810 615169054 907761870 70194022 405253680 740560256 800451120 630589888 523982494 893339452 503702656 923730954 185302550 293198132 983259128 769722850 356483492 256329268 674902206 2071830 102166752 342473404 635950580 289256034 250555078 588370746 515983092 404558774 851180524 260858752 37697166 460815928 695532446 548083918 160988954 499223608 993857686 530907616 700427366 221792778 752795358 634004738 384864828 367933710 863772042 95765742 326825948 559963522 585305328 898724772 408174962 344001900 502266918 760791358 603232158 608020500 432251556 28712480 107563954 428939736 788987316 40712802 602501786 417492422 972780302 965903872 374252578 627472626 206020928 876160624 489057470 404912320 390020968 515672218 396028784 242663458 98324140 212584210 353300090 253254698 478708402 539195824 734254282 176274280 917765466 177750036 613563702 532831654 616553314 650154372 60719112 236583912 308419952 49190762 709768272 757363310 225548102 811567940 942210448 538961324 297387312 64350386 311642446 939842794 619626586 385491976 336933088 369256188 450548178 755856028 158756076 25382994 944351122 477814828 882133536 639038376 803691454 164842598 812114314 472599680 475524480 330398204 584914976 3150738 18674942 345562256 659706572 29554956 317708674 50948876 855696804 179911580 122680096 50821446 910769726 832897364 684364224 57069746 546561640 468164582 85467864 948358450 475652576 242513686 774110792 389410140 924171422 762669756 384252084 382745392 26816412 748773124 148174258 513309118 131662636 899186396 418595866 652989868 7119598 292600156 444506646 448514026 453954334 712279182 758454242 849579234 544985944 668130048 308672816 688834588 93683072 547284990 576194492 486153476 748705628 32803142 291806304 223331236 842724718 61259818 844882528 351082364 736699362 26064748 508450310 364170460 323212688 444124514 926084830 283713250 686937296 413194734 818930724 18553380 104651944 571115208 718012738 964672510 633363812 559126040 823358016 957972246 35145626 39711104 677191772 918726342 794592388 630628344 605263952 966983646 575477828 575621916 133752868 646267328 169316810 809422814 602809416 877424912 823651174 432522188 44983446 395218658 194400948 60449854 904652382 484876320 151455806 453901192 903228262 930740894 884713224 318018364 71222466 522466790 218102958 206946928 416004786 491745700 706601692 779070632 841610044 361266284 922448100 877117170 394754606 693020208 645798686 903332110 922669492 253478918 800065510 389027792 17181960 948186142 201658684 111855128 670580966 940484052 76191296 577437586 82418742 959123568 933501574 887328370 279213678 830836876 340875912 141149506 349252900 689507428 121836318 885629440 57162144 475590564 149996938 314375570 352389602 593824284 198228346 84195798 273797438 462377514 877314390 612834798 211049840 699699840 321331784 386665660 472710510 215259024 810611116 814285070 820417232 838415986 199282258 813935218 894069506 461187750 731332572 769017042 737448750 248917462 288168864 970866300 402736900 662160476 55952524 151122688 299834174 609250188 651735334 322887632 156551630 90231614 2706494 716323546 488563128 397943936 436034458 944658626 865846378 809607844 8441658 635782866 579145144 242591930 252789926 852139020 423796914 758214832 442607056 908817234 432606140 335644562 412440088 240736598 463264522 227770918 349977370 494842738 746787270 903739200 533136180 717999110 514374072 817124902 918042294 921463044 854600304 604190326 198396958 220355190 711189604 268703348 286582390 983436856 386816848 870402964 813557832 568953340 483855780 384304072 38032184 664682930 140920916 375869220 977852744 872928228 659845390 238887642 547468416 191033154 979905302 17280668 142286642 520958588 324571222 232872030 739310996 39187238 497094276 442572152 674455492 19502154 389482352 866273478 260403426 439769372 596338338 400898626 842042570 458200848 118687852 231089994 37950140 428854870 968204298 993593682 280101766 970683592 545590188 456404836 891896908 175309000 704097694 914054156 403842920 626449962 917082900 475136868 573744532 478721060 456570018 7547418 223071626 600602234 44687120 226603414 495775232 887075014 563158408 520847486 692680934 539253196 407166044 540832810 726396940 497526936 895196062 37730004 813242874 930426300 6055506 853649334 333892492 159213178 993369264 960367528 999681392 207124242 317503074 884979322 208814970 704912942 196673710 144341638 196201752 559417326 702446982 762658358 883862830 849493096 715443510 568481154 267666092 703687550 251652304 712279964 819462698 169284142 531442234 786557228 222440778 825306380 616151446 800992214 216834304 565702830 796020908 916419528 5933584 824621946 837725310 445446550 698619404 589735422 63172052 69043744 592578978 888746978 259722862 135780328 510065488 864103788 354334628 4327756 816818612 94570816 13532068 771041148 857452034 819559480 562033112 891719414 941785754 726958698 91015190 511774240 811012644 41642954 611521460 124776172 558460934 649760636 6533472 610436350 583838448 709406254 426852110 153507388 612970422 437396342 574678596 685164366 215232752 689583562 233060674 326832484 135136988 893850672 157843880 989028020 57572224 64868786 674797574 418283538 895093872 316879642 644699352 325206684 854207880 937359096 375104648 135842294 406215814 988081358 355586316 186116858 355131478 483256754 337859796 503766460 601518758 590558362 706172250 76071126 740668606 710064426 782730692 784127784 906734968 13415996 266116180 736319448 148922064 641928436 99048434 810489298 383577586 466956862 309722536 143650194 92404728 722351790 882109048 212302038 903691642 57207714 909273690 936146376 78701844 670379958 484271826 556420612 451799422 132294508 981889374 159026320 204163538 211680202 110159210 590418812 310092778 969765810 788203434 721204958 975326014 756218098 43809248 684046976 705649894 730534202 688259192 402229412 4699032 383853182 719027286 37680424 160771144 983525170 413529598 417224770 789707336 102892232 469131878 650498152 249491202 292208018 836415488 135889152 893906812 343597282 603054720 115709844 954293756 592633608 998243360 39483078 939915516 787781822 664188948 447618726 945721782 380969100 376802728 27571680 274027256 26869332 705409866 238347718 478004914 917526778 457303364 665309362 968625286 794267838 286878414 684909060 722791718 48659132 269776902 118286858 941951652 558960226 342369086 110836314 580470822 378196476 318863778 793901056 37686350 815201344 530277760 847356378 333141096 172480104 213188700 333248934 44544358 151841156 936308806 394939870 834446320 254136044 212405218 978474670 544255476 819706704 516706862 833226112 312717300 385976652 499091358 466999746 896577908 220642726 97893558 647337210 33484092 861806720 307808944 970136612 495419110 889579992 718605444 7094702 625383254 273591700 720915744 280791358 912303086 425909372 498735934 980980890 780957712 138460178 609763072 631703470 927256776 542686776 114961548 183574006 555043674 941941708 256897480 534723606 40477454 625575184 111087160 156065274 287664806 642131690 615855366 470761704 378701248 448631570 399255008 578293716 295767464 843653980 606022800 820635614 134669616 252423046 774971800 867458708 930410014 514890334 482780876 436102966 444967264 607310154 985800184 128529086 219080632 666418130 589911560 373839758 687052394 27113706 154375626 937336166 795795270 451610456 122638234 298271048 19215256 702642636 13088860 556588428 320160222 839109888 782698072 848185682 734491226 120814666 156659280 202474008 769992882 615290974 739136734 243157520 763254440 507030016 317068184 522864314 891233730 946792426 102571406 713832302 353588266 36669986 515600794 705799308 229871000 638621286 475855264 102129894 268574882 259099730 479466260 80639266 329834492 910166892 199225578 410760176 468575236 314297524 133386232 887240942 32612556 381214510 699480408 584940894 713836842 539461822 173298878 321209062 617945648 417898242 694141688 714926448 691261194 66886218 939101766 403445918 191599850 216186538 915316964 357343888 932165938 218898002 879730112 408893176 998848356 452730346 753709682 863764164 888082348 356519992 423397108 907481750 342708756 576882302 446735964 277242136 746803400 50812768 333660558 707218920 969892008 631522640 732273000 682546534 766101558 709419232 520208448 735833276 25826860 313471002 533992048 164038766 939892482 231275608 110430768 891750688 854729636 678391752 139679496 94616456 135782936 427415304 237586186 559573434 456329530 40176658 2493922 64236468 367527482 13390664 895697240 595140614 936870710 396707696 531335884 994270952 651014514 210878478 464088800 864197080 333600276 524667772 73482528 813759858 273173046 699322838 246660810 823243394 16946402 677102660 819276918 957663772 624960148 395331782 30812886 419839260 375987068 938540058 667667346 947056720 867928618 723873124 221066160 892982736 456848764 739010424 835078156 704405758 518227866 615955314 526402648 667705184 454433122 34105172 739562786 519066988 78807246 635389432 822164450 985571726 812252446 730735074 401332134 285475750 615116594 226330000 360288268 792245032 851597812 837733252 773348678 475862346 892615624 670570096 837365536 383476934 552372244 440331436 431053828 400954790 152410480 234714440 750397122 503460794 926677566 857342144 55118184 295798074 819615562 386543534 953829576 255116350 324642026 476722454 991853972 211780732 691350394 176524396 248576768 798586280 991171612 424679434 449095092 545355802 808045182 569095732 958336764 684389778 401001558 465119822 244966826 35930790 135127492 267867326 120192776 602757136 818492414 330472288 250148786 608990062 818029208 575162984 12204692 570417300 787051758 894644754 515225838 500818826 524389734 271365230 406179784 694277580 239708054 453816618 354127484 719614644 889852618 725464222 352929116 35382656 272194330 287569516 560504452 16980368 121209944 971788698 777929194 637835462 721272540 535547106 680212908 424271224 93443690 4534226 125387238 777028118 164078428 472234130 724615482 734182818 204956730 441100614 230340318 528816494 367187924 746006304 452168456 727426936 441572540 102430810 869960560 315203210 262431926 877089680 262881224 943593812 224830996 327564346 4026486 374817080 89262938 234802466 892133370 7170098 846251200 983027806 342695954 577931102 716997506 573450212 503513084 594302934 367999066 403571270 812900312 93187900 190792186 551503856 992495312 521486198 348260662 331495734 532920012 999767874 760385530 429013854 154867564 152569798 274123774 843904440 403661784 222897478 544180386 72438302 614811752 619228008 225209414 799974046 489651066 523403628 834240998 597933194 858577138 816632922 301316352 253512276 370922488 512437082 435715878 145354382 984597070 885705202 342320590 476970330 674220590 970908942 548333716 433160344 167570586 910158874 203810194 961138148 353975684 25467198 658239920 484999296 109916448 141897460 396949806 321715086 263755806 265802298 719405622 535500948 442722138 207497664 707688626 277456984 787602722 72178372 53874306 708218964 622055922 678738794 24070604 335056708 227434954 145387780 236659422 668084572 606477988 104634332 958726928 64665298 773930758 648892378 354971732 516934964 362223968 487672860 561106510 425800180 953381720 617904034 63613234 154177254 762690712 52796906 214921530 983773274 470521160 776311208 67153054 956627580 55291250 895137418 493861490 169338696 791563792 393526304 626132782 736584426 842289010 162371212 634506288 936913224 564965368 808492654 685695034 581780226 360322208 870803088 769970636 373394186 373338814 928001974 172159552 192585788 834048268 398812100 504265854 115000584 131397334 770016002 649365394 938037406 837776846 496439846 585275626 628371292 173125162 790917890 866343654 156147848 526289238 875928106 593734456 338971262 591390500 240703698 956364454 218741962 512689266 275301798 989487412 899204344 127827174 892580472 338787570 451783098 870899270 890633370 261197224 469441772 826575188 278960442 37393148 935640184 998965880 474691406 885558386 810240922 123447602 962594168 58921152 337870592 478614646 467232336 589068482 32824350 246127208 86226656 442392456 439355540 792301828 436490278 116343606 761393294 528443224 497499846 463397742 428387102 500147388 377847768 466140984 878643126 914282736 867896048 738227684 454030278 727256912 433682692 771384136 70270480 337277114 935411056 264672086 887442146 513218854 972833266 752216970 614935496 152361066 864757590 947896882 361081718 67530004 738730994 944863374 811848004 120090590 288699014 831928128 465383580 464587732 18019430 568895434 704104828 869379554 607695974 918067018 612979538 796104680 507455612 244959762 76933000 694236964 885728342 793514326 333625542 716544730 366061018 26197796 132872654 479425590 143118700 259074148 880938540 474577188 1631304 124538228 331366546 320827934 651366894 854960274 107096242 402714378 428538102 785909328 575918204 731677890 619517268 372608028 872240080 380987034 371265322 347092976 900393032 456961712 724648554 886733828 539127678 715320100 510462600 371680488 285182232 806762044 238111196 65549906 328756088 382083852 777101848 467003450 160994504 239043470 946644116 841046734 453708208 194438878 662921742 448021716 858807084 854893288 351139158 490608226 648962706 814001110 649637710 201740230 649124418 815415884 536014322 35493136 731938014 848022824 893647024 67336988 31463360 661352442 55869182 523636674 980596984 114659254 771363194 447634396 234644854 421093260 350059912 846711400 992094336 541370696 489842608 519289046 844604780 717068834 888564454 261670454 435001176 918686118 808529612 632789996 420846760 203245806 115778956 571081076 60627140 357919858 995245478 245253338 259186346 212550678 480842390 326300664 242972240 937143086 61008152 599800848 640449586 955551478 619848816 195735094 689477426 849778698 783953890 712164134 391612058 199902916 243639830 239533904 201698360 168132290 789123796 186858880 373054348 173261548 800411342 858337670 619132844 906706884 566916724 230866886 132901678 401814832 171375710 157118920 32260838 593809314 799990182 799643094 567903616 166063092 854391504 478355982 997577144 297745122 271860782 87319330 498564336 76969954 422085092 337226526 727728826 89788456 428856314 37150626 357988536 731352638 846055158 252194862 74721400 339918092 840095882 424740434 188687744 760527942 286678576 804020494 121230904 259864736 380900130 989395630 877571012 476751374 560712458 142633954 196120250 75500804 21820252 686681344 187561812 308518096 151847964 358538868 422596964 305353218 307843772 681954786 50630176 23454232 441261642 117784826 598088384 639206360 669904956 925387258 255730552 675241268 635006362 992639868 713798450 725373054 519256942 907085640 684615764 444567252 585237394 638663208 620633066 650012254 450577394 501639422 255541180 822828 326341708 468295066 55898390 413538750 202673740 85254510 52710914 243927496 467639034 166376984 710775602 95453728 392393694 343154438 555230122 890114888 473292476 556937692 824311602 87982110 125030756 708889594 636660406 285200164 739462482 31688430 718875982 985659042 409552438 853548256 356732814 819786390 962725358 651747928 898876118 854551396 722293714 649195704 884610744 134009986 466717054 648802902 724210460 660376426 255525854 223520800 308110060 190872930 262828252 779398780 810628964 403792902 266621870 927247148 93804002 745216016 342398178 356855710 962671816 841583938 158914014 445610128 539406238 443446810 18255744 436797902 955754704 343203668 354100822 477684496 982162784 898842616 944078720 759284166 455215924 64849762 552484538 740084556 86455858 1345470 102603974 594415936 192044398 935164414 702303236 148003354 555680886 853705572 118115006 850838490 450500584 830064966 729830648 931893610 926908490 63439198 561199990 513599536 497797914 505563366 97466078 585605174 333271044 723483914 816858942 171031818 51269518 832526496 904042286 201535226 103166418 958123268 916805976 625629080 561761652 580033034 247712218 476877144 694372500 15972010 245031956 637751768 249051112 415778538 817547948 447171934 541485342 493236268 801913816 485355600 200541574 998195438 924348148 708577908 509572230 617858222 726522914 47572716 74398302 144119798 246854234 656779382 214394456 912706428 443235246 639747016 615357490 599767556 83649510 274067074 323438472 864052450 84333596 223737266 206354112 824971392 928913858 912982450 862913944 511492228 9712092 472453616 578978094 471786470 9304828 582161500 219963500 405996806 747230006 841308232 587303152 923100386 5943764 121118706 700843408 179183746 813306026 39820260 264877332 375463972 910938608 497730142 272711050 661597764 257833620 174231084 429428692 268367294 987796164 626438528 277115684 501244366 795895102 253667530 81014974 519163886 736267068 753975798 434271590 584362018 448758124 596688210 952271952 476335912 934379510 580700596 327087410 490513056 766201936 402152826 415350388 756404200 907132878 817983808 762932912 292582940 920458260 935524224 972331812 626695414 785466610 496304216 112745070 812914786 833186020 914068586 529211934 450404666 636702864 376030908 870983692 999896158 23579572 224631916 612351048 496698092 381956276 106717848 120503514 33568334 180912320 53249028 341844578 42088388 462663054 337687158 473796784 273685372 923293836 454566742 658073316 79203764 204528176 265515090 46028234 809118742 307885838 339412824 834843154 17210976 690332826 84740438 138480480 407580742 904862996 18334292 243444264 3883046 720347968 372985716 650047288 260407824 195703122 431314690 73480140 887865180 696809798 188587032 468931438 990755284 798994412 470151122 14425434 767435766 500170498 380961854 284457974 473332462 33906318 87695498 345533110 619836078 546181904 194669532 60461624 166049232 976639270 256756246 890764138 917295200 590036720 375546130 147359610 250296506 836932444 941362388 945895102 716687260 239719508 936719056 947977204 207027356 582654792 779530608 677125844 827256482 888294242 531975306 631551670 555668586 358764654 69960412 718946228 354247420 768509346 574089468 365433068 98005176 753162890 367245064 623003660 786329302 564308580 7124326 22291042 575759852 362164978 16531698 338444742 234334060 533650622 261643798 99493230 11931438 547364170 777362640 490086496 703631264 48316128 230356286 486218432 865579904 220736850 801250632 941937356 319435700 64413030 794951344 16591200 856765620 951180994 342602880 166714792 189937712 313092604 952143616 413731848 19886054 138841560 628925892 305569136 396244886 443766788 548269618 284850170 90461436 864867750 615120654 156356702 145700994 899809084 458745056 232398436 382777770 252285488 175519098 609848164 26681094 150363152 256200728 331033342 385260432 329214174 664864338 38436420 806993008 784228456 983023614 635151598 909324750 110383264 528436752 671366374 970703886 489398370 125354330 305661498 819092196 349766968 619141834 945830454 878934484 317939568 255109916 527599766 523454630 920303126 403293144 655903940 856062436 166228380 162528698 689038214 453798348 398014312 744116854 135298542 885840090 477189930 786720202 192374118 978695406 731740534 975130846 51367668 49739498 704689622 515153494 776191992 17292514 265193290 70642634 688384092 681199784 875250694 242314850 841737868 560300722 728413224 229413574 137354604 765904412 971532790 102110178 681851584 101502414 928682128 655856466 873702838 75816032 247050218 805090068 389328482 249746294 823810860 383681066 808921694 886279900 286478212 25107910 958971842 973457220 919902294 937636654 308266996 776758140 640189572 717358762 300749966 154363752 988828524 324538912 947307606 52145600 296522772 825243960 985366010 37981162 235495736 136979620 784385512 701463024 597863278 184420342 955416416 682546652 495611936 189753844 406039068 964317980 202994418 800058794 566928378 444180266 263409154 520949268 67093262 398667366 212831996 237822696 334734984 818839926 877545840 178587006 848629010 884469054 685238122 524004044 295274208 668146044 423162892 162927640 275889490 407626420 285008092 760221362 54776066 254756676 14169264 384556248 971463074 22488630 900714178 674800566 30817368 289779250 474436116 166477634 602983044 531773720 587112696 513675960 453677138 713892880 535273754 803431526 795368834 927481536 859211268 729681382 628378064 53148104 377801980 527060524 977679290 192730970 770875360 899549802 690005830 259633838 307977358 530423328 884075006 141797554 678403462 939220288 227182026 609663368 323487138 507692544 78868988 19181580 399182330 320698726 680859616 630394512 923100342 632896180 319847948 414087038 24735448 548076936 919755376 542693902 560354506 231379578 716245530 717986168 859974832 687422448 575333264 134864934 40602324 299823854 939546098 955620434 153034610 453809684 383681186 24672142 237157634 197556310 138547526 826705142 699724350 295508956 784521848 418452862 824547734 901153736 114948712 347954038 808934634 859802300 201663158 165705428 760817302 241311760 132190292 321004676 968200164 65132374 496564576 934472940 964942942 282503276 286928664 386339876 115974854 612237690 644742974 9876456 206869368 322247218 855458278 476313474 342552324 586025748 66552966 977705570 596127262 663031994 969456098 67950504 891329216 382256144 450558374 872228460 334483494 71771470 152164936 662994286 519093514 705470492 114268718 894105888 512595166 950024806 446107940 987251504 365193714 796943060 509948018 992589414 28590774 154829236 387970434 508015314 842694730 449063174 609619006 76255302 340616668 779911308 918531144 731447462 986358142 861278278 28960508 865118974 576778406 24089046 456755378 18440810 438847904 3935574 854104036 718615840 774998780 688649886 417709826 714057960 925648602 363458728 226366512 639299084 702633304 946278784 11836098 533907838 567559172 532408612 662343590 529478982 791032230 999588018 108483322 957656128 560128582 538732812 412160544 310990410 323697636 857840458 138841736 917841406 135953818 754428740 872307692 228927756 147587516 53632896 516224840 464208102 760596530 791051570 873755612 153206408 13452348 299758172 229316422 94656930 496144024 636815876 77044878 830447442 198924194 871603236 57128414 727549456 32393726 363820074 338235934 807994942 530357936 850271308 24377438 762268868 15859410 120805644 77929276 193100868 651016312 514441952 870323426 659875198 906795734 366865818 636584756 824117188 668578280 378260362 808187560 294833986 908129920 605582040 515317762 938327114 823753430 844670158 626351364 781533178 824465716 414791470 916249804 932371484 281771414 579520948 41579190 345209254 261090034 755399406 760333586 87269870 621179722 878182304 30242388 363854776 630739792 715959088 649806348 304228202 189609634 827136630 233041354 113235912 798822886 115115722 703536918 492181656 213688368 677836174 713697396 918692228 28138422 539984632 460885790 920953190 945861092 837524258 587574378 664559278 903079992 700588024 196910204 95834976 342215354 6241978 513968478 454842124 364332202 581641042 139558084 886142636 853711038 420381900 55483522 573370926 537576720 345058268 798650364 836122434 330784570 364593572 640042840 979937718 958350974 183051062 183445280 801097446 10918520 893285988 121234590 183598670 854240040 781287812 679901132 992714870 836905440 858318884 434282700 4195426 839368688 270325452 707574170 655666546 657269100 386675148 45253380 685393562 458146682 747100238 624024668 549074254 989899076 445168488 246792994 820278006 536544832 839663396 303130666 834350638 690365092 175780 472943448 662645388 791273344 451735186 119651710 832438478 282860092 9539418 935643398 576296854 470228162 670711582 723835618 798399442 952437496 413038492 739949090 432262576 225264278 747865656 875027140 757001582 3527822 183163534 838046594 246097370 808470294 27755246 742501246 308391510 16929488 411442440 518426200 485824870 709286756 576293716 80084824 256933238 544147526 909211802 724451374 638078802 618168026 742410612 348022234 443432476 816399598 830594808 497274230 871887334 690628090 498070650 782500312 450041984 256522890 974041998 890064028 546692566 643507642 162940418 159270424 548878732 754413332 981610282 383404996 863204218 642801434 782496536 794381910 425459610 247396726 347888472 705460038 260803782 445148018 618800982 121689952 423778750 297506026 973506592 529585086 539903730 737434798 388985878 276663742 520761832 601075916 309138188 703678156 89376962 578865094 995697720 4448688 720040832 539830874 87892100 389305018 241235402 59652752 930661174 941685848 865465658 649320352 983266582 608819702 740128974 491995652 987864344 827417504 558712050 879222486 794456806 613962666 582489682 158121806 3216186 821811138 780524834 486512922 524222212 287079128 449598272 49861026 607685884 597331200 650101936 238587054 264348556 483647286 287485302 384567800 881456000 730672794 268520658 186044238 171447486 360850618 295521456 843422292 802539404 690576212 784676130 41647508 973733726 914127714 937591446 606688706 800291710 266342042 745799778 581817220 692941594 205658318 396450238 216558038 846563646 512710122 765872618 386798152 138771104 91653486 774889700 706935444 215369060 875782130 681250248 946034830 857034326 233131022 438374754 627286496 964416746 747415184 608846084 488711474 602602638 302199122 395660364 162569806 716355692 581263684 237911046 166581508 612718786 280465262 797052846 853964586 592087284 331564718 207345334 397269750 242251944 11489776 213297486 168288962 750420528 610803514 702688866 702156772 79510112 989626612 956405862 168869556 972441246 588219524 461587226 494968114 660775684 171962374 721321698 840127106 626112002 563116516 11228936 810994274 410533102 997317084 393619636 709630130 752290160 363582416 523442534 677519910 402000610 671478356 760205840 639406954 511485552 529011938 532296680 901872258 21452732 307655166 601923820 794507722 694468768 195018388 787913332 937454398 449929542 140024238 646220556 365155116 295698780 219290262 140287896 785865802 726251316 38762192 389779868 862885674 665675116 790350428 565062498 291690832 248639022 606629314 161445202 960689862 13351866 976151060 130361014 885720450 497349134 317517506 131012322 813135088 432586600 537637040 343065962 649034640 189393070 315014908 317666088 280861066 721646320 940572292 231358846 598186330 222214362 78867848 170766260 459741250 200412642 355113744 5416872 541329068 692108084 290316864 971012712 816693974 15316394 873004392 634398308 15705674 468755318 712269880 189231406 488460556 966546694 659164980 492417060 81875384 767723038 733689484 988618528 329774248 665038744 800695752 390855440 6556574 68842852 587060424 247110892 15246878 553222680 861246520 855774194 318198898 832475516 49451742 998601784 867207458 657136722 790320554 372449396 753494022 39955078 471098874 923170788 544648450 948155428 166895420 732785792 989858820 676378416 252827794 665860472 967426926 167976400 698218838 331209880 49901314 831526094 871256976 231510312 617428966 649337710 315849810 338983260 344981960 558832106 878593572 807593962 143244204 542697020 241007338 474820588 734015962 826013854 831488886 269664334 528903038 157339142 808854866 998893776 931846316 690727352 31204178 960195286 507514890 65985734 443440622 857135036 970892584 925558506 598233720 611298802 617964878 636431728 263823660 999609894 109378656 339203840 808962982 114626240 748396610 367020966 417070320 51778266 722767242 595251662 602260908 970856152 935658898 324163154 739005098 561984230 574695544 797168858 132317602 548196552 894349692 767440944 691835960 528671808 683303804 340723290 659253094 657422632 445711768 806627092 470801756 623328630 341556558 795602408 602242224 283124266 787518 508876220 358817272 822853838 617332734 938061848 444838284 676993254 167746628 124032034 655132194 294596806 178960120 137682978 883371802 568566742 370062966 733210780 252520920 859791552 677869074 848468792 557015258 635553884 843541418 173513550 656548386 379822550 533727790 890626754 408756982 562658282 401570134 289402336 159325680 298996990 821305350 955252314 923326248 957032984 476255334 324006082 721873946 58154264 445973050 853278480 269561028 384067642 909072038 238516300 39251574 332535308 930371810 961147008 996730694 57239252 894501368 170511494 581405850 222809080 141532952 877721942 706943096 740593752 783432586 842873660 407617658 806476110 688638356 972732572 566322046 418999552 860630860 811348606 675845838 963278636 110752894 228070124 231982690 331064840 514805274 499391850 82896370 977106464 546638768 134731294 830243250 11325612 723500750 769863360 44744630 293805130 19944524 301358868 192037746 416304320 974728974 202594592 583737230 313751748 417514086 541631156 149555336 444527012 117838758 838131614 757315022 830040598 131261764 280778356 120896630 75851416 549055122 158478368 637874444 4519756 100351904 927581912 230484738 731072924 286722636 843010256 682241102 971061022 745546502 392215550 717326928 824045092 673429454 546286890 504289932 949116412 371706610 198850962 150199812 21556096 817219154 308554422 988642888 156428032 57667918 531504252 399244520 155748064 881597312 687548818 497486862 380141306 113643096 808568296 460187406 250461222 18524254 237902954 225192998 589289720 109317364 429459984 639354276 909732492 850386006 203082834 903941926 131936908 364858006 883804676 586685156 178696232 838617244 276081256 160744678 613452424 840113538 792756290 854972418 543871150 287434746 263709044 442529484 657958640 125123428 504350380 274170020 350115832 111910798 409161128 486312892 183647936 989257878 491211200 791931592 197591886 191465336 684186278 889606176 246317580 696859236 911602408 5479764 861696718 327580308 916889714 477823082 952549958 616689282 159868844 506171178 404959080 899275554 922069190 71802160 378710178 19183838 610067756 988815240 887222942 505516244 594257504 535953644 525429452 830339600 706937704 708358036 14043570 803089566 325668722 526400218 164844180 133173600 304603114 341144460 808543246 14032546 224441498 309173032 255021800 347885448 348189220 846162090 228323164 611329608 80852698 40183260 220119332 703616836 311829380 145220996 594348686 580695160 322781398 242395538 655507904 422447440 782181018 475118900 349891754 327977716 902512366 452043714 764129684 741690528 618496100 216401436 741893164 145720312 592523296 338081994 701246356 714450950 738281762 739990714 254604666 985626306 635094192 1117262 539452254 395142846 273467184 650756606 773551792 374241030 586070246 149984698 411091554 441979566 772997886 421049746 127984898 347827514 264853558 545906240 773439558 12331864 538905648 409686462 496119972 681803342 273068738 397308706 865987860 205684232 502576574 866945616 904761182 215076576 178889608 925685334 186349238 481359774 867964330 909743056 871559116 576242986 877434240 587603040 121471410 898626718 307824952 1704310 69863326 891558392 754592746 488619242 553196834 707281602 186012678 868142072 609073452 813869894 772777458 867837500 983441948 484237184 981736880 781451504 871472488 702815298 417152138 229420808 104355988 110638234 529059836 59110424 90204314 887232382 661968822 849081620 461751368 336891508 930103768 613602236 498568580 561928838 896423552 190187114 141040458 2343974 768038948 670419162 227574568 216991480 341606144 341040438 885170502 316872574 517366210 809427686 378998228 709883162 210357836 433554306 979355734 760713516 351061822 70502986 865408132 167333576 118692298 823714358 845737452 741479298 74479390 713251812 865210442 100658928 117301576 844848512 808780784 356831030 920725746 171577122 115793586 394743502 301496770 179736956 315203444 46474512 181561580 100534638 577442632 377397540 804067650 580998916 505791772 223176272 431805564 108926308 36882580 81070200 281289014 793087176 479195038 835012788 119671726 651055546 350155250 714574766 86381600 699268060 115010538 19117820 518935506 998648508 975269026 195897142 207892280 184814664 589815138 568674156 964900450 287783676 278474484 637193586 827804722 42607514 36880314 268259726 542451548 211368524 254448516 586012590 786799596 506514160 222360932 816929630 433148920 939533006 707650992 456403142 259075852 497805190 271450536 69846582 215657558 22222592 207619700 703506298 950633348 956761928 763426098 65309414 396109496 561535326 349321084 971035876 579362036 529645146 489313842 107870536 146146054 913178522 51544564 928675922 536313924 267620330 4719790 148113006 893037622 385313416 985233412 706939414 6452864 296574140 925778080 793480988 286372818 474999650 70164348 334397524 489938738 608156970 862844066 77245900 864052470 129581934 578301234 110721170 21315018 355980062 859473058 325429218 571985888 896018126 490387456 165930716 513646172 540154938 632730598 565853730 581704498 33061014 710525652 783673648 76205716 66830234 659295696 894826956 69770332 366202990 804924728 375655088 615127518 44204384 57624358 862628270 614701308 295604682 575079836 661195164 186224878 369560020 707324300 549439318 426180478 756574560 49059114 476865048 632449616 194785624 737658128 280910908 183166842 354347222 384906842 802354790 241416758 747872610 903760424 848835086 550662726 847893306 469363872 706808594 393523670 909879050 514914686 549187238 581478590 541953894 353313052 140735870 254147274 254189734 488303610 953604614 489952134 718258010 593642346 534994976 752324776 430875806 651190248 538634308 967937728 838390196 959481442 298992762 355919134 190511100 167176030 755018336 180099040 956356054 197296110 816368232 422333728 914237016 732120834 410910888 682993542 334135534 64409658 406637254 979587454 701943902 45860734 553095970 417773886 272736534 539278458 646810140 482159882 334471076 782992612 824671594 374764524 470680616 579185792 334453290 62618964 869888354 669785946 244426000 103584340 973957164 229152380 658013306 38708650 119733952 652616760 757392458 453857462 874522180 742481532 559297720 273759554 28814778 487409502 682916728 194535244 67044182 817844288 490275216 472303490 346236856 606210408 893035660 782841730 854098384 205279652 224250482 394433180 846510620 887923554 991886826 949939484 663685818 398627802 35512500 132980890 297205132 327479590 50290284 438614950 503326752 303158222 78734086 497540808 838186654 371919002 484779320 827227410 347682802 789155794 669993552 18377890 994855354 670825934 90613584 321380972 196476964 532769362 518058032 844714872 564837780 56004206 145026782 835877196 725695406 759434188 127749126 823577284 991540344 254843292 555926774 509273146 781382808 73811160 993723236 206036184 570686568 686831060 414045808 808661666 889410542 239314212 422945538 231045996 252984856 657051200 12119568 593861592 50229832 490493676 496940932 119485176 331586044 660319260 301363156 646507218 257583828 74312314 882287962 33507348 883216494 469262940 876272416 509086990 779139890 915357904 204737946 700303926 540773180 502596378 577404388 403547848 540310768 324672708 809455142 365270326 404657582 101609760 46153496 687127690 898496000 333373536 565296770 82774994 276623330 888336496 138943340 984542828 704089848 619288956 867375866 774868584 910852066 646413554 599180060 986706436 922695044 644695892 809111990 537265360 624192372 324800384 97475654 967200534 240493942 524314244 216336 382581386 576649546 47616526 598336668 375688926 131515266 403947136 129577674 837926232 399454748 102252348 913388764 931440138 580916592 100318436 698271676 924861862 319453526 249333944 24708052 11184382 74343784 327729308 921319298 11445640 569120578 527149760 531485144 749473386 744671060 579559568 899076798 13189482 664851950 264015026 880401038 869952240 996970810 320814950 430966108 525827364 602196758 933596458 590606386 38284978 82253352 437881814 919915944 297664442 852954600 547941550 692364870 133955340 766925194 465054056 92824304 605326070 100238402 183648484 123891248 53253954 31263084 452997692 974130674 340004918 841795266 402301808 70163496 987759612 148735184 93360618 981268362 794528254 229801998 932194512 302152250 571170296 416285478 306326116 797457936 247128728 282512856 403173166 324836418 144869856 534226932 126867226 358098600 184009142 828455114 598363546 69618226 430899522 825447314 719739662 731302168 908712062 81601838 220422346 161682576 562539186 884288644 84458450 584106146 156741224 403214402 269420 24103246 149481176 649464988 91780132 3586200 925077138 606185526 740339510 740866344 319154962 511621362 167227204 724456110 643003930 843949776 194480570 40654612 678332634 181583426 688754370 913823284 68758882 663051274 427719250 476324630 825381338 623480338 390247520 465857234 711403842 322845260 943114938 944558790 469228460 943731236 231966576 643710412 81433966 111791162 838016570 125958692 710691534 143772878 854796452 950922566 341733884 520783170 844542460 247665246 761694330 89349868 726231478 763185172 451816008 109057122 825738176 556694862 743205032 536354198 360010716 959444376 82468036 185110324 514883286 844425570 976190788 231652836 820932066 79386824 486919528 399080926 860373698 109657528 6473264 37222024 593362274 219763124 65192370 910411860 331875748 760239242 673250834 973079870 892095188 902651748 628146444 707296140 567700070 662233570 626571392 80883644 184393188 538496750 541881692 531774156 243229248 690656738 144325810 378891680 508124786 407339832 209044306 732353888 152617578 141362146 668589926 429250062 723802232 172029204 821063600 63572048 711498352 801062892 542374678 894385082 219592838 504109744 857525122 767743014 908899516 422210490 140874684 8099806 399811486 73509590 742027360 68198038 545666546 275807986 530402454 456416020 456310276 59243862 991028756 533761204 345691040 807033384 108838382 60120936 792859142 199689830 641750752 86390918 574112826 408342196 221668778 954712362 321139536 985160508 190531018 211190488 268743900 223530568 405801294 46932366 533551576 35134326 253227902 521038916 806159920 730280676 710237588 823478450 538736116 491283278 742523688 341325930 640976490 735385970 89477170 32353392 782735764 365054642 416353916 519150080 591341994 762738818 757372804 377655676 518706672 221838342 853175662 486703464 384664522 140376710 666440124 595467648 139139054 592220808 441197374 243865016 789568494 374510200 903605068 209219230 446247824 176435774 881579096 718865216 769982558 947357910 84259334 99580938 640735088 387952398 14901728 398949524 299672000 814935612 432004888 966298502 958605090 634015898 98341256 592540280 775574576 622196536 390376858 772080516 858055166 810648782 898850178 594804612 214071186 478969164 252646938 354909750 893100096 506664568 452250126 696738206 415142384 372479228 507964374 471038362 44004014 775692326 515508724 862114610 230579964 491676874 846454390 604237692 79276286 753402298 647288726 124929828 637008948 633883458 710972888 830627978 104015168 306447686 674843812 9106596 121835718 289672358 361014544 501162618 713332196 761356030 482035844 791068708 801115258 368980044 593192968 168312540 716541350 165522404 76075066 123770016 377002920 498744420 223488900 849020744 50956988 749683024 881176452 114664952 231919492 622505786 171273766 948037912 65710812 501507704 455534002 999486910 170607718 373655894 322425748 802343638 871240032 610187026 92932582 295292996 931257042 812530062 80020534 641313136 853860912 421827638 360970932 152325470 652534796 801552308 303425174 319097330 782807280 184939882 701280286 326317530 277460218 161654516 932633278 146347256 603720990 248124406 492752536 338573570 580938356 72111442 998940742 708085380 755184656 329322596 626311830 330635522 558318090 160412954 735418202 829030380 793185334 265664084 342751474 883704524 109551348 585656388 167585944 403422872 656474282 175593792 172258034 688641190 717272824 924725036 512069314 303934278 90948906 665997838 919763326 921064238 919418846 813102302 516464216 882449802 14747744 850443568 780454794 455130838 412267086 599239352 115569084 49476276 648647488 751353408 939379528 762413324 554430598 502694194 960654250 84956650 324775878 278731712 288268194 846318306 421558074 656240284 802372132 906334132 458732796 450813070 69447794 136780994 177231120 623671176 753559512 2059812 220831130 597547960 564207628 128623362 960450636 254133450 630865562 628625180 591076760 415966724 54783312 437913514 287721554 394145706 363038388 490054000 221620848 675801242 879193686 623125790 707413344 587960920 394936176 781406666 480111580 582010220 849234442 351337686 706770318 938389544 420332776 324170032 93219852 542531202 546494370 429579750 102362084 562183502 839186650 851422508 79687694 850020434 398313050 360476618 355167546 120655244 48173040 659272772 928875416 922842652 984259082 461703702 767027458 249997092 272892992 315002962 360001900 708173146 822535472 452511294 70270060 407458486 709552464 873111954 820601078 614358270 312044916 208312486 848805006 900340378 658001432 529657818 148418874 393120352 549144440 409666110 982922110 750643218 404738232 893050558 708035180 474264090 330625040 380460398 459894794 994709086 460918398 376742884 702499650 685670792 588135002 929490468 228372902 509918920 996137196 120343076 615102524 963088274 257068214 347858572 483607008 717931374 933710882 718318690 591753270 544446160 510682078 444323496 901235038 758013044 195581494 134197552 538022312 209430050 891333430 821041836 990864122 456727232 479522662 167296642 623100812 124257254 227916728 37756650 116879040 471636848 711918832 264993354 104390140 44165194 437481748 923755726 784755572 236637514 456318210 993710170 937186988 35697848 805632018 628191518 825536550 384079498 1778376 357348112 975926838 603250756 999704676 274073448 983189038 530692272 707197984 431822000 132620980 59714042 719015230 53743178 502059540 523233814 461748334 536612022 417167592 773141972 781202734 714775082 620022992 923087954 83848260 99823858 958024980 403885510 104577928 168416026 823897684 865944724 157619086 72349324 326710800 656283416 117821202 288934768 413254188 930148414 959792292 817694396 508187504 29827286 631397634 650254730 142880992 480085500 804157530 559388008 412968636 642734330 350901656 136959884 365535328 131957724 791874878 15919012 858482080 145271854 220670474 544973918 122995880 625110014 997235906 978765764 654659636 238638196 291005366 695988528 538613490 807909986 866032680 450047302 600350900 269073782 467936172 183889522 643954036 134253124 281697072 966088992 392448230 715239526 152780676 300518442 479645542 108939260 572202814 837546472 23227500 244387656 362995116 343276328 306446674 822827166 550747082 269741000 84993328 655882382 782302000 197643336 738615074 555891172 264665298 910106048 13467226 378991446 357531182 447761046 400937820 7798622 734653232 696484938 244084878 298855664 344541570 182705578 776490268 397091368 76788336 609474938 540472500 718381800 714643486 66978544 548398570 377487606 630672856 10437874 398699768 317827782 71022650 612334558 253923722 765553252 740190160 551956864 675768720 169679544 656048946 722171482 449029862 7675298 530912918 435876598 42493362 959758298 98949750 522410252 519812744 539629796 564383382 647449388 446764272 128472884 201259136 966124536 803218158 217114904 61134410 498779574 932727080 363408392 136136236 496256118 930366596 56309524 883906152 138706150 182051542 481463220 981619264 726860524 441133578 569450558 923454814 124057370 537301646 612943786 37539700 947168696 751305210 3548092 678457116 351459520 140773120 372059286 928868586 214154000 383353486 700850596 244320082 472667292 962184712 759191036 816916446 111276904 634158224 33607820 568780574 575867520 124903648 669019970 629151446 778885288 489795544 498618388 620294992 760132842 808343178 106676618 612034870 709634634 393078406 864844296 77875976 523039504 687059854 829973684 989919544 178875302 817855900 851204922 924833300 448969472 501662596 275344912 528149590 745907650 846546116 722739964 228058010 618089822 509471280 149073672 467443040 264818956 906530260 851362846 415948562 148231464 504679762 499754600 186961242 525422712 326149950 59117186 530789314 185089058 54452442 832201714 335023096 2985322 15719382 707651814 409796346 465888468 979279838 553483098 783087304 999181462 291668044 895309320 943708042 994461730 192477324 199901200 634532172 318580504 282600170 115367182 862342392 697865410 890201426 496756090 657816002 815839360 933648340 353868680 575978568 81407102 553814292 92212212 752308520 829174102 453471700 293826418 113742624 915105216 840570782 358696584 527164184 924116156 318565360 160865670 323615320 172703282 213313822 836001836 539918826 839209670 55023816 790396380 196269818 737824064 935543144 655320368 654576812 488846664 775788570 926075466 432415034 531369856 690201284 565177376 188817318 632592662 57677420 913656588 748051336 633143802 492316292 215578580 717830064 912269932 739578616 32507482 197525748 335270368 741998868 186797964 325262362 519788548 478055376 766539374 595779304 516061960 705859248 327655520 398713224 763081248 499367166 972388278 447976728 694809688 269466788 283721844 231973200 810154734 517612668 805274214 302386326 731151426 250698326 258839726 129984450 264832992 569734624 845200198 38302866 165298060 245869842 614335118 243905114 650490300 311598540 794907164 24539146 379591318 724616712 183782912 694063646 251093084 571711324 339395154 629609896 43108996 794484966 803712762 700758708 32662418 378306472 647685024 591504488 293761464 931945400 413398726 56120562 877656140 724859264 670084438 922927248 930495578 459292094 890361686 549199172 110008300 143777892 901315996 764290586 715396484 98410318 311162486 46806026 625830900 705935866 809523254 833274550 825700074 159325738 16163092 363934004 224515470 348756870 479733134 549980818 239542548 537527918 148218348 653732114 525266674 513204500 285528380 752131868 775350254 263276442 294371106 871665306 620350604 445643844 27624202 866711016 316748294 494536304 474394050 970204938 39189718 704192838 803380888 949837462 751697346 856962272 858074892 412995688 192193404 399430896 555768752 630400658 835533754 851356242 22687112 439106948 436012560 366324262 885043102 566681260 171313546 543209480 3313846 109684432 356778864 772848340 989481670 52158152 562961236 268172240 903650334 111134880 130670818 420171428 540575714 90559042 425728106 883984294 67463058 467471332 673949574 294124260 43063120 347938750 424276710 219077328 574456216 483439738 595736158 900978222 954233680 964439998 187253200 77117638 797138110 545791238 557882590 108009456 433630796 758020438 814282998 880685170 8218020 843997070 632351110 923041060 571418050 562447998 832131636 970057376 501697086 462402342 308373860 645780948 947461020 147590406 58662516 77381954 948911248 669876848 649893772 309927078 682721450 909807282 770510586 911253348 20872548 846666158 324033828 785738688 315021816 234894344 716735228 950003332 746218820 698007646 432328716 827752382 455011004 621931040 630507176 243793488 322248052 381761944 100704770 297058840 751822196 275725932 643487906 854197038 550260324 872065154 20807538 145677912 211531632 633513478 559325216 895173294 103745104 723495292 486232768 971100450 795140230 846882736 410581236 105470904 502549810 584823414 510855602 351773826 696560508 715260732 164050762 455657682 679321430 200723646 564708714 115284016 953360256 267925510 708491022 837489538 473572686 458956948 406272198 711008724 183204422 483735110 246982088 695221426 744909298 285148204 963827918 731745500 929660482 132915146 286912546 698139110 730481060 234476618 852489116 660862530 765546060 993342436 581786582 305852014 914167950 612526614 669042310 445095132 140724642 430126082 157406052 825604744 544180444 854849000 392056368 355797796 125277490 680879202 519319820 448408950 182709078 779533910 229848930 48841530 781499608 65365748 963555712 129431750 16017798 247590126 197896748 153632374 471671280 931538468 44336936 812234412 469453938 929063760 882936398 432264864 897630592 692747278 47551610 360267262 374508818 406290600 799799180 339265036 478353312 98713470 267583934 38856594 656469542 111177972 493316212 187877548 626326778 565213376 636052154 894651092 434516260 884498022 285076964 542271692 763579018 671178426 672836966 800507924 21587370 79623668 348295862 509107340 660485460 918521694 961583068 220895864 381726060 1096156 191721090 387666628 565057608 10504096 161737890 528031016 579566550 356840962 138092556 117295168 6059486 958092604 71128844 613556382 937249358 920027700 243790262 619255472 122365808 849901662 145112180 585425800 458979050 866758446 815499216 549170894 32354812 171144870 379380252 184377630 68217266 518635202 637232476 139918374 982303772 749250226 306728778 220648772 867216536 131801494 545725064 537118440 840271786 868850024 736128526 696567414 640131702 450184328 847520522 895234586 362661650 168905158 205952630 5047032 575728130 713077704 449791328 699549454 686457034 222632626 420278718 257933570 639909438 185885784 529420648 137107528 383829484 13087248 771440072 138687042 331095710 679939380 262420212 34625886 845981538 517383966 603964654 20063266 550365850 959565222 309324874 539064604 205742962 921011046 98891146 444115998 65353212 629456718 952920894 557327098 254594132 960159880 425495784 333780202 418652260 137024936 627722892 617114056 98198648 874519178 210100288 425274230 491951904 452650940 86938976 724666742 190447062 120045348 291198154 754891196 628845880 928517276 913191336 289665534 82977056 641004518 672964742 743234402 839269484 521095892 799840334 611481888 989709620 972320094 342988080 589029910 565655712 929693430 446784212 911823152 327956004 339863894 963606458 842546470 504600940 368060852 661013254 61064496 176591502 882618540 830229284 432072936 550150650 856776982 393270672 738225192 114541812 629242688 402062750 807716864 128310320 81556222 853498680 603658298 906267294 515229578 656240038 433710134 840233326 572115182 314600312 513623062 478459388 773009548 904576366 241335094 525616046 218714806 631997656 987965616 312417510 397263562 285330656 571786526 413855502 504336792 826099316 53637116 147524996 773215146 724249108 703184682 101385362 596162080 31264704 774731908 640242230 669063710 578511700 81886368 84397062 685592212 925774610 378516296 837084516 25136578 700977338 144791052 609749060 336398100 569677344 36224882 860336728 743287384 408715238 38242298 776402082 691441610 134914842 859097178 63713258 513981292 427401534 472865806 372608852 187128558 14405048 458142706 326540310 209476012 836615008 94074620 240371860 363079308 441341626 832406078 884493350 250975626 485767920 274951960 84172472 348826202 302236422 623954208 106111528 991292676 745536876 305051570 268308752 210385816 459835112 569227936 672679254 211797182 343813602 217718676 113697090 851619066 12796560 655529100 134107810 845714362 179031758 522829092 435865692 524924180 204329312 713996192 761206618 670144532 550249908 989260380 679555452 738766828 991183202 749395202 811989230 251257452 695565044 928320412 840766642 134448292 375098008 65054210 826866940 915119776 468102814 124270522 848172490 654181026 584288842 842693508 737744198 751959486 407449946 856573474 389897692 862626104 486396616 581842326 381439062 124634944 956830448 506949882 90727732 105481140 886030554 912071726 364748168 538786930 932055496 410599536 626422216 365492368 149356158 629708608 31790870 195272698 548794074 779396026 557208438 986353074 721620102 62508290 317874 211047908 882517024 632133556 454293852 549855860 144422302 747367514 711156164 344315972 289253642 157047542 680126342 370659998 995708392 632345822 40316116 724320056 930369972 231149580 773543236 982487264 509076928 230905624 657316738 878499486 208592446 937290346 443164214 995849540 347482234 610569578 670316456 113047358 583951402 924728802 65383474 611749678 812064920 260363864 70425204 215251122 427667976 332299506 56023396 22301276 77898860 508665168 686965338 756755086 998533264 306378238 287143478 710205930 276139490 809832962 524014924 444082782 182780816 829789120 656033592 993273802 449398906 288314598 287706116 28702966 956376286 929835862 623189510 144867732 944665224 304111138 238155358 207507276 264000906 803554306 398670492 351315228 871808258 153737010 456875992 733551798 757890668 653814494 73687028 710574948 624390206 56781052 291945560 773961460 603891942 845479602 39415878 543316118 833562000 439183410 850812736 469169922 771998096 521070968 245983904 833010294 622492546 663022634 79330176 597019382 382341036 454232798 415828822 280877748 116077406 332771678 44408746 14472666 796362724 845993124 354583722 476907690 596927956 823024034 437419610 399555742 652536194 901672096 271488536 968246180 946423488 517700326 147716554 801342256 675675386 788279112 693252260 660915576 957750342 10557236 324866278 194164350 88182860 149205098 458375254 145008098 327713822 985424446 211317772 283038486 990985254 439774118 585809846 813770008 59800660 863686194 69413224 391667132 43694640 167285434 643741318 557328748 121687280 81861326 407663408 115083990 91955536 244324584 563077634 846693898 112548834 34690742 832554768 113879962 108466772 333749584 879345202 820197092 865870378 10853226 90820252 451825190 472940280 292038326 380342108 71293990 188621480 997091040 105855870 815747900 65860360 105749082 927978374 15530584 744075652 827066458 408815816 697823400 671270526 481981870 555185824 395314146 159750268 142445924 14318064 596246114 241427524 143366556 397298772 243119540 754551842 693173190 835799006 103315744 583805006 318076224 870606792 181923216 389502278 705293450 276466528 101851212 102188566 719932392 979641806 26121900 526990226 587153838 182355876 316308236 834870502 428688454 532234262 575104252 822783128 157734580 872923788 156000000 629004976 801116192 389566754 737601574 637093028 506172332 354689200 601547368 684559290 70242800 288739192 504318964 803233710 718964052 895529044 329261886 610664400 178428704 60747478 791390644 117012888 131583258 80649912 866610540 931849844 828025160 881730460 133251020 579518070 249531146 911969708 194672980 14191040 119933738 887231750 170229964 657838880 339239014 1361354 133638596 498054248 860543390 388590228 415183058 480260608 317156474 305462822 986270154 278961988 551546050 976263608 952617688 34164058 964849164 292835600 712761430 200698728 667785550 274462046 713327072 775196524 800937406 802118652 343350952 609927642 737662114 65807282 25371456 256411244 795816876 409881196 251159706 887350610 731790106 365482532 201126310 220754738 561683794 388732892 388803332 449534660 777671850 247846476 905053586 229951398 145416084 715553498 148240130 739907368 836866826 197637834 693488372 965149380 935937274 110943486 35224798 3267860 781672442 441839932 990505336 181295910 774028246 675454138 657617856 2848196 814842478 412217986 799691486 758236778 704092320 219864976 896717194 584156234 563662916 193339446 349508752 970748492 78578964 293123616 219430790 693161148 581914386 81702888 840749934 624212814 587988574 177606408 569608378 763408596 904369600 164061382 871031398 895795790 114126938 761555846 617920566 229752942 65109050 812150406 934793892 400122012 183289252 254568124 362512846 149132842 224032582 133271736 15030918 915793376 918780600 794175648 704383448 985290026 981978814 287319322 101221100 430473440 502640084 412980686 972148666 350310370 954365348 791278604 695552296 34446434 867929422 251153488 112151888 650586542 459576662 565177890 662405194 858156466 832989384 486500374 240421548 661132234 962830928 707106238 971652568 748035302 380035882 877271092 289456666 908882476 164223732 149091320 447084960 419606566 779934094 336635302 852493334 575623840 44746972 605277690 277495708 364046776 540076958 27806814 966877454 870247766 84403900 246160662 606961106 628097340 528250932 664966564 785267582 550643822 487094418 790568584 602922418 581202590 171012264 23556946 322340960 906103202 403374416 71846442 513445598 310301726 572070630 598214296 161439806 237339082 742106244 382161438 723909456 465812166 20064062 318736998 966656348 550600846 978764556 826252560 68362208 631633340 860451112 707819880 38563436 308191150 885213326 280933882 681904042 930729988 327497786 510380470 60780204 725583846 124793370 732478046 17678252 167539470 812231830 499243470 379766132 828472180 13912396 336868162 376479962 292892358 213908188 481040300 860846472 996694060 961575800 307675338 348337480 271183702 340409572 434921552 20820042 403161478 889289522 621854274 350259976 997836876 494093536 503570342 956556148 557426524 34598062 878139588 571687102 578816794 651380906 633019496 909088992 614542950 435104944 828712402 324786014 205710342 660214104 982548 330104210 877769946 161471500 413143180 451838376 526242206 606419018 11711528 467787952 282912120 102501808 531766112 790737578 633902014 269516152 906551750 333933044 233868868 478016254 468529582 167052326 543161458 665042724 105651704 190709778 221949794 811169200 514348118 766029170 237632742 350359362 841572256 370492148 911773096 181517010 365649194 687372876 707411282 570489072 537655972 57624610 604886210 309425938 780665484 607671942 797858342 440328024 910655176 899379684 397050636 959911314 57467876 971817952 371292926 222211940 838548496 346326602 412588542 904094986 930319728 908695108 628235924 79505470 724742950 867477214 229570576 405538964 775323030 302602680 993480532 733583418 792676810 162605438 51975118 633415180 267513290 764524952 156370642 600210310 618493994 347935274 642799192 404264382 621894438 706338444 464752274 580155204 638165072 954705826 652569474 634646194 784214152 709586326 516605666 325756888 180839260 604830036 414155554 283151804 890350246 122169722 321555706 261878872 288356270 646567890 864815174 888600718 869089526 254141850 302387588 304791034 600825856 712720092 526090778 760467594 436601038 187534636 339052782 558272112 956517490 817477698 448195616 345562480 131605120 990115776 492167152 941252804 709903550 983635274 963740878 454437576 181555008 759852008 841047200 104569414 819027278 807232288 84779376 796245728 230322630 270945106 361872030 550635304 758773028 644325994 301323208 295569336 703702966 636849464 843544334 854447022 287905754 703044788 774396958 95836156 684769084 807048534 259409484 318401862 640552268 474019434 346432630 203517238 213923164 839772128 180517428 124910872 278323184 829377348 185147252 12448316 887114266 938070558 810934224 890486990 793405858 216844716 859886308 858392912 190621946 614911474 579159484 994974468 370162386 399453370 972068220 432852412 217461016 345151864 460592236 434159754 21479990 520583042 340334040 515339600 533459878 697520588 807568004 753173970 43774892 93452086 627382758 232517212 63221286 40920752 124242488 519757432 975371816 97373940 987706534 474640664 98400576 796435504 927668106 376940466 344626722 221553080 606226296 923415020 608577108 448148256 439343112 165464072 278714730 820811848 766015550 676358778 659608400 700237470 670895486 714176210 944654650 751740976 229344928 429213052 260609416 925523702 561487330 216356550 915243872 382714716 423713094 887077106 254762834 1665374 824703240 966199948 220352726 469475024 894309098 802896892 880639526 555139844 96127574 208428280 407302968 570589590 703629072 822384606 891111630 160368068 415166376 759137040 512572284 606668698 98868056 71196404 231161842 249650132 579043312 602592124 979963726 854645454 99818670 321855694 607220166 17142880 641909592 308505036 747007548 131130592 814187020 975888632 74330428 266418474 140814000 979252516 150608728 389423386 843887806 510684918 659950074 725729330 389363898 724373014 300410826 540443086 471011280 220986238 880903030 363316376 287363858 705604628 299938958 129905546 499566532 11138082 841667290 260859430 964428032 105076742 960075402 684958062 179275960 323174562 646985868 975521218 11888690 757061140 567206964 969469266 431209998 632033060 282417810 655368632 877132932 293822084 139475364 244159760 981719368 378199616 809890126 913379410 206911630 778531994 729552578 49470266 994890442 29405678 571902 607483694 392048044 769893522 433152404 317599382 485683494 136292412 381986876 544340942 604883304 271527320 271250132 970088456 59621170 193348510 12879468 746873186 896682428 397819342 285112080 283247988 958912022 353866588 698580920 90038848 971219422 915730060 441830090 848192238 428405328 309818264 401751444 358466062 728112 370970098 150125814 669767194 568609946 951282508 899231728 661211300 994156764 531840446 964504534 287476636 427382088 698783296 720089540 706330090 860853564 685867672 437108310 346525130 409068916 859627950 200911052 939584352 832966540 422191572 338600848 971705624 715220384 563615574 160367566 354342040 330170000 883277100 276834748 999136010 894416970 851340516 270585454 739660856 902551352 506338060 349741534 148747266 330324098 426101982 309334378 257869668 508929110 241377604 508009250 598718246 18565374 432106368 107018446 797903410 401896708 665515406 653811692 564125634 133966098 507014240 563636580 552335202 5550530 485299688 334014336 5111358 618447440 500093680 512788250 719326552 333218790 541721074 928411042 348797792 541560696 671673198 751937318 230737690 638780366 34780100 58042076 833323282 480337992 256758952 714276728 946913332 554407230 870860890 258575750 212290016 178461356 853272080 801268284 671715616 950833366 318217830 628875826 976251006 37305418 962109410 724948742 59393050 331123926 994139506 378883732 620457444 348305242 855626984 358200576 993136180 597942010 359524050 635803366 537466992 271576766 610104232 75787588 267524648 700334030 867804466 634922570 887882242 449415610 506238014 697550168 420310950 438130078 159767254 833657486 966125994 488558606 409196174 482579252 58872076 443648168 843746840 42348342 5354352 309176810 668557114 594278080 866271002 827243240 528803670 796565220 961676106 640310122 974838402 671595162 402917696 34131414 981489260 821421690 18064432 300287062 59260946 266375672 118113084 461223280 126540144 728980886 624777756 781266540 357530088 916115524 179111098 920733724 415741600 369528666 230615958 784465298 44771474 313436984 334549110 564514924 837745210 907813682 395277588 543308402 396878310 253665626 678653180 694450582 373875014 456917572 962749524 908583292 982187066 844747202 559592120 587494614 981555046 290756404 499662752 91224374 99985276 885496366 971571150 554883308 729284570 55489012 691422544 21922666 326558268 656020532 937582358 958497494 190149554 294732426 64945136 433141852 850331706 227931872 998801608 583502220 274968240 561753862 460442574 336243498 177148304 862530648 990488834 697738936 830004964 977605814 90753158 205069226 780955144 727520084 827964790 249689382 517211326 889863948 420006958 371647862 614738718 629707472 607562320 985180394 687564532 74316334 605438606 215741938 576976358 174391690 42118310 238975318 793111076 92540842 407787844 653630770 698614664 509013438 770601616 763335638 242499368 605135508 745874754 819036758 488602148 373544546 59327990 669224118 59187554 898216380 318062148 404641166 891252898 774820090 576734034 2444482 256298256 368746006 543626466 225975136 251703238 836650954 346688658 993480340 304328870 600390038 351862338 298043812 969102088 594666380 613538154 891015660 751285240 321582906 338505316 776514914 198356030 719541314 86892586 698778192 322317264 402805640 853864330 915056814 205313122 200517314 988741320 186351272 591771210 203246752 534570374 571423874 955704582 6218880 420919118 607625334 54174644 546838918 837321768 825136288 865515846 149810896 203634088 43153250 363896644 550564442 963585410 950182478 356225056 364399418 345747624 552862310 414901846 324156916 312244420 661455010 47937766 460641082 907067644 528613818 280778972 210524534 948566244 169027804 271932296 71316714 935388994 707617498 154575174 790862866 611618356 556598236 529251650 922183754 598010030 790685374 835732192 615630130 983701812 896180812 852963360 912088648 407820960 303836854 222297656 456555608 713260790 978647018 226912408 530935920 968061818 726725678 261606182 763279786 798130558 979564268 727324906 23578700 601280598 795641620 446540750 255891738 325332598 879829646 292327684 773983296 683278840 221919268 830518800 970087282 139422358 744899012 719360570 161709112 892093216 634633628 494967946 605217464 482976626 870039024 127251320 513672660 792891632 881250822 544870454 150360194 791986376 138390864 636318016 127756462 134399520 38553524 236145968 462690122 217441266 205304100 228714386 532619994 222322860 853569268 353100542 137519170 624054486 24274316 734118090 455522816 284720528 854301494 194586826 203957482 107079488 869331258 171634564 454656638 419019962 635806626 550646698 623506570 23206902 391546924 795019220 292617058 357248356 311021558 716504980 575770198 809096566 969665348 927078450 869906804 677292236 535105702 918548950 509791550 516226094 175368892 342782286 748691470 535962282 959826420 794723478 906199770 821316492 345494136 447160516 372732832 946813228 687931932 746221004 733717016 55964576 731246714 98981040 812726120 108261384 223062796 425009920 541676522 955185186 391469942 653799026 275799396 971400390 173369890 833657836 576741026 957662670 213364930 66093714 450463496 489896334 607902760 914605800 772923230 938138528 834090228 5571604 111651082 157439342 102386656 29083264 772588268 210161852 941281400 180496278 105636966 260204310 297185446 338914728 157150674 338580386 465637218 645661530 773187202 634125832 487722920 478031956 463316296 333820172 366131072 940964068 101410314 178487876 378374318 961395234 835096260 43980012 729980078 251164082 207265888 525767196 21546908 588324602 725095658 988260892 570498862 929591754 855092542 748210676 653750496 213771844 970667272 745344602 629278572 562043542 490214832 135378362 245693172 245501228 766764992 787013362 563994848 432992112 721457940 951123660 939250826 678766416 167550094 549546658 715423348 503973006 296573176 496090078 419439100 985355092 682359310 443004370 462735752 688495212 767872394 160552344 530288682 861249950 958097106 977693520 911586960 332686200 370614468 563755924 57711500 46759014 330523734 138234908 80673816 50757210 739071246 608469530 283667814 795734628 576497112 123844036 422115518 293580722 943229716 672529680 588491508 920615938 851303662 777561760 234463992 141014034 72274382 441794484 370374898 456901548 406679274 250094354 479354410 436563488 375548300 440760998 68692442 184979446 625471266 308276364 31694566 394430142 23321464 128491842 372859298 211038362 90022192 612850332 159470020 209377576 767847516 827612330 16558034 691599506 678253970 897578018 272251718 945642718 546838194 448709038 259271204 260809160 864654814 773160594 984294628 311013098 128144058 956228986 853736522 246769316 378806320 235088628 649032810 248022874 907755670 214839036 943394428 390018782 867150618 65844228 276473948 558567498 190423208 831223808 390941674 95656398 932768542 403821386 460263814 581167256 950936250 839851536 660199362 302655232 352214224 954411154 463256362 635064356 762151610 979977714 572468508 495057290 922537694 514358568 494550606 586318978 579838036 391248094 849969224 390884880 659764278 276775328 562994844 571708490 492741604 948939198 674945338 789142322 228466146 163889904 453787316 461916736 46944590 61197792 702877692 328105856 946933990 333256976 883563040 999434384 364857492 924121414 231030752 282089584 416755368 351726486 787328090 68542234 273364068 554384742 19165400 241935102 522142508 229304012 756648592 770964574 115298740 545240188 401648980 699163714 258152298 899252486 878448754 505209296 738986158 985866706 143437158 808762068 975066266 788312780 920236482 135070414 218243000 165056338 678304026 975374220 809806994 120272748 612642058 681089940 114419470 921143772 761573002 768295428 520638342 362107394 389028608 500527688 868905520 144512204 215311394 439604172 349503706 355536614 693652954 64369828 145741876 572781602 659510844 576767400 384343124 889001698 163349912 767473806 660610676 210727592 65333984 515104944 886158456 588799700 668009648 584387356 129466522 691373668 217194646 409875518 182354090 491875382 696086532 49203522 545480902 783753772 392978824 510237788 123635928 111119012 758091412 320765350 638226810 65658514 382520776 402941986 790254022 773797688 246343522 492056562 242558446 52046002 155422122 642964356 399886964 97828068 244335458 977170608 786350110 883198528 789973832 379270058 57711424 61052784 995322494 899997104 199640340 295123270 954069584 888166152 971885680 139914838 179805136 2096470 498077182 603705270 171015574 10786390 186836716 973546972 419668548 599890186 529048604 78206970 96838440 42929820 694912328 66621244 557431176 914765960 923482006 739065350 742399316 508290066 520218820 6049736 655139328 773796528 959016026 88371512 765364646 461586512 374297930 359103088 728305000 750045518 525603326 953080888 815981926 290418618 446794438 103288636 722877166 775557666 766414474 143125564 75086956 857152332 895369630 61391220 568951320 254368816 255989862 381467462 827466520 631601768 324582998 300976862 682571172 872405908 926449070 264259810 685449298 783534098 198903666 437581890 346939922 685179996 151916416 563101012 233186178 277720922 387566596 226964470 143742520 701352744 686794092 443220446 283051464 182042218 683957918 534883746 298255032 392326900 787045622 624598532 503885610 16639880 884432586 553979164 56834770 154789992 549575218 129845408 454977476 369555420 763529618 198681696 571569822 371087928 158959796 981733208 495169182 403133842 481984294 7851162 11898222 542499602 977703740 287855904 603930174 562396200 527169894 596497252 46854584 827929030 702328138 204540704 114203196 918469132 569564280 531313320 917733218 590847636 93293802 151688158 424495424 368360560 753585810 154650078 843406742 877208568 76617512 326326460 475333672 628920422 147984570 270703236 333368942 608231708 875933332 725177808 539701072 83970306 23917390 220906930 280553952 139531054 932645622 643610244 606271040 430503490 363062778 654808428 131768142 7933194 513520156 262691590 93614172 508404608 700493272 130914518 756465172 512458408 437894628 464451622 235218902 910592542 31636652 888642058 357526514 962095110 551352006 829827564 139722670 939685708 122114476 816562618 733001624 68294416 476027540 193469938 808146956 489019476 803267168 420830748 653860022 912812798 412382650 396597622 602084384 183064006 278867874 397054432 719401058 206119912 871072926 94223372 637918892 597134378 928471188 391751030 580457236 944838432 109088138 493177358 696638488 450122870 142421524 761288276 614804544 167336734 964805728 977633166 963141682 837947730 853523150 965635274 694135538 243500512 804184630 57786874 620060720 136352682 405551748 683565462 996611724 351351952 646738836 903388870 790142684 423389818 638877232 937054600 682396952 971138020 525734632 22820280 280382346 432294278 499578956 288253970 901408782 275877922 371290480 116810228 701860916 678106560 171124786 863726764 93023858 301099034 35744432 952552562 334426058 835174154 120179142 959645674 859042376 523481252 583517290 658296280 21923648 482656646 461802188 114546570 88269890 817833096 993703474 257103044 262860192 84043712 927772310 140377062 13346366 172849420 11398240 880058970 239849484 842531820 253131192 827212222 665548478 889949430 931753600 859081798 894133418 468907796 256578550 763829992 171446294 97775296 112371568 636953934 758402946 96084308 936076454 667315086 984025838 848280186 199605588 315910186 781970602 462703404 103092848 629610834 696415254 369098362 232763816 560277108 215632466 417135322 468559508 843658582 618103930 963906136 350919814 214955132 609162494 560503678 20479694 488037042 885365880 478766264 638854784 801672820 82920860 969595964 268316506 139453536 388211504 908086760 810939662 248251806 538163172 452583334 978787034 619831046 838021050 662123662 350477234 39876908 941051016 521439234 785489630 575264236 234922148 438001286 272351570 761390332 187417198 406803346 935470120 35178950 705294980 233201910 63343432 470968508 385156686 598435270 54591686 587538964 839238356 930955902 866450390 708291122 848122866 583708978 247505780 821363318 586199716 294571238 69558802 714239742 739324708 977196754 489387020 477058856 351728750 251337728 638776848 178704202 293691362 376348466 915951552 686590174 772269664 839319308 147747506 189344752 954889170 531294938 199388736 465291746 859455488 235838774 808977586 712816638 198297762 622008284 53856236 512420478 580483324 105457308 697344388 638678836 237067752 207928254 381924280 303281454 226537288 84068120 184156480 502724862 53713448 689198244 579387530 818610848 512264456 854652756 851416186 853619088 59859648 281708098 964253974 870203014 813640112 165542338 969915694 724970380 960596762 223650128 669283312 173710534 233228126 79071172 635945268 239261514 540045992 929293730 797390960 927493196 524338018 142129508 112503520 189976818 977309342 811517276 93522246 761369022 506204970 847541436 691295352 424589032 482652890 815820430 858182664 636638702 969557636 340107500 992470462 490622176 647830330 639303624 980977938 367991432 605200502 90591770 153898910 841262182 75541318 348809938 202933956 866519344 777513564 639567604 61591476 902478240 697101898 663022242 929362698 881655058 156130204 189728954 825885274 314222952 335601024 895598716 177322632 218269878 775164136 503861200 682409510 578615530 951611702 245486944 197427676 459863022 79406556 926123336 139494094 397548482 974459074 117672056 688778082 324205628 22113724 844136640 226696116 538069008 209731766 853452330 499953154 77506794 544464652 593275542 270385952 66657154 193567654 928706102 849495358 787729392 114505568 199600466 16794940 738601726 736932340 20995142 574073768 245467802 179798484 304960384 609462472 431558294 332404438 181472910 160181850 735018018 431587732 759150708 363890120 304377692 118723640 10911634 891605488 609135950 350034620 208110426 601258522 905598132 400497166 151499268 739244768 49057432 992620924 3958100 613243680 443650398 23183588 88989498 408615402 895926424 685838670 772445768 47779636 943190418 381251488 760599812 117411674 160984942 880396376 728349114 834882776 705375246 202682454 101429586 511320226 832356044 435463776 702426386 667203918 483210496 469929966 29251880 983419764 21394062 26096294 208139352 14724572 757022176 125254316 967687838 246716934 131104776 510179594 180263340 624603018 790422138 344612850 183389882 176766966 47929328 906813588 736257480 654088970 402709720 870791904 520554580 258751394 676322978 973727788 698218766 615927782 348617110 239673776 669618678 998136016 230821058 222653242 406473428 821415992 920647558 474925142 540083158 76839220 838168060 703927436 678169154 785510942 154465380 462302634 39843490 212073548 227815364 101127982 854935682 537927538 605772708 991875946 380151336 706682590 48477564 704386614 592908716 960398902 341507236 739847766 847650568 856038878 14004266 534864312 453214626 249473484 46489000 652081674 697135426 323314546 32715584 994241396 183543588 410883042 298686602 738599534 262539644 998698390 479641402 423724232 871314312 114195596 566743022 832625386 222692194 316766184 256916562 777251298 73784298 153868356 117516248 487836648 156299452 95832066 227307338 896418782 248526950 692610596 481376210 815701160 456690334 613548688 212281658 135620 98568102 107052296 298816158 47705844 238669052 710322810 139285196 597743282 150560626 607169796 314921650 585894482 160948334 780210754 319139952 267387580 128139518 309765472 614496462 869418810 64196392 915212702 278557552 310987156 985038890 388656972 504920874 869066662 737994118 786565772 174552136 715292916 468585110 407365842 407272720 478497784 511553222 847938980 423648032 894108666 960556136 86567080 987376134 901226832 533307540 715664446 5025702 374062496 897796038 980431960 851867376 813116678 506890958 162633928 272706120 24581804 657179628 309624592 290839162 359792618 347195322 324317648 592414920 598783078 727849912 854892636 882245796 602289838 897136180 655627068 700419362 278520620 188740356 12405600 196984488 347355102 36912820 117692862 946049966 749326140 180303668 72357022 648834466 732684312 874644592 295585094 400967756 359795580 467945180 514979642 778183050 382079772 773611424 468019216 942060924 810116534 70522838 1863244 641189846 668384986 963953976 503391484 369392488 992767430 124616032 626299766 450941436 394472692 211757502 280399938 700013656 931613096 228676436 583231072 915384814 409902148 406236842 444433134 693979476 412300194 296554224 46167430 99607808 750711260 664198098 859996130 172135876 473279278 562712230 897984226 309362448 18945186 347059506 129621406 897574352 890235338 242389772 489768562 47085536 282340180 181322360 916836516 274786698 222578424 230841316 587165668 210294544 160708134 257754794 719700678 301055740 657253348 964931462 799250116 202749288 629337016 731794226 732098884 410291664 196768306 4528052 673259948 143143470 100213722 477846018 326785892 985483002 49982960 106466938 913065500 448631066 585939000 733157938 962309466 905958844 754408042 578413206 691494850 477046862 84283536 32494196 692525412 699864880 897745088 73748442 299119886 54847856 928113420 839183600 885537148 946208294 258724428 526946910 274067010 644078136 715080368 468248716 240773990 571588290 910630152 355713270 107224856 123615580 254800532 386497036 186945668 483804754 371113378 495343750 881170770 744757726 457015544 819079772 855326222 275865224 454586936 97684276 756464550 937150320 580895842 924903830 477875032 69468266 964662380 688520498 570113768 809171588 606674460 989768372 703404010 930718476 22621298 830499400 689742236 180497086 636687414 196188616 545161406 451830484 652067396 874879132 4140214 118135818 187933500 826478908 36423208 91247012 79901202 763438816 964386420 796640012 74785246 734122212 44545808 203872560 826051026 346211124 347192166 266975706 461076028 841708826 62724726 217795392 287226722 179660154 444119298 986051992 892131004 522223280 843011970 88726386 854366744 824534938 109479570 805383566 989027934 303904174 295198916 262747494 797912216 587821842 478357572 943951486 966163476 457368900 268283290 673236290 91360064 57052982 628863484 431104466 995075562 387372142 129305014 736138 423824186 364841360 893435168 432587284 770352642 489398680 826795756 795227188 487257442 408952652 195730590 353823240 828322100 52837358 202717446 201725736 439139376 661372954 504192140 231783992 379570770 687150294 983072676 315754876 187599464 376616960 178148704 460910224 261744030 720877278 392754686 720514264 22478490 19699130 761804140 308078408 323982066 138335216 679181218 742355938 241121054 366097154 978758614 738865442 922686490 121194480 45983950 73557720 371887880 780844040 893673706 928226742 732185394 918493376 717844404 668511636 192392666 291341012 538377952 487661750 591086466 107813916 820907982 213320968 873034114 48347946 591721436 800130238 204928496 468523444 353477070 166678 848976128 742322764 800299690 29942372 956255542 133115902 69561262 300670390 336622742 20186882 409829922 116721996 111805468 617537472 781421064 509765226 900307652 898485218 453884786 658310544 915269846 544562630 867900026 321920306 938792726 118560852 646255404 627272212 396662930 631020160 565592566 151131336 147371334 384927186 582240626 266260104 540187120 343140518 527951396 644634432 749830262 847565678 601664198 499405508 87096532 969838642 558451192 240890328 299388788 202659242 700317306 622534158 238143812 819552432 188166344 654559190 896144148 64878418 317948920 987841724 121775644 699619254 393360882 258671048 306271890 529255282 395085526 423496746 168119962 592881466 962653130 303591588 108668808 944104726 10456804 702384392 897057576 547542640 576792304 129994136 411750388 67653936 408553248 418969018 611470614 873053890 341660442 343428770 163029464 423489292 715631418 669527456 962572066 727452908 90994886 232782990 600199080 313004818 750222480 848820226 658369294 419985926 515408812 503285976 377920300 889083752 976605718 263405448 767529262 255122386 461270146 610767022 778755126 576422224 772605392 878579802 981748178 46952458 273198502 923886140 396891614 585485162 204643316 993794108 584302420 522621118 850715854 46331746 927870324 192107606 766971274 181134208 600445728 61263064 235931036 918788874 489326232 182400560 157119968 226886644 969336910 590944202 135062628 491241998 564566848 934948456 46561288 502245684 17239936 832855180 831255126 165578446 323611450 353493110 607428410 739003912 248259094 86283122 818830258 866021312 407928108 635175188 740914552 409377494 510175132 335322376 893076722 28781254 967381906 125105500 915842468 457976888 226806070 397666146 795210882 171065362 122908982 95188518 618779702 224578 79881486 297274600 21570520 201518600 62141712 316480166 621352600 231947498 728251460 945458452 653643508 284156402 573698670 933975458 839812656 106056140 308980602 742480836 207817160 829126150 474540750 848416754 29459164 961523032 361381464 525223050 324541542 574191692 389787050 461506082 219368694 241818146 80885602 539981806 98316954 350562806 716694294 952545930 60976666 994316992 823432534 645903998 177339640 447249744 269685834 485448256 270515962 492095474 123722554 768207154 377336324 791971810 182966618 996821694 415708494 829838606 410972856 923399416 104872444 116300496 649774152 298886492 220119564 567004574 88451786 406850026 707821524 75263644 692727668 832504496 771124348 906899600 689297812 80456378 98294354 483122532 326379876 47645880 7642796 343980788 877959066 597350762 149883504 432801848 139598146 364590646 76139322 186462434 12124768 653228422 733887738 569016398 36523932 219917354 26312804 924619358 742636776 956854260 933864328 990769414 183437628 582394266 582079406 886719800 931799980 567384956 36069108 228092906 579741018 381216378 182041368 999051884 111443826 621301056 107934926 431843712 831146248 164354212 510450272 458808788 640258032 221085458 316299838 323902804 460777448 595367116 332877718 804591804 470562600 51925208 180535932 993899878 170364558 587081092 996916174 930337226 729903384 964007990 342013370 660629016 576677400 498791456 138537014 27988946 650288570 952689328 187968798 935481718 557805046 244905076 758120798 365700360 393258346 850952412 584237286 447291830 346114918 446772412 546867476 729311644 510879520 957949822 324742064 100822954 940553294 174317724 229786642 885674120 10694786 571729030 427117576 271163764 473632880 951189984 458103076 771068144 937493538 439392590 943969084 236931006 379739592 19694726 788904774 404744640 448538016 682416344 916530150 472561142 436066896 696805248 885501314 64969834 313301970 761308646 761366422 567483868 185449608 169146822 849476666 310985330 54665940 41208682 635307030 381717986 235804370 636071400 844385498 503802956 950869970 735823090 470713334 610705618 758485432 822824090 65921378 48311272 605687804 874389006 90712902 117561204 358643370 630043164 355811130 657937362 595834570 965417702 470591390 312757830 716077102 448439370 784929988 752946388 315544564 895910780 147853508 401642872 336202572 498663258 341212860 723345742 527017936 424722614 864709554 420921718 569275696 70101146 239007556 970043144 826628708 225962940 179320132 302629620 936101610 884565088 265113774 615436946 305667522 451332136 402557488 301838420 361822694 725764618 25684020 71058486 483604556 382488556 641942914 780952078 26948064 761220556 138124892 884405820 44594018 713243640 939039666 641895544 66738102 803547330 519293128 284608088 927463914 716720052 617853542 343880668 284040320 429993414 356139624 474392930 266607966 387574306 53622638 281166428 834813620 616960978 33000578 199974632 812341558 255196072 444940892 367031268 196449464 985856430 884077770 577860596 610100296 739071508 905845986 626949970 873376292 845902538 637606440 780762574 85867496 333938124 70408566 85291972 397815894 76945716 587287470 13356034 21173646 747908964 456426142 183570058 519402448 98030606 971262764 824996488 451565762 389525610 559251542 219781382 250291956 106568370 677300508 170478378 261101846 439822180 60505556 124261836 74538382 402011110 710694866 527394472 975764834 121253982 411873396 133674416 280211734 257643708 42015580 300457560 421144694 717004674 817215446 764320610 842804704 588274184 779025110 574123786 339624846 983237116 603950734 972786840 566996640 112672624 914149240 231289564 46319220 929149200 880734632 254112868 912956716 913145848 102851278 343335534 99310764 308728874 703440054 190285878 409052762 208389614 491734892 369239268 794538708 931560558 23765962 41713660 275122228 145226264 395951792 507129300 755952428 766482810 694632638 391781450 368168540 523658890 974010796 193061256 347647674 142497914 331366756 33675566 802720358 522299142 623297820 177666622 265838486 401098082 591421428 448106480 972665206 436888918 702430978 543255998 673767438 109611286 929522000 834251570 426010292 3723732 991984192 441609198 182621892 183178782 709924444 7693142 581956622 555352814 191146638 899564138 786933042 770383950 562038398 654445092 210236686 744179094 223413090 601282006 143293362 64264136 96340488 208434108 947083568 191802464 32414288 594049674 912555628 952157166 265029394 630947926 75370054 317001414 20962522 117176614 286618064 646997904 612067402 63423486 717660476 892857674 548242988 387358850 606964506 743936068 944819882 141026068 146160098 678552678 406748206 768482632 155893804 704607894 224379622 991083914 195415520 103385834 552520252 837920470 374511302 85755338 507552368 227383194 340000490 160611558 304781176 295774470 182809860 676873138 544302848 890215054 325677554 45232674 86895330 301739834 468949972 367701706 245127874 650316272 274185098 548334912 446203796 901987790 403950060 90428562 736812018 556590576 681143750 852568492 534559062 98561666 490779096 525509310 400004650 457820294 368982092 615693984 771630214 713236760 979675382 376633990 296465432 62875312 878662462 46355880 212844944 733307316 482416978 566347074 637604470 761908426 612003304 994512012 697266864 699450814 588006306 273429310 575029164 520574480 177083330 612066108 465819264 615315002 939963970 992868510 403948348 236867036 203282034 970328664 224186624 947040516 709017320 759025616 818987152 664165592 994725420 725928538 843504148 923080866 68484958 885555752 844266656 900263542 428974264 940621996 975399172 937272480 707109830 549653954 163027256 23342106 316378212 491816142 588115230 361085350 574169562 266639462 225077678 681999214 889849820 887989862 869411404 880951070 790691984 433789650 273966536 580307790 388576340 713196892 947847688 132418384 90733256 690766518 836515242 914282402 686217182 253968886 645630540 782431468 425781590 284777326 349706626 45581252 51604568 613799114 592181208 608421496 552761612 577635928 899926772 317528378 644081318 113649338 27767326 478672732 817312512 927224648 218009400 500320134 48854992 137679732 845232026 455336174 148196624 354493776 96273958 236519676 105504382 167274852 197380320 890037120 125471216 291659950 53532708 466275008 150689736 577132036 161177438 843918026 478944662 476962008 676633206 72041332 661055552 262834206 590353312 2827968 201211822 196950322 381421454 342846892 761645804 277610410 876609740 901060228 758924884 709107322 708405954 890384662 76297984 961646210 559788228 772039464 56801318 879281974 735796524 525503150 634263738 309246118 796407232 869445132 426318954 156489572 323195396 438593546 208013928 575692396 585787908 327902506 377857782 85468896 870706924 766526658 754752998 769602958 210193428 520216442 767050768 401187506 268667068 41856922 450672860 210721064 709298880 157741234 669180924 377404004 794837724 982739248 72051172 241810508 51724808 396398460 568612542 711736816 797697798 404257842 479371366 237011606 883009760 475188632 420053088 700928414 129995072 397294994 767375650 134104446 227688302 160406522 184175030 508704276 791794454 976017898 73051002 639045840 934936416 382749646 693064988 450554216 315953470 67109566 787661856 898366802 337500562 877146334 596645738 315239558 550015702 947720484 121012730 788110194 8015096 919177670 247903060 30895492 985421378 983472924 749168434 761417532 75330222 982805754 986841824 759277468 547381092 139828020 195728180 554738730 408396566 139312050 870986656 589926132 880145508 95811770 400648828 642623528 648184326 143053950 161641394 264703538 621763646 512896168 179989178 225306532 818083054 758306192 685843968 943722326 409120988 388414760 848920618 623574666 262750590 173964578 172650076 550868638 820858268 818477344 616106808 964543600 554433824 769072450 508855670 442835668 978136406 428832476 691218384 590972050 296285850 45320826 838349618 127800556 557592668 256670118 685694172 214376810 693721532 771494480 819716974 631096814 285451452 379305544 762524950 481910232 262560572 532391136 316792154 896070824 549843024 428016670 677698564 530631158 548874788 585777870 933020136 471112144 591285128 464668300 177729050 842925186 492831886 489694444 947754332 371608820 433059976 160409926 42388296 165178618 822484958 873874512 674400198 307134626 657130306 766915016 184413694 390490374 598183490 327459010 226746412 883534886 466610876 185155578 567568626 948612104 686640622 82266964 59128820 475894480 355749256 13755348 485568314 950804684 24467132 415294336 48481180 26774956 414834324 883112186 772680568 864820716 13617816 671255716 553318758 964215522 101050286 253368590 13193208 704158094 899372736 662346212 978866062 872113284 122756856 972264258 771178022 266441432 318400932 939890170 879862004 144043830 781297444 862373074 777545442 926536258 235330114 859994816 281547840 760366744 806129566 72441408 875196270 780118100 372279976 573678382 158905300 440460452 273087844 129072854 513326368 549200000 665746706 609007376 270796788 472236232 49232112 651891786 543144472 64998480 790966968 77380920 185087872 509236856 277282802 373905262 399416626 588347412 813454614 831458626 572602240 237176274 372255210 443614142 216966380 460836324 300612050 779602658 910358246 511460516 768156472 124945208 909080726 504416028 45658282 356386524 286842964 952687764 228021328 335280706 394847806 425899358 993537940 662640472 475128670 38256752 455129298 81319030 968103236 727773866 207140666 622957608 136300324 367983240 813679242 5253928 461372148 620596968 176419374 512451620 456603826 42938078 862448322 927105436 877374206 591736018 514545798 49396184 953606072 713043336 754835990 642099702 738507414 232972720 302552890 990386488 522799666 574230668 408347092 218441000 256059736 401571758 308294874 804718108 790522618 59171682 865841168 813394014 504308904 175924884 593080102 35469368 577436316 845726928 928565102 454640684 233730612 233353898 660355140 669399066 643629546 750003378 946594716 12732540 945064434 593911882 97267880 632126708 819730368 58723644 438460296 141213686 608561234 10862198 300618628 662731302 680207654 903821750 782955362 778620334 770515618 958768638 534062522 317987332 922217592 808775550 648892582 486275390 743183364 3501514 512892794 202256514 913181316 33051686 87206552 345313038 852164314 933306244 134331096 340288698 743808010 747436512 922592196 709771538 73737516 268745994 454926798 619821822 793189558 453370210 633163258 823587010 818867406 828210456 742062198 56834986 529527138 414046702 731496396 418186452 53991080 118637862 281285690 898206444 611505396 567276204 28790638 507541074 355094044 583422104 311120116 244061842 463526420 633628904 813655530 12556194 802296706 581723138 595845710 909112916 844242840 386658436 609020088 97860010 493692902 735588554 44813350 55530410 522087246 196496028 809626406 511276890 346235968 311628626 714003366 110842478 787733110 56687098 522935482 607426512 217039650 758432320 305954136 58479922 842470254 876449430 514490302 35468280 969114922 392515896 763130922 506127578 246853678 568960632 74887022 894495956 486292404 764128320 641135972 519661512 238099438 87749012 738900546 285377858 546375736 109303114 423887732 487007084 282278836 922679252 567292752 691527036 730592162 432856832 667822660 591455328 387438218 99859010 820882516 149233866 622611762 710688390 248641960 907366268 591657964 975365726 728217798 294609028 155091994 753330140 764149918 69785556 763864336 531811076 453034848 603633028 67849326 777202534 829463256 68729958 309453752 77234774 809499218 368877904 185830556 975711718 614715162 856666406 313138672 147352492 710518032 951872872 757634006 694312448 970584362 389383412 585449536 945144732 410202082 502661712 611299394 445807118 693351502 135683518 609184392 916606414 909935408 705181406 841300934 912517098 111581730 632321270 693581802 548883976 672220976 579214568 807892182 85829284 285655092 806329176 922130040 135215880 987330324 850166824 952198836 978966158 683217074 975880910 551370006 778157282 876644536 469279910 157567850 210546040 12220836 26139184 656601766 592908892 708585688 908051492 395266364 599372620 551421868 985649180 701467478 275565720 81372844 967048422 492786824 895629974 212054182 115015348 274920958 16638204 421546210 375938028 267060924 112293574 959176926 380820538 552244874 164629546 832251742 401954266 176218894 207308976 424959296 531637894 88749024 64944178 708163102 97777770 287815848 712597910 259302606 765260744 684118486 506944850 519083820 66507434 988539260 618782792 330903710 614337034 116070938 413419140 374375770 24194688 711232998 942560726 712472228 725663442 719550714 336638348 824500930 227643882 804654998 780824934 645711860 171650144 664562378 559668834 947785182 373415302 825137266 362181088 326260872 698802392 786807840 230981480 504156448 692975758 126252690 399935276 401343180 721484996 15423404 390619226 944610686 49460280 900616236 186632322 612624440 28642816 751959634 506535656 602224356 901856626 406964358 175539636 182541498 841104672 85272948 142615798 103320844 786010244 100677472 730092014 767591120 976605524 301042886 736459806 524136560 676188608 255877172 139878424 508913064 687491518 680425990 908871192 205000574 946587394 712036624 182724846 921531894 823130232 443833546 266192758 518416576 59768656 782388566 96841898 250497252 176473806 268255280 756796314 466110068 541785978 860831644 148447552 60642744 735656586 997325072 278400134 314151634 935907772 951041366 450389252 282596410 600233316 643523836 353364078 4582806 771182366 577678250 993532240 539226470 193068596 795455018 20966094 279226374 895581476 513937742 666750118 351873668 456288470 680255552 204544514 110605478 374322558 986913084 339846768 509165518 871917164 753767392 438966674 734194928 719767110 902848626 964217762 307064242 584732188 366035516 845871768 496906446 975698904 744524204 689356180 402096766 349658096 929835138 729022020 249984846 651336126 990436396 774600330 518348204 598838518 269065548 394863714 688764128 910048190 521053950 92023424 544358244 688693362 805180178 121948898 872553262 753120776 879334592 934649718 8553902 349640276 236738574 321991348 819372418 493113936 514004258 929771898 45916688 988992656 29627772 747732742 454635280 724101734 878128194 59213878 541124 582637574 562096002 478659002 268619780 867102084 832210938 272443666 898604428 60047758 336831518 985748086 122618236 45071536 913162390 345966544 75761006 102558928 629877158 849724236 588694382 296372812 942170266 654459150 677677190 568564938 429347972 842242190 401127110 286696644 765419498 233104266 900560466 709176548 398523550 942695544 481860500 232310130 139993304 936869656 327326856 929968662 871721894 850288770 525156732 415621302 295937262 933814024 889784102 781143816 618765768 774605392 588885460 734597084 908121210 182139978 411639512 443353166 556744904 187885408 651122562 401429590 125545596 852012562 368406528 975426216 405166378 701056810 921666426 624447032 709243698 127137062 186236046 328675946 767565402 279205388 373989270 143582034 301050750 258711234 811015718 204588646 704727564 740197438 488268716 544275478 959190774 971978390 705364002 414202698 198336860 345991364 985471210 533030368 417831870 847558616 675251322 575433504 210775310 443144808 538047444 306812722 456956204 975260028 708262390 803899450 762181800 815531076 413248324 307304442 768200678 311895166 346127760 735037432 754341680 260849120 459573056 821274564 988964852 369332314 374213742 78639108 89692314 507239038 697268208 553090518 146555278 910556824 688001494 73296988 31793898 484201620 441287668 532930584 412494322 522960470 435792450 582197004 415692128 542132540 230424378 386720590 453120940 277053496 875697066 38660672 454411010 801162984 388005148 244662036 694155532 785865234 351680864 101091304 582383752 868879056 430937410 66572172 571797972 422992212 627197638 464028672 902119416 503717178 878571158 144599826 609490786 801927284 670917674 315612992 107656522 133070954 795798798 586508718 848850258 265982216 35917062 637183200 935339390 673635236 50610828 169613066 254983292 642731248 134197332 392481984 383468850 665457490 304066964 692313202 670019576 260048156 804536440 991249730 113850778 853978446 842087266 742183158 760791802 471111734 706049678 4153620 117166700 613563892 804849736 699001120 88445602 641677840 181170100 6946996 371111578 574057098 703743298 471837300 416842626 491713180 10500178 641316036 639062294 350698338 44579450 139682050 533134616 665202910 194348168 550226818 173079006 842543514 254100720 673066690 78278098 684354358 462684768 338932718 574115486 606685392 25023762 806745252 559900522 823979846 629644248 924088618 175041148 461590792 457763682 317697774 508670886 633526220 10608968 989104290 127656682 413501082 595295550 879490436 706387116 672861038 125250512 818854008 334736444 212013422 542293894 991409294 401648900 308968402 550796560 186006458 274236092 512039834 181624116 125753772 826422460 257383102 917461254 769952432 502971280 649248480 129562410 728385516 377507754 232403442 758472666 414345798 659658462 156310402 680827422 214095568 977835590 220198734 669392166 718152628 473203258 547005910 861787886 889430954 822903844 60513882 907871246 738909398 371016362 927872560 460605822 137788872 644863868 304542180 794439312 321190472 714659812 155101116 163420052 766656462 376194954 42189884 300051408 857603380 737653782 534959478 852876872 174050360 762095928 539126136 325460100 12292108 24857322 679754546 56704422 804268288 370204520 57273698 998583012 701724298 105554082 229068630 150891800 620034152 686472440 819488322 122941256 779111170 596143686 744795128 858737072 727891666 302394410 40293954 613788796 311586816 320141518 384597570 397209326 618874762 10722080 94816040 681893634 644006192 889349838 812100692 298804928 265880894 445934560 757594596 944890762 143531158 68747996 190884450 33095624 731510662 140798194 933343296 73164378 423684376 380389494 495393572 156893726 482857668 445261468 316086844 767763018 808039562 670314914 937329802 657110428 76826414 218646614 302547636 775594258 166069070 159522942 236472778 22571252 407419644 955483600 163271414 475859510 429529048 617282968 996669762 736855864 345023696 274138366 390787570 401384910 818300626 916966278 280721266 864521170 315580872 608137016 463917216 410501292 488164086 803830524 311103992 662201580 415948726 7586048 963578540 812019280 4048876 465513776 868214394 947970400 229751052 519569854 682715324 654244340 42138146 681981272 43833198 17580466 445355012 783590484 699971256 74971070 841078484 539308064 442996398 984427670 634492944 223111558 686236886 188996262 365865042 612144296 661059386 469460438 176996966 650337260 741051834 580771202 675151514 44752690 900766704 269577194 695207546 173300832 434721262 602668238 174718866 791286242 528122888 199549004 675935876 160158120 91679972 105705118 959608614 870189554 543228878 546368200 430908902 831744968 436469512 645127190 84304456 987493060 45715802 265263264 430908164 239658764 745068202 491655466 393148752 862423754 524418362 56641330 768468284 378968864 410307118 313296070 980303174 256915890 265061964 739732816 563722680 659219748 252627776 799588052 769105704 248254160 460481218 983838946 393685280 116540548 860122908 949640448 556739186 384871176 751638972 182851646 822557500 716733808 707828054 45055444 752073014 788669492 649378740 639643122 773268674 387125186 39440396 902879538 250497708 861453872 495778764 894540810 68234682 724702000 534477038 454066782 913966718 693701076 443031780 550322866 705684868 346807746 880486212 70447256 12245830 210555182 758210872 283479170 90241576 176146536 932900764 800099346 686425260 815830574 376767828 378745602 554176874 216612378 925248140 819120590 142755238 596986730 888040798 781566870 983934140 863353274 860448002 62262490 274830942 801758266 689779818 95409048 245712818 712411148 582862614 719236456 616900322 133642502 924106224 996575794 537064066 41451228 413487226 928125238 968447962 884558692 162423942 285005064 287143044 381929514 799057192 957527536 291095002 541210656 537424116 906052870 289737002 49259136 888470326 928617802 997928718 881686160 11001176 849423278 543098786 368214384 203487338 258906990 692819448 970409410 577146430 837935298 300564996 69383550 198307090 762135978 788936686 311594592 858170384 12466726 856002092 94814194 929722698 398739536 410384510 628831786 165780366 64518654 979022302 141598296 577712068 340362090 328955664 290985112 131594878 39336038 139844428 233264040 803514010 90915162 179129080 39624064 755561686 880548756 869974674 863416434 976806272 282373394 800673346 953867558 434888674 437694900 821140356 796268548 186458824 176384816 514850336 519026408 964288744 391174876 749223448 962766592 926195910 766540620 651067966 265300834 13852222 26578868 472542848 374730232 902652860 146089098 612162926 487638984 370215644 45162722 899909284 283578064 618360818 336703908 372262422 927537138 516940596 259367150 802550952 412926890 673904796 569482728 967282350 566368320 719844306 871145426 96890840 943964452 359823618 573254198 310110040 728494130 963270252 784763546 79086562 776421414 788959996 265423422 224327646 740483278 426209688 24952428 927151886 185745270 932894954 915654378 379616238 96974018 46267916 786248828 237962122 384915026 441769782 916170276 509028720 260659744 513097716 263890620 601676380 435881728 40269038 358783206 224980550 385505564 287213528 212909026 741452244 652740138 97689990 723656770 672353620 683942932 62117934 339331180 677503412 831732246 791372982 956179716 58372356 802448302 402290388 933476644 592575984 365046362 854845734 489486168 267519750 829473688 66393164 930299756 181607506 887340198 251637852 725706808 947514882 234338184 461795086 571480194 797521250 311299168 533515250 807499560 193039642 170438640 666478948 458150626 890354140 1156890 327151862 803120558 19022426 827066654 147001532 589727308 147866000 69176714 120418356 265229036 801732814 83591596 334601596 402928498 383624300 280478086 160106354 379278204 88523310 60341010 424247156 65397444 681137726 627088610 841880112 488411634 697794726 719055910 199918578 653889126 827155702 186803254 244988872 876876010 309867894 197123248 434620276 865449048 141330918 782155212 535290292 496976580 335453726 12993092 589515440 618698152 851485808 581853048 926610684 726227224 899717222 366903720 630501646 635355198 389368648 876516876 423429750 250684026 961145876 17964242 706237124 162803010 380974346 353302070 631986648 424614962 414584978 39152482 19645980 414161964 987109432 570282244 94772102 990788380 197337116 586425330 311446752 22188094 646976268 583233428 933430576 133346970 392700516 551682084 623625322 920227754 787907106 420022188 553708248 332399416 669411604 306389170 141376764 769967780 670730858 345125498 858900164 308260572 473297802 796897954 480088250 711358660 611073278 973682206 785573750 905962558 374861304 22511340 692333900 70211612 492073902 293143778 223853952 598375156 482255272 78813300 82753732 719318502 405307718 426229108 889797064 152095084 808736740 811234570 208806184 426363070 413713084 972242996 568586274 891796464 738170996 775078974 1878402 143243726 77048616 277734962 23572938 661353564 874902618 350476614 595230556 523624106 640505342 210057238 210904802 511237416 662504682 185518558 569030894 527136470 88897824 423237038 696565722 849904330 590776318 131419400 940727946 445600254 958456384 654864874 811965524 605607666 823058004 283696836 196492532 684959224 121436186 389776464 541099852 679249286 847967052 444508684 566350914 956357602 389697010 783925866 698295834 616192314 630248932 431620702 206158220 923566802 448504980 476616474 678191660 554591998 540549406 683146560 884555004 33729460 964302936 539767272 3708638 721808410 40875884 923029996 676918618 868428484 397942472 873781438 175797360 990923926 659594870 487704512 209082730 378392230 934765664 524973724 699040778 126260464 700262818 542241676 406676356 397817010 749116944 205548506 712765544 801706232 479002562 924028290 729986340 560139892 693053532 706395158 286029788 197325444 554380462 320239676 916959978 726218740 766533746 642736126 599788346 860203344 880591342 706249082 255006074 413627446 286076516 15575380 374827014 882802632 240115860 411159914 945015618 321969432 448710460 818486776 626931546 642496598 233561354 136341642 528246562 732087066 888053918 94671532 883697950 556432358 733198984 626997308 566337062 274562866 952691274 431961506 334273422 829752456 825376318 236875592 328313914 749536918 77365468 804322750 203625782 500617998 324312652 732969454 87290608 165335032 369653616 659674130 869425154 976881848 947669164 876891388 284304522 526096484 842203058 114613190 669451194 714175058 197398738 659602926 7132068 812501796 687165260 642780110 994460160 234756146 805758146 547173884 330701004 812967018 130111412 476877148 517646000 62671236 327230394 230080888 491034038 53481828 703479580 440143718 603187592 129313004 808902608 382963202 518287454 50714678 77512404 183732382 282259242 983989698 242410544 995193794 754658644 769103362 900379052 423337740 966174160 102684452 559398820 858128230 508059394 515784754 678276484 337403818 870471540 372397288 971854710 407870122 122359072 960836878 559591296 255952456 319930086 359245642 250719872 950107784 133764072 738778168 73033544 676733176 313341484 966925024 264087616 500176374 441535786 701839800 495892038 325848438 657340912 379313808 282038296 101668726 559302856 301155238 42562776 396333954 757248946 539127996 376556916 465715238 703947358 736659666 759496874 928482610 899485208 426262448 174315478 61445646 200708296 460602484 850316212 162148196 224902488 991077506 225309436 446092812 735829452 253691004 716026486 573838050 565004390 155467596 661364176 218125450 735825458 635147676 758373384 779338762 645932042 866199754 29657116 47686598 121178890 488253848 646379572 231119636 886384528 697032722 363000926 454258992 755891518 823457620 924979484 293061460 978978464 906712390 844291826 623528844 158675662 552940852 360252876 789373984 86074430 923706484 891672150 912158848 18216826 932117160 26425580 35784952 651601350 107310832 669166736 81504936 21414092 122702522 388271736 788819254 334483696 745291966 168910450 472940058 399424510 872326976 407347726 410036180 118478110 374404764 249706618 690541172 66125044 845399056 528119046 536957186 599815244 861948562 304222896 719746988 108514194 631786604 961607546 148383938 315760724 646476618 119162806 189150882 174255374 43366176 677740350 671076336 620783042 450154810 449425428 767197994 689542928 931355176 787571016 321953168 541041268 515148410 583515764 617728640 141884524 15093188 21963404 94526250 968910576 971941888 835742240 573506184 192393630 859575316 742826636 271370576 802116594 809172548 481306646 510353130 985061314 213661736 772101748 771542182 996111120 923069964 117785274 219471882 800216720 578577510 898072256 838953842 86340408 499261792 59603786 82527898 271955354 646213734 688425258 505703972 896506676 46920512 974742172 672245152 49639876 586770992 239168430 525426116 399810142 268026888 560882044 896377750 160161030 640928214 969463594 995386656 138080026 511447932 829657814 890897666 688104162 74937664 972638104 765910928 228943234 843311086 586269732 530700404 272029618 383594778 261892532 803131198 58892424 788325236 503991518 449798414 952432436 466268832 475709080 130452392 480353790 257768382 163426488 998569556 441917948 946466404 960131836 713672126 853062978 76707796 759487714 852525930 693281682 688015068 106793360 849895492 696283256 608608616 563994336 324961984 976854512 527714082 302499310 106581666 510504586 591225724 826233218 823976726 936026812 306613666 803156760 422044380 112257812 101230798 435585360 574119800 512786934 955101040 17670902 902169394 539193820 184326776 317735962 819512648 523963992 962925222 345467046 769189010 398271202 884557702 165757432 260309554 176073234 386527188 559523366 72033366 207015484 795042172 70852106 413160550 806341066 63178608 254363518 543529894 318731740 560395462 762418326 614193968 877484220 484134650 330652806 959928740 232613118 618635806 254203640 574636256 934042052 796193018 779169710 278183494 949070334 197689454 358448656 859756838 300076470 762677048 992473748 803361558 570549616 563068712 862420638 331410742 878165950 619253944 529638838 519321708 503795186 318621448 176144352 684556494 580622678 306024112 647557094 771287700 638650438 939160144 612020230 907441242 848086004 414805458 215041498 9971718 692903102 361298650 64967078 332489552 684912610 478644730 715776332 75672616 813244268 102525978 396697574 413708590 245710720 538383064 204061404 710208454 821373688 463011144 361238560 560543154 735695942 634475654 832163492 408275794 19953060 808993110 659744722 965092514 620171176 371182880 36280658 386592534 978066412 952371376 496824146 222786934 352240550 947633008 631547808 190117470 765425390 257008764 827683460 666798010 373707108 748672142 669018320 856037644 660966982 232277582 701074116 484011802 558677774 970997574 824415952 368032894 41246408 941544238 606511166 954770206 612720732 77309262 916965970 29119580 7327722 82318800 502665140 988780658 63701554 422068656 328412952 293420702 515132290 460901452 161385388 222549020 258654668 442232214 332964256 609908678 32214800 748964006 940844530 136301402 993201434 40647038 842629480 836573394 199435110 847624996 336696694 821499416 604531796 281847584 881012308 325732046 52966770 108559622 843992554 528386722 30887256 571038654 733936450 22155670 521275294 248735646 993964350 23454748 910040320 316660406 786604222 118098816 966891154 412031446 177325972 827291926 683091566 699650298 543881238 388961620 319365544 786655578 142630942 406478692 593261660 788598004 574164598 776006504 791409780 653013924 600567120 819715770 460773006 261847518 647149106 533103892 764192946 14266444 63325452 578561830 287940134 728523934 216285008 788911010 594371876 151122040 258840332 38056224 351877472 375900122 820610640 235512118 567308866 301118340 478921926 168684120 813046352 543205680 355716456 793642494 702599080 223772246 16407956 308816150 967598844 731846790 141125674 445617192 117581000 561510462 921468376 835389244 753569760 781453324 139454728 45916496 749979294 889131396 127619422 62249620 496582622 189208288 197759240 84270398 565233340 126084214 228220506 696383628 734419954 717909990 987122154 401846232 679181738 464056322 310800312 416083322 802338748 224980152 551444734 218339540 325733002 833153004 937823368 556462418 614384716 361408606 631632420 706395064 905437586 533512702 110467550 392738322 903332802 628551804 344389054 378566650 759567138 190611100 668178528 779832940 847278332 535293116 908043136 687058278 433941814 655086440 528754398 829901612 244923766 771111420 422832848 503999294 92581462 55979342 171128772 147457726 210433724 283746062 222078976 353087418 950534080 662492614 857612940 200683700 104396858 702994520 922568200 858731576 349048836 314637990 35300330 983857362 702478842 332787476 677199914 919872564 153347294 434665044 538434952 813526576 162780594 327320294 120322110 350720486 725681206 708124616 725952820 268391434 461823678 394281302 806896588 276088866 114928010 766229392 512474634 255225722 321424094 307741102 350937216 549796100 300304394 767554898 792665774 352162726 701356680 867058434 715363546 723782290 538691280 778000306 734513900 193773912 740457404 451533830 806563412 697097834 977490476 967364006 885436476 902700896 262119786 984087114 691805844 886282034 337381740 672163516 758304348 470458076 404629170 276185494 568410702 20932262 231923310 217044966 616681634 523983492 468487858 924672016 136615098 46898824 121652282 146012970 349470096 588999710 520890504 51320694 586039048 461529676 518131646 820696922 16069436 486289350 760173388 778578166 884641446 8322466 817090556 187594624 441793126 384377102 243558414 331440850 626520992 113797658 241519818 871036376 268115216 205832820 516121952 759894586 254588312 747315618 437342384 551927842 215915488 764080440 152594054 141196600 732229974 761228496 972011458 639814716 921982570 595116880 861312562 551835898 554747302 342033556 994600296 750769650 424374048 677281756 752142998 886440014 639541644 357999806 570353388 994727270 379318668 584143726 608298510 405179586 652571824 328078330 131423156 597602266 466208446 987622242 489900240 544966314 851486270 598041078 425438780 615566308 179447170 727341258 326936024 878944452 573232310 566876370 649297404 259881598 594142464 933610376 963501164 451399154 212431804 65731638 265990642 675235352 118912200 922102754 949417524 178952028 448815138 502890870 972942438 368894956 290321292 678788522 678135644 339742908 231090088 162643030 20416366 67788750 820236702 736866986 315290152 987064356 685289712 696138064 935112178 151786948 480409930 526631696 61443640 773998826 221831008 975067318 814162770 963414428 597518148 632210548 655562364 566371984 607567530 439440148 590971302 388904450 449031772 157010750 685678604 580041556 856019956 36120814 414296358 20055626 130977064 418053030 185069850 654874580 339622568 314818674 37274326 790269932 723652074 711444872 198627448 522912072 494441508 550948178 42364162 794527472 742982536 787931536 88082432 54094454 4856966 584457384 217658222 927861994 384976420 382917332 369477736 603609956 186736980 298827140 52878574 88701724 332049682 612286494 783663648 929645320 7869264 672954252 804503420 525102102 473242350 781547084 714483154 792182600 745556558 229153660 102801686 599102098 48283682 858267862 897286822 350529512 691566756 992226824 262560702 414397640 215892222 815834904 48789674 71486220 323055280 5933512 849521630 64124038 320062188 310546210 922269180 379865874 981265912 504791694 282774818 983527398 815719494 1622170 883383894 521793622 816708218 476350532 983491800 936527868 683502540 649132316 634185424 753657198 393125624 362279362 612871004 877340084 389736282 803625322 531111178 150839640 981455248 20221140 603253426 64859630 594511588 707284758 495009600 406710678 992346792 141769718 444289310 842245990 38520376 849876144 189452174 150662198 965287520 82026128 767274330 715504224 81425996 349698434 103864780 891237498 763937770 78731530 496917460 32101372 649352332 435728290 855045564 63967138 919819288 906345448 449509314 430662828 199781994 506664578 828965448 568745952 323382924 748311694 984198272 316332444 218458830 608651292 862096604 467515256 751100406 992800014 818612088 715659410 378586514 534840912 639242552 423933956 943952530 752145824 699206218 240332582 766492516 115232284 592299264 556115796 833748992 395241992 521814722 321505504 44309298 770673512 682979326 628342526 258953820 31293858 646060550 167968344 860666858 856615696 146360062 792167116 475187984 814895568 110495486 341053452 430588670 612904534 846944910 335871848 295822522 190978864 651754028 52242216 462709554 214484066 559879162 29955274 4944444 620565506 856363062 998967852 833932326 718516326 77737940 834702108 402830442 638143454 972699298 986916090 765231912 594526332 461154096 977689574 145284598 273243290 468121746 523287314 487803630 795381508 39178400 423035548 658614416 373164918 690810376 736528658 344999530 438715242 935667316 943415532 471491900 50040784 757705290 21725902 397610142 989254306 70933214 270451080 123994330 918998614 510763190 611681616 212298344 305601400 224684670 532715902 666878014 266935990 584607262 924657686 539765000 746301418 871816860 757143302 54298000 998852132 27878514 829251178 651283520 354474212 707659052 845286102 365050874 665022162 911772188 765785036 28473882 384317214 427132972 498863848 434880010 886165964 862348150 136017668 394793540 368359166 646395508 987224078 174958542 698811078 692296082 428836070 266927790 992643058 460893152 605861786 522744960 470632624 975184542 106590852 883775442 852125870 809195522 104217094 162137866 705422560 38639674 153022542 592723852 366891664 910797900 877693580 323321798 765742154 562583212 634455396 883781770 498480532 743003604 13060034 474933238 48177664 457576582 81064300 299880264 977237166 875673876 938361264 876180218 474853842 985173226 662588674 319224906 516166148 675408330 356748546 977539102 123243486 540700072 224112792 96418892 582883474 425191138 241252584 729669352 601791692 547870250 131856670 642478360 102674344 159017714 329015338 378833682 935345638 580111194 683946204 473377840 769943162 695885610 277639310 269127516 703077358 125831082 135948432 559195048 90086402 284350794 475154194 629172464 580035974 135769584 467744920 765798302 29142780 81751684 194585194 950813226 224586480 156459480 285171316 202433830 378365408 906709378 22971464 332652012 229501784 246918574 106028148 412530312 398710312 22645478 234651110 9740290 874124718 141933994 127855404 775252176 868439758 233392372 535420620 348118194 419796486 136874558 937614324 399344976 853168728 716306314 414057918 222704966 567707908 230398148 170755516 799953774 459115438 464789872 130586038 530999096 130510758 674139820 783489380 984268840 448776094 300740580 371373720 112183408 63034734 51266000 507681336 357532820 321916888 372065310 868181046 426862836 67846654 506164870 625414678 915052280 615435904 835453342 529102242 863517370 92220082 966905926 430980054 701483120 687627670 726825582 77748872 945859400 809846242 642700658 350926092 547640506 786812798 695849632 303119188 691346026 668323716 95982484 982097212 537235690 903936388 545244274 390891580 91635282 306588038 496803328 417618054 480937580 468495310 231647676 990987570 505072734 698165170 132301986 2575178 88078032 342455840 341435598 445690038 292049038 678813782 22513764 498321546 701852284 909687950 919187082 388282192 124815770 25924548 485935108 622327826 232621838 684367132 239368970 628095904 832592650 757471920 316471516 975311526 773139428 811802270 793489698 434614228 378921330 745223864 573299778 631623858 104141738 417269446 918894482 959596162 400239156 73256246 31492534 582172292 851945758 852938778 446607330 403023890 66101362 694504986 369692850 404689400 822800668 355645708 974531912 716626136 234475956 933110484 957774976 749950822 226742842 449065640 895072826 709591736 264297884 380828736 639378496 671891456 994428374 240356210 584546096 104518412 814028978 322249618 830322160 912181534 491990104 74681624 468332448 899856278 771006086 918112658 779487950 536223138 22305270 61837918 308074788 173919562 274032908 903574486 120520388 60630022 456181824 683810194 624984344 979072564 265845470 350286354 12135918 1237790 670050720 477530894 783987536 285211410 937231664 185048408 660577704 522596710 567041804 59133604 160748062 612543450 729360194 893929482 385416744 258192088 341008270 760035990 251063448 91735280 808499030 227608750 373284022 294163076 241011434 873415270 388285240 651957260 752925402 305232806 451957316 124899624 610829196 771295598 351660928 441770500 244727736 733359598 829902712 502677210 997274354 492369610 52749080 996919862 230237104 50588790 642006628 296798298 235345586 579797234 26218186 755270822 820328822 279433178 91158858 401065484 57704754 860569834 278429284 606811814 647789690 208149080 121107662 197015318 383337354 941181686 632001456 825886470 278456858 869284126 10338668 763573298 546782562 536774644 27752962 128947008 936806232 500257620 191325036 910251826 997955528 641058872 159507324 600130030 574513580 469127944 47046270 654901306 967135746 224452246 523219406 154741886 253496494 522014854 955192186 492292314 205264248 52633318 556675724 816009864 762076014 883293362 473357624 963187086 93086358 26458664 139697274 357510072 223717738 91216328 308217344 905035270 158756540 36274362 802072362 30966720 767117302 214154736 116842260 817101552 602309918 56453840 67265102 500058966 202001978 119574506 655085290 561532706 623671290 920208234 781199716 472056114 425728656 618984780 331312096 613132068 379811286 274763954 814580018 448140692 865443728 342085020 15756170 722559188 148848796 356480656 578249456 385005168 166832634 39430186 693224636 225380520 231257724 189606898 779096056 416078868 661472066 273463832 771315360 233677866 340219900 40366422 384874838 789210386 216898114 114148440 46438192 88778062 917807300 107374642 469024086 426423372 275373804 593276320 280625270 435768792 260857436 976293378 565319990 549062774 754870178 33085208 768141568 210502154 578271984 31187796 645305970 363613322 674781820 60725438 511665814 664127492 400460878 960669968 939515038 4872672 167441072 246156798 795295160 521484496 562418684 38209076 295199570 96926600 441916328 610058518 852504360 629448962 972753582 165450038 542950876 150902018 101461254 523638574 767404680 752879204 426138220 555396176 32451796 572375214 399590274 89976220 75413932 970493188 71753696 283140476 58088776 859015232 742045880 199714594 613571440 163925144 785081820 767380344 462770226 342542952 935033082 150626338 634279634 820272294 298605110 57841108 920253482 360580986 145738028 557508038 240676094 96772678 889117828 350684362 773991028 731840896 440287200 64040166 195878688 879498696 41202440 513509092 678172404 778138054 236227118 568182332 611324076 326095744 678224378 710274472 958601398 790526356 640719536 464051528 346601966 115554510 248492534 728196208 847035096 446002428 817902366 328423850 648099280 44787864 826662626 985550916 528376206 895150914 246185364 568183320 956803738 555978652 43721096 468086706 577829060 436391200 925256824 198628504 8484314 104835826 757824180 287066574 132974974 131490044 644549842 939349694 18409180 832829560 260255864 71201820 287963998 585004814 966212122 685608994 701288184 743296434 833510206 103832322 436268962 755448268 645088300 624100016 251815234 286729804 154070784 55123148 663520702 371347438 71751536 236273494 626161474 150707640 884634414 467268970 977937868 984970866 488200880 853284908 995752750 715776592 51911990 419575864 782729048 243406874 349628946 170691210 733340076 189564752 348445656 360773306 432766228 738294916 977939388 675580946 800331852 469721158 298801202 762673432 481528346 948637396 684195958 245606270 917689890 828570 163521686 668839786 644941826 426871630 816248460 307096210 24619408 507342802 586456572 978263002 272444730 429927102 244652564 495214104 647323170 778333234 804608286 88595288 989798272 317596484 817301452 550200082 918214856 480179098 8950952 997128514 345652730 32507788 158238942 233076496 41220832 190018562 526704610 914417498 341701660 429490084 327738552 816184804 485495328 802057240 965961822 966646954 79266356 813363028 179197266 57599358 470617350 841707728 323729302 532747670 766341534 81537558 814346134 589994934 16406220 720865026 159820458 989793494 596686568 446289874 118891146 533556392 704347590 460642892 971078494 79427424 856387670 213550694 418524824 663458582 263555454 239757404 624209860 133741846 574677696 341707812 774081004 877175482 81852182 625462104 884002422 973993914 767434666 421620794 897383700 273072880 790290636 455397410 859767170 486510230 341801634 905916946 184226700 852690690 206028306 827891302 224543952 56962832 822868894 900865930 461909186 517594452 415044894 890374132 174922194 303917310 65004908 418303026 650218496 628411926 234286560 785155292 814794480 677003162 568856058 69735104 933014518 350844040 360959922 849882836 231658866 726314296 757795354 307076184 145567512 784973480 710934280 386107986 336517406 75876248 82600194 807394508 82594348 887349974 581534530 673979662 45127580 232170444 564816708 549530416 870785456 377514734 811613850 379997766 166137070 387644660 142882638 114170116 689420086 605722482 859170474 827989884 887144796 916331356 181569748 152465480 573067514 621443338 501911138 803793948 901431248 12766708 327167818 358861914 660967896 241898434 697982814 247645244 279617170 2744746 820627142 95429374 282864316 533570628 895115874 143231052 797830404 226793772 41287004 374379026 412330532 58343892 329858892 68805826 931752564 938557570 805879536 382427674 950028672 861207566 414538508 99267900 951519268 269336548 635587050 162269044 554363208 26499914 777470340 410019268 770799588 237587894 461598092 218153594 305970948 245062080 620143182 679709192 510092228 908884038 383401568 232665194 588788586 89463866 947714432 927707366 985319526 111831700 622704932 515131646 475918330 869937204 725394098 973363262 660950934 779425842 210949086 717797766 77205808 351019184 864927738 788657836 953271662 948810426 501198258 956886016 328485982 741418924 17531526 815180376 257161338 70208286 900926856 553011302 172025216 230557588 904130742 188551276 844915122 56732930 906367456 227352524 248647472 323500442 591072038 515104276 358928582 421518198 604432460 667824076 279445798 678621408 357019240 31970592 529506810 330525512 639199728 581902226 53353070 312915444 848330336 300712968 335409986 219739572 704446046 777819146 698409410 331586418 219265538 771912812 281628722 455188284 689957768 807938978 865967060 895032776 688686876 617493040 779981956 212197006 471607774 769688932 876106546 626268410 832880930 696078338 796040754 567533274 741585182 803486308 736392778 95050438 710272400 144413264 217551156 626697792 319586688 989657032 542992936 730993836 58715562 147195776 672822832 750971160 895265668 925015266 730735940 119376342 865430278 652516480 610120448 992621764 122840558 881752174 933667312 539342048 904965398 403995816 991857608 491065704 778347350 698364978 473027342 785485046 69935428 232177556 260116816 650766922 677178806 441910718 16802284 208745796 126864318 802028186 471945588 47497574 892297948 777173590 121356098 865423834 246019974 251130508 228189092 935854472 913888866 341770104 900579024 20263918 58426546 650909312 196946302 523565860 516028506 615764556 686448560 884356542 95241216 793410804 31404552 660330720 96724980 228029296 27990148 754907846 775112638 842888110 178770596 56084734 72620786 342820296 319536038 990019502 634496386 228120986 848508018 893255334 842174466 430905620 977682836 932841962 775934764 44939438 735472272 994352164 637753844 468042208 10829768 788518454 141456964 155779626 615443046 728981012 945395146 380358950 569534926 336263656 579554306 74091820 8736480 230496104 92913514 140960674 386826954 612869968 983774732 331418788 40678866 706470034 213444890 261044342 900965838 178650244 87892048 515931514 160101832 64739794 804155988 965812234 336665286 999091282 770116258 309220168 549531170 404553314 382653942 743103812 397956088 888535686 517097452 10849682 332225634 404007724 880128200 432582906 985339320 195980536 268574524 978444968 223316080 69587330 163871892 460354358 73136862 208220122 732104182 64572956 788590826 24047110 600091760 4772562 983152078 298792668 844612834 49004700 402173968 313627762 209865254 123851372 952830860 76451106 284368848 942784398 52640136 401909500 609990216 3194674 301385208 574993876 268841790 810086672 661809562 950426794 337454068 481408254 826432386 639302612 298389140 15541942 194953582 221269666 639341018 289144626 417137788 457415360 974656890 291989424 857727890 686950132 862679616 495602658 746339900 11991954 57217306 387721416 479591628 878098582 733909614 780825096 56804628 475172918 766976058 828461134 126455276 998856702 258915188 892147402 909472122 15819628 418918370 117132714 982800362 176758782 634313094 446623310 532708906 885019666 945126076 33259236 445630856 591402316 357417968 770995322 519532762 674380454 287574200 894341850 158723006 883806322 345795290 392823834 127655016 922135810 660321912 111102954 87650968 358489308 107886000 857320608 175600236 753101690 64119258 880172174 283058928 301263238 121349340 706602436 519338922 150989596 189096970 923240814 666727862 922368296 647072178 458173566 304898204 876089240 186892396 897391738 685924782 592213274 74965438 996495304 819080770 779590620 255175144 213781300 801656072 684591170 609074492 824043840 644205608 135681936 735381122 144590146 303668418 411120638 589403090 624717150 928844200 931166848 644325346 516194988 753170158 330751796 421166610 338815958 473329184 408856158 943812684 373228814 330806356 351998180 385070872 9214398 157027360 331292938 600239978 836724934 654987540 576382172 905320838 248904990 397507444 36796292 653167204 218808906 447904652 67902830 929277750 743505538 639727382 605809074 6821998 338391282 599401710 469968118 290536006 579939044 881877142 389090756 646243266 727794804 83473244 262752884 239174022 379795190 195873930 632358734 995945424 455270892 679902950 384407514 914712628 662919874 433431154 755966108 625423200 391527838 447456004 448887038 207026974 488173654 801727558 263603440 383618036 105931166 26809000 374707584 681288334 648673976 668769022 318121178 251266120 112665590 657394626 899461984 303986996 340358466 20977724 330064722 807952678 565283568 519400088 7033808 631269082 751822828 783943554 707829240 674329786 86582894 693380976 513384690 906842318 256980364 438060534 170395806 351001562 747054306 400837356 729679160 307242362 544965796 997648774 704249066 921740546 165917330 775023338 563620280 121795178 386436776 742436538 712886286 198021074 708398874 105005382 949769060 541613738 672970674 784546766 84312098 156659138 819653654 555605926 864565968 53451360 183001456 815504312 632921512 394650690 740273566 479022750 855872392 508812916 558232642 731698696 771904584 2762140 268619152 751951440 873711500 744418518 484775632 850818978 228438966 652533698 557231956 663453852 716152034 664209464 151103232 881421176 282595448 344659144 357581464 538472062 525381090 961265966 858807382 29075490 693272082 998539318 417517590 238646450 139512416 512816178 311549258 465540612 355577872 355901632 716006470 109505572 827809968 742829794 268164834 408360010 530151698 781254192 313735744 940637838 220258032 931174104 341407564 854467086 47336656 721820500 991040576 966524226 846253164 58693412 450829248 814943182 950945600 43389778 931786818 80046596 627914330 828234500 66560418 629080438 466639778 542014290 982620228 257191738 760350380 143974774 39524670 424349048 728061136 34368158 756916200 26053014 403325794 3871928 561081400 962434316 878977640 451782540 969920758 775860806 160687712 266805694 777222364 883157458 106019370 130233422 196099006 92913410 682081774 602800906 256631930 808579072 459149880 740954704 794607074 83538872 643572204 589006628 898846410 245852584 843185586 95633202 514013320 243489876 494969218 277426962 325713982 891993346 888891384 591010290 355192522 167159438 784972860 873706834 773324110 482803222 533440224 152179892 26555784 474327012 375128198 114959154 879625950 982403920 859636452 927833574 348990306 991729426 792341494 325475676 856579000 516484260 163431890 579762526 693692322 870367206 164953244 446460420 905438914 641415688 751172244 952295786 850979146 850866640 682435444 608833342 51661642 471185428 407485234 650740776 83652864 709868644 99007138 687619768 318127734 813524628 438803188 5364790 960434724 768601382 198358364 218457616 298556176 391716942 783737278 868403428 61029386 868212170 600077706 989654234 573947312 935079962 77732284 806402614 211499492 182951630 189170684 806491188 501410648 769682512 361235996 188071802 192851152 100958970 789616886 739385614 337625464 685737544 45767826 420856706 105107028 149145956 818360786 788611580 634532156 673063348 174608568 980837474 214185234 875964302 428121748 893605892 120866310 589296432 144354068 267611004 371227036 146552754 759294336 883669062 278126320 439484212 157199596 429325996 340672540 492129566 759268282 11594124 393653018 90262750 751847628 35599996 637717414 499087766 978316866 743258194 330707634 415889634 404205928 598474818 101565410 833249076 890922916 917936316 311310532 534311564 287538782 808940534 235416878 647942668 837778548 420485320 626845652 257756748 925976996 198931770 168587624 583634982 310102970 905108582 978383768 991037850 408733544 533414552 291313676 787083252 348342448 685368282 38899594 706222276 781638744 755955880 957557156 184220220 700430742 143734162 238049232 112241712 904529562 654247836 71714002 222110336 37521188 903054426 994808056 21796060 871741016 326197300 912231936 309726318 498670352 551336908 434617924 755381310 259220630 752794376 655480064 501955666 802827068 407892156 791372630 636946670 223477648 852269698 613339282 993988706 549772480 23937436 364439754 949877594 523768176 324118426 855173916 617895874 556247986 806298624 117516918 807134930 491246878 747456910 991488916 875198808 858646334 398876946 911968782 845677674 245528204 79984558 441476538 605235638 230952284 8355054 226204036 900286146 956607818 565499176 524626378 852284094 104817610 981834004 639845890 864116462 912124866 164059270 41361170 60744098 421472746 909185084 339904572 688314232 722138648 652440366 699852120 624726874 297317232 967061134 816652978 90121492 12531786 544377368 773723836 584491052 523995178 573593968 593599312 536169078 774856618 250159056 38704340 263854040 419048330 400375750 150069836 489100470 500634832 550310026 225240112 497758782 929151262 590169866 59767610 380574246 102986266 270455150 388901456 599361508 403774474 940956410 938899386 356838654 849792186 816993792 139562574 499968910 440632302 695771914 67025182 123289094 555425052 18434418 775360404 484234786 966804456 626285782 74653116 633394624 638834204 578246998 778178532 150209834 538133602 159998960 897637772 958802682 544289646 38507560 960232304 850787738 825448690 98225466 909291984 585787576 521470848 546816318 700396148 983139588 767559796 781906396 613430236 814547916 805269032 602369656 130667474 337779960 838698250 786056012 560952116 848151624 331688776 491837918 320416602 598376184 657232006 690207280 59221214 895915428 508173568 74198796 685734648 989175462 710305342 974403420 705575026 993257682 932294460 107322484 506503044 94822926 987364210 563331046 593547630 227934612 93856888 378227420 497702756 303285074 742096254 165262730 955993454 461502370 235158652 957521858 906324726 658350428 329134824 621984180 189305282 558161016 757639974 51998456 640548674 284804604 899050940 976180928 972901036 998658014 196313052 605842310 977308420 152509818 697913970 587458024 858437196 872375972 143616934 259346682 301293180 455005968 108672248 87725592 366679374 677681876 178400714 908188072 308356706 693203176 140464074 406156662 113594058 296193006 533898142 222300884 580223466 853812814 937605424 320651352 666730862 830434534 910363094 753081508 74516036 529514788 754040960 930954626 645781192 518665952 78367108 509963362 10289672 578952434 989776502 14570846 553656478 216824308 768925748 424554390 79317930 548761208 155543392 596876920 455866368 334969932 500956156 693305406 739963658 84702052 299977510 527990134 173554590 535948760 806207588 672951832 185892618 719046368 164888222 682859112 329522464 800726628 518221192 657726242 867359730 916473546 940345198 611906094 983166526 308392410 320407634 886192834 128166136 138742356 12877424 840019528 230611204 577751946 378884752 877701960 501249800 124267240 637485842 60521024 216750862 493293780 852776524 855184322 969330452 155111464 329692830 688426424 781595136 974851200 591269664 274754500 833370874 708180566 58697918 970195262 293285892 761279702 874458464 635503892 209908892 655088094 657298754 822440744 789255056 421244106 614438274 947867928 631819508 6015832 177044920 345772584 497257598 642722484 910671664 496120742 28187396 831663320 304102548 27785358 651939918 490295860 857263280 89680706 937786932 678760938 519939126 742502116 913375216 101668160 130802454 381274034 391519922 251387644 241108154 176701706 313924190 272517272 44987646 315316834 702433824 600947480 104387160 959610724 257256754 33320604 345439510 859027504 847940726 336138182 232807862 509930280 35187620 768180626 977119358 222548078 164077970 427513178 288780320 422838736 602981580 805435744 197174486 432926736 998354216 413421946 707021400 408575950 81730034 591982874 766574410 423881814 1976954 138475108 839359164 644836556 96255614 879024378 559086420 823331488 942660042 295286642 379109840 809203726 178303726 649091560 696162846 22882964 464223896 270534614 93676008 105012774 860749818 839526858 1638178 289917922 369234064 44006562 786088728 323816380 384066766 28823582 613515840 239904854 290115300 727481338 785434850 90806142 131258760 202072804 658137200 32301682 655566238 775001354 678447868 557869314 421242440 38564634 236984184 962417550 288844616 881110274 609268700 101056518 108044904 425320964 248834844 729464758 627453596 48261910 817390428 641792648 606568834 418099760 22000324 558504250 900912994 280752344 418589878 789723022 650544046 757118324 454773082 683221688 415388806 923581500 223901202 232740322 773268230 38723836 276127746 674783356 863152856 158381838 320640486 745942432 323600786 228911168 163464824 771149458 931698136 999744202 611955376 361190634 694568806 155022884 268755760 338324320 324268290 877916860 466538010 579509186 602903886 881029492 836219350 653319578 348409038 31479894 45454210 855251088 357776550 12477008 203532752 379195032 418413370 894260172 161691706 597300286 376342884 220668096 670180030 865031258 367360494 925242740 816522950 857887924 903985570 380577796 380513252 871708000 555195182 462048564 517555354 868482590 909246666 4571584 731026298 13875924 569674358 503636764 150575506 974280860 738761382 401867754 296070852 564864064 884513762 466099784 833816196 452764962 649296394 690691858 360708822 821393178 101265054 385434892 373948782 575534716 440098790 972211918 355111616 790377220 4329134 774975808 50516626 103471482 754404940 302682186 22523166 920914874 931136390 333750924 323141042 436793920 181308078 947710800 433504664 861698958 626174330 405322148 950540618 326050024 843541648 13690684 461116258 966090936 511826826 680489312 60283268 489720332 396952886 687777122 704670024 503336604 829644804 123868792 256351662 847969716 664082010 787439860 819467978 980696040 632974848 135587080 532398248 45782016 559348938 185740386 688643378 36495124 27728422 9094080 542621520 905030046 328151918 670985496 421626664 311236416 784510038 448576784 41372584 716974118 194510480 765811404 207653598 895507068 938969116 426433722 473688430 708278726 619155604 173065972 551735410 171074668 254665890 521051726 183634896 912192536 662024356 313059804 562667158 920514614 786503800 851487566 362896044 690119500 803865976 136284256 445243328 96766204 535726532 360440924 146977956 928875756 921569158 137371588 307033858 533068640 883058446 23368286 732151116 69488282 88850116 394428662 918763100 487245906 780830052 379260538 917550780 477068046 480834676 714958910 990390728 232359428 491050418 733144780 244272854 250734074 984189188 596921608 64736590 548694974 723674512 101493222 381508358 292219436 180615598 741333212 263773134 763512880 812243372 212523308 65013478 335488592 616173154 636443976 153784268 953602312 533427454 918721572 385064326 963857600 237842902 952259344 301033330 784293602 524114206 367848456 332504072 604606256 331144822 780659704 309160398 412037454 417249144 419569576 873258398 736018008 253237816 751693166 112156562 530578150 799229120 879708240 280328400 467517982 46426930 857038508 851962282 983912406 860203038 848113450 368887764 673016798 411377330 156225092 615983812 835493660 57482860 939685406 722334646 439389624 96384310 275509042 326708686 368981210 882291856 929520806 569468880 935441520 863983226 541777716 440162078 480854656 826409416 335127760 920979376 524355952 619489386 424048992 690556966 656721328 356051474 795770884 91388796 324434672 488169794 983144620 557622616 647368614 358472414 63587422 642312028 472316600 41468648 170107436 838891634 297838100 420485734 206837494 192117294 736938772 672162320 676890300 152088724 156022030 295088752 393839064 627525438 900689878 500600522 429740588 250506548 182735934 312619640 36039180 88405696 564666016 958389178 423765496 690861204 426474272 931879170 224276966 522752724 346921318 548963448 967934136 434322708 938977124 576500514 127389478 672113108 317586410 106275450 843662532 439536378 877904770 545851298 889984962 212324958 654675794 828869170 152295918 909910562 572726964 549264000 31749430 802090764 601205892 727699076 176588486 190283660 485237792 269294734 10778618 546843030 729738136 836459686 670517258 851672266 932226274 22756282 785640146 953794190 246013410 517829880 936803300 741467160 32717168 257898740 480602762 744222150 651619854 226307530 569860406 297226816 429795538 318586768 244246960 66411852 391663890 884459822 784277530 518434912 805475694 407675938 189073706 324010118 584326838 777915128 224702936 525986532 270173086 784132346 33912996 681070070 3853284 68458230 102522094 732749064 862017446 361920690 460622262 756087866 396289740 929427966 995347914 965298626 715564540 422958994 293792360 590695306 295602532 712461286 487004044 338628422 797699610 248936662 239470608 462774572 555046868 457755656 9375528 64302430 416562564 684090390 8104406 870595340 914761612 164571838 9605980 49562514 165664656 558234268 803423434 57629536 836515526 807216076 737592238 283192336 650235574 990243744 601045180 129163424 596968754 78728642 159329818 37794902 807754720 907979420 255942800 814398238 982311218 154522038 532580798 342314748 12129646 775733762 879582490 727141984 427025506 221489562 627205796 911652950 351544134 110852780 431768108 164481554 537675644 486174896 882674946 233214204 537753874 425919884 192185174 152993180 618689368 27543176 466410196 388852034 751041882 832760112 961455364 718761400 685685528 13189050 924798728 818269588 935533622 388605766 337125536 838816548 202792514 909575352 555470596 225039724 263608006 319756986 738991766 488317548 747163032 295635250 860975576 168747000 670323914 695649844 616460474 408167260 815379310 163789424 897072224 871932176 165316364 413184910 745491896 548775528 987788520 923699674 770067612 17361170 950217066 974273000 573475678 832221086 38576946 453516064 42176572 826966344 262269772 562723848 186326666 403837640 115031368 656343148 592696580 782489546 506760152 171706904 247142150 6244768 78546840 856568414 720490776 973138932 506923316 866520160 45672052 372878466 723128646 800782726 28980112 819144078 131631308 966701812 532622506 738892984 597115044 549389678 958081722 761925974 673048514 728011380 510807438 596998120 776025096 468598608 317872752 886045102 405779984 624279284 227647530 335398072 638692050 600793008 730096994 320863032 131517754 752187994 874245936 788616886 817082088 107207248 876359950 251612304 981040324 586161258 593497880 442021536 67006032 236313856 166740618 930124476 235348496 629301780 982513610 535511478 719133804 340631656 568579568 972554176 411852978 341867966 191206724 423060072 955988020 62683736 912594724 822817524 620969148 832746534 118715626 488946212 507361688 335221174 260060900 43664690 205932036 712975522 67697490 110778596 300174000 973725542 508505620 10320062 555562030 740661224 285499842 876049626 990517944 919861594 722878150 566559680 389912654 903135128 636709188 395215268 885338564 228731824 314858634 488483504 388873040 251282786 704132432 139587422 146638524 102176452 269604542 26682452 660505588 307301210 786396474 166984972 282993176 374840670 981825854 435261710 985572302 287185528 613317044 658679446 505891662 342822608 779590504 795286310 168579458 876496040 973251648 218443304 905046014 201341040 717409280 982763316 347536224 234275444 501216920 530802918 419552162 428252718 109503288 233154912 915544324 848968606 810703268 572334936 859225770 461438292 720695840 976542198 29987952 675007106 637220572 373985414 849935742 191214644 802360056 793291310 909527364 587508860 147932636 828046762 880450166 419869470 560284758 518995026 796376186 707628322 868052468 433001536 329660130 636743278 721940102 357230530 780191102 430283612 128459654 161353666 462012522 568542928 787640842 481193756 53423238 529248992 847357438 894545906 299218772 113051692 804311312 216864288 511572138 658255128 69796686 249490986 79963760 37559390 353556536 741090992 422163544 521576942 575769148 857814890 203815870 48396798 495038304 443547992 290533222 551148774 636471148 753211178 176891134 618866542 706243096 66133548 911376186 727342368 16807808 177858746 601952246 965134486 235884738 657324546 620612698 983173960 650058976 864720696 45917954 686645358 837855920 401826104 202891388 557783406 536659136 949143352 920054898 693187478 955526080 670033218 58061150 740732362 218797294 247931006 59262784 904501232 313100700 269283378 381444288 688928562 35927642 855642938 586387680 916342926 823628120 556839726 994090500 358398376 633750208 189331316 902445404 916351580 162329028 600256132 199573356 259195812 942492870 540225458 478061644 129740364 409115466 576024894 596240078 259998104 928509120 799271606 61315674 624904404 693866586 805374638 866281384 341285738 126536168 432597538 177320502 235412948 722138772 808144960 228043072 187764412 17243570 173742616 807613778 142327872 856647452 56493182 681662594 612059532 972976624 478595022 428676602 637151700 225466150 134825124 138007564 495542790 645173502 66958486 687478176 920539424 746037738 787052800 610087136 849965392 452614972 908466456 419011206 336765424 932048964 562571054 702851430 287558042 678278592 691200332 394725804 89105662 475908210 4855538 372689536 643013544 337581440 290941020 860981174 448938294 756722886 977366306 508505360 824431354 317678102 385106976 956199428 656526892 20308918 816575032 769948914 152401858 825556924 621517548 217718748 550719160 397182522 705263980 33645212 101462824 23413554 292789552 55908036 107918992 478543096 801900360 229360866 207856530 847905816 575955532 40249220 247716740 975665136 979939746 126904932 257888490 575847438 251203130 265940784 223724426 224388354 204550012 676105598 337456930 246974432 622847364 998330636 290215486 696510776 864834072 51491052 612513328 197243410 897057336 512639988 866920558 81756970 78344862 367045292 692899660 251352258 807382466 162470994 265151848 591677568 959579344 795465306 477356362 953609982 244672484 708048282 916771200 456852984 925540648 473566244 137348996 581185294 741409826 518975082 698041600 518611478 445163116 345805050 512174508 927285294 137325430 684818828 458464384 209421910 930480978 334121874 970225950 51250006 987730792 20879876 974068984 476267412 511644214 554836406 269741866 86090182 138558640 186786036 930506874 971829418 790935608 351704770 103482684 975031296 980072800 828416000 142624484 338154820 666306594 666347084 682571876 129885900 239828664 974212780 212311522 893675750 824336506 493983436 370919592 987345764 677060766 126767356 194955118 634022770 733777536 146141520 991103614 654033182 271931750 502283266 557876176 548944070 593067828 483965634 736274846 512800206 126807024 85123822 549290148 482661656 28117980 185380878 643729318 590707644 967514884 793445228 524170332 819303488 61060292 919988602 160275118 581955928 728277186 807826932 360441872 338960278 214783246 885938466 149005342 690781280 975437240 468202988 587766640 891713054 692610078 985581958 665442878 796255718 525951042 612959702 839177986 34727052 456263536 780866574 373785896 704636998 144997548 904233716 24181990 536820008 21163936 860555250 736764262 677336864 605085314 958490164 420185554 199584708 596279536 659263176 962398134 855767962 373427538 821372440 57990780 990939714 592416712 614438478 492754958 220163182 42002030 34116468 76172146 714450618 261679924 651806638 762786274 228349412 337302436 225116438 552566902 15498060 96851972 551022512 175135964 335022974 533902122 33157986 934127578 676726858 118747094 890786082 670003332 78897058 11131798 894529360 920270978 301554926 454934440 632010452 248382824 955832320 877332958 895079594 88049788 720592580 271119080 785766304 452555386 796574056 602651724 649741414 755739486 863003610 228111160 327652360 333375872 6905918 740816168 291786122 970821860 627143338 244250090 250779970 467497086 597287990 902453734 970874822 144313538 954720544 169199490 254372608 481412088 55420320 171786322 702788964 251309330 57926532 273479364 850283944 680896378 591568754 625050444 475196704 313902566 652686304 734073536 840910434 988105674 634099734 669295714 973256386 1168190 597126954 755468030 630735028 486823912 349800906 497221950 770397684 181172540 684815704 798263570 662338162 365687086 183526568 489228024 914796934 886581192 398053342 119681328 178247364 524978070 644074520 355676098 729238128 81228456 739702026 256806430 318667734 460908478 772151780 188573440 141637222 176135900 886056302 759906994 934510676 704806120 623374398 689401330 912217894 128391376 462346184 819507664 726438272 320698316 153312930 529119488 909633204 240889146 115490264 526372592 681055984 934048694 911075120 208626564 883601264 346216432 647276892 290400566 16230230 442535870 965972308 241077804 813686696 994759730 449598616 268981658 367820762 722930296 467208460 950794170 663870178 123381826 629375078 718590180 637664784 112968656 842426372 645834616 415603442 713932352 476970210 614444168 480811310 771202324 247682300 151961530 959679562 746136294 990620288 205756148 483999206 816666432 638296624 412920892 861992624 77112868 518336926 733187620 437829742 435020024 380782592 181718092 271740378 306944554 909734488 43922850 310246156 584731254 926552338 360704824 165190050 163134184 403560354 910168438 751400358 95946636 964945522 219414500 195968052 496716734 150264586 354135658 811150472 181253926 817800482 168899684 98701208 580354822 125764554 822804458 305799340 883289040 59202048 853353732 199900582 95752518 180259094 506879538 115408840 788078814 843299626 142201304 591581892 408082686 997948048 302427438 806619806 124973268 297570520 803055240 800555626 606769858 540246700 543695702 893565430 179130376 58231362 514991236 645602126 120904594 796897072 208734136 712512008 864946482 289660302 540364624 252101100 474940760 643303176 454984094 498879436 590651846 657660720 181523228 934820832 733012482 260107182 756775088 756931556 955460088 788412416 434784382 50385946 447960142 283812504 638873124 866026080 54211296 672784506 141346626 550912222 54393666 195068524 325640174 578677646 421958984 948733274 841695274 700721162 658903426 806418574 270790116 17504946 380064708 47648478 670123348 407370378 371587426 893326460 993923116 76127056 968670020 324377092 52514670 546406388 105523856 538477950 516967040 788858060 177437922 276515812 486204934 343688454 200406056 398113294 701040300 905969820 35225828 442908116 854217508 400114328 673053258 674529546 147343728 612486410 345296392 584280506 231027704 960765564 761622424 243519332 532872618 597579500 880228660 643320024 323637922 797067052 272335466 489791540 57932506 275464782 8589164 307793620 152857718 965991744 269537472 856354572 760125994 568583706 897520844 326481142 356487812 669893076 714437626 725152054 46328846 682950160 338650046 760990192 229708204 571493356 123967390 583208500 143662448 232202238 764326832 648690004 981191078 234626978 915591158 540300570 248068694 354381044 845867392 616579894 471490262 180777724 645014928 329289578 5655030 876285684 745564438 943707634 262735820 783482586 957141598 874831130 462789416 105139522 729514488 951407562 700651726 349817074 827113492 715527096 192775710 747880756 522710180 135883640 311722446 215271134 574388032 487641476 665061934 921396604 524751166 273541692 227338276 598161874 9282962 121736430 357920012 287069162 512361754 858184004 378992376 871063168 392954154 678003714 407120446 711592786 757969116 710646868 520043864 867337178 612891286 736159442 793613236 112222722 119420036 130734816 504833712 401707704 109497626 79797128 908649260 803230800 996358352 857567444 946464698 896888442 413282922 242068992 124102602 599725206 942454492 681419412 310917776 491214070 156721058 302082574 137027174 549177678 717030816 226242870 637290848 20149614 403905418 257945930 787702970 818150238 207900436 17288020 175903222 434215744 481579248 225950244 307211054 10129078 657913854 631169472 29523118 142443174 667800426 158313556 160737534 686156212 654053742 291679588 353930730 66910946 529316414 64305806 578156636 887136446 863430404 218603538 254255908 948705880 9866882 966473368 491660670 318657230 402689982 702971198 801395930 464536530 377963866 159239178 306754194 571706122 709563136 613274012 684348744 705663366 954717006 425422582 660832908 65436772 616102954 476136646 267035684 990224696 572093830 720106938 40586924 367329864 363110750 369610594 302447288 984061410 261419164 985504146 516093962 900655920 472617702 62333186 166830000 765853738 348241162 823021896 41409842 852703836 270113698 353204926 989737050 982269422 330335936 406514382 923832714 230520600 487059184 963291058 733228562 393627698 474126470 905863138 402709948 725206574 28686614 335050596 426915468 655597524 225409028 263437892 481893934 459814806 248297820 157002164 771417652 619286672 84680948 448155820 125929360 891491146 128444064 448396134 678834636 449663734 237760722 923992602 72752336 46890846 984165600 238438072 525825584 162685280 178011644 613687148 906622814 983821444 282506652 945384004 367245934 909146354 174313372 381569084 793270882 82557544 810866954 111240270 991049990 562351242 119179692 522643780 579367912 197966114 339295444 832043274 799405074 261378630 992657052 739849202 703245352 653731702 647768048 378656584 793458446 919994248 349808546 752393284 70134036 602434176 275603502 932610544 460822260 121265428 450418150 265430130 632204338 766115310 351516642 82048070 432297684 814747650 689157880 607756618 624133008 85503128 234036002 812275964 698840810 172552234 45777286 289873974 372907596 71023096 81358496 282799602 759458186 281446524 768094064 901031748 514917968 181560158 445149040 841868566 771870904 887639340 727092828 269113446 709727018 827209094 818258182 512021466 168058490 48865152 691183902 838640224 219260544 192790552 116835672 252602920 59637374 101029414 152758282 468910328 811703406 892267908 617018440 706010184 488994506 186530112 528555334 312683080 497030796 523707202 47928520 148707960 384185976 815804750 541806024 46825912 997415604 190284852 753703352 976466522 896218796 964769822 277088834 426567990 670947570 335143794 703059706 231687962 480892482 813994886 171794894 573509208 891319856 716176116 790117188 498358472 772787508 582222016 673982258 273397010 461094448 51350658 895300342 433648762 948885974 574417340 590163024 209581676 193108970 947489862 757501384 8627108 484399424 988046648 246230854 113679554 751304270 533187522 513168566 127015932 546543344 728500844 18711572 593445510 943383494 650876224 105722370 602406642 668509504 551668204 57269450 717673314 667007840 106512880 544495652 876756390 966398038 230043110 574885528 264647444 365121014 201401544 881291218 479854748 446675218 375748368 277412936 41524302 931584416 63695804 359073724 75725574 413418370 384883850 536714582 431020394 17984248 451700300 313771156 328796920 176052378 982606586 731982058 157677444 854015208 732935440 551433960 980454472 358060446 919123022 339637796 228460948 606474690 311717586 97691096 492727116 876634446 512818728 240151210 71799202 248989378 773256104 369652542 233102080 822594888 602572228 175399158 828380636 348998326 744559082 907749678 128079022 822703736 520636420 940441328 331484442 731322476 442603568 93839926 732936804 893119042 831578478 553607082 932367286 378349928 501235994 587460342 818097452 776992248 395343668 852127954 815103670 19948752 460272710 663525918 417737844 523051596 135736880 932580468 860791442 182888894 91648270 680700572 484807932 485520420 836222470 254436416 290411996 672834702 158129722 870873158 289299788 624234870 584688950 972507366 512547746 859948762 211845706 877909622 812642752 321719344 996959360 869564276 149110518 242073384 552827818 907628198 236608024 102886298 195389732 191418188 754655312 752383558 21578436 998164872 687006646 200148210 350132936 887607398 669962030 269423872 553742712 476390988 588794126 68814496 259389104 191050624 696098288 929840134 831402310 397209888 24457938 856586162 118394454 23415476 894134978 81698482 801877190 266049288 850543046 18372886 512735230 822458842 426653164 776789680 173983414 860450212 483515162 822983962 112130026 549081362 809916828 143978088 37257710 906076762 180969458 493223574 795898234 858082234 644144200 956559524 696532856 437392056 654670342 757778786 91864740 314856280 866454666 766898080 71089636 386233848 925987576 149114626 747196468 119049576 718381192 709642364 606298652 539769808 958565778 785209714 339986044 749302794 979412334 508128030 663436086 119218396 393274228 24132388 409413670 643778534 656630552 900849438 804041644 22526112 687171626 952392882 934984286 870480146 788533440 252532686 652740338 817446258 65164272 850946886 648639824 827301766 518873994 670836952 767146934 971579972 465780512 963399174 905672472 469341798 492575614 100285796 957838006 370426118 288523342 570626262 963988406 266266418 480287840 564286688 173724208 366970152 698646228 463179504 803212136 448322838 965039016 256181976 279099936 104176344 847746128 228160136 932346034 88057392 825924824 214226846 910323252 691900080 730577860 644090172 832695666 341640880 155147750 582159962 398365076 367898242 977510230 398308156 217001866 259293818 520267026 489901858 620840586 94641348 85082456 523432292 725051466 376151736 109976834 330893122 598539234 417236618 308982510 467238998 588341006 126772050 579439018 264214636 138749282 386767498 838955836 995066286 14846800 405091070 592753604 689426744 605403978 817771190 549993312 510020670 596550300 584325284 566817150 770072098 702311306 473621442 47211518 27631988 295432998 770413668 143019402 164072752 618735468 963132112 654980052 859231246 574132958 75169574 242120122 556374574 478377642 596996674 730306280 45399208 121238266 125567362 76920986 5547366 674169030 332531268 389672750 945394174 823219876 970583168 267785650 170784128 647308078 128583112 308080066 573670932 750994750 288102418 126524590 817269988 779264240 656838000 220878884 304125554 573695044 178396978 988103086 530269360 147883900 515394128 938437824 536126664 898435610 771608534 487059356 746148152 399702842 595968396 497678416 100501336 694029702 592940098 618547198 176275824 158437580 756029608 668765992 858711966 766484052 786441030 57406326 397641340 577039700 346841544 589646306 212908740 6166608 175944558 632638318 546429036 753466522 669765738 88848882 470571542 450702302 441505208 40283764 886023752 717009324 738532842 671451780 867193868 506771796 971225648 223965674 865539166 116594626 882589414 68125524 83516072 837084082 30974986 295214332 519283338 263698118 492378386 337620726 619442016 639823592 65972376 673618720 26927858 207447010 741883536 698724116 638044442 177934566 805270724 976745112 143044272 392999326 807241794 580473816 693985742 54492446 860751106 152520102 538249876 388698590 60306060 412479534 576132738 94473728 543770306 821533736 825497326 451380226 552873788 330809864 128386522 798212920 196476722 795728416 25548996 541579616 182602156 25299310 300257686 77657956 741321648 28588830 598313906 795692958 375690908 938594272 753965070 826188620 531012426 691422040 648149912 949164566 502527084 205637410 430882442 318675144 197434378 996550184 331904310 584377274 283688674 266719696 393370634 542305706 898293584 194857630 620309376 590996646 736884060 861399174 949682690 648105160 93918574 72522054 557672386 474186840 621459372 968073168 268636578 31958452 480804422 748995750 220532740 797524208 941207214 950954070 316374880 918512922 778332282 171635276 29705788 823071800 311982714 439691588 71468110 718514196 438076274 130797600 38701982 417110638 991025164 6499896 991505326 144344278 897416532 78822496 831773004 513332398 560913100 823858040 748496178 580054074 107331286 585949814 750768804 226419106 664216140 42219144 61799794 770145042 201211342 373832912 888718034 673701098 465223428 817880238 483599308 520241294 480076236 154876268 238736456 816149086 290181572 665577524 903402114 568634562 331138918 693920834 389139682 236692748 876755784 64178054 858261850 711624558 416862112 263625608 821317862 39986530 741026704 312820116 916690988 802926560 682009898 14639998 301005492 429469532 904220812 990824724 426091110 104080292 993252384 296362138 332268436 95242462 520250012 290649480 454738530 917908124 167271440 439263578 638609700 39177224 771341836 954509494 502008700 548045526 110459428 936628382 72333208 598209250 114808282 742303632 939784042 822470648 959034466 363954458 412400418 642194590 701490470 945661536 796221108 427428858 528724050 746617602 71938862 409736276 391685636 615425860 982469042 88941704 92027094 660186526 308128288 853249472 392808638 670438784 23708574 12737820 82002422 945795944 501199878 966826504 374275250 832222060 44054090 822541768 625979906 199882408 917228158 596182260 954630370 293437990 539872400 974573212 530393076 792970886 26743230 929686648 267250752 703201348 360481402 803050900 734828164 332276112 863286224 797234120 297981924 972106934 274801236 477370270 63180974 871987002 943587454 14959412 865438206 75945988 973143428 777958 627077074 727608586 804350844 332856716 116923942 523281490 180298588 690497348 987605128 230992804 415290938 795682152 206989876 913615696 788623134 899575556 907891186 222875158 236914326 45037634 497017796 552084756 308473338 508267802 612580350 214525794 94829842 36154806 660885530 735929602 570042874 669749118 943298812 231568228 739462560 699100370 564556552 619120504 566251514 621783232 409879132 903773258 601526540 668923552 995505528 382362816 95260618 868072474 887940858 484811932 254173654 261822690 67602176 562711166 953490238 762468218 730006106 324094738 457923012 69654214 476195472 142300556 731767560 370968524 635761852 772767900 431736772 827817242 341742660 489264372 692593856 872171828 203504086 776211356 316302674 906501304 809630962 656787972 660306484 486069308 298421260 223512640 281153942 660150884 63497932 547350384 670780312 306501032 725257044 585929694 733289802 425242440 665698902 849521618 96750258 404460862 237991226 643524262 185250188 201742958 70116842 10753564 705104228 517433800 867818110 314664464 966679494 659729528 647124776 107706054 934598906 803003056 500510250 95189126 191352216 468420172 6338634 564217470 346722408 479681178 849430052 25737254 681593678 729962088 674040398 323294132 196950280 451712284 746630516 490320232 855294048 656051868 329663838 595034366 580265514 631499288 226793084 321811644 879249394 93197836 375833884 135275518 328071980 784526562 909825784 650307812 304024860 184440668 543737718 137293364 518115158 629505848 594000228 449115646 289276028 788854824 476863422 349167634 730722746 225550210 785874814 558005406 285725652 281955680 570474302 148635166 696158800 696577976 362354430 927989114 984644808 717760134 537596492 47761624 182974726 265777908 273367962 350489374 923036962 807123298 513452970 165424172 380190704 645878882 751848970 641865300 318083730 565879012 854866870 673575012 706280926 983792886 644049246 156920732 761112954 881056352 682190618 733526388 212070754 607537066 453464250 648187240 633233654 916633242 59418426 646806664 824346810 23316170 815002700 554603926 612617072 315793138 465984746 230609944 228945670 578289810 196394278 978448670 654934318 971988284 764505474 162588130 170499188 32023048 420478052 600052158 733255804 983017060 708329552 970625230 584018004 680602534 101942626 342132928 579808094 754247962 254809210 329836752 910539882 456514270 815262656 829612254 409815128 919441922 272222828 998165420 236594024 264139538 245477704 914148396 523456918 173024554 660008598 578463890 718666388 642844202 77533048 626380960 982066874 111399302 420186732 118867564 280247190 252130360 241535542 201301810 885047922 868638748 644842824 809332962 785968208 571632856 272008850 41773576 569296120 696252772 617469498 69075126 889439402 68909034 714465182 297491614 801094340 217585196 265499444 449230186 561275464 332916790 572032770 695411122 800120552 472264528 998396222 419739142 472169914 270689788 213882178 112513444 941889698 672796282 57782994 800714088 130300950 799308020 631525644 816686868 960125904 81695456 368149688 132394048 237096282 981429976 594004108 605730738 224091404 285942534 686475544 415508724 349156974 16869286 54397086 680302268 171097754 987450400 485939314 823161678 422887418 724611908 811583744 291757656 626844140 700896874 797047878 925351712 922899232 588217628 570078078 213880634 356725134 883259462 304676790 155005428 663619532 345406880 624584000 261726442 555396916 302441104 995506122 990216542 361164382 231642708 504213026 350912834 667259064 139195868 785668192 132497006 888955836 45557118 669550934 974765104 850502998 739670246 764681136 969313652 931797038 781834540 639238914 844679670 508679698 766184578 878570358 413709698 718013636 518141140 876004368 669901376 890619112 738910776 308855554 440537848 348965448 358292566 76495546 828090244 555226870 218143662 141889888 122934646 168830280 468172876 82335246 482650830 351482710 821443108 45934620 75548762 439295522 293089012 224950476 684983666 230073636 272652610 300601716 691534880 736162142 424548640 714436882 157914784 328000370 271422296 988055056 552084184 323308674 184319996 555019426 305556840 189291804 608699894 992877750 848801298 500171436 527762456 889215782 530994562 830313258 337943050 984777168 291800052 800928706 49304716 541849628 853053388 32753002 759263732 556682956 583796038 668972174 389200410 886059924 988770456 857754628 592346984 539021630 335455706 605165132 520069176 253657638 642388890 160969228 234469650 126063972 250915938 292617520 363063128 850212138 481906112 341963016 820709838 983203564 421198886 679996340 783027440 239143780 578312726 588773164 493078834 721750086 856711000 667352898 532222810 172928520 697086820 133009222 560267692 419034282 994116322 429760982 868264986 283291400 569682092 262582430 571740022 854848532 358786712 709418754 567100738 38015780 841621476 679581622 495633814 800386878 833137356 830173152 733346512 199596714 373730356 25676048 117379036 74525182 900565978 934205802 195731458 930448622 541939398 76212010 542999582 681269556 979952882 940839732 518950600 295031116 256549404 66542352 393002720 733057220 349711814 321015242 20345028 179145900 927092266 271775442 32698060 137261180 322509032 807997940 136542524 856234900 833399130 11635116 894814184 477196384 555276234 927912914 333178788 170876320 145989756 443722798 407289704 988128176 647280172 860491636 666041508 328414490 269026476 511628464 710452308 725197954 195898816 524366108 454488478 170380476 357029204 59505866 275927378 729323462 732065552 446384542 898833594 905565404 614307996 169534326 155598504 77750002 184155422 554407680 892013646 815810334 81744946 732985384 11037892 966016932 611258982 33764142 686590996 164219896 379641618 423294960 526061434 70118924 833449948 545525282 35747616 707571796 507953210 121488214 854941618 562831360 947752260 209737186 961939508 823809248 396226716 532592100 764302630 514239926 214494480 648821612 658962546 617385890 861778316 418049642 774284368 63235800 855740818 526120560 682879478 885588758 923010674 349805656 231012744 940232402 478318156 25463888 62058820 422681242 49013252 603781688 884235536 728762318 180984200 919409430 379340742 242716630 473070242 306854234 548391424 790436332 472196254 722632748 620937450 660621236 430887672 865390142 717006972 189741610 714383660 376494888 772420504 761216072 609865634 411609502 695854714 495782638 716390266 897562412 246198680 996832920 944197700 136743906 337983344 829621052 367494508 834849010 793820968 213268376 335481118 267844346 617909862 269556782 112761934 414643192 829974868 47862726 868656386 997057522 703717338 401718578 329588538 859149774 187221642 953578922 860897698 808406158 661287000 241794738 553805910 800116510 649728582 170754822 210795730 104701436 23289068 861973882 802796258 780475594 184656788 524611588 637402204 393827722 96879716 157413402 515191170 909058226 349619602 600658392 462899602 279159798 628364264 230149722 462392630 627138884 787434032 564432332 401330264 675074122 80264220 33796362 180649258 204267108 343417380 932005154 928161288 580176252 310270890 656019262 957648854 695864536 362724094 358168644 811422166 830060628 754177682 324921344 486939044 550863178 266969986 498334736 188581790 876075176 11531796 112855474 315602952 875291712 140955434 553576128 673664092 365092750 936410596 305537550 43019740 769042704 542807010 722846622 566451272 666218978 699704776 302188422 144188964 510676672 855876646 435350194 199747480 463080642 281092328 385639234 717081656 459241656 154239588 253840826 377750170 338168476 126369036 203699238 376452514 966404036 670788724 455281458 4621014 56616356 647775168 526458178 685625898 425515146 937471868 594709676 462334454 292446484 353581750 996322626 686676716 89437536 653906462 22756036 632596932 277457454 95518834 858358226 152495756 533359962 387849232 132869414 202910932 111867658 744988354 236443188 873442954 230025646 309109636 628220926 513722414 682710426 207449926 462170870 538874322 300024722 541602660 91185382 452682470 991286284 94568702 882891832 52477634 137136264 622789500 316636892 91644740 730556146 435188048 700576132 716077524 690576976 408367682 478698964 177833956 205044496 707223664 4884502 959081300 426345448 660095172 974259830 12501848 377214340 172800984 368969194 189092772 74400414 643869484 894134080 212089934 825921112 300762772 97605048 338772914 905162062 141855590 276872636 593367866 861527948 420632572 67573710 623948688 262636116 146810192 429401782 799046456 111615162 851356484 284174662 750104596 499110904 647438738 223243316 281468516 720941668 159272546 697139044 558120614 391913080 228282444 969637494 110208970 789230982 742846824 207116204 833264606 346757142 103510072 143341036 175276588 400436362 453368644 876557894 327318856 865490206 949270444 744801214 678252706 590993228 613543346 435455364 569190186 653293504 468734186 619024530 528585390 472524684 270352568 48718058 230411528 120716516 673616796 439844908 277392762 981591780 53308496 475278080 787961630 987352462 235023576 521843954 774219218 563961712 745807162 469542844 441378030 317537212 851925042 780357164 131136008 994109080 160162870 548727422 592678834 724424008 451435298 631881074 501833400 347669710 573812844 731606878 330349010 764259284 977424388 66911888 299724778 130713024 337858172 55088120 219311634 672319970 281997592 279872364 901420438 146963408 929973918 249571920 73378590 952273574 974704360 884400044 596854170 86637258 84022358 54623220 33311486 854839102 605821042 999822922 495943762 157702314 716002552 699764692 717442108 424544816 319363928 953623848 111345698 815304740 482342696 682571626 17295756 674057152 582686152 417806310 637493796 822351168 543646272 117861210 558282614 387329828 265919900 163571932 358748446 563531642 488158680 285403642 182547854 639373076 498518924 318019226 175208556 218343680 650036296 677597262 892216090 887661822 392418946 840912930 836588780 171337078 373755792 888385426 475777886 398058872 91250042 216627894 61229984 175767706 3270482 155889822 368131902 971124862 810167214 781187362 935263842 887722740 601048806 385401486 327666028 985932356 965681612 214107158 291043338 496902398 612190800 694545726 893321174 372318154 40984716 389769592 484873710 532325170 985602178 44886884 417069352 750867210 201932488 640082314 198741056 165671348 188387586 16675098 453099824 124272268 145323988 578246230 355151704 751961224 853858068 60534178 801217630 127186272 789077204 547211164 50957986 374236646 424557632 667502280 464288460 431043346 6610274 884366224 285997356 100731724 590261416 608406668 959026962 980144232 917325548 734338828 790235340 216992232 995838770 793284742 817062624 498574910 921544824 619554658 557620540 983312078 552530260 569743246 7427898 834327398 299381420 975753314 778655810 232680474 129265330 106621624 996506970 308314912 609859670 496404876 82752706 226148758 81100808 585029750 367741148 242148876 284232240 394348890 890163736 262502968 7865222 673071278 938137332 654323950 237917176 498773784 750628628 757238090 617633208 534064510 298334226 819169876 532901990 402138658 20045156 7467670 848303686 88144184 816875284 550497250 695581044 222895682 418459570 287238510 691683832 738011132 890430876 296797536 171525352 230452062 662569798 639041736 194929650 927079866 223357364 127286094 540298870 165376962 262780616 688515830 451204078 63578490 917096238 991684098 457568542 937254990 962401798 331829578 632472114 558788750 124225946 54285706 681058942 527806904 714273310 706955942 466499214 228967398 156386028 665346296 298308884 637593022 900239954 352526500 730922296 432375804 435763040 83666860 179523634 104614946 822718008 755565504 788573322 529529608 917908668 230480036 622812400 270985492 502164 943406770 939713682 709994516 182291872 692115398 314861548 507674848 648563166 84343654 677894424 524527540 693898204 285865096 816437734 295636434 863827934 877982852 58085592 227541194 92197632 882931150 561770544 938735572 5409052 821674108 58949340 35545112 104852778 245746452 480241704 296627918 98906158 638737122 80550722 905011394 940750600 279609228 525465938 678266090 457210618 176991318 71067230 720050402 390760580 291523686 972388066 130793476 870989784 329873002 752276374 429597900 574433782 136279296 877408254 808569962 618745730 692742252 984710508 55753350 585518166 525144804 81483464 913224412 614767736 48052490 25488170 612407552 56968066 448746752 609828560 762885070 839176936 297883804 611578542 110382826 938536012 453433490 979530644 51175500 195065766 446451486 118851632 206122232 33814132 260821044 773408218 365159748 428576020 800812652 323480094 858040442 47840850 869773088 774067040 937640386 234582446 956057834 124419702 194970886 584933668 7813704 218105350 932876048 217215138 418756298 156463224 145192070 672453174 798722200 208284388 863862258 108055098 536450594 752977892 707637824 140274602 213170208 60437106 964921448 983941436 829999770 22495854 405127808 348582094 474060652 342094676 14100858 779434088 964749526 330649080 595456512 900808794 847333934 982956720 718920350 661001398 788492024 760424494 315688068 919479410 842837308 3604092 109328730 669413428 853843638 117953088 627300224 833597000 563568468 251269112 705048036 789125664 241900884 941027094 927028918 757403408 839034362 853419016 714785104 157212186 529212680 286587324 70702624 259954952 227940184 933990918 490381072 858677320 507610250 456829156 359809866 574673678 714465274 664595648 583917876 688031528 114807144 384258312 677356094 6635438 606782328 417078488 294375842 54719394 278828036 438655446 175312670 999185130 141383128 813689626 583363942 393596180 265159680 322036552 620658148 496744744 335214148 57084198 765925182 728205172 833377800 965320814 923210352 355158126 339288866 483553376 476542388 452059216 804009330 562373316 602667524 480212472 196800248 743415728 810043752 735668018 289692064 124173104 512832044 504654022 91938448 855413092 290379986 963669162 377229018 138468330 643596504 395168182 596132406 125442198 87463690 597354514 206042844 329896884 29495900 21191236 295123736 900985798 757740480 414235646 746941866 695014100 111010956 690804188 456894704 546711470 550796236 8365976 932761594 632379382 135224396 961640392 511089344 644239462 264354828 393178844 574022324 888303582 295158462 754934720 130887898 342010140 107130194 348112488 408934208 769440024 680143606 189404908 715423370 779307802 180282746 494083966 655051086 330029000 781488948 264017530 300449196 733473492 725751698 209831286 341335702 305088144 246408064 427516868 592869656 188626098 658653512 4675332 695930256 173061080 660837800 959512652 981473940 471299108 513912694 28487628 689380406 938492840 912310860 380561002 279926598 720171746 86939914 434756218 151909476 179581236 832523762 923824970 222016382 518703610 347291926 656974442 269623336 428587420 222619130 529363650 618561804 494176124 695515982 770720070 369304242 580664992 891380622 754571482 723717108 924624714 697190792 448665924 3992946 376370500 633407408 889667984 473442326 960857306 363127450 869989218 888623658 165415722 446887122 985045788 68583016 900564594 158673194 526799428 262874634 339640676 329880384 469200758 159132658 355446428 805654210 27260554 932369384 635631118 329402716 259433712 871271800 462210138 855601414 902699066 310807976 182459456 286403396 316465560 886179272 900046958 292635580 455211950 348456288 865409330 147192300 345670752 121891760 604534580 461118832 337685966 643048972 215930062 280539600 74953182 65485708 402787622 847783966 859894296 455687254 356032290 820199420 826513276 121362064 94096926 39972292 786412294 974780996 612436244 861905970 466210422 33306204 386717312 861365742 426146842 348453658 411731558 309439670 599947122 858965582 963680722 874937072 921597868 483607134 802661398 586541394 465602526 304605888 615993608 232752048 913438812 240439530 418410844 752595066 48308688 881765820 56218540 935212308 386983480 313970434 235710340 565832026 577302026 738955646 395114722 643729726 613209382 497163640 288486646 108785556 333562204 608894264 45047528 982285752 929795008 507901424 740250386 633821370 209942642 791694334 623089514 9067110 960429490 637269748 89952384 492742504 981038548 658890978 575800212 74467642 840931580 222394008 641527364 864247864 744112108 344097714 201668234 321112372 822604874 82482948 828455424 254637384 497593634 381249624 911420738 853635328 872932478 149151816 613131092 144878454 388420674 963353960 51675924 950075906 68063318 553213538 628053088 381198184 453909636 301871838 919511268 555215224 507077714 650415460 894498970 659980482 331032292 778767628 836321628 123348294 780743264 127956232 644446394 971279566 300180158 209585826 804595234 105057614 913848314 275519458 990366422 3315006 648831638 241339194 746720748 893536072 787300474 316408664 161895780 80953772 157241472 307555168 794667874 742386380 970401908 30167810 966735526 251689314 180577358 340216326 371424764 393052870 563298140 210638560 887194820 676089078 565001990 269024312 335060166 804085092 186405034 320651564 673983670 657435658 226479086 410402428 358652248 116452024 721226876 325943480 938629192 491421214 214693646 426115818 952462934 157776898 432568058 641867726 366692606 670688894 546798716 693059212 684257842 163193856 901724696 622507080 505491168 795762052 239367392 980911364 904109594 404010000 643062958 335146348 976333784 646116464 302728538 86502406 26001894 384894102 749012800 951424018 790420020 925241686 497127908 882952758 146340398 961621052 224719220 947231472 719919840 379155320 968078956 129570928 533290470 236600320 491423060 354816746 523738032 839124820 748234378 755194676 503120088 757534090 139066926 867243892 551808892 969640652 360476896 256956008 615083424 721335998 136247772 538102220 156988614 388561726 339847680 378900164 208451968 872670810 868933240 602603440 209975562 880919414 856276792 986452092 432684312 222145844 381930192 619521148 50130614 728220 690813092 97445600 357210948 74913488 760069800 586661810 487779748 771591254 490014228 790327010 946118094 781449254 359574340 769200054 787315844 3508266 915433676 316582112 418367556 386810600 994530842 193790916 472461842 400015354 812350076 181772492 822653436 697347488 971213090 482536390 946715142 34131570 824108540 296450120 233460352 183274548 244305828 220071722 500510352 555757342 312675984 766039552 384005576 421913616 885859676 232397214 553734454 900151186 714234624 601096594 691510370 370161138 368862128 387381456 20469222 101066288 891203284 570086404 93167078 95348890 606399024 343481534 113633832 660157838 130001928 434451904 371641330 4708518 459414238 951291362 446901310 219118532 547570052 161771414 213649322 197523300 336909952 146352334 504727770 748862776 103624720 899133302 223931820 488232546 243337890 553599260 526925336 110007512 447687670 220604438 964848308 696880514 637626200 5489046 111221052 273684376 366976208 529166948 965754504 337047232 971134818 569393352 741954060 564744272 97534336 823599772 877541646 413819388 253171994 214266410 389267408 362526626 43149176 612974236 865074502 911006556 338347838 66822674 254498288 596283244 355580440 932520252 966516544 674776232 458924558 562645960 18712946 108325926 424273164 846301554 656123520 797392718 592794214 825122948 848762432 654930346 214444974 304688568 600943094 845745682 567545954 885553034 795379920 772963412 216152406 312928078 731877988 783770006 2870062 152084102 324569328 813227662 439060876 374993560 708879688 55264466 146032374 989754126 100117966 138564512 818833344 291420994 701787040 251801022 765485696 377385806 669495672 495320830 574433384 868197314 546377510 27029910 7567784 854122026 514273128 995445124 764581414 972196110 408225196 184145012 297678474 986060452 763552016 689200204 93108328 420242918 432061418 525735962 556250578 494622370 474410684 275101558 463977184 997021928 792746196 32782322 177540270 258966216 884095938 688225546 899128188 944478226 419153556 322025378 86493790 456144540 731594406 802261978 221086914 331415746 782691744 533948938 787151208 655551448 947275468 935857448 903494104 608410144 68755022 3533464 266440340 769840108 496420558 60637362 942701386 567294936 625869360 57792526 309105736 331953400 937748558 432706120 579126472 259068648 154330880 43869540 88865126 815150874 507723318 391041392 31194428 396485672 612189414 972842588 130832652 196818618 307222930 851920702 913993676 693285408 809314560 632235238 947431828 44888540 521127028 828272230 488992340 57698440 554834250 101518994 27772038 501511778 144924692 848824118 117731186 590069140 208955442 530784316 787621830 476544380 997605068 243498882 507157216 382303476 524114800 934589460 482740350 102317852 908915926 747411980 441717694 753985812 748290688 201244660 143904378 713122622 881035502 662339156 98817160 866535400 365559770 306873638 744836728 497698688 89281666 690651352 109702190 427097002 227273882 281798528 753964778 842452900 384882846 721678280 291153844 978029918 44843770 994472236 782746066 518155814 563759588 249494322 662382234 144193258 828918114 120321944 245282482 662040698 953331330 921002036 838412462 65619122 303450440 283962038 644639270 8238592 545471732 920372042 358018296 928191408 47403116 134015338 390433822 286292854 827760774 727175576 159941006 321495662 632549214 237107688 699365052 974466038 848161300 902118328 304744152 356072978 290124348 773376828 127427110 740055092 435342800 370404958 220328624 285297318 230318468 781287920 577867264 477904672 449319176 261081742 23850954 611530004 897505786 106487084 427191568 618289810 796649038 22824680 536013348 268924202 203622808 575579964 609944874 413736676 425914352 980801024 455326948 561810712 656885456 409326368 825444700 769287614 793185340 139087616 671929922 286054630 884189046 394314734 183100278 451831372 861309442 110970082 111711292 99701760 380708072 171875986 189756360 325126168 105210806 515202876 593021196 340763450 14198676 671655188 161964438 680249870 153084518 811436066 774899898 768794880 974602536 202529984 15167102 255370830 682236712 893814962 567170286 205639830 84184688 214918312 464735920 550306554 677994920 870382200 647998966 10950618 734436566 624466708 334128788 629854992 160729420 824076650 988479994 443154428 182116492 441336582 323207624 554962122 356035414 736366668 338060958 444827744 343523772 781544120 126695062 439829984 467859966 83746290 385995156 944246488 650833864 204055782 804649250 48832828 880465854 555236572 558650718 93855900 945149090 919717900 7318156 619569322 196776334 97378250 197019498 758977248 792088726 76046160 840043694 113036716 53022870 196447028 876197074 728093178 214188386 914348944 959879086 569149768 806090008 622525504 649338034 830352164 729173138 806361200 125594812 24142354 357734516 67206854 676466554 138233796 53539882 406471858 700686774 842558962 3628502 241154842 707944204 484789734 244347120 421002298 761369246 827198840 988648130 161966244 152216094 703369924 527253244 357796492 25694418 199104220 348684438 678610472 697032122 986241218 719796330 99170890 435921070 543850618 389860928 737154932 763770512 487120094 867851578 585218018 943531476 210242268 64741050 920966906 7974644 335653750 432472636 375797694 98509646 8358066 793800816 594106026 299702332 706684610 708755838 617010072 203402260 569519984 202914408 758782140 261287670 191277094 106707272 849947550 905110568 987036 697074566 355886082 359525462 583474576 80564620 243815410 934878314 263159656 716887900 938359624 260951936 490518220 787089110 307633984 472150608 171922692 40353902 49181228 537729072 682521052 752477368 584294088 229030914 956568482 746499898 147381994 812202472 460057442 215052378 799306512 110407362 512093090 686151296 584165028 400575042 219204500 911724438 476913398 508940620 226293420 766684638 252503032 549350418 64282378 705641164 390832202 33104938 127914292 753708542 352729820 848000764 446792912 761366000 443545632 913896454 128525236 683887794 689640208 883479174 451846660 519023584 404569704 145120234 284516012 914059110 619274018 430861604 741788400 898655492 483687490 519153646 303636392 927377538 490080386 819619348 434669010 898946738 835739526 142007176 44423222 434726014 850567622 632202030 653645432 328570908 995294168 124145328 180790118 979404948 939065524 999223804 769988644 559802292 859832666 689839574 547561954 742035766 429618322 884681516 886681580 534829792 940445918 194040180 893723124 95285846 116128438 643061382 845610744 222393818 504304212 643266150 132116406 671145664 793708576 488013002 100108484 830521524 517338784 580563060 202185014 782213246 899093010 789124742 71158360 135244514 885386816 513242102 976669238 185454160 186629472 675299384 758202378 794527744 199784252 578124756 329120982 190103572 115148442 306186494 960444746 478426646 439747248 908956728 883103410 290839888 839273476 280982372 19873678 944056460 633854188 809541692 973879188 199251290 727645466 910792596 360315942 206500350 315969278 690413884 207943538 756415746 157196208 200044910 133070544 674927484 285889660 229973814 57104294 65050732 462127392 350040838 958454412 24098910 102741010 965666216 788207314 506287110 685264268 348172020 615778864 119642726 81342724 923230672 837307974 290174250 125595374 256946512 553797996 199677514 52490470 750469246 409437256 155498500 655517534 641267452 726859226 229704252 729498438 64528730 988737884 432943058 867394416 333585302 465366396 1189210 153028886 354058234 926922626 881404930 490476718 938415056 807424994 727484188 915727000 831369552 731084762 908770340 264969862 976627200 355559732 866592506 926348408 133716534 521130260 77399344 571336580 940763768 209873670 334763292 850859954 904039838 725419548 690575314 131475726 118982450 669550146 259718354 62906254 810796696 329406392 447447970 897588294 51763368 882462350 98923604 271749298 157533764 859392634 232465732 337624022 855699854 407836180 669524168 39469898 240987802 703803556 731459468 571647654 644798876 379501904 739403114 254613574 853454492 605688634 610136190 705623116 415519414 671226886 658049626 45946260 763912596 502733182 338677702 948320210 842794666 868999034 315177352 604921226 290755938 393003686 917611150 82027068 868444308 349618236 201230354 997009822 975988568 8743254 811706060 749825804 742438924 678166170 57785906 581791518 728361436 823978054 924748852 200056956 518734588 320510736 633220238 536479868 791084428 332180650 235235684 650591618 97956910 616610440 248466712 247208150 332440802 100719662 236485292 286067342 270982224 256483580 958015068 841785620 542679538 883493804 236833240 254963156 82942782 273666280 557141544 689315648 349382806 264790596 690816534 532606076 435628548 406406306 354519416 688598408 468190796 37791702 252855324 270983974 171930382 583271790 664622738 6352588 477055818 866063398 471424164 458266726 749354464 387880484 974471394 126765194 419443532 565497500 317676916 361804380 604502448 4760302 155790640 895155730 191668094 178622452 410806036 101058076 3187018 347743664 416225546 478331304 945808620 353818472 337772842 346817650 160019286 822266308 213577390 765332972 963504726 456908318 429126824 19393414 157668506 859519600 241268844 985596250 353900316 58980586 906990364 887450750 181357884 518387496 294438556 500000776 365416020 37891354 821128616 491064708 842369150 724350502 186523406 577856986 512783972 347095672 970017210 739773552 562637284 249167950 389634102 252909712 514791730 914992280 841337336 546047036 574168476 848685412 846740868 696155686 291205240 684616214 185428854 443529526 435919416 507096610 811792752 23770734 531005636 638395396 34581366 624646428 261904250 150221008 395128756 32145306 383268610 248070590 860596048 268573458 65197572 56378838 170867058 278886844 269737176 924128266 640307754 451238948 977731136 606708618 646620194 696293306 223851876 14730190 123101388 876743760 373250276 348341528 515091898 196326738 741329354 683364628 683507854 915114164 411807110 659675832 819608250 394033720 907104986 207525016 624700384 361182812 476568932 438723590 56199916 88040082 779813286 348918354 639732480 980217286 836990962 65696406 39335270 498473078 534494692 916119318 558912956 525500354 21966360 491109668 628093926 917918348 7926150 788140686 281695152 996861892 798861140 944728070 599033532 405328380 839590874 892950410 699856202 128225570 991693894 768560070 369496336 562615426 203819094 67815370 119893456 103679550 887803228 78836308 576772072 222788760 775766910 450400136 664480986 434722334 829876016 270628206 723708290 319878582 466102042 799175170 404485472 294812462 188185746 170966460 80512512 259057868 683187396 763125690 988460110 728111248 585978488 58414474 598913636 815099938 464927534 198550692 181619162 300965360 502871006 415440064 772333642 46754160 238840690 875146878 736401830 224163318 131563222 566869024 204747096 451100636 758829374 178105574 761503482 521649288 392689946 581212394 251061242 307055482 132694212 953662096 796172664 868079046 705539660 925553738 486267072 601258680 826850618 55695562 701908778 880898322 557070104 801720420 692044038 874413640 173979480 831315942 335285826 103692742 988949760 178520432 451283594 369402044 425510866 186752728 95931626 648681010 170181112 712821958 851866324 381186510 140893064 764213258 467317462 252414926 848016876 638002632 465256648 660957522 270342178 378453586 251886076 916272862 213694088 707390620 578279988 696176528 929374978 31097664 260257694 156134362 957549372 257848550 867492156 487920800 674192470 405197652 590494664 47793398 159924738 652345038 724388846 255264410 806551450 649716576 507602368 171357604 809991074 712825120 511404710 372136786 922256880 744739678 933621838 402390736 410382934 7044922 447427468 461642612 744070218 105260176 273467548 900805714 152767448 164719224 37653366 186429326 548777822 795883310 321812596 229753136 582320060 180748582 648562306 120207580 496945728 408932334 292181294 795927614 313664552 968694046 920363344 289067148 377267372 513406832 217091682 196006522 410713228 130955174 255585710 498994006 134556570 731735704 324445312 670457908 136466908 754937198 421902102 357257652 951095130 522456376 532384264 363462058 820180060 672795946 697543140 723168092 856760464 708740118 297675894 801690334 453806996 490463576 846659744 158426420 506319560 663860388 445835212 544343106 535792914 349149032 184447594 914009876 683238166 632164528 152206024 499696492 29720158 994841358 207863756 663421568 365283152 671694420 885413216 672086370 703883036 239905460 950825026 219990794 542297970 468017080 391525398 593600246 96603886 508422258 226431852 954898788 638066974 668300002 233179328 857543930 71131268 761995142 787345810 801013942 352950168 79877542 248155022 668414504 419032808 398843988 898611858 871913514 294382124 916324232 511053808 741772564 880020310 993726842 318612282 498669902 465032464 660092774 237324900 179617976 94041654 944153496 680370800 173900008 95449488 943020326 924123040 608167426 827011002 501191334 396028952 804194518 590803336 565276938 39481284 116402560 10484034 957896156 363831348 105278120 765264108 125554568 79003132 617595662 103100424 283101090 559303044 233429124 892110666 420562956 2887156 796973372 211039276 517620114 407881434 702777334 846166588 891875626 714912364 108097932 867853730 790334614 954931492 523891176 379743052 430996350 731750864 686600928 380510772 72276366 344686172 376524106 407850186 906998762 439140392 451771786 996698338 813208628 91028172 19662468 735774264 60282758 949908750 730996942 39652462 41076830 673406726 198718712 234595270 273906494 801638944 848774626 581530606 485989934 393092852 97572626 500511308 372882230 241862286 151396042 838492462 879380774 982938784 408882636 532411512 234771380 841224982 770829054 963669406 783656044 776573576 640646648 195832838 219048768 185806238 11367726 691550414 787020104 562399460 69837134 974437822 766754266 350614836 609265722 107962868 195139766 30798096 448005942 657378440 928047836 328299650 280462002 106966506 554896872 104268164 843743862 178117408 704335082 465651438 595536966 98592640 29376056 932352212 362693280 879957660 602527748 584545582 5207206 791122128 165684836 26912152 846527202 720428368 262209006 462643256 643109392 182694974 605714530 444652414 561959548 115313490 241491770 175090118 463544304 63901250 829109488 536850950 170299682 488423432 642741420 35649022 696752818 575940884 676570078 325958696 631584502 667704220 15043024 591169950 902788858 369574172 42937966 60280692 449625240 462399466 157163412 60303342 593142762 918680970 341082944 174986746 589172318 435308376 71423866 188799790 951617966 839529454 84359482 820214804 220556030 231336276 942671774 828670794 173962684 544960236 520356994 202705184 554147012 170886604 857660442 138170508 483948672 5143126 476748708 887726460 465570588 491584110 590187258 356387590 246525650 105791316 796843078 814575802 783069918 490944540 729200334 606920886 946616204 229551962 930323282 865994094 261280976 62823468 516946674 858286046 550916456 215565278 60111994 673583534 406171906 643468326 746450732 996174464 70739650 940836932 236703188 623184110 835371648 593061322 954030938 469310058 853082338 766861716 912222682 943875166 915698022 363928496 679042922 44429662 941461698 287804458 66816760 352913102 57199824 439579768 623628184 548166660 435164892 489675290 741020466 739436502 519595438 652475042 642190442 194482576 660133378 654370570 876367330 54296952 629745944 595440136 717675836 356394800 503022996 450647352 24434132 991907846 847959678 454759768 629268110 900552574 70660578 15525624 210166620 918502800 780709286 42648244 250544424 365725308 686357344 775232966 958747730 269125240 568869262 341071198 464165642 290761106 653030978 98897038 721840428 974947256 413788700 804241896 473986864 960245158 655823770 410569394 264866384 241486172 352249212 321386876 609962510 388052290 904173402 752402884 640050172 766716358 127764242 130921182 49984418 555075354 516513320 400720404 38033682 587153890 471517160 709065194 189203766 962801972 451815668 136848162 336619530 526839258 19748202 757934662 904097140 332641944 461068644 674025660 378582906 367894836 842900972 824732292 634488830 49294322 76751522 425106052 481146522 879303752 582871686 306935706 407258508 253397134 513308012 143612086 294242088 173094748 865115034 560021944 893106568 760358878 84251154 811334690 657259156 484067190 604647588 337018036 934944940 912235744 510973098 841740860 962396202 110855550 472793760 906280950 735480882 945744410 136593672 523809022 653489104 228831792 300322662 567515820 845016066 315905194 499407156 75198064 647758150 126807126 218385968 251390894 650154920 98326248 702161040 291019604 65734188 721875850 8536172 284818788 278123058 282738006 836344540 957550188 635457618 863266300 986789204 970353990 718356888 575454002 836695680 238745040 338444754 577628668 49034206 589517846 354765150 969457524 117112034 990163772 10419210 709745092 913584738 698498140 760963594 120553748 571618270 977118912 198124212 389250262 345166268 266519488 846187082 945862708 341631874 483160136 540291096 450956474 888320996 696554292 693147806 73298140 900417066 390860106 178920250 824804886 220958832 977905564 217808218 896294134 384835434 672219150 548820426 840845470 947256768 194659260 276777694 929774020 361086204 481038042 615557590 550992844 594899346 887881388 670901046 276950546 655873724 569350898 59543256 570132044 812783084 325844958 884890200 514680570 920329220 491560086 690555776 949626060 433751930 803443622 918049824 267042550 196562694 683687618 450141780 387981538 578711476 667703338 973285514 556529762 136066718 880572728 861239802 917484612 179912924 516940334 749268924 830965646 780380296 859514538 488239802 976925340 775114962 617423114 198217636 113406954 349519512 607524772 286520914 457407004 469196462 241180226 561513518 600812834 479002790 205599874 779847018 889588556 523936638 644514040 946993720 842781444 39742792 368476090 905076062 365866646 791761558 768164588 95781204 611405952 325901242 780515242 655850364 93968938 321640276 784290460 343717644 735928294 418003378 725407820 899246420 893161288 779091150 843087350 192662306 995636202 962925940 64031684 471154198 30445350 332195200 257699632 942226032 413199092 101204768 824623616 301666760 639132192 574082232 999269332 198038842 49908516 157942808 438818760 912415038 976301856 861326064 303020926 852174940 717723914 696399142 48468012 180630786 190716140 943624996 660781530 988178042 23417054 897486234 791747258 562130928 189983206 518872146 105021484 965062290 512317768 512580166 291263622 689715698 600160968 281318618 389767758 154183812 358249890 846568002 638892160 397423406 400087606 255677980 559577568 994577974 131878774 402747650 773699260 156535084 730428306 543556524 292426560 452386200 986852784 575893124 165569550 217927976 924620096 524869360 27648680 568656754 243560456 454823832 599967868 941378964 224168878 720197798 766854884 668401460 501398826 480842430 312388312 199257686 819873802 328087992 76282188 416965856 623030346 369699872 756846904 365922046 453644136 352951146 536415360 514840006 904341672 937755690 206372202 718020490 845138896 707118206 320678376 136013884 384641734 140192918 178045286 799861988 817885282 96970326 817375642 929579718 735938494 127281026 514793848 181243288 133012748 547830888 62946992 845708672 105669168 601190542 704061750 791415386 591346106 680983272 957638544 335337662 448844616 829700924 993098258 686885988 180017654 68048972 781215480 956862272 349942250 644589638 500082032 98753228 582279498 66385422 574212034 895981166 743330552 304213290 141689376 649446564 371283914 184132218 635197622 669662756 372348184 976666534 472719264 175943386 732744612 432766712 857130402 124858070 566501982 221498362 504634700 719142438 659360440 394719586 881358080 4169786 538967442 349361124 117998784 393068602 699831094 35156704 492156326 779306772 19137260 537009228 653520890 503606774 217554458 53910164 141961282 123407234 787524656 803301838 206194060 699256288 768650744 824271186 665020844 584870940 323488010 714438422 655380742 423804418 933799364 870067290 963383254 359431450 228737212 836803616 237674390 362913052 426123510 857751568 982260482 888633462 644182410 119520326 388347214 321551842 497874644 408112376 30603924 643661774 696242448 998182148 36097900 928278846 760541006 438694074 721665592 826561730 373333582 685378294 310438990 168222930 241021286 431492996 191182926 526427550 452621780 836712946 674246514 797710806 799812048 350395244 172329202 467663680 139208402 842622084 519172276 288580718 88545910 429603856 696462148 626987828 328512250 546418574 675081846 567800416 272243690 193324902 422838084 378324574 5401660 599781120 726790460 532136210 579003718 430075206 146868476 387472610 234905926 163569110 514503222 302141854 806296232 111943774 739356338 417767254 588639038 354236182 965273726 720519678 620848580 321124790 825936632 237952140 36771226 187498898 470166106 492407516 657715558 939983394 634568602 124645034 217614584 633718112 151867736 590903996 482425962 123155298 790853168 841470950 590520530 686932500 284815900 197282192 529006250 526855572 860627718 946715182 401135300 826805522 948116406 782566366 201688100 974401074 803195560 712988254 334264164 755183486 13106076 361079046 965098946 820197558 77178922 103054720 313183734 930028178 562817000 606891064 430559858 787391170 885140176 703286098 533285342 209654974 924723076 244104186 856557680 941344200 974078794 17750980 231737144 632696558 264784096 187756650 881573954 307956184 447863516 585178048 932976060 111616628 972172586 30609078 60099140 733734774 668042686 13290814 56426858 996676474 96526442 555732162 129941544 386753094 521587792 670865678 725132624 723257852 205301318 193524952 412488340 661891256 183237184 632033404 200446910 750809044 479695886 753503310 226065802 905552568 450300066 391626004 878208516 978283874 759397516 571620892 102412214 33860464 359459796 687275302 28561030 416753754 907106084 651222286 608976010 279970624 924593746 344922568 311033300 990149932 790026974 437827960 381214732 133763842 50343400 286354392 395659150 201041668 844852106 644129244 305796168 768527570 911855552 123978252 312541810 510698160 663118948 328803958 293894046 327846 836696548 513090538 140893712 396035036 192403410 867122970 713241162 895081058 641373786 779441772 254350456 660816662 26261474 979423376 125992726 742094356 738334152 643895368 663020824 139125620 575224666 589419496 362017866 346736334 747386612 721070604 191699336 848520814 431552810 432761274 318037166 823806304 592608826 952920718 841415610 157014860 612842644 854554064 833801308 252548484 322894174 199086678 279555968 272656150 617799498 946174796 365965868 639306112 5584100 48824740 310482134 837250478 623990788 107496614 713536670 297440334 207948078 260676278 504443366 225396672 528327686 750361922 916917124 919243710 220075500 587631166 645555626 776219576 717265248 31982828 163668482 245216760 447205328 417798946 830281670 505357178 832972268 874029716 19863564 667088798 207606336 683970224 515666476 961131726 49930690 896689292 674206706 906657830 199634526 123084594 341625308 740624694 106464006 607126750 929250526 609529874 455952494 985801676 325209818 635122196 767375932 164629074 921365306 492591856 788598134 200924986 838719382 785139746 925247748 654163466 337181112 10507506 853153618 943039586 666724192 188533480 839113548 75971622 668307502 828394560 438471120 777241960 942764858 337086110 346998882 53545018 459640700 109789538 133425610 357898256 356406332 277112508 643633330 961298850 256878396 894765350 731142928 600725838 446923294 200052492 183216518 664315614 42058844 150647300 755118954 445374724 482626786 106939720 344373946 8648910 501225198 744836936 893754828 941965888 769558928 220313160 143795600 221169026 335347694 411156840 526729490 857123644 844791180 814637580 102097158 978087058 773308226 260959240 878128612 379571114 216944490 895768860 127548408 623926556 333139134 683121534 305800494 529068110 215831828 773103514 944692498 880783562 86516004 303015836 923287418 734189104 344016418 147609478 887090868 29665268 819600268 630775414 235025672 597786162 107294094 224812440 427786962 915030148 656466090 102292186 999310576 308497908 14438668 482529922 12724154 767154316 915467162 312396812 162951124 92400272 180277864 825444492 197596558 160683832 144216684 792563690 874834088 645845684 96229618 881975858 332632190 911294066 333419080 696045796 235857888 984725380 773024860 716974142 875857162 554665776 128633140 368114796 78990368 778920520 225353286 783542430 339956132 770089874 199874996 175051922 841007456 863312664 921286254 879198760 581630862 797933402 125341126 773279988 833042876 108733184 233178106 152745260 426905496 329444934 724006260 778299482 738361008 716211036 586488774 80984104 13763556 61050194 994775340 490723842 607532118 583333508 284255498 568896998 623973206 404408110 98133548 550631034 951633058 488605224 965105690 610241230 12955334 446131360 458445046 485157266 34481466 874911528 211291790 181587324 689398962 268461392 659593234 266216034 179252834 505870216 747325730 179865774 668698994 503793858 692789740 599653758 43966266 29678094 220088610 54112144 691215214 688226682 845034340 174162108 108817580 211109918 510857794 963813710 171197730 247397726 949984824 625146720 55291088 778998274 134121914 493943270 103627546 986831134 996703446 357614564 133506542 908081750 873737040 561066220 660167458 816998238 315581690 435067854 703993202 333731610 434354052 513156770 823920146 855137118 912343218 6567552 371041000 678635912 352814290 793424802 230777680 519964432 388255956 507330176 323002522 101003598 79891924 157954686 312974950 923628878 793509944 297924032 547091276 189103510 320472722 168549438 918642362 817030764 314991108 796704628 650216264 432709002 650380602 768347652 902295160 393669278 18813936 529034802 766976484 55054288 807581396 527605650 408308938 112957620 525039920 756011744 799439376 118087218 683496344 422581798 663012230 206040420 775387320 695910264 513643664 250755986 988328826 647053606 803616590 628406604 54246846 117188396 961635624 869297680 18481720 581822308 296655792 770656324 500659504 619123512 729008050 500173866 684339238 635493224 672171618 26097774 903186192 345578036 663756734 291982838 650473474 974096158 232940472 338985266 45994366 575724420 218038714 607246122 423220562 556257138 75154656 927301126 284061474 266255380 411248996 611811620 764459866 713619286 424121026 792902700 69617824 430612052 627580002 412732890 472891524 169086408 59447544 693913288 680141694 964520478 348530254 443452748 577847008 569740268 246294400 617955478 381603352 339444184 951904070 931548564 840405856 464497600 152969190 681301814 26248928 551693614 163174790 420370374 465986482 576110290 265544126 339195684 163181236 328578238 353914696 473728268 228720982 930158326 438184124 83980776 971294696 831652000 292779608 509989026 407031252 300772856 915963228 134602392 727456464 172308056 98871300 477151900 385863828 899978510 736881268 693101698 143920590 67635346 818637830 967818076 440241022 673570704 132746050 972411300 545128668 901152802 946369312 560337928 208055412 19065052 637907874 860242924 734571764 656616554 767519258 290544906 522831172 770194824 269418308 963837930 974239214 834033894 275173748 563372436 189093500 898328002 851170638 886411536 348092592 921234446 731602288 699057864 693315566 219660728 356668916 368667026 929725720 363639028 925393582 394654598 321105926 942684402 543051578 51525588 504189204 692854580 762782820 635053172 570544698 809634268 796300884 842445974 347230344 42301414 718410602 619798116 427059158 335295858 26395492 200745122 605576554 446957912 473469344 689011654 69011116 201787534 422994440 194480896 178744024 949662502 53887454 825993166 14893062 3013274 252042960 210396986 229381704 628127754 486198464 243943146 267887038 512060218 642034750 529500278 393313580 680688728 930217490 500379648 383541692 888836208 617713216 795751440 167338690 938013888 91830558 98441776 206888768 645400584 486980788 604398982 302963630 293538954 820774990 859020740 118986530 578423042 806534754 290129162 475098746 106523348 423329878 748358590 958549786 389986106 871829804 465317988 874294220 971616514 744920974 506122620 662284058 749106902 326780758 246764902 507351630 86380686 836030814 270753490 515655450 595263772 383997400 791179148 270878810 599874398 78956340 133497114 263480326 904758394 484494298 992072974 449249042 788107676 239764456 379861692 595347910 567810942 686046510 947549690 839678812 870706396 24900810 258444134 891062828 999264156 513522766 382846436 828909756 551929474 192278144 973090388 896560272 605488244 436209456 261868912 194528304 876732870 509223784 445560230 972492530 641574528 408537906 506524684 337397860 265525926 413824988 447881872 238993216 459972598 232453682 204656978 359780358 283499442 954981948 585770036 581647846 343025814 198082136 91926178 169974280 167798474 192588650 679558734 708133690 990587136 480676570 993393738 986907046 918814750 634932084 335257130 327806524 561228634 383086778 520604278 987836900 733248040 204454716 366793508 21583506 123500362 65165074 745319098 39232504 212054494 450721070 392432894 522681528 621560870 892537956 562357350 269497736 527079532 892724798 220023558 945517534 8504084 555141570 537412264 690173182 266653970 667988710 809450424 371511528 323561476 676017980 491593162 691204054 99507702 218132156 804295420 572713360 288770090 388714366 260687880 66058832 434423704 160950982 282309986 479427134 764696296 802383138 864415374 334782440 567588584 212101436 308999096 955350168 962467842 650064724 553206908 582711602 259781132 450861494 973123574 809230244 390726382 761135106 828129106 949227240 87365406 383308762 35463956 66637244 743309826 194788250 94690066 396117738 162283380 604190580 302637674 871629874 390896588 331266980 185299156 877135874 382195798 674683298 868053454 404558192 232726744 964689282 881869978 821211094 566197492 923172572 116484476 252548022 628554224 795450388 104570384 912169610 57477746 390146182 125989502 69186218 421528484 442556020 882739052 990687506 369317634 778687770 335088514 559033090 469300876 991209128 454404522 711790000 821159916 244432398 885278408 473197818 876330578 421742980 701891966 648111050 395749462 520223678 405244242 459483444 958423174 396512372 108189810 180336456 411435414 344844370 312710774 624517466 255466412 125417864 745972770 979159384 89381544 752669142 971492600 359027978 492073222 762329980 330565448 525868012 390320288 634388324 341004626 345290348 522770174 726654408 616723624 36043320 112692594 209282908 895642050 204344584 401452130 957382698 189633756 44087306 815951304 698346346 314028896 661296508 771368668 244984042 272139960 276018940 27815100 783321430 860556392 467972690 655805584 48932926 882113124 325861510 21975946 968799036 924937172 202136498 594363012 744065692 209147630 992058096 32448096 179957608 606214166 732925832 927803582 560058666 378007036 765976974 654744708 523363988 971306958 704238356 780224210 941526104 393873952 186367590 221125532 398102656 691374514 147970746 126459396 324800466 313251884 860585060 659791444 820324612 466037440 770031434 134001956 874522970 951336156 43948372 144051236 920067566 664141794 749156 60142544 553409246 726873254 147159082 37419230 541955934 576847996 269549206 980891780 761897620 156946668 53573092 742986512 252858294 255166806 516575130 51639846 521093664 60736270 731250678 424271416 194371528 320589314 679870144 657155858 885412746 470052838 638577104 386958038 721690028 883864690 540691024 586844516 394518886 140169994 237156362 400547094 442139804 24233088 598219390 438006806 678007018 416308480 397846086 504203278 807525696 803414540 676395174 242155460 164803678 974086702 112509390 686633894 342652874 442655862 19321146 231566268 125347036 530883032 917955316 200177086 498261560 832432962 117841664 327759780 862426438 814404414 332665326 396235304 185722496 410269840 595531378 384634352 541160146 120104108 557337986 921176890 89565004 616442076 329390098 596722468 464376266 331270488 461106896 153288800 592083108 41928110 62910808 246158014 773811668 332010964 328107596 729091424 523183932 988824756 978622224 441814616 982559000 814714438 39928460 637638206 228717146 193977066 211166910 309768468 286954944 51580772 269545988 224807912 196930912 525952340 235545198 344883842 698017350 86808304 984977178 369434512 364104738 123220644 67769206 508299790 895340080 381243458 645004204 804313596 509885228 509117098 330233484 583183132 80843386 356852966 598420282 596170214 421472732 160636398 3506632 164497914 766926322 172077618 99778654 892211878 412011514 354336968 677965294 81306116 281753640 240641038 231002456 794889768 89351006 616037196 615400860 481753660 386886674 706113106 745731912 563031586 219102706 956080356 545998650 884007096 802241266 953525814 590033724 5427754 136499760 960173248 48604358 596611664 398363264 494840844 439178944 830539368 33669384 616810274 493921650 13157078 741120176 274752080 650885980 702285708 836565012 416138984 339539740 300845614 115090632 44772158 676106492 566052694 222979814 353518764 252310574 244568674 583572614 893809062 644256424 36560434 853219710 119170686 921104704 46880202 165082384 39699518 939742410 576130598 482533848 721876632 184665626 204940918 13875800 820121146 475987750 487552608 501232926 677415624 706560550 425033084 256150796 101963964 160978278 910210936 786319562 600484738 386868402 77167510 12131438 14278606 305474528 373123658 945710134 388640628 688401340 939886688 852720968 713433326 802093862 263609252 808160664 947434970 288650156 244587892 404126796 984046110 265633414 151493900 301086124 833795630 776096812 913940784 784181342 154440926 884476922 698596758 639912050 251064942 654009798 670466184 136203878 312428422 411173616 893294376 877046544 918343064 589279692 146599314 108484096 49722150 563107442 50774588 877998254 981326740 114041082 804253560 711725766 821757678 337027562 553393354 470995038 537931510 540717646 207011832 63034626 802769260 81313048 530266726 982099592 268675208 752076286 742757558 600040394 412847316 95337378 174446942 710983038 407124158 433681928 398846004 641580620 727410666 938760880 901273434 785674228 496021592 333488228 615506722 118504446 181013116 361524888 578718956 521722522 38390032 677899266 633198410 696759994 940360088 926907408 415395676 271762090 733767836 438337914 161589988 820372940 345036468 824473988 721529110 404583412 294799332 963291608 409712242 252301184 288706132 504549040 950518790 9292518 333885562 466782728 359198000 984415308 832120338 158740574 153887348 182577742 120702026 898348354 583114410 553243830 577936902 532205330 423103830 210224298 156808076 841542582 69405408 398035564 373783262 743189342 795935386 872885398 98913210 376382280 810059540 488387902 229813716 97019734 939363884 982025214 845117970 957772232 649294330 913362882 579678788 143621350 409509040 169108088 339540470 344787728 229264420 994064626 227090692 969608776 37343432 284387206 666615554 814500400 668961426 388582872 820753184 957973480 946741884 445931072 804055808 118125362 661424756 628244066 572028122 229134062 148203598 908235174 888691724 190073290 350376828 757789734 805033602 65770260 931901644 772567252 723021490 98397112 691643738 709617258 627968228 68263718 188310070 358227748 150024150 856225458 730459642 937554188 68180262 648118990 436066888 220506828 810308890 203817708 484545918 971012780 700420958 807766328 668343196 58003376 547592544 145274584 528712204 241679296 740321836 884147000 21020326 57330366 739829250 138958290 727298268 328364328 387453060 446544828 198534660 489900686 459881266 378752252 357309898 239899788 555869510 353966096 57381462 831043928 340126036 980614358 485185782 212288172 570735260 708691816 743800436 501671492 186638828 668503318 802513706 614050004 236664148 102879918 873496246 211519326 538082014 342357322 169895042 475603986 182716068 31278370 798824836 661427164 100867976 688834938 499811206 258335072 672908996 157805856 223467310 437161396 764081308 709527420 821500420 100485080 938480414 165601312 547424928 718239430 97736082 148380284 69368978 265405518 617405088 652518946 11789676 777181014 417207656 767705054 935246200 979208520 228173812 800473256 938262060 8226686 145650696 133868056 751585126 288171340 493807006 430736840 736181200 165497212 799304966 671427320 810204930 253284768 958328190 175960208 412815818 284039584 783434304 528544286 53934086 938400378 687241500 15309286 963061736 522956396 253231562 674497194 734850040 937038732 433170786 633707222 537183774 928201936 800389570 281018886 613402670 250134648 637441032 131786116 359234860 733638082 811386370 356540186 608466054 614477552 840836930 968925116 195917108 13605460 836837250 972137290 658059080 824340432 539594514 84692534 192494206 779371292 259821830 842497874 421495586 874720272 31243112 673367646 99747398 743087956 585943366 800188934 914409314 233444776 84191014 548213312 15588674 398211274 293062076 239285824 235740038 866895734 587942462 290891238 331524766 962216088 591450860 739327944 104969236 692852410 379316096 145568172 994793554 471716858 354603650 915875102 939552412 62912038 627916350 962405422 523792052 208955790 907836498 969537718 297501506 207346058 355040324 515729504 441227642 225628554 721196318 864756484 417970572 411300010 333718200 524411060 497740928 959266156 369477518 18831438 230417078 606894122 540599392 277861022 164551500 799608870 310612060 817185624 449025646 466638130 617336928 393145718 244363646 556957916 601661010 810976152 568472920 991815618 611596850 428583870 253326028 340942930 592640652 64289346 828882290 333806024 229066160 423393536 755571028 858570460 993475672 202122448 133124280 703426132 704280738 610753226 675116754 758835700 927267166 433684918 87329962 424659386 519823584 860219774 692484732 817410086 537900650 650475950 678734304 155516036 765209182 854378032 79885584 257566128 585583322 879639940 111683246 444328264 558833488 368117678 437021544 16948434 26007512 118467786 398042848 886670136 701023742 237284216 410023064 546947096 210402066 408614382 700843092 697094554 545020982 806446842 625101418 44864626 529435970 171983010 41696664 545769070 574622976 897338548 213376140 672285600 867869392 541805856 394328898 274675724 104459732 712118130 971410952 9379612 243806104 697452932 507954266 332716192 965370102 84998496 651251218 527930608 935739568 268245828 604315138 202255330 232310058 333501672 331905264 870023734 574265268 355613072 430307110 831228556 257169896 58797350 580162464 244633808 150559656 800806910 419015076 636361658 794148386 28552196 99858892 484890464 493838896 815701080 570897372 256953790 937504860 108704038 718649740 655364254 2236726 427894920 917826598 184579270 645576604 943135560 293765564 678944500 973548026 691192536 222863324 617330086 619770974 203233322 912000716 814805118 182672592 294916372 912429770 241980876 267135198 296874028 835598026 598822052 584092858 577909450 266916504 664345182 804966896 694175112 732167410 369202120 206099884 707279254 41215898 690599566 831387700 104361502 857080148 193527352 476036634 726046576 232658566 596462378 421781558 765656696 750322312 481696038 964954660 90979486 296534116 743069682 372565636 938663338 853873790 807065424 918088366 365189342 568936758 612689786 77146856 636184428 639587556 869726898 460128284 869586846 122360440 741336608 992008510 976527390 935982008 481592380 123659330 539989182 535084160 876049260 471137640 160479096 672516000 121003074 299407872 470262698 234224770 972086894 907079802 548365890 303056134 35370022 800188406 429972580 323221082 392620722 651879046 386182506 182475542 827913676 48363258 208912960 884789962 47110490 333986246 891317202 322493006 107644568 937924282 226730452 957193930 238605468 483034124 832874458 996030762 638673526 540303020 41142900 611991436 986826384 905245546 819237784 995012200 813659688 486730462 641492720 731402796 858760070 504011704 828708804 108240936 999463062 481234726 514863902 874417992 327038732 624751164 659206190 921785532 698027676 350978492 728875806 861032336 217286700 695437026 170305760 113958362 864211728 391467322 735494986 223768082 437481722 151405834 616260510 198654210 927485214 217365202 486298214 171879388 313722358 113518084 509413246 151554932 174007704 664442470 195142872 866349264 874648678 142125188 60108622 169542748 369847922 115655412 481638622 242791346 285960620 116075326 790634714 333137170 968529120 69727746 311788652 387299414 472869870 154147780 663242482 810654276 146733606 336173162 728549628 467118770 109052400 645712124 393903460 206826090 999683766 980424092 413470340 966598994 822589612 318784776 974422434 144814528 57285104 936060916 692761864 700466468 827550406 673102166 284519814 369946082 295599058 845521268 178159338 786109506 524113830 191205060 711929344 385741078 640331842 147592874 482611580 687489216 897613800 161997852 525489544 544272578 936796100 590653266 332481660 808361978 559045042 520546900 483269414 432300116 126938112 368974368 398660806 372802244 316969180 902821218 889745666 273592342 32838806 237007324 81926860 83503588 526830446 676428442 595396556 877691454 303537338 956541484 660717650 835183614 407843406 710129210 981464408 13067034 810513158 76373190 758492032 798744036 549616358 116367232 955765506 86003990 750004374 820725612 292598884 709515164 293860 720951598 12071430 490088254 483498854 952096872 108076930 869649226 801008292 235357314 145211738 75233804 21347624 740015000 988682764 229337430 983215538 837818332 947466544 395597640 652553788 681921312 954670866 194135436 595617696 828996840 153719660 22479560 471757042 149925106 965158302 325055192 621765906 851582890 305166880 792091616 26214612 705262538 807420318 1607612 21247506 258612048 509880432 987759886 952016466 459085472 729632574 237915222 262395156 500761442 233025858 459318924 260434760 25447586 408212480 700128150 417116862 271925346 160786716 648592376 193316898 359972020 262793024 663132170 587203284 844106186 628007436 928358406 34793828 898702390 368390982 224023310 899204568 214214314 412089062 417323128 389044752 890712606 511200038 410880640 593618480 615833566 350385096 872372284 291689482 734740690 970485806 961413328 351964682 589791256 671494116 347355116 565718974 438533158 166780174 622645864 643038936 920881054 482183978 735817116 357134164 686910126 959931468 539240710 969504278 168216374 149092640 173127760 689416796 656853132 713946074 244846008 646955312 107303268 75913992 656855608 980648992 778550020 975296964 519072296 513300616 438153578 310802366 829042352 956214548 854711916 232769116 408634208 83507092 117156234 589901576 632997974 191236286 677496714 714775264 529906782 428207986 42235782 374095436 825761028 271686126 569356406 467100888 667334172 848347510 337037698 689142050 534167038 625162190 982100146 427001232 583361846 659804770 114963610 881451330 770413584 26665628 210011412 732692080 166849920 607186266 797573322 877449582 506369776 592696576 528815600 15452628 257954642 609043328 432171696 715148472 763564946 767855346 64680510 352948722 862495590 85972600 91743818 707489304 781787360 244403306 901895178 980576758 936219634 614068768 9959418 968502494 332862732 921396530 139016216 908475358 5931386 246027140 396762614 991548938 989042854 475803836 297598536 727426938 312651848 953779444 846081734 192333090 324170796 488406864 237595634 564874512 167800254 561484186 407768908 811428966 740929106 624857608 321575388 252726208 274326234 91167398 371940526 156016162 463654518 626132756 482399248 889722426 908043756 789494416 453702632 125288792 998108000 191016798 3817718 131914726 986232386 661773318 47036012 189844256 217161938 892240834 957842096 113821374 575457308 234926350 407047722 507139422 896962498 638048302 815529312 580400864 27936560 147698588 16933734 754583330 306867454 223743386 292716094 313716196 488090588 367274700 266548044 992501442 583616202 350650264 447360528 821619318 198955324 708307228 586987044 480672634 918567566 424820274 923491586 330605756 174683318 706643172 297313564 444168396 5574322 560492744 553848690 204724708 544314498 170566440 862906924 125209444 842032914 527734404 158705940 361903868 294762476 145294914 848087096 537532670 433154500 507319732 509932430 148728818 310539684 726695980 478693126 257661426 420500882 919634224 82558006 614347288 208199458 489460460 188387602 981305742 300371428 271117578 236419512 810062874 230861800 343585084 758830568 207319192 34212838 13109710 996359652 620835884 194540340 79652816 635355134 563296670 764600058 249410124 555113706 515245226 933828672 982850012 775456524 496175056 309688736 881849238 587485546 17873968 240529258 230091932 712993658 780896032 314086782 553651074 275179270 455997768 288900880 684223958 957740126 724422474 836835884 929914608 445299480 995661134 508344766 417296274 962947882 318056732 620157696 467090322 991127638 954983332 614317592 588545904 438385992 533410260 460230250 222987318 605073146 248099956 117716620 207058448 235549036 212406010 426263564 258597302 177859846 763211694 460114296 400911202 83986374 10206218 385549488 241233384 333455692 292907482 134674020 879677016 26676912 549015496 561680856 645215010 642322096 864634346 457396226 835414718 260403482 792583956 491522742 274794792 360918396 65592898 694889038 620568986 119793494 545318348 883988274 829855958 859516262 468160638 179039520 444956872 525301734 220752934 562415470 690280548 180652800 298376256 295845812 501416548 821733904 472679818 559102396 749942926 893225742 991371512 786124964 276889498 621528282 831867186 557215576 695142914 655400428 32419798 171183992 982649412 661515580 433695186 215573920 926818152 901185980 345997680 698904682 815164692 963461570 529017568 654613084 514754860 261867396 414708388 307949506 473879298 396099770 947252764 473123276 876918476 307789686 745201792 342941864 287931118 739859088 884245120 77690570 755867258 530821516 317321056 621973026 196485112 171853756 14970588 552058014 836913890 392378728 822126324 441556450 63886980 227056056 96109344 692897118 854011170 216510870 796158478 307430048 977285922 12352482 975469580 774514652 166465150 119806160 15348828 965002656 815812494 869686608 551171210 816091568 794828564 502408182 130270178 811744354 115678456 966902286 784921618 891685678 361251044 261814534 454389416 309717604 899723388 868019754 517716578 417347720 123333836 813016282 856931868 744975684 572540686 420734002 383834268 991949542 436297206 889642632 642815990 840673428 51822830 124846356 721823488 634650612 766711394 444908424 248905420 29185828 83713042 172853934 740235158 840119592 288230330 446888954 935030022 120004942 445815794 244870424 468413174 192344688 197465012 501241540 892832246 609445242 868945468 476891838 112823256 51908648 945419026 979190564 63452754 516033904 431905818 898380848 440075304 251149450 215034788 871555096 387292618 906620132 408027164 969647788 863071416 278435868 704719582 241974974 436785464 215951768 618903468 675797224 949140310 816877762 392376564 615696796 201285124 332091968 564935282 483420732 827647206 364408862 768065472 408126576 798081622 348803228 262495618 692445026 47395194 659353008 33489240 787900060 314656154 349189076 763383194 643872004 270183362 827269546 452104856 386308218 380193372 536828696 611261524 502241682 924376370 86335114 208063858 90252960 18949550 85247458 21690982 533049768 443693464 654554516 163005768 947370968 808488764 738486806 214310448 893248230 698725752 365521110 507932160 144094164 487101016 633031140 82559048 275824050 436614962 970744142 187610684 163018798 757933920 31139086 673268872 860495660 282542908 900900628 163211508 80081064 735842868 425096276 165685944 999384168 642602612 721290516 993352164 716577572 726101702 830156106 663206784 245679834 600068734 517578282 251041456 528510016 881361982 18501666 251565152 899619950 963330364 757365940 513375810 131152782 910782456 155163076 384808334 549943178 43451324 849678142 156496948 474739758 339797030 540303678 814538730 652260922 735697558 531912808 27972982 779664984 699625362 264545316 967152764 417712890 787323174 895959372 573380314 841571580 512453348 45783526 324633400 262333304 473936778 68965718 801024660 336682436 459450224 216468226 659384196 999997532 425915364 632374928 426339784 320587618 737789864 225953496 46504724 3478392 828968234 270575186 633177826 240233692 14127306 298449132 714491088 45306534 793593716 367076824 882901782 103449282 778450610 863125508 390656750 618397406 507397258 512202800 915136348 575488776 510260220 953449612 576881776 160094908 551031126 856058212 955979690 728466088 327578960 675658240 495659664 749127310 910144238 40298236 56566750 108973872 870198996 574477274 494651790 138692216 947978546 624312280 858580456 208885644 879267036 423579854 722381306 584939522 189016072 332227004 83684440 290501654 953278978 644185644 611328546 782595596 143498478 985705796 426673174 313675696 896133054 308974784 495653782 42657700 880262556 788486488 445690832 548282614 47399318 451990608 381069966 333626512 112862520 584604294 665589174 533269412 271319776 179531680 864395520 339695796 230358010 898575946 744495592 815024488 455360136 205927974 505334066 415796222 458544636 9055594 221352632 673935744 96580682 837484956 600632856 382716210 787262404 570296834 818031198 158383686 343335240 961183522 146820962 655051096 346902190 596384878 260837674 198493678 105964278 42687732 865412280 213386266 313158002 963105504 665543366 686492348 777934056 884661402 416855050 684466258 759602028 740342090 597278760 39898864 627477892 508829258 707240534 774234674 425735764 235312920 676146838 261531174 127220924 311524574 72419510 991989108 637860270 35694294 423821418 183196674 368196288 326365866 90193666 599970102 108898278 404658458 216942164 422851718 173564176 605031754 405321710 765588328 444758936 77445188 275175574 785873778 990550764 541172450 840592594 252070350 697699794 335633778 109560572 712266986 209265554 683533536 220428448 199191772 19430410 264263574 132145036 555856846 157552806 893999590 230283420 53771244 489401380 289561836 438549376 86172606 493198288 872538062 67370320 567927632 131935840 765748256 980267818 845685026 27336866 779667350 373058462 331848106 265039018 40379710 60908962 852555170 696507374 305404854 596443676 720650916 620035734 449272870 149542698 747338980 587387392 671704320 606993162 388249424 717629964 958470114 125537516 499762800 819473690 2564760 709683352 843575142 754666948 17390126 266070822 225760420 490505920 885254342 468060920 397505800 752160306 164676606 241406454 265159836 879765408 483627422 838226918 182890990 51530186 374327840 769786560 404592986 368629986 33530698 675874232 47096332 629704662 152659450 885255810 305519350 322020484 154480822 58894774 45313516 344417694 268570520 483057170 789375776 8130564 673067106 151751478 195910802 111359334 500779824 976189370 772553816 418542810 265084014 652755152 375855340 19356518 996258732 407071840 720079594 123586274 728554888 401782634 170243552 893594720 879321268 259753340 665280916 272256964 786409470 627675356 118008294 210040206 961107374 944621126 683974464 587116164 823275894 445617834 143409294 840945488 147239488 670128232 966653044 102894978 202617850 1186692 758336324 511720568 32453232 604978456 215484356 824685296 981150138 357744162 550434690 800728314 687056612 594124830 320543938 992794206 68723606 371946310 184751158 138802776 420054036 301352036 595034972 465493188 493463782 519155326 416930026 231806592 719712610 760378266 201172594 957336846 330418214 106187370 765836972 631298870 997705722 30368884 849593728 25188818 909138518 876375782 113757362 415382708 419191344 486009146 223830212 405286508 586575556 317829906 654215224 490077416 335075600 156650552 835403838 714720190 766510704 583631636 968686022 142705344 916877180 493967916 961149664 688840864 78787148 985310602 760923500 578062496 335616452 153864418 290976574 120434394 3458742 361383046 292833308 65529650 623271408 495817694 466496080 767203686 312658016 170900832 104231412 826676492 642524770 41677192 395448238 609248076 477695940 862524326 343307820 573819408 134757068 709126708 991394520 538796298 370420738 403537958 705284074 290374926 91243692 331020960 791205418 654811412 489438366 597098886 645539232 64596264 326129852 804677266 81322658 289666300 290075946 199272706 305469756 334931704 438635388 511602690 413879138 941747360 511288098 79678820 830734000 319048222 269384880 222466208 733904312 702432062 683791992 672296348 680358098 949859656 998728564 754681844 797618550 868569898 707588452 759216122 500073470 178464694 449934688 933305018 987888910 409366962 85157698 178742122 662187324 631441278 635860770 47893852 466746646 976054426 737532016 423193310 156166876 969276298 890392378 373559094 833616324 669743534 437091806 590674140 475720996 549835382 581576494 16787744 703551620 291872282 150578294 643330200 746993428 985129846 374623624 560162700 330310874 768508694 170145956 319649490 898506842 904990532 946052042 764156356 207391842 253460238 995368608 463299978 102001938 663553192 817935826 300141740 536235380 359933590 722542494 150337050 399467154 933238642 887096178 891600808 57586970 699302902 567381658 653919882 43547752 131160714 178541378 654855664 325835544 418251456 408771924 413644106 656698074 626519868 622564400 212225370 830852688 683845434 178621874 83486834 259434962 557207804 186401960 362381544 799391622 109153594 418462234 663166092 460987962 523364336 236173148 336155132 230695204 553209654 724187062 129085250 508934568 66566476 545142900 741209526 170762902 906440958 750138504 304611308 986023350 662470176 704300716 122865370 373735280 356427692 839322454 790880444 485992166 399711744 96090006 683132702 977543664 399337704 954247690 139198096 496734908 813534138 334427104 433692246 107628664 940065666 105031230 862583424 435478238 526995338 264495986 151564870 384873112 90647658 350681336 335618508 807601968 936788574 18683096 264552400 145856674 854540396 688418716 691142104 356372412 921797570 12226392 626989150 685376312 227434108 286343580 932119512 462882044 516548980 748014958 621943072 756427700 174022318 551813660 397897468 554164370 865087868 528298086 563824406 659885054 846499280 493789492 712635822 87291626 987102280 693427586 912297360 409512410 228685324 528169604 165141624 499665600 470201716 910386102 630293976 579482900 233564170 159058622 342944458 513126828 418554566 955814664 48993510 874148042 253220732 432459012 655384668 903350048 909978138 198818048 815013188 758961092 56130378 652209050 839503736 780603008 32331078 240511790 340137204 471038770 124889480 248105104 618115972 479918110 605321058 710364444 83705146 765245390 914230220 931334978 888206184 402747026 98770604 125409206 900439522 666905418 520224368 195163730 362440306 528793932 960660430 531542196 626841554 887209370 320973516 465127296 396671946 451087584 110149228 302604412 333732548 314211978 198492286 913442568 842472944 407321722 295221348 478477952 911766954 942713806 498526732 664247626 533156168 752823380 447463660 314470538 298735114 504047268 521843284 124128340 601743842 10191938 343215462 628443952 61891600 930685248 162841114 833339362 130006738 873077634 331019772 645025528 382677930 71206742 415819032 539497566 506084510 709478550 927817824 339976320 925098602 155660880 988031490 675897224 76121876 369112536 168856180 856336038 163402442 615963468 266053956 255907222 997808082 38217684 305303924 976302046 615471182 305433764 767385736 108964732 383369588 937149794 48419508 367027140 853018814 302809648 27233552 598812178 673207890 20748414 487319756 395777604 764162760 584275652 28558126 91666520 807241156 563149278 51339280 552745874 860525792 318534814 448114590 911497340 594294688 987510412 340831844 906522744 706657414 51478870 898106210 195072522 357047390 713570632 286189900 863084322 585168576 65864904 684483794 615967364 198093682 714671012 458620592 382932160 358660646 530966920 709110580 214785368 936594364 481859986 926315460 272051724 350037424 509322708 931128490 287806606 792803280 627132420 999260146 87589760 121242534 276259168 325937770 358095666 940512012 844633716 746456716 246808080 888920990 186935130 709747562 71400684 173828180 799865924 70123330 994870636 649751002 513821750 327939134 971474556 224363594 610898784 135844508 304259498 394477038 157070862 618973572 518609728 491052236 855862300 176922998 646899842 316355564 448144216 708401132 667536800 517010814 785609734 13337388 136825926 242334334 693944190 465510000 553390196 742559502 702308792 42107206 346528766 389525762 118407994 518470234 577503880 617409164 891628708 857777248 421995102 107696452 677583224 469920750 724044234 822140734 737533794 999000060 231395514 317247920 449462696 773526568 262222174 826995296 984451264 288984084 36920384 611041334 111589796 120952654 280381960 539881258 654970666 923654348 489934492 700923692 303865092 609755784 991982540 451799588 454383298 386979622 836222278 571319750 732323962 183141620 446774684 31864274 178865522 332384442 98731534 353078342 811045200 510195200 542247476 575278524 986648002 739625368 525422372 857963568 346826052 22101700 890870778 691480500 179329292 898479990 282845548 524020244 412824012 15362230 90761798 709991776 299442646 236822882 737842524 155616496 167748808 398748692 69873682 287961498 447527914 305551814 440866870 962142882 670567172 268973048 259821184 272711984 713804710 148519248 861087202 880387512 912197308 160130006 946069872 926358118 32179992 220148328 489812534 81839890 510261126 523835038 626486024 832953460 284336920 501403720 193855450 554673836 586073562 68338970 923916782 767968060 71522548 749349608 442468108 311695746 498737082 945899722 564104242 71174470 33347428 465709796 600117246 482435962 629086808 484041836 467843652 672349944 103764956 572980308 913775740 589605224 349643802 503259906 112825656 573830612 938823338 685157928 272340686 368134996 534459454 753907328 827853156 975308034 993051982 657308668 597948804 353819410 936743678 515139660 190926568 776471586 828657044 860305078 285711890 806085648 866520438 656634600 717441838 37440172 524795494 936992728 822009632 301837342 165624010 849552706 637422082 803517260 289884364 876564728 9187000 29164868 431061434 825073496 856019878 873016054 860400612 854847854 995610408 671434718 928050898 421215184 562412336 253601418 533918504 840510536 996615428 488620448 213746282 413051860 511882668 521698272 404369964 521176748 60155788 820186108 429645586 928061436 175843854 741625230 494470742 968167980 900875250 8886184 192854068 29871996 859354774 653668484 570118078 143621610 781787766 412621392 841410842 888014176 393314486 151994328 675387230 213315632 808835556 650820530 201182514 744374348 774855522 507530968 982864304 428909924 598479126 158094428 596769548 120437348 282125852 11907970 193366840 45006758 169878468 439392272 902908504 369775594 8767146 226291368 517219746 435575558 525986106 79748542 700947900 512644172 336800280 21608936 985432414 336434190 32999002 306363536 874707738 173082952 438580080 466868512 401103028 814878284 115523718 835996228 87018870 220076630 154381490 818444676 856273996 646316934 687168038 610030840 133265550 944455774 719863380 749542806 435457136 561985338 604030480 121620644 532815276 999975332 673875836 211488540 42676608 391861192 425632072 856858314 332281012 214808158 678744862 6494236 473269534 532924478 614353806 327470966 279963844 536163080 20973018 55849750 232455050 700122044 834101006 441216618 121151174 254435466 266302488 392591438 154362966 874457156 416096604 871808144 356436374 519745766 479121494 275026764 304458982 582443560 751397702 185282012 765177138 632041242 581711552 441521886 888478230 924584836 23773490 185110716 645266974 692622560 203759006 452693836 702370304 368316848 214387930 783282024 519478860 388024048 31497076 620538738 90523696 481595896 147162608 800712856 283401270 861910416 301469782 399485080 146299796 743423590 399982726 517304850 527661738 275279996 64073382 963130888 40564418 206072248 119520586 478028104 116664622 920681454 429508006 460163668 28503032 193890486 329558348 831316312 208868014 521403198 310484666 382926790 596923868 615350848 2603774 204044540 951536552 386045684 812084922 844021518 403302192 133403002 967992762 918239988 208895642 356397742 506512438 269507190 286535970 675525174 230598870 696173812 58112592 116592462 928587006 875533326 213840020 257202286 308492528 713185918 811397536 151430190 410334612 355386242 614430026 666062792 760199902 908726014 654470914 400341888 57511528 785826204 288720970 466692280 612880260 570986326 902137036 882088378 835663398 187418240 860037198 358761852 513657754 834658674 648508312 272381882 33450830 18483742 42158738 549526370 758297478 244454196 686952102 562960664 434455538 557867294 325503946 570561534 562901596 71254198 742941910 876353042 263577560 109241926 709626876 645301220 549071450 242309228 53002298 323924826 239550828 965167208 225995784 955664026 643854618 445177328 839189856 334048348 294894470 51715084 223583632 8431776 37905030 150110728 492844026 491375176 402660084 267218360 643965156 224515308 152779580 942578716 966993844 847647172 496243728 850480842 972843076 269244484 307793090 372267546 759337232 273353658 411174314 988853212 154298000 95523608 321795348 123843092 719000276 700200954 411705774 525651286 467928332 536047272 461549712 376662594 583672324 954099040 412774674 887948946 26237650 67961412 611099306 543473298 421350850 115909516 919346178 43624646 725401090 543942704 215635542 921984598 395834374 695135544 360724962 750444110 94093500 700044404 946832774 452727198 660302412 181225100 618794338 666289364 7554270 543380038 640841616 118524536 873803450 318735628 319969762 537832952 472144900 712381860 995783078 664653166 395969356 656145446 420588854 555748792 241765300 566884496 592728092 568187730 317416988 165721886 854509666 312088752 394576694 627002368 952784586 562450324 738828836 986888110 355978904 156652714 959882570 461735886 506010370 55353570 598749544 141138820 172340108 550286546 340615240 760888846 493914734 833410068 416096416 331430260 48884668 80028822 177867052 855631276 266742990 972369164 132764502 170469592 724510942 331069360 749276324 837908190 817124428 510268404 438962162 448756298 903876302 815047982 177228054 394828402 268581700 565444934 419169812 648070336 473617012 827410588 418367702 749170530 427586776 769663376 919505574 866294894 256763672 196602114 443805114 421846980 455106678 707594464 719472702 94257660 619087372 98578448 796233116 829035254 227571136 916836874 104254102 968214156 11008478 190096548 229914842 316329032 881261962 857370186 456219294 993984184 767948714 574929382 27465006 818570360 875443976 804924824 199775994 414369572 971423180 370132850 565378282 718014846 708727062 536309960 350473012 332280116 512060512 310629274 926486456 22725794 376261616 261206472 971775096 8664024 981437200 210416224 674822320 255031264 333871954 518681896 643310300 877684886 380568842 984302414 203299878 281824492 643673478 677846260 719915170 860838850 604575062 45530810 780429388 691809300 917194390 409813900 320879088 107346000 909349006 12147530 917015112 397945894 571846430 956228012 499643726 409836324 440059930 192082824 196618162 126109668 948832138 450702576 669453834 22755482 357856590 603466028 523989596 259190122 10538046 295358940 344807760 868041482 114849290 790528508 742552448 739365346 680137796 671307224 629483684 558920500 696042144 311002220 732671282 438763202 423778276 921932 791783882 991675634 244833966 73787830 705081650 525876524 477569396 463097664 975741252 237044228 355111336 459679650 680863842 432698706 602680934 278367256 863282668 917060190 807102908 577821840 865196750 174174498 718032918 26789564 662484828 775151174 581876720 879268886 165673952 387599608 303113488 533839290 61549066 833793910 732122484 290299034 686875028 710147010 764387270 495740218 872002300 426147644 284765198 193518682 211080034 690930860 144117802 854211058 189892770 756834302 833464134 819856742 801730430 945699336 287332782 316292824 410131670 261305388 989990958 928125780 27950478 441469002 783520348 209366850 367671794 517253410 484490460 345604836 873143592 472085856 899752278 334179574 386180608 350038336 164571238 352943382 189006866 550012338 839386150 91167154 509679664 513640364 27498340 399021872 642438408 562109184 328316170 890383918 207330232 947950754 989317396 500672712 784077330 360509740 14218722 746629422 165749774 816450002 630836306 52665948 21010266 217351728 632216178 649272120 554308342 336367070 704748530 768228450 110133722 298410158 372391260 784358990 37124942 61302660 697099748 18399366 695350886 944989530 272720018 15107300 748668234 720460068 56159232 657365550 175438876 28419494 987671746 29146524 868784762 476045108 506397324 779584314 767597528 938139124 940414256 125080060 443198306 644589102 853311506 683726582 277501382 652583412 925358540 977333912 204689286 352223436 919320522 172400038 562345582 202877606 55492902 805659232 158090180 227664682 436306430 709861546 395140466 337052190 384242292 928289182 479664790 766754116 420410252 682802208 994903996 459545426 644514650 276952574 637851686 494646394 100327192 420457726 268993424 535488354 335796880 598118836 46555366 204211426 933937588 442728550 950645342 56248574 876559146 254028004 268975368 942320520 814604750 285558144 154995684 521115344 85550748 398477946 686852026 435594930 182115796 139692982 291324832 961867002 993686552 803068140 759399530 477546192 268910638 207107732 896137660 905545794 727137402 143102822 696849168 640158628 433823058 407951108 179227558 222737504 30338382 195431268 696177686 631774832 973064908 697533180 292256620 588927262 360722092 550493696 836945600 463297404 94156690 718800918 555371068 88777428 235869168 817039752 34090500 662945348 209889732 401883114 868830650 133727378 209763130 394088828 244515760 640011828 202083204 664906180 972173938 460635348 42718018 660837662 688474352 348447392 804700092 217528072 775533642 920073618 3025304 584370314 777837554 604757242 981238898 322678354 604296176 68204774 455093916 350751300 640009710 417429582 807526856 327968344 940560952 630901962 232905376 466373372 417962452 500107206 516501222 3909346 750353694 103311000 520230650 902377686 810198140 211689494 552923182 311887086 127197792 700623322 507473852 395760550 697858674 3527204 101949670 897260220 194433388 557550576 735646660 168250814 550036982 312570760 628315406 911998620 836092892 821409116 410757008 448990136 45339106 363592250 613359602 495960884 306555510 751615410 729854990 919181910 798144798 341385598 316445718 618547478 604711110 82144544 213433792 107409866 437973368 829050182 699462502 515727668 660491370 25432428 738524634 184912898 181424560 897337846 161356282 464731560 773992136 588171588 637620054 400055508 493515186 647651220 543628654 536043660 961075842 810668356 928827402 90290352 624695498 751790694 762485880 680863584 881800374 198208612 248153358 294032058 925318764 546881918 902614672 863655094 289077386 28720116 716398552 761966096 295634928 35877418 105051264 411527294 710273538 246539528 970898542 509055968 797196796 104888132 584097230 193873910 87650812 934502492 476913932 902111704 190324964 826520356 543805602 615498666 429314482 621493060 763472356 763637130 57770316 450227558 784966812 560206490 416020604 72818398 725872442 991654392 819141172 699582456 908244418 402089488 775158814 383998432 364755860 423356908 672368414 235082294 902951510 518064398 587102526 174536522 504208474 596802646 755108934 181719006 788274972 508262366 347692236 277266922 179532730 894385290 552004932 527235546 336449160 445849380 495526372 949770618 752330190 577240552 177175958 658058690 534871706 240472498 75989874 419489326 500415942 550730342 753200370 234592920 619813856 522678108 44885978 886976296 968619196 472097780 444810460 237829144 421808052 134694210 967275384 519003528 237744010 49623766 27593656 343042092 965249598 664124472 907745894 113719444 784006532 671151228 693725954 121993278 796658010 615426108 934459424 612245382 524279296 883791014 210311208 710973532 787285684 445523120 235404484 6371606 71134802 128270132 662729512 793005986 545948910 274904996 663212528 508810764 134609472 982631638 900933094 887407224 526339492 930285700 615500416 425201152 754599668 46243964 894611706 980281408 277978124 267151486 248789822 320347198 511933136 552378110 218184518 932557532 711851612 370509192 829904758 189766050 769828566 987416736 819432850 588334086 192624624 212610698 887589338 45283816 4414808 721279536 756997774 208999214 534192004 570805550 283627078 622801622 725132742 659981790 979560818 321999318 530364936 840635550 568658326 171864752 969518610 435359084 180929790 843837530 917858452 429063070 530313390 467556154 648964340 935014586 367301312 210311282 642757784 512730890 589737000 694081408 430356610 57958438 352572052 920856052 853321310 783368530 209673608 304199412 716682020 648195708 667260176 792332598 534613386 712326350 93178856 431203140 176845256 66197194 664550262 542882382 420457096 681256408 976658974 613378760 465763658 472915188 256289146 903825374 957375942 158319520 820733160 889749070 293522098 668894180 955239392 176844450 108434024 746945238 234799812 518717430 297845102 296959974 676075694 892999622 320823966 643940368 688947684 49348848 553247284 314740110 835336044 785684006 224146560 674594804 635242498 5508468 554660736 455585728 34268212 84230540 328987194 628928246 340132206 879873532 290570196 893829926 96760286 797725024 125114368 850532772 295075988 807339556 512154346 220682452 575657166 690781744 873335114 719022302 660193722 867910138 879802346 902379924 517215590 946302534 872364286 379931334 410023940 130745944 424667274 367603304 890357208 529720276 667475212 81311552 84371330 759015152 429525462 142416408 201231206 291385636 809014548 77783254 696581504 725277502 971805714 366742986 309338388 800472594 55719580 516118272 494363706 35654388 132132778 564475878 671829194 542964912 551434736 283310632 837839460 517894128 163356720 590857172 928582478 691782800 666493074 629411092 486425060 623400654 746986216 860316212 88608514 922027014 527566392 500797444 791786820 590139842 574533874 147715438 543669274 411466348 592524940 409532674 511960738 565734294 977178806 712036564 102694636 33810750 264951312 558631210 476144438 811923306 962150310 866370856 46807946 898314524 586791388 937490902 38312642 648629888 898603698 663717484 940854058 122897602 995724316 53066850 243327596 118571212 707225460 259584236 105048066 877621560 993999230 902712760 11454340 747766548 873146976 524157880 187812608 978793846 20814974 589212766 637525100 494815016 217442472 646688376 951624590 39283812 6648014 868506762 529756476 57946734 794710200 651758214 160154930 635463972 100505452 979493008 569063692 779825858 81011972 655848992 463254366 417458018 886829376 926640814 837538962 14156336 529332360 168970714 756565010 151392132 267065398 827172314 839093002 606541312 858453750 281631876 914290748 440775134 960475978 493859396 40412746 298819012 581205766 600597408 186452868 54052634 370114586 78368508 772144334 92326274 73071872 909807360 549571586 480377018 164604332 853066696 791681214 887324994 874160008 990180190 557267180 911047512 738838998 665499414 569759718 384912596 698794180 171160808 969949444 857699612 463515682 169393114 437301192 311390366 586962502 516776084 28688668 627033816 188891852 105527966 620429964 499280494 939025796 835473832 139352858 527854272 351316584 725009194 869215070 572064016 482244110 465054130 257055840 371755394 146148056 229541450 13601832 865661192 526983484 189972294 399598190 389519554 29839100 91309284 814636034 466217424 188003506 462903422 474833094 913441654 836714436 60103394 976376432 682804616 788447618 573798122 731794922 754939984 510888586 675595304 461444720 417940654 49274022 412714078 237926698 754846680 78302240 380985842 334991488 715534370 13092010 11582960 398345226 720719042 111274036 418033276 775945580 405092398 717956192 922501976 191314096 46915022 135761442 711664838 865918534 726615854 47113656 105793506 52815790 465845012 174127688 559980384 391118776 290102314 952490400 700175796 101373042 912857074 285497072 4594692 590477174 343410416 963660234 758666814 175889088 330470046 534412286 214441522 959671054 471935668 764048406 548885682 209112188 427174724 121530610 547989096 481378818 145173260 735372610 319097356 68829536 8073220 583561284 406950528 85957960 972708648 308953236 364872372 894146562 930069136 15636578 608674206 482953188 59783072 462994528 127610026 556884014 619030662 496705428 915903000 915679486 457423132 33787414 159526092 122060814 696888610 29683764 907604888 35624886 215499466 154038344 41049302 715361490 781716610 280895108 224159310 478034428 381618534 636985084 11596422 669775506 36789132 390023052 758915508 286916378 91682366 314508498 762784318 305063066 689781944 880483316 572687286 713952558 830351726 883516880 774100076 640832572 268749476 15025790 679801526 83036254 887519678 219639366 622523666 891165194 90497650 195824918 598930260 515286100 150056064 642520092 568732158 594013768 565168866 709510580 913518876 63341166 989919108 765400722 492496196 357312478 471167506 437565682 281242948 946183094 348265852 748549284 271453380 578607294 120106244 103493058 97093488 853711836 699265422 503497448 93997284 410481134 30168692 259975982 658933142 69542562 466089170 176582748 533903524 782423500 174674786 617562530 598263230 154629118 433467392 774679516 245232698 336310580 731291200 478488982 553689208 130748942 271259012 123468664 122695488 595668012 504369746 698500102 556124776 192946576 843236980 380555274 538843610 593640924 100711572 671125328 285256772 311944498 651743014 859331552 419014020 63649656 713808508 836128302 375047356 314299974 621239146 360538338 88177508 146705282 340139528 883801390 251167082 981456614 564899550 985710402 622627864 584393894 778406980 4060934 879172416 816536812 107546858 63996394 523371040 149341258 693318214 925853192 568334660 129908152 581766632 41996454 925326102 479599906 208827130 105057266 905564948 555127046 129158308 603327340 533864260 700385264 119780034 944583720 282400348 790763378 445195572 311012998 370890842 843579452 658013204 665136628 924512482 473900478 955658190 541440592 3172076 718795840 744270598 48908246 62698226 544225148 475378618 42608904 112436544 745860308 830576336 141619058 69045942 208259514 988649176 617720434 407470016 161565630 306110752 211439082 376835310 821510536 72582130 165834556 393507452 998576478 641793400 618385908 416106394 269179342 79214630 638138996 156674406 216620926 154030532 491858112 942721468 158790000 707535272 919423508 566803210 131271516 60715216 946208576 200758176 664151294 668210236 599461172 157927208 433216328 624796138 365682900 199819778 773235546 910464314 795175270 990321350 13307916 349724412 712854912 200781128 528366148 637990106 939793474 181605658 210587962 701984904 446128566 123373256 919874496 835331118 421666318 410509046 78555808 176405236 202600794 98354282 243167546 516099626 365712614 269283430 371478694 270872362 191322244 55758042 384443632 735168550 723640516 402700930 566343472 673065888 391599068 819144192 600457062 586981214 423934548 791141784 501351874 640946018 274125158 600289870 377339428 135296544 458003628 656210688 177994590 113676184 936841552 34635838 995487072 296986526 950057442 5724552 328973458 683918330 516230634 237944660 21909550 231234462 435562620 152038688 977729524 334472018 674475998 791338992 279656380 400595080 450631634 271237096 677614266 989199170 353233484 566068646 502882482 315928162 619661008 16375392 476863208 524485860 566410522 197811410 348065268 79559050 429923578 79611848 360570692 494897912 947378568 189747098 545908448 404878938 471605284 229499116 797697022 430403982 460371128 617683026 205110150 362790736 148204856 636692056 492136736 166683362 489376922 743787902 469105838 610064046 436259804 817495130 534104498 800297412 910203862 388296594 49548694 525415582 78755824 907537628 700900950 413309336 204509866 348178864 469794402 826102190 321517676 862147354 972334122 793808590 342955846 419703036 927831110 299913594 816365380 197421856 197448428 863597504 214856654 531875728 706606798 651813388 677386580 467148980 482003540 556768294 294576748 308261946 275265692 252534934 996008372 668769918 474291904 509336152 859830824 397089492 228744040 318800230 729183206 733366176 13582138 168145726 244617878 379413758 218424974 213011354 476326518 576335374 989750182 89011250 566106476 901083328 99663396 263978894 663215224 374769834 675254486 76039554 712526136 141725250 756468832 490458730 456749570 295670942 714251828 70327528 945657084 251020468 780069582 336287894 966863852 900278716 184566010 118321196 872210278 132593010 458312836 846269180 521704108 16832420 248426850 403668270 596259072 578940238 21573220 637845316 149458382 556895614 245790718 591897748 730206228 872674590 904983356 158779790 162258134 990753388 33819810 571756960 795069906 516839578 983940862 416756496 734642214 235715054 996565632 16198398 357534414 240823506 862273460 391404382 466060734 236283404 872160958 838784076 131149026 905047288 924934484 793626482 800294894 176445754 850724834 45934362 898059214 578084892 512726406 52701652 536936262 874924350 930031026 434829422 434836774 955553072 913944714 241322746 838178604 365292778 67370960 624555798 292283032 793212322 650210064 744909336 962191108 781488842 49406134 683926904 494511380 625124262 984483360 100334424 307976076 820997044 832583344 701193100 633484978 625145296 446632220 502814984 851728292 704068642 627583552 644254252 162524492 636935694 744651572 687483636 506865068 885740016 830885596 168366538 776223932 450803446 181830714 278243050 387360958 592989322 629357770 947787856 910798832 592914844 294873524 576015026 657308766 717762654 592038286 247327226 577186222 916313440 841326786 657436314 696444368 293649186 122438352 795605944 409042648 210733086 285818426 330577768 87052402 666173102 106312228 769555776 469706932 70049020 598037960 270484650 22803786 185114446 905802430 248538938 340264708 899585476 302975162 425181042 223509806 706915132 984890706 129265064 536905668 518360030 136227598 216557150 840219860 61973726 490337094 938834554 758585180 938302166 323795152 141960448 474276514 164708800 311922894 537938158 201113030 530401702 617622616 82037722 70776942 670414400 332357038 250757430 335619892 795085950 411261260 872102782 529844510 55146630 273996366 811994760 458093026 479793838 439440936 766874354 4019994 485464316 928037438 257241472 225697872 115107614 100941858 62543772 308558166 631452760 979458800 409487938 36925246 355421216 220333764 786810860 812306594 863442232 788462394 536126080 486708248 67402276 221590818 937083876 804092734 372112324 642415510 203915050 904885144 282401764 825726922 561316 436117494 764913704 627919708 316596574 40565098 720871996 468519414 387685534 965894828 264900382 731151814 601473520 753082916 380155320 169602012 172605400 14651342 546122122 797279068 11782334 246494446 510077534 697860622 901366952 597998512 222369620 634306074 890950882 460496220 38070108 467835928 912109488 147354258 274202188 47053642 290274256 776877212 800391876 337531658 768358578 119851482 243702616 875120330 435257680 402979812 938335214 305201964 134453220 560180056 154913644 451600308 2568110 814379920 51610746 852616934 848754568 439931362 730045404 928938742 450019764 442852776 784301168 129812764 808655192 664123512 579155880 786263730 287272700 911379780 322132314 296466922 475144012 7022976 41184242 338616440 282493548 600302630 310300872 699684428 670545826 178716910 241519204 872684622 911327016 896393822 369499928 515111802 290726268 79711514 337881380 12099518 279634630 671274920 797742294 894820324 537490252 24788744 110491080 622447186 921618414 116140256 258278052 222351598 149546544 291483702 259676570 76999960 673490552 207340870 350930952 161577212 959608054 479932000 824155600 37879498 866231708 643294580 706354752 169208794 979936064 452463456 736782742 439072284 23254588 919152080 961781236 717417298 654506230 793531146 432526542 613376782 414647990 269842976 298899786 98018754 998002906 411246022 747602616 373276644 935822146 269411356 520950108 733991874 392268126 128514828 135921158 476202762 326295486 211233800 67321618 164267790 302768640 326953938 545377460 372040466 866832752 829240426 676562418 502473674 651434324 15088170 961996142 544542880 631357586 142557374 203881898 52884914 663508948 657436180 872450356 676795456 855675376 372004832 315331860 241598874 36160996 422725190 43958122 321703810 452051234 888373606 156508044 722179398 123505922 982369766 781537292 132823220 185810562 50958456 772742566 973412550 957796338 695545908 228114586 580116532 755055420 964204482 525735290 123339106 323432790 25503370 403203064 343521284 92815044 583857066 288053282 960456966 365023472 333471792 446727920 833634418 805748270 839878426 877266606 566961706 117909762 183047250 379631756 977025876 555589850 778382088 912568432 537909418 124370258 44737358 946669842 983762022 942221024 756139338 952878554 120203042 212144014 338169968 353589328 571511398 734142804 180386480 693130154 226055834 94276558 254085774 368876110 791984514 357834194 241084952 865106580 170637442 816915584 772159952 611451436 280485100 891682588 98078588 383320670 649873310 270063620 399863252 887587358 933999268 122241334 908264060 3875658 840865940 348347866 758653984 320447088 237383422 9426254 422365966 708898728 248157668 195102332 793733226 439503690 587929758 437005728 645191574 402501900 91567066 255595210 396594134 167456844 653499906 800263562 713523482 388507142 412186858 28630314 397321574 415967442 221170598 941439636 859608146 195306536 74933544 386783760 637554822 318327082 994097124 491672198 252879330 840208122 661960232 478078316 198119404 414661322 906443050 616378838 890690858 626921390 472273916 879245608 464249660 316252512 802395422 748989208 555893736 246913524 50081878 228104826 287319902 265548184 288540658 359096698 83142264 549582952 195759206 174336830 826548644 74082536 662499978 806303124 681397634 416672598 695540340 438125684 533308774 357533638 566888112 193916714 65546190 746401658 434656860 624168914 917461628 687748828 992751810 772830082 399184190 611717862 82062216 12929594 804939994 149727646 718724880 76301754 834249368 528164268 231889808 169919246 7418312 510380742 219224524 33151492 294313812 749197860 611716422 562079146 446509836 858074596 648459444 802535394 460492544 445010408 442304504 919956434 39007222 792645318 266247804 916766244 964156134 329460586 977607238 148180888 131564320 105303530 704512618 703760408 65553708 388079232 250152464 866580852 907459518 235631902 339527984 828066280 20509242 389390596 292110008 907998014 189683788 553272374 672950448 910189624 474239616 209813780 807102278 827732176 451264842 342251492 230281064 706964904 298798938 424504230 915664576 273603130 489876166 504914208 309558076 50946784 157828050 650290750 587311810 614903260 23106200 794939832 170463396 794238192 453372572 187211616 698666140 882358952 3027024 379547802 346609218 219440134 202575488 831024900 222769302 752683208 84526312 465695194 985642006 319505288 847421584 589618442 497139214 301936076 741089086 977337022 329611020 150993186 709739084 695060416 625658228 168100124 966659692 546250440 316547682 805427198 802788142 265403604 207860850 865235338 912842286 867281736 380803506 391183040 720872084 119378762 688083470 319343946 614796546 790900714 896476328 796930416 504138938 766926926 433401452 41334136 767314718 99777300 934697934 400642138 483480894 50714816 90462008 536080350 887639204 625736700 775238114 418968130 43838186 684642762 745246192 261460526 930693298 399766102 358960124 437664536 499872234 105515876 356382410 901892602 184345692 387242678 590037582 956106688 228123546 993772232 881473668 933774144 281424508 454261526 431479578 39559730 866034974 732332668 397932288 576416686 779924568 664319696 310913976 576300548 658252920 270860416 727156216 786310548 189262542 156639414 645049340 606421660 286776306 713582802 346810198 142061734 475311712 980525072 310031694 100608966 910670066 641488146 983338178 361510604 189759694 868180602 206197056 234918102 77762952 407521498 272823244 765318892 815244812 641075228 859391938 577333784 327179078 260736798 460889148 601851370 33715416 70562882 827082914 242335894 856921950 274485946 819555822 194452904 445722454 660980324 11054784 254971588 12198890 421475858 144244430 558800046 22596758 819096980 469465482 499641294 319796446 840801278 41564956 869598392 953179790 454742654 241988330 54947326 602061248 852958200 627801770 17145642 727834806 46720404 761693370 599495182 800185504 100618932 846657374 505312510 951352460 960059472 871565106 289503540 379264334 452753704 157492806 887687150 689358910 747950598 911560380 401779384 296499954 710383192 966981762 700077570 741593712 448646112 936325554 480316940 463993420 541934578 679032944 784811306 666280922 937058560 70323686 966206782 820915948 33973430 30722878 257373520 102348752 744853084 743600662 242401364 122494972 836216140 984814558 780398250 82398144 84469760 566013080 719795080 139217142 96327618 267452626 728768810 319138276 247256568 934822606 580243524 845400236 710737068 367144198 26965900 192120302 305946878 396438856 459295390 884345492 477384160 713721110 117962180 301705644 49215338 966516048 731640046 247180000 550960850 762937816 381418478 119282458 196179960 460438454 219828712 369468220 227338088 800043440 305040836 553672840 298676926 178098802 438966444 29177154 807282126 139436080 485916842 4424798 989893762 680165984 90142458 757460244 418501990 398269348 890190158 582232696 224862294 498642004 667493490 869196198 432060478 585516 136699448 623226332 650563558 692762602 409565994 61539000 383443336 831907350 832063240 912860592 691546220 996846280 474757882 89375614 57580804 759544584 906039416 74673736 955214110 395847998 462205146 172974672 548316884 772096298 723276830 677792598 743920828 153922150 17611236 509701628 994810990 62997646 236209356 229283068 41662904 316705426 256529490 722588232 445358146 254378144 4724634 350640752 679960858 678650728 392536080 167353580 622265030 477113956 650758142 111232470 763643956 892480616 946940044 747504584 329489272 276435996 60318410 726560156 742528420 876490764 565407202 480191264 151054194 531234510 545315202 709697680 131344302 784299358 193894354 343258286 242087810 810304240 413706446 848755400 338073468 225827962 561878500 480643506 279167776 741400448 316985598 699398090 462771130 168509040 247321212 976412924 195869072 5407126 677387580 127533944 273033890 996967368 486620642 953547142 310074492 653935904 911238016 397955098 925755156 837924552 34118938 402866094 640167378 917734562 314362158 443504492 464410416 707518404 916943402 197684046 649834148 507040004 915557210 735208876 878333322 795646890 104724980 641534184 861763762 680013652 751614394 894797380 974774740 541891526 243799760 421172758 919510842 125336340 831475842 544802162 681077010 935263730 766316160 297316158 298966818 81580380 33358000 973623100 25932334 848394998 145967242 223044478 169761222 967309854 80063360 633380836 842635374 555484084 305276446 338491276 217088522 429306366 907422444 95318424 370052268 825910098 581574612 911149344 395030886 745468590 817138526 367087464 922519168 772952354 424015814 80748302 970468584 890617780 52932332 295552208 66810290 602307270 84341638 499785674 207118670 456383426 506055478 219728754 392162090 139662208 456719092 72935770 476422918 266456216 806069594 966461846 743353252 809174314 923213468 245843216 871781214 397705978 43806816 175951878 945905056 514100382 772651510 797255430 708412510 284137354 716207308 908326304 172144156 874990154 783799032 827447612 809345044 331792048 466924942 662454314 272643960 231404798 232093984 869444756 955359312 876468484 604314250 193577572 818815302 246698566 234572692 240404206 717443492 910586942 888183752 434314964 481386060 461142538 749693718 794902010 907208094 308009926 63688198 471703062 962214730 941684618 923053542 298411258 4102326 595843526 180446482 342815346 191455576 467141960 448884330 911243454 338361294 61587014 245869066 816974604 619790724 523713690 824165866 609281146 636870570 24616796 416648448 674527162 585435438 735105850 297148900 292096648 849066030 403088056 683003282 472731292 751541252 172211170 359130758 137637860 953572878 120258406 829407694 718523118 767603766 844432062 933298400 658040616 231468518 921509860 630313580 937138644 587046344 316058280 724385594 978298476 652087546 865778684 110423258 764300588 122328240 123870480 400273716 327413480 494566498 538574096 644276342 587857168 871910878 648117540 864983966 384696958 465952348 355450424 680392404 904657930 301981880 293178822 772730686 992303750 680009148 456910974 821457904 551721234 214683840 57146958 217602120 335238024 176258770 96663248 946426852 653138566 864579588 781095088 437346096 679150576 751632252 673738290 935342512 828032366 274556628 484239430 698387830 255549440 577375890 324653398 430801590 19794506 990317152 985263760 533230642 788840306 332991124 280032976 441992868 512705326 163880900 462266798 583676166 638402838 614292632 591600580 120076722 568281626 481269202 52725890 328263850 255885848 610365436 26797770 910204754 34237248 280816132 619164788 552186908 306719682 355258658 686387516 908924784 257979032 48704774 775950308 362763738 839523282 936968828 716136100 333599480 981904208 964608420 70302268 40581604 109081564 803099612 219404876 336680556 421056454 980070260 184568570 623450456 345104744 900988168 168833578 606031922 364763564 63413888 965571902 105625440 312840520 598439828 649684092 135979234 408171164 556076286 695750176 603275674 558967304 675844912 479233970 870603006 730301610 193117080 875238156 164942936 432411574 835840630 702834284 512486942 597215148 174114114 552310120 384722582 58541790 398010242 173867940 391142294 782091058 634452742 600018552 387025956 875747794 33024594 948689988 43745158 717776694 998445622 409391326 89292572 821392338 903579728 113039174 832714726 23273878 85792628 819922270 174832508 32279456 892592642 953777678 307013478 959771388 3123452 566523872 438595156 218705152 777696766 127305338 29469732 741791204 256127404 114901114 105663426 549785392 278165338 856765526 40771612 761087450 236461106 258032548 163497964 175238320 282372122 522270790 812787304 538439828 903064292 41348736 931596028 883870556 86348796 777232542 583160740 406778828 583659010 898232660 160953634 705928950 715683258 602985138 556962622 707978948 639254250 584600152 659164086 152812774 247670088 614928628 201728564 605088902 321528040 373962910 549797666 905766382 74634360 709593028 353099720 621361900 681448930 945708706 75543644 380868782 848761592 855399870 384462824 874438000 74319058 978307122 835471638 17922476 210734340 473897594 411846916 184390994 786385978 345068804 406406062 163386556 947238956 272636134 493532142 454256496 252822388 705252450 434693656 317564326 941092336 677401720 26137282 12786258 123648630 61172192 957790642 757598588 39102308 552629166 928256352 966953468 197118958 51806228 218827590 162982756 594496936 319251686 946827976 696782524 205227404 942414480 492684274 387047848 509781538 226112362 210362838 130233408 350584886 110793788 838276214 459745144 226207884 939025428 24716290 112990510 798195188 377991946 435867950 951766118 69138858 132074214 431636958 893843846 78844918 449544092 467305146 493514288 535149428 662820384 504568014 433597928 260688642 916945914 997527452 386266888 496820030 155325674 454416608 992691340 59003040 814676048 160448798 912619178 250018334 835036004 701375634 691459936 60216844 65774350 645351458 20048592 825673370 799480812 740431192 100069688 178040274 653171032 732678942 761546946 689781110 913063542 754477368 298936252 691159778 157361596 49616698 750040950 815588840 926514130 730550512 423466934 698901504 880622748 211839596 905394166 126029930 873227042 59628312 767651008 985445588 332949200 263001410 619345194 466350764 310250108 447000602 659277202 878599184 161133668 264225604 303347578 727699188 120839032 761639324 493664468 118097532 292295300 393314440 89386370 255092548 292413278 161980628 319793294 876028614 644613932 218637990 852993366 814214634 218241030 324022122 320396872 786817228 317357174 747430656 803856714 401753758 557292636 600209720 632049590 304774546 365240162 408122256 550871586 928022626 643461154 560350188 949873164 722511296 616875262 595590342 309301128 999692720 22613268 451218724 354792828 242393348 838232178 728422490 131581052 294183342 242086154 122292914 953944626 487613406 860535638 672228828 89718422 623682552 226053902 7558000 296845418 614590704 377033908 330061262 440018104 731272322 268702834 731982644 427751702 57408680 104873430 108383580 455056788 814074006 858370050 564809098 538599636 667803056 834862910 70930906 779779938 892153182 790119880 735273276 407833752 623043438 535911020 651250446 679708970 641381558 617023258 567845490 91631946 886930126 586300716 804110394 670133598 166326254 602205616 72627128 625162496 230542170 929657888 725382752 148560372 688737934 555143090 34345848 448183214 648014612 499069890 963707294 46365206 575016426 738118374 636419508 257790404 549189264 747966006 743817838 393882376 970030434 191459008 952701056 92583574 623390492 801312640 132760690 278760278 471994452 659010762 548257492 243847074 491117180 77017262 626824278 13840352 456786178 648890758 259719468 154761900 636483516 860424804 812660760 766600494 349386556 519125368 386440536 596828490 74602468 946853762 963391256 554780256 136955624 299212042 49132476 503969380 771466238 35166640 137407622 824289110 17129566 296837548 497521390 524535658 984909430 471517668 454782078 764410650 445966974 399734896 807769420 857139366 329525396 789566158 346287568 888180154 882642516 805605186 155261000 293315518 955671062 120066640 60074110 553866708 102230550 474596920 592508440 733338804 285379180 904799718 247527652 649515980 172639778 866587872 91072630 898629182 154551162 992839902 750467466 352692152 73706594 413827960 783421582 120310290 866742082 654464960 67523990 972648840 151828826 450815662 160716482 757257638 609212592 99057706 255020586 457998188 909607372 194884638 990598916 524035440 487246684 913160926 372357676 518134430 520769084 187596924 488493246 479534544 716198108 957416178 422020346 546344188 713882000 477133162 212014770 930186708 4204746 630192586 933836724 201393938 709420026 164408546 284617888 562562586 513739610 958902146 14294334 8259524 729814866 733345234 218006370 387756452 83845986 510239844 521032646 667753498 681241902 154363444 422709472 387371238 441305960 831908424 980188078 654244708 116441760 363713454 636175700 846435778 961694136 886147538 155979698 289495254 586846672 536892452 458755018 193666896 581972178 728431564 585842966 386061214 235425698 542532190 953492292 780840714 521229750 991654386 51567348 992550728 588434188 970090 271145884 38685602 718773292 605544556 400712152 620677610 794128508 443774144 631562504 471730168 54495306 123654780 928140690 401804072 717793262 377830566 693391040 86510786 158590590 857786202 382949198 666399132 279957218 521849102 279069324 887920098 801963324 520092882 365166714 188297338 60840684 298221246 993327196 581041864 157119532 946425238 811752816 663451028 948360514 140860016 810854 935749092 275000722 8858598 821091400 351774622 745528966 847510118 636582672 967464692 373090014 64644142 501547512 833805832 303407852 341860540 793481998 434010512 975835174 245451464 541427264 292384964 657440106 751118434 798519636 680079726 528118140 233779560 479265400 701341912 978943794 494029648 49850780 612188782 650534462 52496490 82610846 100925118 889034030 378522088 611321214 918149918 769148200 1300570 904148228 947950562 160557998 619267442 486709426 871675956 847209722 295607030 578807672 831215542 304041966 419641684 907922162 906143158 827002220 990920196 117122630 840920244 4346930 211539764 290791338 749869652 625428276 446304802 833202316 707815230 923647098 134406028 231732306 859377346 387697552 157776558 546746632 973752688 594397246 142928776 476143728 353330956 639054386 723238048 474752618 138678444 134181826 597220988 553471128 525796622 538885150 640850686 159566686 541034380 83753506 59702940 544920844 671890912 692816288 12777412 985026550 259324306 847664562 244515986 381243436 685952880 477288876 279044316 762274088 247162680 200520168 246270018 874540100 131036892 40372998 538277892 253531076 124144074 310807276 722419422 231092966 886089184 718624026 253090732 720823604 698216438 167644114 745349302 689365862 334658998 478624052 984691798 665450156 464349058 728986956 348433248 644455820 116907220 156357538 55503662 225201846 927973204 89069316 734633870 747744854 186629894 554268768 974887640 844739148 983442518 426438674 79900068 26484208 453830794 509188282 755217154 165642328 751610180 16989908 436591212 60856350 546700004 800992522 884882934 462954144 936173656 251406562 501762924 252548846 977407446 59884302 625391282 227785634 612706266 515873778 749334148 747990638 767612034 106737152 732353814 915799210 405497692 611930870 604318656 118218184 963107592 765589436 646926134 90660926 185578354 416793854 241772180 710739254 163491034 837357138 439186326 508507808 963671940 473391924 957295490 379057060 377472186 80563576 962982266 753969932 193031034 517910986 946954454 937623574 422885966 397093502 309952000 781131848 625480526 868743104 846927648 903997984 974508028 349606148 617180894 581659438 704615350 961867312 418455358 736664906 863444178 859574334 204263930 304859258 657582616 91487624 362650972 56699470 856278286 418977046 643958604 323815390 714317076 741878356 777926122 900938640 747090488 92241894 219269424 754604818 833064138 758988776 448305598 231886612 566120526 51800980 839561982 313143890 974797306 496108798 600424504 173403516 540170950 466797488 875142674 586359682 59698124 881040740 403251638 67549800 839034416 655925198 766665768 819643032 565215482 20681590 801921762 677207288 232007302 786695236 863134906 898493618 291373922 230860752 139818248 208501876 232840184 614368900 659399752 557839080 136681402 424469784 563844000 881703100 701163952 125264302 676291574 999053790 538993834 479550446 596453416 851219206 222022256 829082134 245764388 400446480 790051812 491175996 446483396 881159402 28460472 227513204 600835274 443821280 675257882 251801560 361360086 809642824 930552282 863692380 398063180 665668874 642951196 612939020 526338566 892945732 469653766 973543468 517866196 517675612 282307162 875356714 136139616 789622012 465856928 529172876 398178104 705338468 65774938 574167580 46351538 320630764 512741390 857704334 620492700 421101138 635159170 359958194 41265848 54775702 431372670 930622988 314062862 910943656 854989910 310100788 676404498 896586626 770658324 15959588 805497730 119186314 271754808 397340334 689217016 376023702 351166902 571021432 89639092 134254128 599825948 202038792 33910506 211146292 322478756 804415190 828870560 187883162 319714294 647860234 297142094 455355034 192420696 185603388 350460270 541617390 479106936 549191924 66882654 909691806 289065462 427861056 335672176 451717980 189935894 124709506 31765242 622796300 631119920 697226592 373327554 660989952 942687696 471774232 263499296 572017920 541573296 45030126 668965164 592551752 112942238 421665108 564776618 787890774 410878632 682592494 716574464 58292266 305445402 396635472 381118466 656586730 738772316 433080890 928014888 65282972 805049918 804037158 838980224 274240720 103067002 411515344 928264864 181797904 795840326 210573054 57428648 280716464 670270872 386713870 619404050 276134562 176500536 386457226 270394868 496401088 977948602 447373298 514495654 421593174 539096134 711471428 565569646 578474542 568819904 23728674 151541078 455926066 110754714 366838026 132807780 398670002 736930636 278905872 166991970 837362946 352593996 751280364 330764850 767640426 430700922 513709578 270809060 932295546 627608886 336162360 812463210 548569516 729251132 375317744 737993858 760895588 495230870 487991684 448860054 24568914 600917524 756655296 321137460 960541134 604077880 640255524 863442718 201906808 757589316 826951820 75381338 227396218 44976932 559651060 218050900 552632040 344448050 59472684 373448846 348278500 50636110 692032606 635364166 549028074 151022024 888079562 672711014 384266936 636274664 784299472 378846054 719739944 35758312 530124486 421245834 998456392 519376038 158537942 578512008 634836592 341448544 791119690 929907828 68505238 206814118 843287974 66767300 128261850 377879100 265655348 510089174 476384308 425169748 453426044 154320110 218212090 457194306 833723860 224138960 660511084 817387292 602187260 988776534 449386362 415425048 156633976 534161944 894172310 498747764 577732260 372958894 599406590 488287030 443662366 56464578 265868858 346804572 880234764 763872240 459393760 835678848 330304796 531959036 240259660 900562276 937912710 874936800 590827276 712213116 511804950 118284474 83895326 122014636 716823040 86307236 415103026 24301168 940059976 755072480 576974518 359047892 866556608 152619330 933481316 123434442 179077110 446666738 369486446 394982032 867340744 384409938 940642342 883187412 185649502 99693964 277304984 715354118 223699666 131705258 984256018 912576304 667597230 223094652 689249896 499871590 679617876 169806750 467807376 73026190 728528548 203735928 791985312 661333330 78425388 281247232 432513682 625349078 748293850 91132060 395998820 280745062 996321848 913230240 400688512 613252560 495205652 494510520 674978354 750270262 985932220 738506360 795605632 427707362 423071730 588910574 524395660 582835608 474595596 181275980 891036202 722104388 538012290 538100758 409369000 798029380 981004708 98716776 455004208 449839406 732738744 332825396 536885410 451194290 12955784 334331458 925735902 305607870 824064836 488218936 555086010 81352230 177961746 632427494 605625578 802753660 687744994 724024378 324014958 623110580 551929442 362734736 651635972 415060334 688291748 766459216 220859370 386964996 483969014 17699468 935525574 267234172 837495992 88360886 344482284 867874474 494763990 218579044 63353608 203971398 206277292 22490644 825556186 897151766 960238170 621046352 864361280 513329528 361532180 233714104 769446994 829070190 813381088 642850122 744419064 557779058 520653402 162484328 817147840 593193922 288214366 949275168 553635246 246523346 808199850 532509752 880913802 646007438 247901474 756168868 777839526 720638230 150740282 296232588 299878640 444364346 635619728 464888116 324140674 790066272 859668274 369771280 456500248 246542224 689611634 501969734 846366868 812075160 518965078 546422598 70540786 444127848 666800870 843021562 775475172 749699782 601790746 938012250 439259660 943443670 975246316 565895492 958431976 218037814 785139990 968992490 95692652 194876858 161647456 635449786 922077180 18075490 524005570 163275136 874411526 421043348 566355128 325986956 639534218 983477354 209023918 285898960 352428292 219248386 978071110 792473164 847273852 30424204 26758880 33110098 940246588 347947290 284975912 876815552 712659686 603734046 467244454 704266864 938554422 758638032 535506742 248457270 656468660 673477462 976712238 44104978 779265120 2998958 769722212 264821552 368473296 115270516 259973946 441014576 395337754 552607936 391806952 588045292 795265660 912896934 615813322 543271404 300229564 748583754 720759604 652896182 830779062 890433006 575659600 798441572 389302440 864284320 856650020 289418596 322194234 777650068 393380966 173241454 513032440 429635792 854184826 437084852 468090900 963850130 870570046 153465390 771267914 434228078 854093730 366559366 824799636 47694418 575223906 744062252 915745414 768873128 574995794 856258408 583290872 665899446 426075026 29052682 139178296 37355476 89060636 219905642 816836466 443349654 714393232 825530152 947267946 330674714 594432458 360931072 511479886 555521390 934298450 763064770 106928290 253626898 322415632 613818704 949779842 708858758 565482978 471910548 288171384 614332040 357645120 821679598 143697120 789059384 524777076 774788480 785446278 802470026 794806210 889237224 7985166 721461428 806049570 138600876 861122314 205764684 435662176 332039108 506613164 979911700 100759304 75966368 967679938 627900786 17595604 596772146 977250120 777857672 630989450 902715112 723004980 106302080 797983332 322403734 300833756 59443682 918805772 819975990 951103630 817474562 635437234 367082262 74216580 524422662 496523292 90024494 516653346 411463568 465777044 911343410 201548872 181424600 52765526 418025316 704389880 324356076 294693634 368454530 505219440 700885410 690956914 425004638 539998506 549149596 679725560 732011578 41254990 187261120 340167412 687215266 143590170 161387132 162419988 396531288 392055038 889591096 456196860 715271134 379013690 268395338 972882680 860187336 975517632 952179316 350905184 286605290 716768142 363145274 720120062 590557878 948927050 540713538 26269236 325955502 798920092 727143116 845143862 519954194 744294066 932464850 444013104 60375678 561212342 957514004 68681126 772859878 265265748 499155350 102250152 348410232 55958856 466942860 321290418 443726138 764731458 732111284 567722124 267844830 885698134 626028586 297229688 549112394 519009988 287177696 73247530 65969546 840851512 795498902 694298812 369648754 755801034 15268016 178588904 38328102 201706854 466053954 382553372 958905510 987226992 934856768 31438966 333224126 513284298 536508218 890504088 129331524 552052188 988131318 945856502 436516406 648057902 928341026 971064346 363277292 460400498 378067288 43922732 907812316 263803240 884756856 950314320 294615784 681492718 558069038 300062748 676158982 637995630 34190372 342017786 724696264 804877760 208640358 556298272 693631342 582516240 29655900 479506380 545726144 490233490 24966654 61092542 488019020 845668504 426132918 681214368 202642804 833060462 145707118 265962856 838005028 468470906 562102846 702675516 967113312 81586174 822650662 454814908 155812526 975455368 603219588 389122398 999576464 516238934 59057010 756430490 323340364 529534582 818056522 678146746 795168524 165851776 138582620 309276416 526550842 166406326 902863250 15177322 359926130 716021786 495964498 963156922 189410182 13246648 82558788 53701842 406644836 577726834 888854026 56368070 324940040 48478422 756932216 13555362 775378574 337581728 205849970 157085492 589892086 20291374 331415624 994779362 726457682 974496192 880863396 424351828 473166280 642059580 950802674 11365440 551947418 612912452 692233586 893429246 327968696 576593558 793425406 537053296 341356526 361200140 512673382 953153728 534284890 459322352 733492084 198809358 247718538 428870132 861083310 600850392 257166438 602155782 388566394 12924774 481772884 147950744 362233808 877999942 926611324 451543766 891435802 803817806 257378910 890651750 328384048 820225074 496835144 728675046 214249676 950625366 490938474 898440858 493153996 555296288 110734976 677891636 866319100 237179598 955916452 381533064 398252448 537915968 867875230 408183328 609715064 646085418 635677348 877436296 919852844 59688326 229206062 184103334 119169528 675061800 70412576 321071200 115110082 409296188 548983168 14624988 263763046 384647714 99244548 649783038 881578738 816249592 611325668 242892548 255887574 323034380 442147770 945527826 714212500 351606180 532067856 978541466 931569536 568377804 698183666 502514112 53944414 875837952 629954936 738722392 256390170 994766824 909280194 949333018 321918008 118798530 912236408 798255816 324378962 844040778 420908588 509916144 558904312 58816118 144998238 903295230 188857288 665900096 630206718 269352210 843503202 515227610 632411590 35347550 550545874 421385760 977693030 869566618 449176674 447727984 331355372 719233354 685687572 399740864 874087682 36969866 699570176 436158384 970782062 158906864 616237250 897118192 898684514 624924204 210293004 873693478 738581170 354637596 384336510 838065690 298235658 293850708 96633702 423859632 482884288 503037520 882819334 99780428 373230350 171703026 173952042 423003102 55436874 715217858 119436302 63747492 626557806 914833366 310386140 618969896 10543966 266113528 149723250 688350918 821285156 558771444 753348812 577108608 717522118 411156506 623551384 852810638 413714174 603913028 330138958 145597106 12302888 994034188 886927138 914399174 498248764 758985878 861997898 447840770 623624680 201282114 62034946 256898706 653471250 198010438 125805146 118283098 811234478 938468970 851752126 760386284 882212584 369112760 742372442 773471588 870248196 568775062 37789334 570982936 44828978 355335350 839198454 378424158 763096690 412497922 192948206 255167904 672975768 908351880 288958902 167266324 452794074 287580680 644540514 258098210 435871012 904408938 27909972 288832296 177203526 176410710 693698596 522745804 868266072 306834390 687296942 267433504 2214538 710288828 889362508 939438452 899177970 736111280 864441370 115688962 504267138 292888756 714275600 438215868 220950388 78760856 369659844 444788324 216130098 72931528 948718900 335240152 859609598 765869242 122007622 253058614 584276090 576070124 486517938 440135256 799660450 902604912 516916220 937732510 159238120 545363478 70089524 439299298 777112498 167263636 885984118 903742418 274519374 897456452 81749116 94827474 454816678 633154320 598603068 509819794 937763050 55259248 478066130 201718724 504865188 182350616 446305568 617890996 436630744 776875068 541730760 659259934 822249056 385579604 544634866 287148550 471299958 78972220 66586778 271701526 423727614 244769520 483421340 529164738 529787070 484233882 694068254 231189382 622352986 985813984 363195426 159749684 17825292 596688476 784133750 976969062 203794968 813879092 880979674 77903458 323229588 511202272 718491986 909475034 132915832 777087982 462657756 180838490 687071176 827749888 324749276 413551998 234736246 49692582 868706172 717138624 728336346 178789552 171582644 428826514 676955268 241230296 388704356 696825776 320534126 746417192 775244746 763288596 235949996 218769782 390905476 572830594 934616186 942095548 628641934 610235038 926583882 229852106 943542766 56210240 984952116 128219006 364242050 281232316 625731376 866464540 945668330 579833114 228436582 327988910 145839756 323061124 706394420 718763256 121469628 351775766 271327362 970863352 55743192 665935414 225425202 219837214 761409490 561655504 440241212 193552318 944640588 47808572 474995618 917959162 987576216 948333622 851866932 934431896 700152524 872123600 707391092 833098042 229113992 748687912 574793382 698138308 820581826 783790962 942142356 676694954 312048262 444333704 640577310 919658614 291589720 852093750 674260878 948224368 439581688 625631664 692336106 310939484 780029240 245979000 845889808 974660936 375125470 965451654 372258922 748894428 422332938 897349348 185701850 920333464 132175344 568755292 734206030 217059898 461112612 578276214 999613544 598047650 823961594 574300220 521924608 750188234 82666232 766311508 252094196 433256612 886442610 31540552 524336624 207897980 567641522 930126996 64871762 531546504 46777440 358165742 650951436 788593142 754949560 118639360 582739852 334091710 420559488 686918124 796524492 297319192 139622188 959618366 444662618 908083664 982185366 580447950 903359926 323308026 591330600 965822186 156244082 973246066 453112864 773354054 983331644 249456312 663708608 110271460 753594320 454720678 665575620 268917468 751051348 264916898 129564496 669588374 988278152 562511856 550495666 421642344 977746008 852270474 963104464 779198956 94893398 75795612 438776348 339080232 985638404 523425608 853361928 947668800 561574116 25526520 228813550 260575712 84420406 188194576 475924272 460260066 552493312 83211806 220802158 707072506 481007046 542547448 209535884 975902000 365752008 133683736 363920876 316337950 812033546 946259736 479185350 803281880 527182984 912694320 501704596 527597414 233411522 855636170 533692820 949168794 421311912 99301576 791952150 197597790 113730058 924862528 791485608 615244464 316140092 895165408 44054604 304955026 328053256 994429704 357695166 914350018 78128470 629922508 332325800 28477328 826327012 279709000 357879990 410928100 613645606 79905798 340560674 631499912 250813080 118989558 178381100 51102430 901442082 867229148 463729706 855424508 889033528 437990988 80568652 208696282 724492780 9503192 755202524 194058442 275938138 855709492 204813612 292277804 163202628 322511588 703686182 918397242 433690758 652897416 996947984 640772888 204567268 200537324 808543308 113561248 431172266 88810008 702611000 910286840 760719710 463876370 253164 562715540 275399386 395309788 148666566 407215032 982415496 498930868 129264182 52927416 115670436 341663056 415366584 846348254 953568482 346188596 752861396 30424488 408397726 341745114 197098030 386867824 697132668 526985786 194326902 530715534 54149222 115790516 822263350 95325326 50116502 820947624 148417476 376834082 540494922 447556284 152989530 58938574 295418650 514294838 781497832 167696498 258787918 791388452 637490302 125565992 845654568 86128236 90831140 330586010 862950918 668800818 800106184 800737794 529844070 123288576 447561950 244618928 738015010 49249300 430522326 790606228 192653296 932976380 228717480 765500108 363391426 4292602 68381084 243820936 630245664 781917896 665893402 806363534 885799190 35589074 172550860 200849586 377722456 639503974 985078790 350331862 266649920 940385158 112072552 219491904 260186754 692643288 948306436 292871008 468896350 430617410 583939278 202037022 761748328 764923976 710787838 499388056 788448472 415735740 287100018 520915936 414256832 875062056 409171934 966042122 897640970 533712422 802111338 56410364 413426420 373693578 366553198 156514236 378838022 215011382 140120732 447568728 552203294 715984296 701857156 975076562 949994504 769881018 159875816 151742726 367804550 8932890 879304938 301016988 162040424 882575770 720539624 394981038 645013928 759226516 292005336 600128870 706746168 592533534 464053432 687638224 930642252 359265632 849287112 326273694 184378724 52012876 866454380 140780900 449498170 759552620 961074938 100785362 580232326 409999716 243986444 950744928 542254394 487758834 543527750 182270704 310084274 56517890 377257782 274591260 214455724 465029292 304273462 139818330 416332632 411286418 445835622 205404700 917367250 945748954 281425286 127556528 923098104 637337620 81543902 337914392 79924216 979763562 158256742 702731484 781721354 388824736 690882456 846554080 553578360 187588520 863411102 431274548 983120764 340508154 460237552 585557226 871376438 833032258 659338902 920797316 732366910 545913562 694323742 212107202 116774682 378947002 760384252 487448384 619654592 21143210 191238038 915341832 226674238 781868442 558129988 67952910 469470300 849677538 851695176 341354862 594208656 626614700 964461314 995783812 666041152 495828170 387745732 520594692 230221098 563925092 61936358 943602594 403718306 179934912 360141022 702257110 68125958 847840152 60890782 214372002 249076218 969620784 926960912 418802758 973993930 817977636 632553118 266702964 260634368 765079192 270834720 808143210 383915484 306565910 294810550 90664262 314431986 959884698 612435018 552067458 406588630 200099100 625960198 482549110 311627142 737897464 771605970 793803802 733023374 183480122 514630712 299678074 915538512 185026184 313035008 897413202 903065154 411067494 196238008 345875228 591037908 715713960 930825140 931901370 492221624 278714612 413389040 691164962 809022092 51885528 317321146 563147136 648724886 300914782 723641876 368131442 322288902 404004310 740239674 84656418 297479546 589928144 753667564 782469248 456542312 225394706 346209076 138958740 358322552 864779550 311827668 566067416 788328862 798486562 45842410 257844064 793172550 564737806 237115038 43619620 341519424 654826172 985031040 367108674 300001124 132428044 361365136 319303624 371863848 704895126 909912060 338139602 32824962 956929758 366447824 97059298 490368628 913088044 853096704 664115440 957206970 229018072 789815758 706984644 682240772 65405166 378628294 559930834 50710264 512186876 145031122 101839822 848816274 401507906 714383686 507326840 127548146 195843594 943659440 195211492 286298092 405577516 726456488 243028042 814889592 310600612 196297122 984249346 140568210 39782822 507690876 428687870 733492430 743750160 615668044 52555336 556851536 554628298 25381770 944189818 176010304 923500578 89399274 864499790 699591028 261839226 616321666 226266022 574488414 847256352 515014268 639248680 912201506 188402772 920816948 938790834 449761470 391154432 839308108 419491142 486929188 117192054 59281480 339873824 861765790 376771842 890476430 818740204 934162022 415477700 879779064 563592554 203263124 714333758 616747166 585792106 867648088 860760834 279692132 828887664 941464068 718314396 120359752 30024050 557272516 825645616 919397162 948942630 646808000 700076058 949389244 853232604 579720282 537987398 619752474 410248098 752791466 293447892 148195988 107979052 96631582 880511712 888997920 171029554 141404382 421966630 665093098 878157614 365987722 843997520 787782072 173683840 68592256 97117614 987907450 660566700 641125830 928464776 552945284 905815060 197912346 439952554 677179148 670042184 203944626 598397154 476975364 705844406 170492594 409947830 792132294 699102872 734661798 153789336 419448444 456882800 344491770 946723498 1610282 43252922 762320526 625706362 960455728 775219402 85175948 405760210 154684208 178260890 975505844 919955652 394824256 41079412 664929020 958335656 635014796 487927940 847714694 347936276 737386130 197864238 153999150 264404586 416637136 997322000 798201320 672113320 43174498 137150330 45377244 602354414 476369406 282470748 310862364 359633150 477896380 836553968 894226190 77062700 627621094 849818966 458888726 380598112 901713698 17724580 151219574 996671172 741452596 481367006 615706232 4505888 564914028 396888626 948207282 324484384 712634748 615693856 405094892 780661944 414617064 523579580 748419612 495350748 975180902 203318000 254632592 658185434 156090764 424446764 481438408 692033796 618679738 264175534 659554678 990640052 192614768 545663368 919123384 373588110 923277358 187469266 730004270 883025390 49296032 787969000 511303384 299279910 923318440 811984606 291269368 707156352 660326210 249688848 948994648 748643438 107248632 740182480 3701222 197297892 385951024 198919742 96855778 67140744 61221048 207052840 413410834 689123370 143683744 972773716 632626226 137048878 797718028 245624824 549253564 985942558 414336518 252206674 614452104 837287748 769334690 594274664 414713864 921528242 99700984 564836168 835889896 846061566 252697390 924254128 459238976 850029430 207178118 917531746 890820908 755968300 897823176 932037742 350183946 260987734 535621906 410953570 760104816 627034706 23364780 826365356 990602510 747537760 70549600 486373764 987217296 254919562 500966980 574438348 543270660 732784888 384847372 718066214 984333592 338174730 704066332 887381780 90797324 802461044 462401974 761428862 89086606 4582108 570169068 657844782 276517042 441310936 626465342 472174290 387272144 798918490 105374420 542234228 166779402 743235782 73272806 40908492 13737258 409890072 264054392 448957728 222812446 105194440 863944452 839749094 562556160 770133608 529508612 59623668 576322626 586325822 579197298 738651466 494766620 156992414 912268952 808724038 173294990 894914186 871345554 938601846 821543034 959174834 314570282 937715324 8147338 288897872 554705698 171353276 483550192 201896782 481244780 310429958 689914634 618764116 284555772 893610050 698427696 510502006 271456330 515278726 491122598 754172290 244173550 98046456 953200052 255237674 43860666 581708988 688625558 579373790 885686816 173768818 472870328 380600500 652275060 939981572 984964466 590868062 355340168 411499054 439063530 941257324 671753094 273393296 324270712 445636878 378545092 600048644 767015538 146042358 46568960 766924336 320994844 486459098 629913166 149192302 599276242 119966858 92409488 294814836 393936336 77812256 746254804 413299290 964955014 719966398 24036584 756524462 361053902 698451036 870523084 900685638 981165004 536302984 236127314 820691462 309416572 984178184 392071168 990937556 162828494 711966600 417714908 705840882 418340486 727381464 624139122 130151020 986990418 994881326 207404178 794074994 285602346 369610662 388265124 81979576 857965000 845870326 629995960 152585956 808857422 33354728 534780452 286015354 125338534 918895616 412101670 420653102 541079556 804119624 806598368 885925388 736574492 661186366 129722852 492244744 559359014 559404980 922652226 814760930 215872914 543643198 931264936 823491216 383217514 998800492 678600454 753319832 801425630 353168150 195492922 916970822 989496816 396953792 780358432 865325528 741276214 698766124 333333084 649812572 831969110 824711980 693480892 69933144 199019830 125232948 729415316 592492060 378118126 102343266 585474052 362824732 73920774 66687918 871464880 37474604 873848562 390936256 639602468 258180404 559797314 693101462 909688194 957244640 867646622 58997718 949176780 941147904 246688878 238523474 761610824 842852474 813573194 200895328 879895812 405259936 336197210 607443040 937162920 278904166 189385742 148757068 392743480 703758724 444863292 489486066 745046592 109930454 732058262 850264672 903779222 10624486 877706374 692187436 83798126 588041604 936315686 387571968 512235152 292750450 377789398 18239500 88713392 796612486 20053260 779610532 257558992 950105948 851905518 147099508 80496128 890614914 121934922 429322958 177216066 415356024 200655686 802999492 149032800 985542024 770058036 828635050 363132390 377409752 203247732 766020442 429797636 378502460 950431868 521188082 900570472 793056006 218995918 254524252 585890072 31718304 117016018 119970278 312855212 346742614 758328458 968842774 215805472 160079510 586096096 61810604 915107380 721216152 330586176 190131958 776165568 234521478 400065508 238048624 812380434 547907344 803069786 944422536 621875658 256254452 120954484 183072700 770531544 40895494 828402968 146309070 504590984 884904048 195946750 197330604 533843312 650865860 200970418 999997430 813901286 57303822 633383456 233069470 606262668 731611396 456467360 150221164 588829764 788715670 965293428 445598404 92025208 912240058 529451434 273760878 108193140 795583760 223667370 436347686 620010162 995490428 464917800 9683810 560603464 586313358 35744150 22043120 701543572 138478268 467784866 408005228 254828330 649408266 800765544 784100968 23409576 293810238 931074178 167461750 991017906 403563644 107711758 924005166 338489678 757884728 830274380 627371968 472811404 69467474 32134084 198138180 869387856 347840846 566917326 519221276 427283612 924192506 544259770 720828880 610812972 192121886 859978536 858980366 307075104 231932858 389295594 152910442 59272764 983089700 563873602 449177702 302434596 374544560 17456592 340658600 223963708 626058616 994056386 50999504 240897554 152472264 277290856 810424854 48043766 71533854 819173074 142995418 250361788 157792196 475766578 175188416 293157820 689048410 593933292 443456088 242992194 990967980 108855056 749040984 872516062 165691080 956211406 188638600 413189450 339215782 268121132 398763030 112440506 839193110 754316858 92584478 659364784 376299142 949078760 225082638 486987796 132118192 278614280 46503054 110505054 241326184 262905922 659947158 268570080 279953528 766111594 377768402 296249794 242249918 385359076 672781872 809863248 983279662 799412574 923935750 134911886 52634358 302913410 494561380 636965086 783147404 82864310 474678402 966928790 644166352 556217648 515759440 737929366 790152726 960618702 428808922 121504664 975715814 892273516 731519492 542602484 106216406 235320536 936355316 581916902 779421476 952808398 131382752 588991184 253595124 995241818 397285668 873007944 579802620 905750168 345848612 632027166 712840614 274212134 573433526 41331114 284935298 430203010 264535898 5045270 406776270 48449702 433020032 346678222 636061434 953186626 79086460 353454238 990772142 712700920 96260990 992559390 69353172 434465340 515635824 382955928 643427046 975755796 100328032 640372374 856363444 461677052 901143656 26773724 845949672 500023340 992142894 754579506 924664970 702192086 694407828 419036242 45427020 293125200 401434626 226126522 665359258 745830902 546860736 85956108 703605516 595445086 500104058 679678650 234112814 478971994 24534404 836592622 714277500 817211008 512825436 325548732 60644320 447620342 536385666 303591110 50323660 632661024 393416390 791393950 657292 98062188 229262572 868219682 375701584 292839570 406620268 791222698 746895216 503344180 836064224 202983998 736005406 910263792 517199814 314006756 239734072 372195336 338342314 701289792 527153748 783559572 88695876 584035758 47175040 442953128 345596172 84313310 454953602 279683296 695418470 407959792 806328144 459363110 466150066 397669824 615155026 195691466 587558868 817898554 107554268 907664008 75447270 615377724 6793044 388040740 202069864 58006574 38397428 324639486 300132030 316240236 565241188 177397888 911330474 279764098 852732698 242944732 596346676 183197290 718674842 21917802 641084976 706307426 178569312 163167104 303442002 110295256 630592992 702457284 11888050 409518734 351371498 697831078 207302142 659222902 809893052 894172984 129826794 773475270 982936272 344156090 520963224 418625880 23315898 133316416 416666740 906779794 142693868 156402610 761649474 541545236 779325676 958989148 64345662 500855932 213550196 68556600 513778042 212793262 912634820 852992974 977189146 22989466 845931470 400562996 729204902 317153540 527114300 974942300 758196608 764118986 203672686 334840800 668919404 989065764 561288880 887560310 261138592 489332618 524375878 753414664 979883902 522200556 589394682 219269984 849748538 63925612 298348256 638387160 93774572 577230706 451268144 842585666 366383988 290475490 409397104 546056212 784035840 932090746 134986448 552908782 282561226 454289220 582189014 827409368 515020970 706521120 249350116 920377104 884538212 84555618 784944636 901541936 720396124 284904600 459572622 704935472 937817136 547359200 212970366 389941902 611233396 484139496 745269048 314616120 87211742 697094842 216274902 751745608 30950392 770719888 35758584 78686732 631689882 460626828 303574232 285954550 937280058 780367384 47542280 850468976 382424758 893091772 840558812 263706886 252071926 907476072 507324024 955100208 354659644 502296908 196840276 793050884 782681974 578692916 28848528 646533208 223910696 902614544 298021996 804105516 691625240 895346706 228927032 195669166 228680324 924435942 292952550 525036000 738198192 381453520 426023386 570787820 194069800 489897004 334286820 685477950 260974262 960694814 328924482 114516254 15705140 28337124 57372592 679065150 195790474 977998210 682491454 926552276 947828000 469201594 328499624 323697336 802719476 79976350 800059452 946589308 236544222 993122616 136114792 549492226 440960686 917002488 963442252 954471730 849782436 603703538 804165182 418403384 520537066 802797810 590950452 395291212 483436182 184010968 791537812 165457308 75427804 883004394 520670534 989775614 752775414 622343154 652863358 983065426 444354614 882280498 353187922 758397106 770894148 273464436 318613902 515012850 214140822 446200648 26174664 179155860 255341962 907088412 244164518 371784872 362096654 389017800 829494128 688212544 34084290 511151370 165569184 99652598 856878546 429117460 748845538 43798944 49674934 730253544 377969408 884125052 461614654 872962602 113997336 317657438 463587036 944664156 341735450 894925924 301603204 712067566 373251436 643447222 974471958 227754032 318116204 228220896 527319442 344529696 403172436 739483864 647923396 146696676 481539924 323710080 546292272 495541304 264553220 645858358 408467166 839056898 267263932 870743510 829120992 150553458 401220984 932728956 706080272 130039314 779359246 629285986 866211872 234257966 752504580 464552174 157993208 123870426 530270818 855591740 583947740 127175004 735754300 834127996 957747540 263969680 139506202 714640918 407972804 224729640 842238026 361199896 97971352 235868144 807343576 142876858 583070818 845330894 188440542 983626976 13548100 416266524 935902186 730301916 463507996 308168464 805676322 247645054 435890216 641516072 393356506 990785664 427135610 205520816 508012388 165968458 747518920 35281140 460963926 146230694 802783750 765930054 752400076 207171428 753329042 544751158 664204252 641229782 253702842 140376006 158863630 325882706 684855698 330183664 192349562 604741606 863666174 38765994 427816474 344652926 877133242 23437154 414809536 956052776 721675854 576864008 224647844 251249930 646803648 862670480 617282768 216071494 83882164 608214086 420194180 548924968 731536254 393402296 435931522 142026486 679117916 887471210 361225104 286566394 572282348 506942316 223463410 439904164 985293754 411773304 834696806 375864168 186697664 732125488 475371006 40456302 927473604 875305426 233409370 557391056 59143050 500720680 674712560 854198410 395537632 352596422 53224380 461928542 184493890 890598794 253961572 685444876 343059530 323203656 376543006 175353080 259351352 33392960 308956790 398847018 605992680 934995868 194084956 622130174 297000976 406337866 411804626 823724936 607772384 163724618 570176392 155447664 468175820 730127436 687216608 865793754 417571876 196359060 282579096 465363168 123276214 799142928 891051386 523281300 329558682 38049110 436776880 342197188 939853666 326483772 405689948 526307942 17416448 255667654 215202578 27108098 468142968 338013712 783807008 66058720 33821778 664551678 982536790 688946162 76839624 498077930 770053244 289969528 456025444 569075618 950837048 764322980 49862852 314075334 853601174 887465342 57403824 34649906 527880808 754195140 345823838 636857210 812030414 978789180 439838892 821435866 40864534 19185770 131874654 106590896 686650880 690390782 872499776 878717354 152172390 774398776 27725328 317849488 8281262 444544370 704869220 161001806 759655004 244077486 887990278 858316842 445850196 547317002 304770518 637341370 600469068 908247760 810891480 100565406 678689712 358108754 142062152 719256334 205322062 136422120 445678154 584206598 290263910 130220854 812732250 360199242 996595116 710781690 564322374 248976970 679541572 745531586 135050104 758626800 726610424 130983658 465683708 685471246 651660860 621835830 446348044 197827898 984645342 493690820 439193932 941901832 78690192 255354712 825316350 331919592 747951556 455970604 195709166 497934358 643225340 559637076 53588222 23487664 753927602 202837722 705212748 980887324 189043850 639937708 436092956 522917724 780097556 146959566 68806264 67968628 639449068 847788408 951195902 677733992 819582544 394870814 504620410 185620064 233219948 693736926 337560806 146277140 754479732 379230984 302914600 61870530 248795794 566030920 729078326 536641634 742666978 2663638 771607390 859519232 908222504 444908356 214244570 807307142 606577630 815116686 816384340 279264412 587088726 80221316 6090048 400148652 545160168 314189082 101868794 530696104 710828726 422687340 296226470 824291586 672293432 839723160 695305912 734710474 630071180 827135376 187805716 392005958 529555502 165483922 245868044 823851504 495942946 763254892 337588396 580949732 70064388 572553154 202832320 5626260 820551040 514680296 561633610 163137498 198127142 395281308 705901182 134625898 162221390 303832172 706321886 427880920 58015194 26587534 451973628 601981016 537627480 954962508 218237454 899942332 218211490 836250278 151937524 129663844 936684644 888105200 669337504 509669020 668966732 69433460 534929340 922726364 237390230 25417896 819508262 177708982 580951734 620324130 382266162 123574516 732086092 109258860 560839884 882470136 662346148 22766002 484750912 615760768 909270116 190405538 718762970 349459814 356134648 630499012 63061668 178858748 243237612 692241106 647604140 975701274 514839758 759737924 430269680 63654034 76997784 922761628 668992496 47325598 224727156 235781528 607419642 904956854 28542590 646622986 856136898 592243078 50464032 205714876 844533436 558200620 237890118 36638064 775859314 666637196 911560824 539168324 922954102 427550130 534471894 677469370 591063410 731012968 205845396 900161434 192588100 493797176 850932774 734150082 119427358 467027344 632778120 783420380 99650858 852997370 491196072 960927992 514543180 884036214 616881274 708081356 628680466 200248008 803090046 192558892 97400810 450169864 991951554 868721186 419809252 350896156 299393502 458352382 938642250 114477772 64274772 585785332 869475718 821773114 597414228 411152886 212597008 582339220 660184466 122544098 341316180 987601836 816519160 863144884 404200768 102640662 626648938 568562434 688753534 372373924 370203444 511072668 623879352 61609360 158835450 692122906 811925758 11691222 134833314 386043838 533431302 132823296 303950412 380591142 956774692 398447822 197871048 801408542 812568200 771484708 68579936 994063190 453539472 278426838 832750322 741584388 184865542 973699900 642644894 637503782 761561102 899653618 248604148 2519494 873852194 193965278 786288560 49829294 746641908 645802496 720333306 727066604 987457496 469363706 324628174 79161952 690948912 139058948 819950188 695433024 906384428 691007066 813668466 292582934 788430694 948543170 659638730 698015158 573411306 896444906 740094362 475810692 494955278 795483274 826326454 571405962 925641202 951204302 915654164 216436336 423945690 122971456 586504574 372916318 85907680 146234508 508920476 624271872 413398080 535813234 23528254 379553662 862944318 934993174 359086282 468168604 321642098 552767820 66070766 328366826 400170170 183602212 981820346 100335586 442781600 674616926 753458038 561807130 883676324 876973722 699207112 22564070 435068058 243080714 381177206 845522644 55705938 962848390 887177200 785497400 397977414 591987928 385953572 996587882 214329902 484207592 869232926 561684340 62352938 647618404 46432866 69386524 898282372 849962338 597907152 722577566 106145688 953435748 752824584 15557388 607662942 62675594 57440512 575345986 561895908 216613396 682116590 870758008 2500296 320435350 901645848 328754854 217676430 29867334 92295906 57096718 804800590 488306056 696449976 781968966 641164796 106393940 454302524 615144848 56613684 959494400 404071246 169772484 695802150 980097156 540423470 505312100 635442972 476955178 985125178 205104538 170642918 967472592 804561714 506888498 16934718 689073684 75811102 109435774 606995656 130158988 488509780 547531634 14949920 824270032 516972494 111451598 176019988 639929186 302746654 423903768 224485368 370140194 730886812 921679472 370854338 131743028 460697834 653603768 137899732 507686268 756266608 896670838 212883532 837084286 138079182 581987706 762929858 440876684 107040362 965879888 1942038 665959700 654120290 716042478 174242688 986410658 245737024 14650498 355930202 646824408 428681692 921990286 576569962 201824482 131910272 358354432 378445572 273718120 259864104 540368362 345985716 705983652 390375800 751238132 46853086 650468024 522284330 767602044 189359602 683314686 144005748 90668954 9904134 707314708 613211896 408455798 651170794 471486702 615161506 372858004 15047298 508462198 788713322 247413144 206588758 523785578 473117192 73584972 388654152 711766104 26138896 814300770 205446512 163789160 39660146 121688446 855099798 836957840 486916056 20623226 124884424 710911528 361473776 275191574 340055068 254418796 80430826 498803000 717536152 931667738 443139082 85432864 955526676 99156644 910864278 859343206 320331000 522404668 362284448 3862140 116912672 616390962 17852156 365434348 3375622 411272144 439824332 528285776 178709154 682694772 557573130 123898538 794288792 463358232 934868488 697555048 75794636 781310170 487645982 181524328 596926132 465550828 589120350 392214806 104980070 458472480 826216984 685242952 717664972 822245340 569590418 397546888 123754026 751409446 597121442 943340948 706974282 349493106 137049848 772250950 429057178 85056722 502341636 47107270 851955080 521275770 19157862 813964372 857100212 40294232 300228142 408549642 476102632 211858188 743566986 380715584 613309404 926165890 871733218 4901322 287832130 647330292 268481348 847646530 35811904 187482198 641347058 77470530 289925332 871155768 110018532 450035994 803525064 748271404 440098192 325065646 201059812 787972316 488178152 653478662 269676652 677716188 460328850 968870104 44538976 644912516 619272770 455639702 545308616 586672180 51619976 989480744 743990084 339613960 232627984 41525564 518883406 524405538 342885424 87852682 897836410 302209248 16549928 277437320 326119586 801751346 308686984 427249818 893046676 710943522 865558052 961338138 38047714 990422588 310658106 175472974 670208278 538813654 424853118 953281970 788981716 349260966 52781440 116513104 273946266 145050864 109555018 308860088 347635472 455442496 307257998 229079806 463783536 399902434 206032380 213462550 846277728 978142932 738568154 897258060 181477600 185179370 610203312 305204750 920966606 743154944 814119714 916338128 481092696 148841550 489977244 749237078 561722760 512835608 573421764 614845450 566548498 866069164 622056374 505349542 95779674 215352120 242940236 299589816 148308744 131788872 744510778 174851246 653951792 174781838 924507618 163068270 930444296 656446648 722339480 814976388 343731908 560814166 523457264 304421894 841152760 92542902 50633890 671176118 520254950 210285492 768220276 769751534 69917160 548765854 607169812 942161366 80695032 318037090 833833006 698371372 410897370 516247662 878863444 282931392 70713334 313684036 964076456 97306074 534418418 734842176 981034264 451332846 622083480 708903212 333944514 173575966 596235914 311678490 404740616 139319236 451138462 675198436 928026130 999492542 89914510 477554856 55286902 877141230 840970518 561744590 604462090 748680878 70579408 831211560 621155356 145738990 661325488 427138938 240373226 523133444 508897028 686388872 379017642 980204852 563849288 663296038 121868092 928058306 475873140 815120976 322785112 138477658 207392960 780314288 997112254 81526498 373258262 406428532 912378820 692017748 629282114 452843774 849329176 529010172 129646724 368919980 232472882 589696570 833493490 212747590 791192460 256660960 600862498 993897308 327441136 30781706 223802398 984781540 262563062 29805504 424371482 838235334 937797348 924323206 340031888 924841038 402070118 235621608 418623200 59866434 921673234 328827100 984036586 948067386 632112278 319793188 478974640 550545776 377553778 727006568 246870090 242005458 733427374 862690428 188818230 300307568 737512104 475587046 371306862 601756762 34240780 240445154 33279776 761187214 728361608 905516968 325948632 491912352 584533604 646058736 901637320 513296906 469654442 76710194 126053304 472682504 170950426 734554612 294109884 58250574 229225642 336237956 623344400 291697060 770427198 162562096 401895128 153878670 977492968 503956412 69764168 485243780 817966416 498975782 149129592 877915828 362720348 404764406 333451754 395823096 16495610 812475836 782268490 672254040 805042556 870148454 959931248 339944706 561579602 723788092 940119218 802705410 52759136 526206834 331457892 852659734 647068988 270149646 708403112 118023676 765819700 754352956 76368286 819604526 251632800 183437076 812161608 702755906 955756730 545402678 31439176 903683958 357823554 718884606 841798954 698707576 880335010 571594302 746795302 464899926 668878082 254359112 613343494 651633284 255520832 901836828 828308222 367076962 869747250 128282570 831222610 183241872 956878420 793451732 42155826 947382744 811428156 802167958 820292202 528872240 25076882 393946002 247142946 382184036 65969240 72536544 285461372 689746918 127957278 148811248 560086926 866928648 10213746 429507026 347213390 967606558 396861762 420743392 599245006 22223928 525642846 474756376 934937250 423114150 427571252 546542432 764654952 246077246 996479090 441898652 236022650 192909300 37162104 864236848 488227698 612400864 97550678 944656400 487857700 248923228 358683936 308596232 683755988 365983876 539782892 488399970 967289662 994414958 53442380 210637764 259693056 893659544 443447122 40768316 163923042 596844938 828235900 53262078 87754568 860351568 708697298 799089364 866731736 596474788 686238590 393046352 797968504 363830352 820336876 77199108 115545040 585739352 774538176 513908346 48393618 399005466 509621818 685200174 421960302 302855652 15542946 349103120 459991124 387880146 793175168 648834550 616848770 99156662 479952044 123735272 452440228 91933716 435057836 941308534 629250672 5938244 872246844 988653746 961385248 831602516 65921528 916084712 881101092 742723414 349940966 624143794 338160360 669705858 376935272 615010302 167203998 837020628 915639690 301602270 548574602 440297132 402913410 266213694 634911166 10432014 566195402 982328516 947957400 221739172 234944346 882637830 313043532 106385714 819499994 161072656 101649152 48206078 986922180 271141128 566836850 423042190 554856904 265450420 746487110 638592984 750875964 204917152 902894044 412778456 95645904 179210018 353824604 427513510 31657496 686205978 295701174 579079504 982181880 575376496 250860972 99297708 900675516 277159564 951334774 626299754 804799206 205285348 274530718 560130882 166533510 287687658 912862974 272360300 49813518 898631956 201805000 810652858 687602666 621226024 911693504 621727358 191713732 455363236 5368086 281627576 887680912 583941488 975993570 824659352 550367398 769430042 105901732 513130632 545525446 728724540 108427420 334634538 462513840 201453826 71358904 806245492 311327186 117802198 548795156 265719084 468020664 353861848 960940990 278064150 593285380 139608732 288514526 66133782 766820442 304589300 750783962 369746390 829294124 581263520 494521378 811804672 861145448 396023156 273722456 411792578 178774150 993378016 342837896 801006784 170522300 421143744 656297508 84193250 705073656 382966238 462524580 995948410 934979250 170464034 36468788 720805016 565615682 173233666 735931138 201817998 230878970 533982400 704824474 976674464 913882286 537171646 540764550 286110420 891859712 741768586 989992594 447565364 311291812 883520818 847800050 897521506 890441192 575295534 349646496 202740362 677898460 518356688 423568686 475069604 539408398 72653268 360381200 383278842 684541540 611952718 144146500 930466400 96605792 411483416 904964038 800843042 453652198 413178020 693224722 235714276 253108360 377814666 869330006 436342518 885869066 143359932 716966888 541399052 608351788 770796524 994187724 185212738 331980560 935309900 410161260 433447774 153035136 769437498 628059054 728558594 106017596 201523206 728580232 163774760 600960524 541986680 898315284 460844542 262395098 456543912 523332502 903903968 593030404 555839582 460630902 278625468 310430536 886124658 756137224 279890864 567530682 2024200 220428200 533530486 159908762 922785056 358994612 700388820 72744202 549159916 492612668 540096166 462624404 492387258 344782476 306460004 362432618 202464440 150363738 151573220 408374742 635328838 210209422 666662242 865361808 41966882 284992502 436971942 807077064 680055540 231101578 601089348 871481596 333155830 244763006 12640810 983012342 559390220 520230908 689713604 245974480 686899838 338865972 788599026 244394466 867801868 325256318 842155294 546547260 415506720 254581524 396425704 432515044 302261228 828903118 962184172 510078284 111340918 180504650 19297504 590311440 814397866 429514802 670137686 565371970 670548070 437577424 985121236 381201680 748846638 163470022 212172142 689225244 139397912 753762444 174474068 999904400 767172734 726481000 64181874 417455572 933353916 115424538 687971736 643260506 263496504 997912354 685694038 328949890 338268010 434273758 865916394 248843722 376744030 939703066 694825316 541923636 894406428 149985010 304913006 639945436 640953356 605785492 338320092 731016476 455113674 436444120 961941184 890417576 270771914 628491396 437800554 403057340 276579638 986723502 400366086 827919282 80384614 494397558 485253684 69696600 347177296 188865852 906813580 752594294 78292524 951087256 425048962 1661748 344089126 496655972 184979338 327217356 594388802 937350206 842547940 809791380 898873992 133508526 913978616 836190686 226876402 726169724 657958956 694553462 163045714 632929344 63728232 455516260 243924612 370744760 766171854 705055690 423205874 692548310 126279900 606667726 964899254 640780418 577381638 583032940 919107448 224235626 915628250 477222222 347821402 734092228 13265844 773756284 153486250 685182562 569265010 8964946 231081260 185996572 530908864 331226530 296731024 172165100 487092612 274063796 572727446 368155126 160129150 435649268 923079058 429668430 211447744 612689732 683071044 94614888 275560150 289599244 684741366 53438262 549936920 200105734 785278058 482555550 548678570 442034356 268976216 366186178 552333106 294236752 435380140 818046698 795204664 328860398 391079768 676111830 835355202 638498402 549775880 978423278 86758908 910078122 157572076 995686814 905239812 294657580 522180214 114545644 468501486 282169592 659753678 672549218 150941624 817718204 471451846 685057428 553392202 257691328 344543394 433978974 821936650 99713006 227297442 928865344 521176568 862809974 580527982 136050194 515474980 151725822 97689594 324471784 740044070 887708664 491198078 874370110 201065068 436633492 877891194 65504740 635843524 657377562 864834094 195642578 200413676 73999566 76989918 249692124 173323768 916780066 638010274 711144528 601807812 12336958 111047586 370474388 644269370 493199986 463509640 943944616 463958834 819241106 755273724 959170230 415243228 18032284 895600524 624600574 138595934 890085292 757132156 588119414 747933772 603426058 730917114 164729816 743030774 865136350 113328244 387043846 120591132 826027132 372277338 23752578 43548134 640090534 158835700 476338674 294530862 225005114 301350884 411468492 655760700 620188906 650217080 368567406 348765296 328041714 467953156 343698672 616974024 754206078 434225326 809763602 787042200 496723082 704797628 681586070 602449242 737022428 301099952 850990394 587165008 455812890 310207262 5292938 589203134 727047844 876546972 976955198 553594162 546826932 234592744 16433518 793185304 282587264 17815234 29481698 638904870 407197122 81131558 365265148 754040754 512324172 870674628 783305558 123967984 202638622 872175058 712173710 983502992 495104234 515508408 6638758 993402404 479800006 797828704 903422692 347077530 49963114 878690892 992698998 200784132 166676580 913702536 827129656 606342918 275193816 447639238 822819872 39848608 848934194 790134762 198365900 98867928 477276010 630067338 395300482 416554658 268335674 578738884 222927278 17345116 745615850 415600824 235528034 177763100 305418092 424404490 158162610 495990218 834089094 168614650 135834176 413220122 182074708 884525290 878567494 99224628 223261902 176521212 915756950 417559586 711694680 874758328 988625252 637802520 737206342 374128382 364003636 608994542 833119566 48754110 388981790 852614332 744266976 733909862 303746000 290355278 950532950 123098914 217290886 283787172 697727260 756567798 790435522 798998152 195230436 637707098 173376830 97917170 181243094 102662182 36866126 357361842 493489518 445542994 286188196 711004228 111973618 819886316 344996088 567384656 929059472 999594198 34826568 312554974 288569876 498026548 76814268 927866406 461952836 335212596 553180118 438149038 686555986 998889198 697127626 27308854 29301576 232989292 470479112 121469826 144738554 337388996 663251458 431308954 200427882 236593734 77090414 327588526 590011642 522803382 755881216 381306062 233220298 457759638 35778734 608881106 202330256 802386012 464363482 123304122 581559380 479234814 497848894 481068130 994537168 606479220 443544846 640070032 861137462 671419244 779141460 75121444 941711322 353263090 571742290 879941284 777213992 49223090 941628074 461560480 828801276 98994672 237190230 168508468 26109636 575031878 872709362 873812894 989131466 319594052 819054374 253095616 506988392 132642234 117464458 437743042 982774492 144198062 926080746 388103078 946185750 146530138 671786832 717654564 47296554 802984548 980157626 792376614 103597408 577533298 936527768 270762578 626589128 269807406 902613990 260365748 439742988 63001674 281277056 549643274 349588458 330984194 499762746 165017372 356139776 264202438 650120950 506335416 773242484 673046904 798667700 180954356 959679626 72283254 458479962 16635806 944052714 812513068 116064430 759492250 663712576 181128944 97584794 491097734 850488512 156118866 988424334 804355572 869930436 351397574 56508094 3864334 830373308 441659238 755322548 975410132 423107702 229350854 222808592 771323210 327202244 642067734 116760238 956126644 164373052 650211842 354141398 966861842 507048592 21521626 800870466 751156778 755161424 368524526 760473632 56895944 388832284 750544944 737414830 390833380 474195888 706650160 621033932 513127250 319717392 999361908 151615990 561305722 583716996 842282890 321954992 482849922 803691722 958153780 807866448 516922164 223444800 366402332 712590912 528981798 394783600 130559360 900364816 916518316 316470326 129122616 236702858 425152496 598639658 181068956 221638712 883343480 90908324 333340976 99453984 823583062 330145862 199923948 678960184 147103680 904639136 290334796 194430240 535423030 129586862 603978812 295873496 50582146 883411658 703650374 108577562 506916752 43867234 998968752 220002956 276908408 576907180 651276258 566242798 228657694 843445002 317251118 822836860 343480040 384015220 295333660 439015232 33875498 248313704 720863004 328397354 149883906 890811218 874912522 416961366 196915022 184775266 959755554 835484128 806502410 370414462 673299100 527464806 41559698 783874918 312360270 946800678 298298782 434286580 445822742 362609118 874205582 456526562 167274336 61728342 153045776 770820378 878088152 50063866 655502972 659420612 46287380 652921212 476329668 750283446 140598822 735777970 174831760 418085636 267776970 632375514 541710268 801254724 928813970 798352434 496841634 507146052 904173090 478822318 197985624 773623608 31382946 780216746 51295416 800195060 622342518 659726440 774513650 134900150 990425974 266221560 921346742 987454592 444761430 118029654 118186216 150576638 147043196 464804044 685394096 502084300 465207168 28435654 951320022 901884192 650806858 356132414 190180312 351822646 929994338 921860274 161766560 799070694 305655154 534874012 231467236 119721966 959422868 210111770 664741206 387590214 215068244 44394560 927028964 405082788 324879412 634375978 392304228 722372464 617726836 244307532 10867698 937680182 462200850 705012226 903471538 274013236 949780602 54007092 15587076 391305232 403846056 695279674 771520608 530075946 803085132 704643318 183555952 236337030 758376870 426170136 79206588 369417596 34990376 852579252 222371130 491458964 217589550 322845632 619188450 833434840 448601364 748190432 165131878 334296904 248664746 300550142 935582636 222900868 668063064 607486990 373642672 479596828 618170528 612079892 461227920 635392724 35490834 386138190 622227034 280260860 926746342 560417682 119723790 405034834 6949780 623913178 593284436 124550452 756559516 104086994 124198396 660482964 30170368 760696412 497461672 303647450 681315590 514967240 627476486 219302284 596129842 352123398 695730940 392504620 868633060 771814950 977312786 580824010 663964544 789325502 343834306 864336594 531700434 735828776 996706346 581954306 827629168 388344698 521321260 362589192 805512692 395697278 900627052 383918638 339510134 480188138 557039790 577600952 658332392 181131560 477030298 635251548 715272834 270888158 689978716 835289254 45329944 125477096 979675578 761318992 293921270 358673536 638206846 286101386 934122180 130406320 449996972 759322138 114662744 287751510 639174094 713701004 254265772 103172154 665687208 33961784 922270602 494887774 21620078 11841760 55614538 33928312 942139408 710175820 986293686 372509984 14689636 770288360 776303182 204017896 124733442 256215932 721173586 883424122 327727602 256495662 627108100 236330884 561479428 19969140 442110400 356810416 900473390 10804010 599904744 593156098 874682012 316992758 324776686 957425242 299080252 324339948 535142990 476784320 467660054 650875130 791699408 365668428 258646880 891510802 446377750 176387232 482124340 524792158 178725800 783139998 82925026 801169692 107095504 960857060 294125978 676819996 924050806 310284356 4617378 113055088 251761054 987250894 364561208 268442688 82581838 834549258 747349010 914682516 897856402 717026048 737911784 145890828 331894310 969439348 134496812 702406184 476771194 242745662 595995968 753806230 52471664 213518290 71144142 447804450 308849322 674924260 195308752 714203690 304841222 216101724 327727158 362036348 781424300 152829876 808826202 825093848 773173094 676068836 37116018 58477596 1896752 348076158 758405836 559586656 854743332 208092608 31422440 354656192 593784898 541209352 90225586 377637396 827223620 814694906 728071880 796254878 750559928 575502286 613059760 390749918 305961782 815698426 612529736 482728644 32379244 682976270 992701294 931809724 65988 654025992 762166566 229342298 44916690 489270192 389183892 157347510 457370730 929981910 493508818 594037136 509832510 959774392 170443420 232582546 984644438 940047690 924263992 380989354 107018798 882818304 939260654 125621916 854464164 793584440 608049456 57261918 903073548 407247264 969951732 306539108 66113310 904007992 424789248 521138404 397141212 298068348 928619166 141543082 721330124 485926698 101485868 796644408 753490656 676770690 376358660 414982310 922795254 55502896 856982136 708761860 523845014 606215194 450694380 669595698 738914146 152471474 447714838 974142952 906206612 365059740 986963066 84830588 514771554 55381498 13347536 616774398 263071292 39303416 26151450 944617454 350003890 72691420 573791434 675912262 995247596 887602294 166872878 733605036 689667922 933481296 74386496 780970840 942316942 594856308 352707870 984740264 796159892 401843440 256286954 752805614 578682900 950163280 89211032 490151402 195911208 259318616 213424970 767612688 202769356 501197292 428393524 708465162 106632092 389615624 255812602 507354072 206623260 382152276 784384400 909947430 282129336 455717462 830129914 960108740 639920192 627881286 806685528 14078020 521406214 29279404 328439208 8308512 970915970 699698028 556373400 592474292 670988298 957873800 823091420 792940754 129455598 264135990 946651826 881889660 920750778 619990110 817435988 315632298 503189802 504083924 638280724 806974972 745744812 853074160 203745770 624027816 160583812 63692004 247682454 192879972 120981926 219985118 935212768 725287560 686302850 596785122 951628326 16088802 864330632 580846620 869946970 811618306 813229574 969580000 942167572 919435030 666009538 644858548 748841656 14114758 413576076 287511128 892594460 879276574 747692954 462493320 442450080 308454144 850185662 680254370 74495206 970566092 269520272 720617472 278952788 738123570 201399370 458165728 583247392 298863264 163940484 415825752 673202348 94442298 577901614 733851494 914241142 835070108 567374718 15747054 12185126 407616720 329986684 628931858 911147180 586132878 55985294 578496862 285201888 716533212 603044692 135868482 484566950 378880098 603460776 409615944 150563726 599288062 872631470 907722148 937478140 170332890 824436810 155851656 848744436 337766420 502439476 489123432 658497842 885550262 46837806 999337122 6430190 800996100 184907132 428357200 476820360 28092740 836316684 405476798 45734042 442631970 798845106 24196674 337374840 110961332 679850682 950488690 660802018 684302502 659983314 463935898 287243284 388917966 24083610 580944782 601726086 743697600 523406498 904051350 350845590 920386552 501097616 361679428 188361820 96580786 520132646 960771900 89593066 969633970 817414812 904737394 610222160 435724158 169440408 916321704 127523986 71955656 807833448 715329844 46731510 66636726 743301040 162316932 576769002 287743048 722155814 643011198 233704346 962552218 524429874 167590948 144381244 356471160 162738604 187129226 425732576 702944788 374011662 179568732 538998728 892357840 581337972 380494244 291899992 282457832 246810064 871708494 321903146 936043588 680474818 672760428 98063280 164640532 250439536 888527824 65141176 907848216 539973132 636338288 248808438 81045260 151563064 977520692 865034684 47996354 884465664 454115774 227867956 141274128 501768706 386096062 438911612 794006258 68905174 307258572 982116400 883172998 631282360 577041516 909337346 26120506 572542362 142316946 511865312 868390078 408715188 511845512 715684314 591970524 526258614 225620822 600012710 558193912 130585540 410027336 615027756 213117670 778732844 678667190 105365426 407982714 497402710 833857106 962308924 629969850 733899032 874155920 134763738 739427798 250975288 552233694 755307458 493522446 989895434 621324838 273034032 796211918 200389962 863005676 694505604 355087972 711781066 177816108 878394642 882343448 82635946 362068262 613530546 441477778 403396958 88761048 989215554 624852564 597391886 601772494 558291200 557227580 237011682 698238136 182388020 432583024 487101152 69808156 502694674 175954534 222544506 572050132 732355548 772621274 801783828 490362164 597568500 635734442 720741656 122438948 643081748 465390444 249212532 837574986 668213358 548790900 651200310 439071874 785840198 283431896 232315276 687347012 168988560 702830184 938034288 72808988 115010570 698696026 925052870 494908056 139132370 643215848 61931938 834048844 660585770 887412962 273615876 400982598 480197846 791627286 735794916 549053956 307650726 692310152 724424310 348135140 213336096 91211258 865439530 819030698 32962408 577117284 3874234 412987206 288755642 129097420 889983932 169703648 481714146 490487228 356718928 886620272 763749674 11353516 887046372 273129806 179405504 427439398 837811406 821266444 311984952 421259006 319973676 997293732 259536026 870165336 901833078 841822230 722326706 802715546 301819012 259128182 605938678 421908208 205844860 898564414 376417006 496988934 840231670 616683646 758926252 714247384 963386860 706370234 468393468 712323106 221492136 75486260 861368864 135228588 921028860 345741310 804671696 784768208 706007534 352438190 86509594 14674414 614113280 290299442 767622376 169028862 618744156 120262198 619294974 630371782 483041426 88336088 499938026 408603844 461378202 938559098 992537578 833776454 193558548 2627612 749092152 70809986 236221604 887720154 152503780 634501480 14848918 507071276 79687892 187182706 125092388 700123998 739863778 614892400 891670214 167997596 80062138 342963392 745365510 537735630 271247794 886529000 106602722 705652958 818655074 804914458 420272772 753093414 527746952 411951726 827051960 959089776 194032488 734393080 839659676 104421132 568455638 219167110 173141146 126474206 259286590 818002424 80738960 292854582 383588762 632411340 172284702 732172156 152794382 277609836 430845522 154872464 212185162 284016568 791072880 745315310 592143524 369917268 477565810 528089620 653544482 769452278 293550962 467701076 448006974 140481794 248326976 736314238 86418698 6963390 483939516 43941450 601026414 454552072 526248270 985997602 910741282 667460090 605891552 829056572 101142408 34177622 807449850 187619300 354330670 13313460 859803316 103398748 811648032 419428150 23672798 680515878 733975336 226146158 484759080 391854516 356324374 286560364 458454540 430107846 104530936 743922176 468519844 512429504 236013022 582400360 939033114 215035492 593095002 758577668 476856518 390739476 941630520 366932076 602411438 840103398 865016090 369525612 380091608 859072118 689000718 259365046 605956182 276712250 286534030 255064206 597087030 684987356 501627824 602731522 781750012 806264208 324866914 977667916 842444990 717541378 68726594 912290842 445401872 50072692 461414358 726217564 936384050 460773662 982810668 539973198 360941220 457096078 932571100 134659654 765130010 702802274 435157618 892309246 819969026 521923744 898701944 906021136 112351244 564410892 955303852 379786300 759840792 333835182 605626126 383926470 522140806 959085964 802339038 557440716 960676856 142417070 78094572 987891014 775886100 467409738 84630694 45589810 664644802 522952740 365000416 800133840 726910428 20738890 781879916 150050566 867306028 493270168 468646974 711829338 340280420 206464706 722324 161697488 491595842 69651620 93979850 71146778 511024944 177312026 610710016 478392894 680269194 759429328 542227156 138520106 426537040 871902784 481078170 697686732 771151186 559450404 427952264 633671640 257569208 112380890 124467496 44868836 811044264 837723544 729259516 927592054 127337494 847683738 108289000 52793758 716697532 743697402 700957186 209868566 153842848 950139682 534183106 118342452 588182176 774878758 277709828 83639096 274614828 231207670 695280130 10058348 992740824 633666282 746254404 177877134 174591416 88539444 462152138 77489640 758385854 452386294 354851204 888662958 602898712 910259718 628016394 424123268 572686690 853578634 225645342 549976290 630295070 999736568 759080320 865552596 437053618 315479054 42770682 468453450 641398068 30613580 476219252 884209036 739487116 369887644 222878652 336786434 663515088 93463040 762380662 737565922 760818918 20163344 261547354 412244682 491428636 197309538 372074816 481493058 906365904 216842624 953065318 284721672 577758268 167997510 430116278 375394906 164651906 666060076 307741974 253869642 16927184 163057342 525317792 535880974 121528018 634952446 293662728 479847632 737367582 378211042 89723934 160047688 262397382 885379436 578474734 508534202 735669562 474270348 763296906 596624294 366737258 609513372 900777900 921163466 821661292 188173878 511180754 332946266 711613002 845534948 36752816 654492708 917495754 961285022 886993496 97106640 854122 662137584 442762008 245584394 926475972 516226162 321251852 455024898 938250506 780060992 351082868 670342990 644417236 916699874 321533444 393047524 328092054 914897810 344680590 179047030 182534080 807459424 233555768 11777910 878670996 198785616 890092400 372481510 522924482 477638186 646668394 253566912 534606730 80768036 862978094 73205174 16645780 739667242 718270816 230096252 715233432 743327762 238361286 349587574 833768334 579693124 75117118 107927030 642867930 218054962 241024152 466648610 186725888 784357156 901912516 278072980 642322394 759997632 632788292 735073350 257404108 318782378 273362442 831173646 873680116 103808026 409851130 304353820 356897182 479863150 84527200 374051818 505324126 979581644 326045242 972939174 278116980 108641932 654716818 712813112 887526054 88603086 833205628 325815198 472035364 989513358 11365180 495735588 117169216 800187472 903058496 294730282 102471900 302795722 209911850 282133728 545808232 401446712 231319244 6566394 223019324 569644634 482956980 303177344 379619496 5729818 968261222 573753780 539061892 678274536 663121040 86950654 577623800 758278886 16905312 593938678 978478984 986466462 612733348 308958772 417743564 274211266 989274760 405304266 785353086 337671734 965708718 278084242 842974704 409585046 680130480 92585660 809342430 715907378 749169000 189859308 196619776 719911880 684406632 483424326 296453116 146243590 207732716 30824876 376740942 693498284 736341414 599141646 821450004 13679352 565690716 466337490 640508570 324517760 512646730 12793232 982052904 613556918 856119478 180686604 103532456 990789168 842535150 382660638 789725230 923493462 894324474 378017908 822092928 347101980 241731998 792088116 342644328 661002448 432657944 752756106 728170354 660937250 996221232 59292346 396718986 491115494 818259582 68287582 885894330 782942686 866782542 198743170 398491516 176300762 174126616 406930262 275024252 455117590 356596456 511228822 228330984 846858726 443209664 826438368 158777858 288380302 593901030 632278304 541168834 146556462 853767732 478932758 842294592 681582812 839283858 206621728 828057428 10917846 232330258 397711366 80087478 349580300 764278108 203565058 67697350 218566476 745419250 123370386 551582110 510828218 973645904 546387260 480111568 297628194 677487966 747847492 476133232 121320800 507639160 867462804 775123594 903786654 956583598 997469598 742800648 473616200 726636338 820739310 783068588 466682642 611207602 136747506 834761776 792302818 926131720 366626372 170076736 287089938 214107204 622172094 592479336 712834818 626447960 122312288 183163516 243077608 942519534 210362370 202707968 377183942 126085218 623455820 157793184 957012172 465542434 454278630 286819596 206936812 175215796 103396238 835043204 226372222 970052854 804935084 944570238 941304096 508021590 974157460 120068912 40735398 648409258 620752678 321835256 226992218 688380532 332701124 795015008 743412094 616642840 390347312 122473072 552044974 393818952 214289480 744285024 576411862 345394880 44233502 538116710 965703186 680097942 822895552 454200866 476315082 337692652 190689724 176306984 689092002 717057746 127264294 272343326 146562180 14883024 181892144 589995720 877133934 534755028 549905414 400654038 303433526 407253782 380212972 428057408 528706872 782518064 15215984 939586458 256201708 74928856 289768476 844110688 739605758 772765128 908602892 130702992 797631450 454690122 585752686 334582144 629752300 540918456 611586632 96316524 526847888 382694374 870457200 927369544 529961106 157276634 544110338 867325158 250553678 175075048 90181408 103501384 798366946 785970498 379932666 74105106 936291492 486062594 69445538 421696054 163056250 164964450 785966506 567515228 874430452 342593044 778026442 969987674 865695850 24521524 91702224 351388354 9489008 836487864 675876508 635532242 916342602 523743346 166373268 788652530 825596306 149239154 924762184 755943104 994508174 395877470 72849636 487428456 193678482 228177914 466830124 351172354 819746604 184278108 435878930 49086516 896919078 221460586 152022862 104691668 919382992 378556980 588867380 57743904 785562436 226816436 329076032 714379058 204719750 828309160 215854908 852068966 450925894 407289308 186590168 244038160 169351402 627534874 986787776 649440562 788401538 100952624 347312470 473258800 771300074 915616838 903013636 796516828 98376696 100863258 234682388 804509270 107669606 631366756 951485658 656119762 461144918 681593006 439680536 959781334 403694476 204368928 313467708 466974872 762276186 535184856 401809768 452766212 399825446 361927358 325392386 336672912 453515980 494264080 849609584 483990582 19947560 858339860 697361252 357988042 292264938 640530080 409602610 808301750 517276868 386385510 5873072 572999220 319535422 25356898 47603780 973829554 224603730 402450806 977551370 641105832 835198576 381856604 577390506 406088888 84261076 263911236 480458590 992263862 765929126 602803810 960221912 77399598 262916194 431945396 600653210 339140020 849936728 796134152 660290536 314773672 473238630 213155006 737557064 209155900 941257374 426820304 896344878 293742766 4057446 268446300 951360990 23215604 348213640 997370694 609601302 340427322 526025366 115370024 683967856 321021474 21559122 679559236 612433802 882293350 697280270 475073206 13112370 183909052 257404010 48324834 674798716 653552330 310656190 112917344 630557524 445875410 766462032 212730190 26258884 743702238 404207626 899458944 430036630 40308988 72802712 416059084 354904204 451028978 572390240 985929266 659675894 11486084 290498354 283191366 407876296 881584104 96553320 310460610 328059466 169957132 448326532 52971950 838831526 425170748 959311944 778306324 352852432 510509340 982661790 351015454 455553834 927957980 907657034 464208884 546208878 644331766 878442010 923752740 235861768 640563812 308051244 697435088 594692 339639706 5096550 524963898 978486868 710586956 534542958 693596826 964793598 566812708 595434430 696881390 461276980 448211598 770209808 896635338 626619962 454121760 705643326 655056386 356943338 716663312 934346276 519092944 281004332 120334252 906630108 513936752 680415810 783346932 619239424 363054036 505200286 704546778 905239764 884303728 291454202 548065818 405063420 248157966 662202620 945170118 590623158 719464156 418315118 175938598 130857956 106729878 628722348 570026832 11629172 288583632 317837704 477532154 739975270 126676218 703985048 208369580 659596030 69799548 129213604 853331044 871770188 371701438 431925142 262732672 260142424 271402186 197599744 228109658 856036746 958727684 759403668 227239858 88324020 334540798 984354340 737541724 30943950 172986334 645637794 331556916 745660364 695977124 154893376 619137118 307152818 720006352 79493176 933409068 397970274 85441206 880493352 668379294 392065160 210029066 205844882 985868202 682303294 697763336 523690212 455475940 188601610 97293634 866655884 987401450 630319346 347259840 252496250 181452020 528417398 211987128 366737822 775743152 647859340 596132558 987782240 96537308 495766044 188342090 536313640 286506010 698531828 45355774 718014120 395560038 789921248 266713552 213049066 939868374 44344706 431396500 63647604 156893562 52371754 121574840 156741472 484989840 761775714 898891878 974118548 604448670 284495956 248049748 894498960 881818078 922969826 61960432 983756272 937012514 671170722 171190770 976585672 109496624 602025182 498825400 953374410 444619796 498506034 161288624 629733632 555209170 902560962 763559818 833167036 345314422 441032026 325453688 255334054 958395626 228137872 601311886 764613640 484887198 819209650 613158464 539852818 93085042 579252028 125938922 885256564 548257926 718465838 608887866 508716708 502193346 368340446 305401740 448537552 620092188 399985708 202071050 341655280 502513516 538841178 712206982 63291462 153158310 486178030 759055112 668474622 48259030 733788224 724621760 951618092 566140448 114297732 197560560 569438530 739195152 800589418 438806998 927794568 259588250 613804350 944627172 117451166 763965360 786635690 637221324 20253414 405178450 396189572 150997994 365523216 916999776 259134092 587109788 310017296 385372230 930868364 85528984 734007368 727373020 660984528 428411830 631551138 617456044 158506632 130534364 228784310 575580586 289842576 896869120 183233274 215608366 651300038 65447876 436281000 24575434 818538688 884406376 701426534 133514202 909154360 19539584 790205346 129055532 992542412 559303956 980924198 429685644 623283306 755171224 435275264 921310382 427100560 852604214 833808236 310844770 453707616 675705698 59836662 148851970 250548430 550542352 942519426 899853568 852032926 199311908 913347814 887673430 493745208 242856132 165195694 433261338 938704756 55085872 985487724 480985376 778303452 733056250 50185234 162855614 854182184 816337908 348097244 598538236 115701928 918991092 827153572 593624424 299329468 172681206 772847860 768048864 276434370 736411678 94405692 429879048 763326862 187254314 781286488 769785564 266145016 176819190 144419438 585296636 27848710 137534548 997120482 2799090 434868260 938953870 391951442 867474656 629012448 416541746 50951006 410702926 906449434 801474336 262161844 528357224 329145248 647383008 522224792 475441704 17153394 20634164 448625402 137779692 38977588 398024492 49810698 473823114 771231332 857484738 671427790 447353834 493674538 564056876 470595492 735220072 781829040 95041266 548053678 412186414 165578432 132732044 52292352 188351284 942923682 348207504 102402380 689239422 173007300 990430822 938627806 807243936 971602954 962609252 518127494 400428552 310609066 980578702 686094874 729692684 407964350 621096242 683929612 152292828 26455230 465343246 486926794 473948300 714605046 480543656 811533162 421025402 78288532 643613838 849646118 982634336 411436562 929137798 964314028 596431962 206266292 135659428 742222252 773060528 828778712 27713816 298768890 853705626 94876922 824589618 205940912 833601808 668551412 387884822 718604032 832714686 120072584 763685722 707977868 370827194 242042102 333752636 388938772 791035388 527409998 428312870 15042948 604802918 130697430 662808916 195495444 719948596 25084402 310579528 66624924 800927998 61566320 166644574 211176862 187879280 285428490 357005144 604306098 146988826 698558740 534706996 433917790 941928536 781005928 992736370 773601514 542011680 359477488 581683376 887370376 793718304 319642170 853218762 503964216 742668014 305743192 728753998 273553474 115607564 755119850 350990112 410142238 118181724 182411182 513426904 27547574 422902502 926105336 932281192 628411772 845712906 442363726 68311962 566675904 357962856 489133424 698418256 273650520 303427972 886812404 392091940 119402400 391031594 627648014 633901208 43637690 811288620 277815864 691077676 888852114 817233292 967574578 773934790 143460620 950537908 858570076 153273050 383785206 657926042 990562992 262649466 820249646 793608354 196714054 769855886 424169920 529121788 645855480 958502820 713300344 94321772 955357218 436187516 934395648 805876048 838679388 801057450 128112310 36669026 269646074 446651940 915731634 327595886 378286352 692989286 765837484 613791202 672531552 491521602 111907230 723896992 626606340 304183532 54743646 993587612 223124950 361616576 665317990 751313044 486933804 684647718 530928094 719270664 438203236 190211782 29973500 358042970 769357968 719600020 437222948 148329238 554042580 219628850 475599672 258956832 143172698 652375034 110516722 754577040 476110272 914289190 410008980 209136382 745199602 230548980 775501430 29378378 795177656 572605658 992340196 309145564 207827372 521370466 249857030 813704680 353977922 716006996 42105056 414098286 804054130 214815584 492168562 956741634 385597624 788378772 758950250 983635916 590086084 419257026 374598206 259835340 747354644 613343650 477527804 837967246 17041682 812808864 94335690 191745202 639694040 961014744 464953678 590952080 892001404 707351790 272591984 916790000 48872684 677613578 687744606 341547500 407754908 262383356 606948026 703726832 596905704 394235176 840694834 463072720 71429402 173137178 256562440 668795502 550045710 915592428 358232266 333986898 470222712 180541556 276869670 464292916 91241590 12590680 902294292 6243226 939122200 195958866 216891754 531342782 541424556 136724178 499635018 568604234 16682812 881973084 704149680 749190812 536821552 102433786 508733954 390038942 930665966 96531170 324126708 139319672 862029610 965621464 606155398 406193484 745570724 710000796 373019554 693462570 371586626 906202128 320101416 723427768 809038246 525195236 768978028 984080562 378152566 335210368 697070622 112819856 904349592 612537214 29638372 290489752 585682844 79242384 160284310 677619292 966621414 546797924 837899580 767880386 784570486 520034602 8272166 392802612 613312136 906129242 772584796 339680026 434517080 837952358 723047142 118227808 991363452 354842066 10961226 954575028 407478700 830073380 652969514 783186312 999512396 449683210 819144878 39936626 148353780 470171878 536349128 250331954 549193804 666474284 305658902 198530124 438865760 495991538 949667804 622582270 478272430 475046384 37351512 662821828 440634848 971073692 611905876 774358254 964768454 661289464 206158570 419177370 52566220 883469284 848310414 154272130 259072094 845103436 151141820 922414238 24435608 374831178 405412968 860084844 136347170 392799160 659192104 795772788 927638978 695562448 730608554 909469354 313154650 50038642 985549928 470999100 968469620 764498936 346160306 938494636 451545632 179992494 183399498 263061066 525975140 694438906 159064996 375823722 865425702 733860888 909426110 623652776 316126216 720679608 177016376 905871226 335036008 434339260 826138098 571591308 955006684 141633642 271790584 115525598 91661320 86542758 966786250 323587292 763241754 959706836 993345546 911360128 628848384 120252320 935921910 627660032 803829578 501273340 273391790 679372502 272389378 878087560 967158152 215180128 432139614 744142426 142622244 453440950 874132524 635793020 939590644 989934128 691876000 400843366 284304574 382594854 756629970 890994758 161226358 438127496 73059692 449171896 169611348 241828070 876995508 228275936 782034014 29555988 895842798 114008776 665282334 694680780 766747904 694743118 925800748 90913032 186175274 562088306 82637842 46349490 465824064 803322256 302441752 503335244 608443788 397443702 764346326 956124322 900915122 394917666 881008850 301056898 788090402 94081130 858397110 788939678 47590030 944785762 955364006 867544024 97642982 520958678 941186318 910480552 123770152 244033492 568940868 333336072 623333078 249432080 757135192 923062288 500381920 512184576 753008514 747808248 140067184 666251558 733458106 796218108 908840410 10453844 150265092 449526474 445593514 814333502 27350548 512493782 411350656 396000642 943026430 778852714 456137402 138320818 359818010 113325138 918904548 592318546 153670718 884747652 291899278 493702252 815731978 836650374 777745758 851068950 462341780 932360220 754417576 969077474 211195474 190920104 966149884 89072552 703673374 387084268 752675946 169507892 898748476 107435268 533729096 189142284 744708586 845444770 234470514 33125238 928927388 945107142 446253768 640319300 877785474 523031452 258277230 819749886 766268140 109589358 807696976 247292010 109243232 106548472 384790270 810635856 247216228 974766048 89481764 693428336 18224744 777923180 133298390 457509084 333854596 195863622 974981452 804835076 360036982 123553750 708551392 615669742 775906458 808855058 650873946 310615028 192916156 425403890 869834806 35871744 726569358 346248526 291589104 667067312 249944782 231936364 527927586 546619170 950826814 955644590 708690460 821413758 143232416 241668558 283793016 286889184 901719274 750883052 426650832 26321504 247190810 637352426 92674902 386605604 444087456 189502450 363213448 511945356 431938726 699263170 239457994 50818474 836536070 570779882 867443566 535386872 332914288 137873888 2209920 574726774 373871162 128890680 73622658 735189308 84699474 865684030 752633030 105216830 463064380 757649948 584955338 443840310 71133690 748278122 373000134 732391654 666861918 706790686 878226262 320154762 935685130 825041062 282368816 775851452 152241230 970276334 966888478 661735970 226652358 600090040 347753776 460303004 819019446 288474492 292373014 599760188 791351754 425394418 500409030 791056452 245635682 141973630 859641404 144707216 875151388 848520118 509819984 168213306 43375192 775534792 784204046 281991316 892984700 746317432 812365342 718107414 634577964 769701496 978966352 872898942 15042416 19824982 527723262 660421040 457019796 43661746 705297172 460914368 471114708 903144182 988537104 472091136 252677116 501348598 712222794 840390764 449687302 685986684 400268650 782344770 216158266 384555664 357561630 846489130 868794002 483894674 697441338 18750156 585329706 933367498 675255696 581300260 641271356 123026138 501744724 309440386 321700864 640740936 879493136 851036290 85500882 280891064 24216978 42345202 888631382 401940298 899982932 278434604 371973202 150383786 411754488 726828154 167425994 287907004 374105186 879305442 242819418 694951152 91537224 331316954 65541060 967202090 11575596 777278006 571856580 929233992 418279696 680131514 152961040 370091208 820508934 966571992 1979452 922969650 846775400 723629722 804160794 304956512 434817618 46745878 493666448 185752018 517984128 747603586 159960164 70883272 699156882 782326880 268608080 818076722 289978742 458451464 965296886 521937238 327369796 9855046 870289880 972238030 286912678 54417318 895937708 613647108 411746412 473369864 279919344 901840052 900545548 572024572 300298258 668293978 471957586 733569542 230334762 633424878 336562002 576315162 886301552 746853364 697404216 549978896 647681394 268229086 748595632 750199942 775279012 603076924 945790266 856968728 749086112 398775522 420578122 930455816 514098 28322896 361115700 675499198 184769932 207534874 15311714 879112552 193125986 517630008 999028618 376496984 610452880 940850730 361793656 980390894 955793268 573414550 853693800 665188470 503441990 191361746 178003056 782424518 871271538 268187042 230163044 369041576 525209266 377703262 125412082 441635852 580407938 174765338 673202082 340248804 805167432 104076994 534468466 827661562 222385126 309226350 764360530 786839602 3527896 173138280 458218974 253137864 471402090 859764462 560183006 843917376 937743354 635534614 374204456 816166910 902133358 881221460 252546582 835204028 639066108 77800666 906230406 699170722 745441384 924421560 988421966 632290710 380693772 847865086 462702288 526567662 39144118 424212662 961588620 196070560 355517714 915123724 843561470 395729122 907169338 622643682 120717940 36821380 434520016 908311070 512400058 197903272 69844826 125192100 599759632 797141892 191220290 774666570 369012688 277474692 304695982 509097796 237423664 19674860 958569406 125087464 254070138 85249216 377075602 583790056 730333392 996816354 682301582 159926586 663257582 166564348 103744202 349933380 575477564 195535302 830881228 353273094 960025850 417489084 65734484 442916810 408230654 54161844 380097952 488441752 636918784 244980456 719386312 110261126 607128954 98692328 694930998 8950344 926918012 791508184 73471788 247319332 893493654 586731670 180014946 684827630 291464010 205793246 126176752 867136220 676776510 151342580 332427562 931061882 344824558 769279276 429427844 990715918 431474916 183883456 595873372 301244042 29129206 412766864 33846434 864823888 954197174 968908918 518076846 261580748 51486580 836926352 898346800 459341684 251575812 949279584 21378822 658988366 934162166 523900678 662964042 287395856 529381334 452029064 989095218 145093094 207673250 967244682 658390726 956170478 839705136 27354886 108028580 133079684 893479640 141732818 767336038 524430232 264222196 871606582 598873242 374344806 307658186 501279254 441451138 48139896 657973626 802559230 768309602 552384016 796164610 86351678 901407022 741882938 930510414 553838766 23758818 629150074 77206924 994607930 718172098 853993344 61571066 830348632 948700678 164391024 905905066 685326296 314065820 417466176 357044096 290846476 265947886 312579110 582446920 779643172 424102106 773523956 510730598 655948286 506235064 752169580 526685998 370067406 268831176 645778710 271015488 820632998 73420874 770240240 269752270 966719964 833889358 80536220 116825172 621270696 951333322 517866566 653220266 271272708 201294676 755160336 990666368 262841052 228336184 665793438 3607904 99280170 680299562 724335362 976435886 340420872 840086152 526398424 144828886 93082368 790087584 678515036 651738004 645861328 278971852 173782590 639069838 539961426 919475114 176897664 911901954 268782366 486917892 457345100 147290176 494360122 660577712 317529520 189265282 637228516 530261076 13005832 240842304 71828702 821742178 909645150 719319430 249517914 497651916 123116420 20303680 922314426 405873690 863336162 922879488 594055004 366168260 297204616 712180490 202248454 246172810 800048140 92533436 980605070 919262972 404934504 486712508 53899118 560982052 998322198 290227504 9142580 157363548 539890274 662396298 212553332 58731806 287873182 348791422 119519048 845521112 266551636 805467044 876246660 60451762 874514106 122561404 213699626 114788988 7137162 473964588 818028946 415849816 5595874 268759746 176814308 284355970 639937090 430545584 896653996 101230528 148789544 544036020 783053818 342574308 540206656 930165176 749414930 615335726 8988268 450812348 779351538 367353518 554879442 10435130 984735116 89954444 390880940 408988994 172175960 71228390 143026520 689410272 604918224 410983296 789188646 207625204 659575156 918949180 485097104 965305702 949843982 159535488 195291598 711655950 276062076 906707158 219370284 515759992 226196548 170894734 371548700 309986928 202638736 741181002 221465384 698373178 943638630 748743778 567443466 340893724 149628680 182051904 863790978 846330086 670048710 276125704 772792448 385164270 763084608 273338394 88616104 267008570 630365480 55727298 103380064 655773890 402341536 843073050 868906464 262848600 826751552 886871802 698611336 24024180 99491558 681875928 499867226 336673238 550983042 56328348 634581590 594970888 531078718 497942586 871352318 189949558 701723814 854604442 318464004 299409374 415516646 430648484 798916224 803315670 682905836 831103330 962641406 582903948 978054146 202139762 608952546 558953802 778602472 429648200 726589312 991176514 232100156 919579060 404735670 665560366 903563348 650113702 865496334 689150494 78742402 68122000 110478172 595639026 597774958 695724880 332847192 915170352 63227034 542309686 898693324 977517640 595064306 389952772 192008310 195986538 796202246 669009394 766427476 62193678 146811978 221015712 856369484 40169752 293601130 130029870 653987930 902456164 933491098 636778172 284708674 66325932 40761810 795590806 165630136 750608384 898444124 642269912 672793188 483302918 522160066 726739468 385286974 572855190 71268724 270467052 986413940 557098138 308844306 557962476 621992494 686657884 359987420 430303642 871239474 696092594 870483360 570819874 109627860 665370594 339743348 517685996 819835420 363785132 838993840 132022616 41802190 122834152 842370156 656706896 686897644 926514560 329682650 175749482 364653008 225279826 645329572 499188906 706431290 66733490 785037574 126976216 253071690 513475872 804624776 667699510 117436378 726944652 381012710 645431892 669250418 391991754 719103310 570640260 736117562 424276524 162270646 924357982 517594478 879794968 23114868 719879462 212836188 11818856 552216700 790268194 980933624 486284546 737738642 997725724 528642412 831265972 537120142 602937716 175700132 618075770 254917922 327467910 753034882 427089810 594225434 265522884 891189672 960802778 569788070 924496144 856086978 276270508 57701460 949486898 318553230 877056516 195295330 753993644 388726654 628550886 772876126 668238076 595703686 609534700 325102682 261788052 813525950 525522026 396711630 761215434 437398448 536330176 960257986 493903478 691747194 324015618 678237314 831581194 944996776 217378128 148418722 114230460 158494064 706384864 809206794 758478080 437481458 620781352 336716710 736035930 830604560 708873586 96532340 832345570 390565458 521107398 276184414 121088750 400546612 773617498 495488894 891898860 892729898 894381930 55384800 341429350 154086084 650302458 300525112 242023580 921207836 593135794 261015794 631417162 436614994 985020350 89887766 751139852 18025262 776263642 101318748 276490888 132009154 705320228 720833230 33882368 647362008 968225506 382855382 440133298 923351038 750666782 489238754 578897040 827136034 306607120 810191568 751380414 885719262 541444378 737303174 637103660 520372656 724224870 200965458 608568428 83601192 693411986 347404856 81316942 567777990 779347128 26320772 498104378 804710076 147103664 344781456 116278292 403463610 805461164 998995838 856367164 916341488 574359696 29535400 913938316 892413178 788620630 263519888 542973076 188682626 834793642 142933580 798416502 880678448 383563942 101374398 409196578 696000964 93984870 9038894 108753652 65510102 720168226 226104880 814128250 949516092 712052074 529215080 797210770 611085446 97017532 823687538 138791552 993776824 571319412 121210110 424868956 881842154 51928574 683502744 962910956 198708142 45831956 91119940 526516012 672585332 661088126 235139166 448250036 361181712 448466916 879904318 718914720 435138622 386391186 191660268 798436980 615713702 699828202 778410496 643824140 635040534 525921948 862317130 682538620 44208090 374780250 210444464 285194228 297279756 906193318 207912140 15227804 539718720 425886334 377372582 421909760 367184538 876129616 992092678 891475738 155738998 811728502 697008052 336207956 560949652 331279062 32720638 573364818 105584806 599114468 995248312 76388706 863803198 246453680 347957776 856746708 705572532 642691380 592880202 667912350 154957580 562532486 837557146 573590864 949570076 293680124 845184126 74160586 681925762 593265422 29873472 199790608 283718632 299255042 801433282 81499742 226418846 489299592 770363936 302520104 660820704 936040546 595579336 532035832 318656444 927046024 875789168 709673888 338079592 572012620 803987386 796938160 857526328 838350874 580798202 741812914 699890762 932837490 493447514 386947718 438639254 685991986 782033284 797974866 28865504 43291962 242746520 201955686 699710672 711141140 697951500 545859340 54115494 235963980 651614274 639639662 346335432 455607908 366159522 160549724 225334422 575137750 860680996 807781636 80850718 320356660 585134008 792839032 794194750 311748022 986667470 444380954 290057034 795401384 643763328 160431916 978613568 993372328 414230394 735400718 900330362 307239816 695479592 555068420 426874128 863251160 445514212 980039430 440807130 988978596 196640886 40581506 279492746 627697062 175826816 649771458 832475596 839218388 55978310 433063366 620282342 555535904 525629750 619241560 343180148 613311580 857304206 464995658 443279642 953457886 652540088 676616548 960777434 220692266 443412402 440120894 229803728 603661670 132146190 332999930 558611492 331857884 924154440 473321796 330246288 701408542 420461762 365445500 485527008 711483280 46072238 416434498 82555880 477408742 541940484 794576226 383727160 84265258 292065436 296616210 493631560 978953902 213016716 944560630 978673576 356056574 254889438 690396718 990052900 681633784 891254844 966300944 739020072 260231302 464988072 636932298 873751956 769705860 21681756 163997030 933373564 466182190 946631816 620256426 168652710 697440900 423683220 120846118 858926640 870893998 196034458 772884028 349412856 769129990 849685930 143056886 420298754 184082232 732386980 863284300 747636366 138953836 939215914 110529210 838089166 985484290 38471254 423293772 572155614 808772358 338148258 900192278 336451768 567382040 886352756 975258032 393537096 285900714 139973484 805703626 624009438 255152198 100979762 636029226 831434968 671633448 450490702 600093422 861978572 434708122 619583324 772042002 840138156 296964138 895934116 662691872 732200434 958461560 649851494 603782676 956652956 991684834 972138244 360448908 524687440 195576402 819045180 21444236 775927826 116688654 815321752 890799268 85212530 149841510 819525990 487746176 502341862 463223674 356424636 659474348 954979828 875109110 15191772 814391000 385004540 655182154 779032760 387037946 405299850 338039886 106047990 979442540 398146156 312145216 466510564 516016070 726757154 430359524 106966300 215467790 104885600 582743286 145743648 431965986 849492108 348842674 126713520 784997556 598752428 261694220 281746534 776997050 594527160 508954660 615233416 627905704 391222598 460714960 254585340 122838464 643499786 110567638 899946864 235568374 148291380 949846980 671541536 58906896 362917222 547578810 435138526 109178118 499622630 68281182 953465052 861501996 771332184 24972024 715393162 287471274 356352968 774136110 128947038 577449178 121447376 54274456 422119514 113653786 708558094 920748530 335312094 735353906 861452686 617995044 386366220 789019164 174060558 348046564 245042144 815289926 793922962 221666694 364013042 753772298 710947070 71903564 223636044 839285766 455351514 149341996 175872770 266016778 258003696 226423792 557871316 725048414 37346364 147175680 94714730 282196330 516536380 574529112 819827386 488013654 777295302 539124894 326270774 982882886 80571110 550354626 575781222 687028334 914330632 842450956 660405920 423920228 440135910 889374548 244511956 110892186 669403254 906127612 931654096 809819186 58066324 874437674 419195472 50424252 175584334 95773108 420670722 266487362 462196054 987996656 745127704 263166008 515086830 272730598 393900184 760472390 640694874 846490270 483129722 479595404 291824240 890803210 496975864 741663226 48080082 548211996 71796572 786336806 467785618 453517610 510926996 510740352 598693350 108960656 909025182 978229292 137710342 412975698 595920656 176520554 528466144 12277794 635271752 905682490 16793912 206466570 363609962 456477638 765850110 718664764 81510370 5919090 142007708 724488126 686965080 374057998 442340176 898166456 239099984 895333144 841090314 919768954 409643586 463446180 803486548 381424710 199805216 419466216 765202434 191020422 624934026 684599470 248727914 565597196 47969742 796893694 392488830 183076322 816526846 208002344 128201690 917058978 898753882 162057544 509412080 456468586 736570864 238071302 112682980 907915146 807757718 150858984 975508078 620675594 86947974 969405552 743640272 429703098 961209114 89214646 790628438 228652114 994806634 112545166 125540238 462047338 849744696 73109962 650392562 738633734 912865680 881227150 962324410 833836392 130956192 217465520 428709516 981691622 893264646 536210552 487760040 378238574 338153882 521977540 497070382 561883632 257973664 418799854 574720360 674989840 50022240 133904900 329043930 835380520 476934242 821627264 378256446 351617264 687807530 964902412 321043490 369224088 513108824 987196902 101927252 716809372 162253474 92290914 458906308 489102510 204716196 395329636 567131424 863506156 869555496 464348732 803033706 687029182 332101738 472478112 43541964 888326416 623330760 431481008 314426788 739204536 818666422 806616154 298004304 851237270 907844622 202045466 628074944 183709372 702562976 781800420 389015166 457976218 457576228 803664618 120621354 416351958 896181976 648217594 179071140 527771080 961420434 243196338 69372478 952424258 982406668 603785938 457711502 502297266 363553702 494738912 214718724 44798736 529510286 37167874 315454890 798677838 43456784 587452670 965861722 565004794 390494816 36545578 81092300 195501030 253646968 212035994 191436434 650034016 688200690 748468888 364830826 125229436 399261248 133150144 534201082 119260964 511251816 993444926 85297988 466072280 264656570 111570074 608542612 419396032 770217440 793104964 950195826 162044684 681255166 781515530 192703338 994066728 804018712 167114236 490790706 948321254 831130570 195586164 728650632 228445298 401813108 317417268 182605466 404569306 895872504 798092670 989504902 668085984 759815830 244698202 626447696 37152480 54616486 48772628 606302488 33410348 989787608 113591832 497009922 628986440 991980628 654489730 680841258 754943566 236432480 743272042 596788540 977190858 839340918 89516700 575168944 921219158 588033784 423203130 567659320 321990786 979428538 278369038 5588808 20728016 866189642 782356494 994545726 616754670 707665318 529989642 536785286 685251768 514374622 636582284 396054330 959602114 229308590 687249752 585796404 936268184 209941790 650186432 47635866 640837466 561838638 781560808 822991196 578899108 218254874 785532824 903730784 671292566 451138638 173200590 646451738 408903966 14691518 500052860 127911276 894742948 741671198 500879742 569881850 20107650 499670184 826445290 66245328 636716256 116540132 794807986 328203570 726514148 401500460 320177988 367066104 153694950 811414498 335599892 444184272 295954978 267849554 846301654 273565878 985699730 569337854 597225634 893762276 552080064 172212224 139630906 623853036 535813244 304846336 920633528 240883354 814969150 217534944 830976394 716171986 683637404 516045572 593652374 628494100 53385040 809993520 235629058 43005836 830374166 857700522 1406814 809156636 330633092 783878158 724499158 471057582 913324462 617026614 764331906 522444592 46027878 819966206 199264792 539623958 486730160 657456410 862744898 66649688 164649266 462221994 858223594 605110228 192027550 362115840 113287132 401160396 822191090 213038578 90750328 636690996 643868494 443049082 491942446 903106510 326945974 773060474 931552326 975714880 654142834 517778706 411142256 607744040 481419918 685378106 922439922 664373502 669064128 506288448 946810282 100574988 860910656 472810848 807761234 557943436 648015194 247316014 866137284 618215944 213063972 445563322 825450514 288294680 888736522 971009276 723273882 655780612 984668492 952007782 104681290 653025912 482561670 190648624 519035942 944879422 58123192 335645094 701906250 815935716 714057528 650759496 33693216 456748692 499581568 26144738 204103474 305078622 837367120 39372600 285118898 979816270 94743978 244920490 280258352 496974004 537686566 326866904 423034264 153463674 296797514 847827430 366962754 93124092 664445516 619919270 717976488 538544696 81097106 468888884 535603926 24919608 444823516 475501922 556356458 906601456 274207716 685656014 837208704 799933930 858315260 693264590 514801220 551981452 889977618 205167902 19653954 328410914 439908362 980936846 837577924 297806506 627248710 453669634 799820404 868322808 960025678 346104180 677369690 465389694 978199808 77994836 498507448 776711604 797633962 473482442 318087654 280076550 304717794 592028532 200059698 118120310 366225120 785020726 331705008 689165030 228147564 332429768 184423906 672815274 593983618 506244164 230555798 557109966 351829008 435028568 28825856 737780638 87087438 143193726 251120148 918599422 971496662 390672110 874253842 572868264 477434896 144194152 634815644 573308272 801554340 411258130 764970928 970268160 193921138 957519488 391398366 816988730 47419014 222820312 220891338 614770992 478124672 486477358 533190984 917000624 723301112 359753838 145840864 295443580 910008956 761605298 118343282 526308472 893445542 807555242 300011448 50129068 754050834 407475070 791161576 558237732 436019622 401963420 695723182 265316322 449832898 872998334 754199598 220810452 548134552 920663926 59662430 70635414 88430204 705184064 40287268 63531926 889658258 204532552 141472732 887634518 265051644 149495838 483499452 595707354 147375034 629632020 865345016 870878458 641837950 418026208 103853120 317920534 651512638 470652802 29185644 972336628 93962224 623996660 886606950 773673356 956973884 140193140 426144524 608037242 543094410 803286364 275230932 937170424 217216402 523833302 418931872 984347064 493667552 200170664 534872054 745327078 826528586 851332862 289847578 78907432 173844638 935455776 649652114 250738018 875757604 41602152 931516800 872338692 762058856 768955054 678062918 111093524 304938126 156531846 758427356 286990918 89993616 385186460 701469198 323597646 646875592 171114474 527252132 461032108 758851210 407307154 160171564 618184394 461910424 456141508 219438646 777243268 702360360 924071004 477968906 189086942 42579274 785730402 730586442 836712464 497611020 420954758 526057960 470403458 904433798 391590360 511248548 819475128 90291716 682834592 773933874 773987368 688142844 244124688 275823494 915106038 558789182 24793672 374344526 928590406 31445286 757938614 744076660 644122512 387802474 560819208 742302762 35205716 528066954 840985158 529550300 403622440 481335876 528983018 628959274 708006264 43583160 120720778 771015960 822977282 28391482 334859350 211879246 31408196 516622186 400504362 687068034 362261352 769241372 241903042 466994782 528481656 253984584 558423624 766135970 299044522 181207022 368134652 995946232 849194974 141388754 434011756 651702124 255977300 324529516 843682894 474627282 434712226 584203878 192612944 81816968 54244732 146542106 505059262 129207838 345696304 139260176 296241568 69292254 405868720 817110000 788053910 779190376 910162414 990967676 712101908 112512530 180847580 4017264 480650952 382983044 684370866 89530734 387614616 861546830 332973108 338435832 696545884 473325012 644679368 625450266 472406638 461859630 590750476 446143934 222308626 213207012 84185882 11201822 384001688 447319254 939840214 560515578 765809664 526003368 983466064 990079830 410884202 846121296 62962554 180226296 16890678 602829160 91903632 851987338 468455796 783171370 169874104 465493366 419501462 516319366 410015546 173871700 478497508 685415654 840800852 408123934 385560692 541004584 272319400 718891948 792317762 760424694 221836128 984409636 569509930 130488274 60641546 197000108 187714308 24816140 990462530 651022610 429651712 381483076 346578442 853652946 298029114 959012548 3003308 629700254 295332346 769001884 487967208 232589162 551678752 409145986 641327254 947788180 535570688 532567908 555469916 939105676 733512612 746808678 32061872 931450616 726916064 822578324 21828322 362964456 808666998 802348884 554379774 312831416 539710226 901501820 585142930 523840162 794459994 643436254 298039090 150589158 779830952 225031370 675440886 965093042 829349742 342065388 568758732 460078740 508807146 712373886 386365524 652426930 413558292 312754364 174104082 343776856 681747770 810758576 245157220 589074468 848946466 867388 109007744 117887860 133967100 933170652 168162908 480203882 182352754 280217246 822242704 124261312 112134046 900873444 411733302 257646492 754738300 523162106 6144614 747944960 148107432 767520614 995558218 429254278 1357654 219666756 232308706 677918376 975409194 889608740 456261298 650972652 426866798 179111526 958940116 12953484 324032294 659074524 261198346 909963086 221958150 675514656 843685546 473164380 43723786 36757374 870093612 76328414 649690504 688795546 381364398 376698634 362195812 189085640 929940220 228755394 297667122 255798200 397498506 269559534 674245750 771687662 792377602 624147246 538913724 827608930 558808920 351665632 758151640 61945154 802063636 275868682 723187348 262719488 992938338 897403258 915707342 839469836 194162476 371611370 625311780 798075990 333123528 262888632 62076498 415421588 645910522 149723902 980442716 96603794 270219444 384253702 498578566 313585924 469624128 715452080 776161212 70579950 618743548 339514556 600394948 427028978 55522386 934174076 529113384 345414922 767251224 942081816 370254054 277705026 826283072 364835848 135098876 935411276 593883506 692763388 198799912 67907698 848364144 736378426 65318452 555368980 179613602 393670148 484616142 654565126 439400868 151370630 948502908 549941126 229936178 161211026 758052700 609038522 172846962 814404 124670360 279133778 72090946 316998714 382006744 482683862 943467238 521262932 907332740 276621024 728228394 952825926 925593254 48377132 910542080 623522920 114001378 377768078 390762292 385574192 709976018 21804580 678364468 643244826 536015540 219217492 709235500 285380646 615158072 407342808 213458260 423216816 7884554 747081900 363217792 632825854 78819360 297837986 472420286 871405598 938945012 408101310 22347544 918573102 642179376 592634608 566206376 204448860 271308614 472834034 199331466 576822880 139924308 118894602 634290942 602514488 284615190 466388812 26987070 973421710 290552744 241203340 22543310 405745220 486608 384724082 515198154 821771310 854748296 850651628 235753494 40960962 971977200 29979652 636926130 617159788 674763204 203484420 772318536 833267104 936319450 172367960 875955590 482610648 192685980 889402812 522602932 11552852 532337098 17686286 15824120 349544686 772827728 261421330 487349856 64892566 729027058 547152842 366994242 544688466 455843238 773276280 600717880 693037258 46712670 911082600 698248916 101119904 188443654 70539104 778516926 566982808 626095758 214148824 471713358 807421206 546097978 870510424 546494914 912876520 131967310 887122182 432216868 192517888 983050050 442191702 254592602 948826850 299101682 632909444 636344936 809172024 62469372 565928186 518210178 14019788 701487416 431879336 839404376 609611784 332051042 614933876 739941158 705813912 146855326 457276672 347403566 327197480 920281186 245748222 430209244 786825590 634404234 67654270 878187592 501540276 416548142 247827882 890552524 574365654 537624272 460945122 621378978 756063438 221710200 541438534 204269670 956270824 225641086 864330672 273824568 975194252 427207434 887383512 689930300 987011834 701264422 370132954 253575284 813056554 649638720 948778832 610586212 277522364 211561034 513478508 702648556 746014788 580262960 465844486 93732500 218398674 958899582 884195738 741881402 257889090 109288238 245530538 786582648 257050608 479931460 960700954 996408658 263028210 915730942 915463668 712112766 302684484 695414026 418748378 430080510 316972392 730581088 82423774 952574000 436550574 784941574 453891156 583036484 280127070 527326854 160757852 603008648 604062360 293971854 80775090 41379672 547248274 580769556 649129664 862989622 148162216 605419166 266170136 157827726 324758854 502243828 952467650 86421126 66933542 982207272 177460906 808510038 536225282 128471282 79325278 626908604 545693290 970294618 904448598 560651414 266227370 443614786 112573246 416838564 391397566 910537482 520735386 103618476 216670220 976966854 53462770 823692292 997570224 144647088 394359464 977988580 255483366 507767488 563822460 53481292 949147410 534334766 827168042 425616252 838219278 498374580 908341056 720511214 981215852 655841590 388530144 1687460 996818002 300540990 116947886 747280966 138078614 428061468 33617000 179437502 981002982 673071274 185589134 30364482 332915730 833615074 624925354 37248552 131960998 130548336 316680068 830814342 493086478 615583264 961032000 992040040 785143016 11953442 447838420 166859800 889497642 701264656 338613422 919647382 191049656 566693808 796792542 169219132 246004640 975384756 998852494 81494428 378599522 129721562 645471946 438540086 116843954 512421046 624007496 823588270 281064960 192154310 258834962 881976326 409441548 753991964 773633704 630031070 86124462 518951816 225144072 775098454 428617332 700262384 899417192 892599036 851857834 904406686 614774874 361748254 402078858 647723264 242093744 357010998 448522606 808426938 600090522 272557320 805376284 448196776 537656032 631324924 462914936 933449744 369472674 206730596 929865902 615074182 574830356 747127520 861026438 781790732 833612566 695557976 812369656 493115986 15306616 135735918 108035510 629445034 410950528 594801574 724910896 319352800 793798752 513659300 247403008 424257294 890431190 114891616 599392140 137958516 545786422 899840688 82449406 43579706 252813578 182558340 798768836 786457838 959251606 572255330 355852594 806181296 549086466 308582416 810622000 398283876 805806768 692604100 317619594 212238076 805674008 918138056 222576008 517226092 765900938 216695064 581430038 736182426 243455374 125166192 307661858 175609118 5662822 285612572 747766514 377042748 244592908 65369252 416809374 543316680 662331672 882301794 827146646 531653966 589431316 505721780 315374944 615667460 210179468 66928322 767045358 831667010 960873348 689648900 639136430 834332862 568423612 589016670 58358724 909646672 657248898 918946612 181710550 458301420 742893724 426476176 349789436 846580376 268009888 813448170 170676458 126750118 760474600 713625374 891107294 94280710 849213592 909721876 283947294 490968752 46972682 843562126 636344086 370036222 156277584 51420964 445455648 792576314 534201272 494066366 646183740 686304426 937871478 689972166 373244258 509374056 824436364 458577954 804935116 914512296 321697984 399649962 225490780 539883560 149784092 53772264 980358210 749765154 336740198 337950918 756782412 614003330 974561446 467420100 398116500 576453878 633781436 736785630 999005942 466671532 321915918 287635040 753721752 673932062 167596066 442136258 7856558 395545150 29190834 480458000 898030854 290286716 719799710 40952898 451072206 848000062 507386006 804934154 276444916 736839884 66853826 951820636 515651480 313567334 646892550 125293310 830692680 925708268 437215986 590156594 348260828 767827894 430933932 543591908 107343398 422062168 340631472 399377446 852993042 878625474 868764536 727827754 57746116 180878900 669308786 287009972 782524420 580045182 982790470 236822092 800313738 217920476 565863302 624017638 502878614 680993770 371750498 713297316 20416080 316797412 982158890 187656884 656045780 21779184 111186976 108548152 708565962 512368410 90133040 156079848 872292058 797563146 420169460 263390318 986876810 266499898 835026344 497462340 591424754 204169192 409068414 213083458 568452254 697580368 69291770 493531244 781819074 865492446 93185600 262753934 192569510 780511316 654768356 606810644 907151474 857870524 719891436 281426334 511258330 474088388 398098000 731684384 656216454 766317054 125037016 324934754 60474806 481956186 871034786 233349504 540546 717747732 514163474 359194050 383187260 397116052 340093222 953488566 438812476 42920662 121858700 771544356 66844988 763437542 519782202 720778770 761407764 28025198 646899276 745134392 502223288 431580026 583825352 190712056 702423802 705101666 80342950 546117482 114249614 229107184 544335554 483984794 298793302 353390936 175842876 521435936 674955086 870455048 987296396 763353902 392366912 691465304 225259718 204455612 703739644 381703744 412507232 847154976 524840080 96304518 770290616 191641416 75543610 846427844 57585564 563374256 557228462 55532360 184526146 233987858 263503822 397067626 323786486 935959848 34425460 372679054 242601792 787683382 479021404 177100068 99893418 698777162 893693364 847489280 607906398 736963762 280831492 989964994 984804944 276856254 355345310 788835732 567562470 540727372 56284810 750475294 944883354 456949474 689781116 228780214 270096116 328904262 117070104 619023378 139542514 2586990 22263854 125357398 332680534 47347828 63025282 263382166 800138518 668251908 956493536 541424990 817234970 928896976 110397986 213596744 649974760 841922888 545624364 935319878 613485668 992688160 44172090 351836144 256745416 781054478 912273198 623284236 425162362 237137272 155512138 272192022 809687660 792138786 638507498 691777908 124007830 514236520 118425242 411469376 397386512 292979014 839930388 985729914 855705864 169839748 472571346 651683058 764834600 694262920 134464796 437469430 906019822 973114832 967670250 542481278 33932996 990635992 978051974 320666208 911315616 55838956 157693918 471679408 742796184 422856172 64739846 141621164 940585716 997327812 151294542 921384774 618604046 839196808 408431168 128997892 544722024 742911520 948921228 376154538 798247678 671831154 224530404 758770386 651246000 244572170 61953526 216590402 188160286 125112030 159358432 456628732 916974400 385988194 210595658 423626094 24483982 883397530 536848256 520606444 191632936 881657440 535578378 437025462 582609606 72015252 987188406 159878788 628088036 518514942 683239320 244369006 186227710 24681962 350613172 949799498 916257054 226586258 519180744 120313384 398546974 906351372 406801818 118491100 889790312 535608174 671032096 491142636 282275058 100086762 378497936 188115856 12755436 802606582 632012626 853918138 732497758 718707166 928355834 104964120 515324738 307284170 403345822 534344300 967994602 873155614 75581316 269893314 47799248 885773472 258020794 775526498 187491438 630708766 251978950 591003734 29129300 560543188 642413366 295508048 173571754 751494056 320036208 937905320 856383816 977880012 922377104 919792548 61827118 307072486 571661934 714196970 391680956 573490956 954334546 722189976 121129860 287116938 227308200 69547160 524689632 520679060 949136142 785527468 211718768 383712164 254024484 927492626 252185890 882200176 890595002 569472820 257073830 453901778 269007198 960520330 597794858 901452008 238298734 457717208 652449130 80475256 841274970 407755510 402182600 500917234 765301818 62554482 605332960 86316178 599732942 210463180 501541298 790094948 32468368 254625012 316402168 534867024 387052272 881803646 127198974 464420404 147322206 319524848 669264486 496983116 841688394 994676054 862589704 105267730 568529438 510739160 139538796 868970948 305289698 693934004 296793428 837584212 825420030 229961972 276770840 623714 439643352 81950244 198381246 92291592 665913512 405026118 856880086 570853324 644239098 115249876 964649646 898165954 420675308 93716510 844535374 9610120 971300004 835833352 167572420 872846960 871131296 801768490 563293570 101122676 252642576 405779990 629934050 841313208 703650174 226234862 142372600 283969116 540821982 889065010 137371290 880411532 602324830 915429538 97046124 851195122 712925738 376899922 987225772 352653898 70682570 598354260 533847180 340252578 575636396 696023264 649646996 648383620 847991390 40523412 59701620 297826166 129900792 702357274 464616218 339180994 511439420 41488488 234592570 589594054 107547446 300626832 343910172 153679626 953860272 965542340 802942716 362555490 984307416 885351880 616358968 811336850 573605378 140652332 301211070 461628802 184933280 747280046 572986966 550238502 776664768 1924550 383171396 961136326 370417426 15629456 697045448 570019562 196404162 451669226 87254610 419592078 254347196 810021510 460364800 751044782 987989156 607436460 430612726 656639972 298519662 410732434 47795902 731189540 941819550 546187236 456581348 614647686 486509518 512134780 704746584 903028426 703601274 444726428 898064784 213104424 322181936 968632920 813446948 936867142 264090900 342146464 268140628 265214720 554118700 492516690 866176288 554730536 163716210 112924122 263759428 908860404 884343968 663023416 380017866 208704568 132820752 594998852 482352112 449516298 49413498 260526196 971430528 64989124 278353214 170253922 175499422 888319612 197871000 124927254 556842810 467977744 415927792 573141556 185998164 333059676 414892568 357419040 193010032 137062600 706038634 476237416 226389726 154909342 531922936 794866844 681457474 608509864 629317168 855370968 308424464 264075212 92708488 355935994 286350886 685509926 275871492 138466840 743945116 984230322 473831888 540477176 139811616 47228390 327865108 515952088 627587548 790489498 213429660 805208666 659587974 867824166 416432648 680407662 665194382 419408648 297811096 983136674 598968412 196309416 688023564 164290644 602608282 386426746 859027152 194272038 767356286 293653920 515897276 546354218 681567516 707817504 180213902 673314336 709644600 555019098 292785428 308788380 5424014 92494902 882522570 115207246 678846030 104565862 510269780 386366802 283086908 116883234 784896564 350455780 47739824 953922534 889084836 713176726 486423936 184854878 529963068 931493892 401983558 895773222 977557436 156631200 822758228 587929364 278199926 378247720 918479024 214803982 31907174 169354184 236999390 102613780 616963454 266909524 241312556 819910830 793594464 460192056 8861734 516302324 97889840 913058770 519585082 166356312 402433946 212375116 371664328 33835470 641305604 453165148 618372692 57184546 856945040 703108680 456174982 515402000 57344416 27063758 414935516 883191312 37013844 453250092 25287284 759291182 90366532 151586980 169079936 4497000 57711876 208367588 73651348 494655072 425520376 482651130 866957480 282713170 120597476 689811542 246473378 52079634 958845016 262290326 956971104 841959030 506304232 890320874 39626350 629656624 626877274 624132426 821952126 109398880 811580764 611274458 176605334 155117940 147759960 441581578 810375296 504820480 273529404 961908720 852009292 716510042 601429916 107427434 400700674 906776090 330660300 635828992 366895874 263883108 691986318 518851984 915419114 78925692 151530140 11527248 34206790 942202188 304395264 553492968 425854796 813083714 320210858 614117850 43425708 756174264 783565586 420419196 725933230 9559828 483487824 831573420 455639230 723483504 583350456 890840480 617184792 228192946 300910872 895941772 135255260 793103304 450550436 870768086 295956738 189482858 546371960 880449240 393443860 861129480 957965786 580387636 698257710 802409032 723500746 96085798 568266852 952401254 529237998 832445540 876721922 727208084 268363274 951905920 851126340 225193362 529175540 849237512 326725998 199483550 830400176 337716710 171099766 17956070 342264248 692956148 567581084 914307172 948704206 668727852 274443596 612992722 416570092 322282948 892542482 72477678 616938188 376280482 666946526 386828906 365447394 567927380 123894040 83227316 299117818 832935424 267244566 539819300 627230080 941167664 810445832 37208790 150967180 763185062 378095992 567559628 598398444 922749256 349548028 298698516 757165902 898727836 253067222 118395536 676696116 221828284 886452010 764133562 594545542 442112096 393369238 828151138 460810494 6427816 359633292 713060820 608362280 777536324 229014038 505660446 759911568 946769996 711941992 739058266 47074550 591193640 696916982 814717990 280850040 127737588 560897310 924039614 250683036 211010500 298035770 692030964 676394844 894887484 982284636 407609520 553574072 385004586 112240948 203960752 820530236 539602178 871010438 512473494 81139340 301017764 267867184 458938464 364629012 848172806 803740122 578466824 685755348 344281404 667969116 328398582 646914932 332537836 576978846 465511702 91106842 962542422 554289588 284558496 409865822 660668986 192316458 563270668 997282134 712976336 928909702 464677870 325891588 780572390 374634606 352405602 824675552 200069878 317809298 391021318 665626948 303274920 883423242 487701256 271013812 385816186 600898192 566042698 321221424 262045310 898927648 778541940 207748444 248210196 672372762 327656274 703878198 63074032 578873882 396425558 850661990 806003752 377842244 723991434 955271968 632883126 888863882 431588068 817281878 925901110 282666414 790131488 966741570 137539446 535624892 250201912 365417436 132900786 630471738 727461966 232873498 378741688 943899068 893065660 139805766 861132276 701093090 855002424 814500394 290942368 216968498 298411696 736694320 283387560 885227710 414635234 123818034 81164202 338733418 397002994 800149476 28392836 666900702 79406070 889777360 81318258 611540552 17086390 333959434 19247210 776784612 431678876 949689676 542565102 530215860 854307686 328598858 656348272 329628560 917604036 646933550 989154108 874450214 744294498 507093260 803384878 299336820 459498518 231431466 305955042 150007582 238471294 636496582 207033150 96990042 307310914 799170176 496300564 815510226 767222236 198121920 940643622 650049444 150017312 911339362 425520242 851931286 864150722 168733158 670758238 187888028 71069538 99709272 761965468 566941444 670380702 884851972 829900412 294152052 624835128 239194540 456803184 965502492 790603442 591677896 732735752 561835876 15423960 474275034 388901874 833437994 286487684 545173300 972162508 528366122 314760274 697784796 577155156 547358180 176702296 793490224 107999614 735431868 667948028 448922374 977557980 68861550 709219622 62878516 888052196 774643222 557373186 596752192 912100948 976178956 92238128 229574420 788527388 929684120 694194560 612931298 862742046 196023008 57567580 776826930 677532734 799552996 144741924 806483722 858829196 296329730 673574284 132543620 348502106 489753898 878056692 822241630 572139164 281939192 979546646 677704696 855000510 973393344 440383098 812184980 788640732 795582392 267789268 938368944 641512708 758809792 692407180 205663458 726427520 464058614 776457084 176071986 743257670 303969566 396631566 39049140 884398196 279136092 941683776 820339292 609483214 794306330 191358474 477446012 579937280 735496262 165261050 294049600 882256392 895460624 638285732 600940742 456077568 735566224 73106486 759045048 744135024 470169404 2010056 56810204 197977342 777793214 88869586 586139284 318656398 754595872 497572476 815694912 53063580 192497140 368482416 516770702 512758602 27123868 253961598 590305576 314604324 518413628 452475624 80441436 52801608 331330352 475126140 646317306 522346688 341235164 783374764 621408944 594948930 734644236 994262282 985408594 247552186 520769554 231823988 317120784 311995174 869316864 362262760 770339904 430792052 684653310 894875848 793807398 621164020 684812736 388561138 215059644 430171862 617109732 816938866 773831254 83941512 517087090 923540006 559878368 957718534 298283584 949513236 576101246 423263054 661162654 491638228 944904318 1115486 890937378 313535004 897014160 44398774 593568694 701004744 674646042 125339266 368973664 128016960 670896392 103144872 108446710 987610078 21700006 920220100 31834222 199927360 322451722 653261736 855518966 863277564 813158840 975103754 439071680 266416996 423704278 937934300 550234432 973597460 380059316 182035596 636571488 821583474 533419890 769625526 248092998 62523362 987254142 595298768 482690282 662408110 58762286 749812274 124727676 851526966 859759668 66855360 327278828 933856792 832866948 812311360 751700430 765711382 695716034 925692794 757754304 120911522 955500 738040092 307810590 679158286 780573192 517111624 167262784 536515600 421757362 167767278 725101996 528235164 452940572 658834638 301925154 769253040 540474720 391188618 524121586 417467680 322279460 753749258 525227442 354720926 870656718 386732306 158685974 522637048 121751396 661988988 626895462 705660580 704742256 287410120 753895296 704877216 708921522 96595584 864300996 276762042 667083560 628275630 855488424 715480284 798959218 927814032 734627688 116883954 211937952 494551666 579029406 413497162 52919404 230788330 301981168 249454412 519444696 945020086 792489162 788606412 494060394 630881250 680690178 152596620 116301844 533742958 904498738 204201678 808400922 249841082 491846714 384607892 388594210 123058192 433767988 359813074 735616978 88416370 417543550 170359778 840260608 113735158 655923962 363425688 386733472 624546308 618049152 244728214 762578718 398180266 430016320 151902814 350442894 89571012 623878308 975897972 222357376 470707740 91733246 334155444 120137066 357071254 205039182 872530582 994628278 145236312 478082754 248249266 84432916 87505834 109625104 539362788 899584406 737326920 959258406 835373846 396415690 698475082 562387828 28574892 702370378 38474002 395922092 303557720 846162790 156964534 816879390 720597218 420808102 555439736 728494236 55366470 663500476 926648466 789945676 84580422 718986314 978930736 517756 398043838 131899562 432898388 517123698 493920706 981401888 38442416 801428526 915939692 385968726 624242268 387698464 940805046 950421890 439839416 46964976 969483214 564757680 69186274 974822028 541653276 514033792 672060860 934816980 199648012 590809198 784144566 728548880 103583796 106473272 142769988 201307492 649857576 632558476 178113270 140839852 910884504 773505564 666043274 228463408 248225410 73044880 889028308 271576394 67455052 658349890 748585116 870549292 767712456 621102222 393276528 733020916 14865074 96075290 151944344 76820052 824520106 772203268 13515710 355606228 791919964 553675506 994984744 564033938 559459200 467714380 27300856 92568954 925745374 40582426 886920384 384089034 343699120 920309332 615118282 904208246 175471986 287508566 397389722 280856886 452308342 246480288 304456594 519322808 810044952 973568176 956690874 169418508 969598458 231183698 258150994 581462730 755895822 355863068 293082524 569198924 84993224 909375980 120467094 323841684 536937992 146645446 508919398 729812222 229813998 734399148 776297276 699215440 377438148 249305914 747087260 815678322 9446708 757647396 982060332 586528510 238973100 6763060 268670050 257149934 390512190 77900910 716832890 417295332 996115130 456211058 198266924 129502738 421802508 502613682 719689412 446828378 391658396 95185572 518465142 689820556 88845450 749526468 872721972 12966424 531106992 52229200 846534984 524843886 317943002 481983472 511590976 996717236 511952932 271687896 875617530 986016312 793248950 297879546 427222004 500492626 928732856 922425150 699017414 513954830 503274290 31413394 206973434 430024406 514666920 696323434 73771936 473792940 591640090 268117880 502595812 883703336 452381856 384989664 657780768 882072994 943060566 298926000 438770092 708454206 344739060 634021128 971714822 966746184 728284062 617416074 292486608 839354856 389010226 307649368 922555380 199770426 228164244 710132512 779115454 311948012 971700366 1556810 456238140 987436688 479573354 136919136 499797618 97508698 152546570 460981092 989247528 499796628 188954864 67195494 754684428 567667604 208540066 445819078 572855544 201624326 50663132 455990 117027338 950160048 659121668 438867780 637326018 561826398 544824504 456400528 26847208 738708270 192668208 872331148 302499218 36788318 119848066 576150306 77927476 916691538 250771250 263729848 391831298 725626578 140825754 85232614 971878648 133990908 57842150 459469658 837675016 206817196 180422244 253126130 227500016 354103950 873128696 885018802 737780968 921990986 963509512 187687568 44222376 730394584 963550132 677746282 814593602 291442274 892112908 631764730 336320384 318486742 141358102 498851938 423248920 596020636 495812132 103899572 74645140 752635910 867487654 899628138 938750222 217653036 733893232 691834532 14800974 716730850 68632614 872574460 126256510 896405118 318400528 791930068 825527440 521503514 627186544 742815196 886903206 918574968 121063330 269657388 893059622 796103886 320479294 679291680 355620338 910708056 725455954 98109484 537653238 940000532 152054336 605002330 837469142 609034310 880319122 218935630 384451166 403847068 530680898 589255392 614374190 4077616 757867698 858010474 714748802 234736982 311924894 730206638 732937284 120638192 697714814 194214888 540190510 731427498 485531926 623439022 674471124 248006176 860728572 940031134 131810802 231898310 623829578 117852236 201682926 585539854 339450440 148947514 837875960 603387868 683208536 707108612 631602404 792616918 923112588 894142964 61254942 31111340 961187530 698096356 683203616 298250264 970323426 100641258 398777540 982849656 598916656 160971936 963819282 710176564 200655026 856848182 651045828 803821012 203251124 972881376 737162838 259662768 655070642 84690070 308467400 232422820 671787164 622519592 273763196 705597630 844328952 177154888 254739496 408547204 913209906 591794110 805439774 249902818 819498812 938430360 909426882 714487894 967150886 880827754 589505650 6632462 961245500 689439878 249129106 724774874 84581988 845709984 432227810 732320106 672642616 162214218 936401138 245444552 3118410 490280056 864487668 537361558 610406708 841059484 966379374 406764132 781408308 397790178 608382988 582612010 93191040 1386348 303307618 5769594 528874888 356995380 796912988 673105714 558584316 315283246 563145260 364910934 648061966 179752954 49412740 372711794 216346870 111267906 424064588 867765528 713258994 937410838 753868778 947198424 54554390 103639634 982156820 631899946 378386578 10590724 938065892 47720172 677344954 518071430 228477132 540367084 580779164 543300794 409766320 977349696 233915610 990223824 295981506 824771806 172396734 996706386 286422088 927405466 150110044 879621634 565207756 807611554 857913978 191330984 103560310 727725090 343007056 704018498 66715206 496262434 458115014 744138036 697056326 330943302 38093544 158444348 828400858 560050568 369979468 955424920 526433194 670777338 805771242 269305118 320140850 360485924 959541642 106807568 353566108 706094098 447144602 557439580 793616564 638718654 443913070 760917522 718192728 288397152 406022870 227532472 380063074 423088648 390083074 457417236 455771284 429853110 158995314 839034392 491267318 764161538 669234030 955804724 984069190 556761348 637231050 605216710 665837570 60774362 503124500 654268282 599565430 414032428 411188716 946819500 297739660 130644376 325110594 740085134 760487366 711255870 766017688 271425266 744942728 724193444 910124842 432167554 664872134 851625188 716936596 38970114 816529476 281029582 235317670 56546766 300584292 3429510 776364326 459733464 388061642 193242966 925005560 245954794 865343738 653758672 248118692 885488716 808204462 576579054 585607586 747617256 446577396 267202842 656785462 359926214 276166564 171019852 632266404 879979280 231721552 5990992 909484514 420825474 938684474 139816530 226121596 789804238 711159108 478617882 379423768 496556890 431684564 909964332 549307032 990560524 899294030 185160248 414366408 467346118 922982310 336289412 341550472 164948864 114307840 272219866 73182434 592088504 205157180 889851492 152737138 872696698 500217856 911924544 115611322 668692330 884222534 875642214 586948760 297766280 489607532 801800818 24603558 519437758 799288694 641732202 178761682 684165594 767950856 36787916 168873910 886107956 412760368 909887872 183326678 553953806 348279770 776960214 640493514 258780464 976228682 733335882 568369696 601754972 458866932 250513830 955608240 957732522 294731542 777785054 895242944 312919430 258863470 148667020 104564200 621243118 271260886 922445164 32939454 625765940 997286062 720053210 180282174 938737678 232236622 515633214 968716734 798532334 67808168 212430192 657563868 751389080 218232944 927936806 420399928 957491210 354325532 128527066 613823178 44198326 590600770 898320586 768635904 8902216 23173798 445383840 208081450 356733734 38472820 46320286 96674820 13371188 807970474 835791976 267401490 228559408 987797134 246789894 694813132 581371966 169821978 136459940 411087720 966179004 838476198 721522082 373078232 933493554 625502666 638128670 828589758 48854672 84533020 100794998 499138132 386373356 730533074 190939440 826441274 876161190 891997506 876806908 549938790 562100674 276327486 552004952 795861890 30790914 556309532 937088378 631253014 749178570 305045782 473778280 400973836 796378062 636991578 199944624 547877032 214558814 742840430 254154506 208412418 193813786 160718260 281495940 413223740 220645532 324534336 128055488 412301336 499464136 684566976 479954512 778279642 880623472 576147340 122559440 589806192 192798234 149287476 696980760 801729480 706347210 883002994 964396514 419979516 174433116 779851976 123145994 54995976 72103004 210306246 979303778 291880242 388524314 973821714 411573452 988165372 964825506 631685206 760576490 268319880 446352616 239452438 134947524 269639876 953159540 494920520 568644862 938132860 124712248 912026302 322583452 803354142 683414028 240699036 306904066 849060872 707013812 601958372 121133756 310005532 998571222 78282236 798293862 190827432 907632412 239843934 905416918 155239518 896974964 99388570 199793068 343057954 224082486 489718464 408207690 55104120 588582430 511252726 61963506 962122746 870905936 57752308 915606764 332526716 457702458 862350774 611310926 447837120 778335938 275691850 997029978 903338824 878912666 863977474 378129772 900101142 446009812 141459278 169036636 600389290 927055366 806248318 35017094 807832132 147001412 586630224 170481500 739133072 831851708 319744834 390875878 599930166 3831772 385762310 478719440 751765656 810290904 947394572 626017274 529045156 946322416 635453714 467114898 767735122 898961016 606289724 313814614 717078404 814178782 77195598 308521370 369704682 406102156 256929600 67926588 23839384 730875898 935846590 166775868 332812914 378258636 55514028 431453330 292267664 447738916 420031592 247818542 793082262 132586616 33728492 738326214 330291894 822283094 260841556 251243132 698733762 622808148 974733454 618080740 571091796 706264446 612641046 55722234 626602962 948639546 168821008 514304154 665170044 192779446 818953826 754703192 198905260 930072980 452782708 977820522 854918730 313537088 600378098 189104782 386260560 791286018 936199308 550411282 159933694 563271002 654375196 887060060 629908112 278486858 778141320 622831682 601063780 428182838 28002722 485356830 759381664 790108950 464327926 780062248 973008450 248932352 256342094 610511918 983385778 40511928 937492662 730479944 581040568 9589498 978241910 351010254 929830254 984802612 628616058 182688070 953156562 436381988 936359160 375495618 377003050 122420302 400567554 657389088 313709738 323418646 815473742 394532854 315903506 473188890 489351914 860414704 411700938 94640066 194827994 63918806 937796480 102001876 648289074 275854492 839706296 841921888 379274306 396130782 270640686 496540902 303132720 948070932 318982436 600280672 268274710 155192052 176128162 694435608 972002796 72924314 794881252 626296880 926026990 588035032 78386296 955369402 727425616 629028484 159705264 274795676 661794730 91215248 765600340 981702988 395133774 618678300 811916664 669081782 114587138 482020782 312820414 956931012 109343548 297970878 594276646 638830966 466646264 999945682 934739810 125333758 589551246 3795388 400824188 146531954 760521546 422248040 642808082 891759186 114387418 364330296 349040606 310632444 882829850 286486380 658967868 398084576 366419108 233618080 865498694 635764494 586170370 312491486 451190910 373059070 832175514 801505094 895212868 656492168 318642964 611644432 45898814 678978924 867541772 780292182 796205350 54608502 254191088 145229040 79173014 389474184 697730716 200963674 742658804 407920964 813167730 604279442 266027426 501664028 916942502 781991810 551982690 527491424 763486632 91068496 228188400 11305538 161944720 891967788 638225548 763403290 147982832 52858578 387304526 16094028 577417026 876395220 483065258 625303986 119698298 179765306 94298480 463761318 326486962 384219056 223748396 259132254 132337670 899005710 990611028 731632394 803303490 540692406 977042210 471472982 561057258 423089896 835752322 560684546 817171260 532169574 523583996 745243824 702905068 986592450 541159254 714598266 792237806 896985534 770953950 25434224 861638478 327351902 95593746 761717974 419875400 390327566 17172150 578318304 900689980 985666890 514582262 809023406 325064110 936672496 867939824 593561818 170044674 122057668 868442436 923474898 821188242 285789706 148352162 401795876 178007894 100228648 82372048 978325092 327045132 734047824 555737768 798604658 447223224 31591448 167425270 266175798 319783420 996563228 235650670 215051364 595724466 887409466 82112138 286334724 595002962 568167394 103594522 59196340 416180584 811554830 255050514 468472768 373008694 197441726 51614158 949073822 850272878 726769928 443727258 959926640 672826264 827850846 307299060 503755778 110245704 551502694 937462222 602802158 730346974 739523386 996087382 583607976 801379578 405189632 322187990 862900470 825287792 168903106 709948704 747917826 71690516 608607206 685326012 589061834 810064424 471524192 616603726 739376684 773927418 889387166 916428672 996364864 252548902 652219898 752147700 191267828 668578516 77814144 160540308 561750040 294074480 829207438 97075142 551170736 753299442 36258320 165088270 645342790 400296456 140351802 1722012 710931954 822814462 102902878 85070142 936808148 795037040 779915596 578686806 876050070 324461716 131105630 304729718 994977420 576676816 934036810 176500954 52246746 668219572 437233690 308942810 354703288 566576238 789531198 102458154 628169606 67709440 320182570 8575990 486790134 243785556 235103508 185276808 558550164 393215636 395433732 525589630 997094150 706226080 682053762 962931968 282536462 740103250 506661252 854398846 903623626 609088454 638491216 27898924 245720736 106396670 278727060 473738518 748212904 57539344 558827454 707646346 314511304 939779272 329701282 202556350 699074580 27806288 249332944 840452598 220026112 112176244 774856062 551684630 355476596 460182932 178296864 894367916 507746902 713796010 903248396 389493898 204540804 237972738 326769372 244765618 565490108 220333608 323947710 701020860 585795508 944591814 996359396 750514588 871208652 210485198 865452528 989532656 922911222 305218252 13217994 825706438 103165572 836385222 710263806 950819698 793270388 676341460 921558454 963183192 488064492 31454150 153271812 631235016 842517886 402904920 584133882 123077600 350413862 357460904 777158818 825354978 268173566 747986448 706756728 573258416 32901036 400573794 867927186 370754182 861847282 990481856 19661172 108945270 619508052 88410800 240473398 146951046 814771802 289113588 147970810 388169496 683879370 27846352 556715400 685870888 889974420 688732036 355860730 898456956 33041728 415184002 621531500 349499222 465983602 858043122 145110256 345069424 3127288 136891890 947504994 704497536 582164716 461503016 550802968 633079892 413921492 627396336 486162892 651639456 174659502 475771138 548439348 145172608 14908804 257612546 855705352 1448526 110937064 945804168 77231992 937137426 104686376 689342200 123752014 758486372 220620162 782203376 520310110 456754058 572452890 8845812 51034060 721414626 584815988 46978158 879114028 982458012 409733698 721533828 622538802 282466976 102942816 568722380 679940110 391400996 448477956 661978586 85948244 219876584 40642640 504463628 13347568 710558878 887699002 858043150 189293516 434202156 71468058 293076436 639275066 915487774 335292474 398244086 443612680 346457594 778351298 928711866 257813642 294286524 632720294 429006106 549592646 138287564 312412976 709423364 356440060 999483474 342540652 888681096 213307518 585440928 32242730 470978748 485897108 298109602 625625162 748541792 717823160 791961940 873858510 859821656 215897488 461275390 367302498 563588172 265284438 551921436 724170956 188227402 91292792 664199248 558511096 956228246 643218184 89520334 181910994 392269462 452696056 541043300 817139952 296376802 935185374 397543096 265837972 819043404 476514924 36839398 553567352 814814202 467412392 563474268 476607120 741408958 298654642 573391658 424639866 228978454 357380496 881281934 734536228 792174348 300741010 73149160 482738328 752367956 712543706 132796488 237547212 473786468 413976892 849330984 277027400 373440548 981206580 513901088 569445158 163667064 885731024 826768756 497279386 345171040 657704102 773206172 421752210 180668524 222179906 834601676 713361956 47801246 117301704 589314018 453130436 757740870 696190450 777506198 807375510 792830320 501195250 837478206 618899464 363336334 517889916 151998508 364411618 66672090 217459224 142784486 384257182 94194928 641076680 756756190 781223654 972594458 46755212 166358896 413648434 359946340 442574776 637420482 189652342 46622602 316214322 723101222 869979784 161907128 232258322 446487822 88098226 73145514 804840266 910843930 834203146 242846596 954379840 703716920 367505232 90793624 806895716 877176326 182097352 18182778 899155878 190351772 884545058 812366754 54153644 426169912 917738002 577590024 844259860 464659512 164821512 477188916 324311100 667760796 873439312 567722810 283995704 236292720 912922310 659850212 441489762 534722812 268229760 573480188 140247014 708412222 916596096 318224074 953564394 493560842 704649864 779398916 442920582 626319286 244015714 812195912 765198204 617358578 136488878 711958960 152387000 345832172 24244582 624517820 547016760 295343996 563200726 959387838 896077362 960878374 317949642 758839994 347290158 233538868 203114118 435676650 134497418 906014672 153751466 503100658 977826528 996825856 736193896 164296304 403692008 174897336 567834322 113487798 766939824 949588412 259168094 709686298 710823134 477780888 621823670 695849764 53761846 980184052 118242440 348128388 924649662 865329880 466479260 645938994 516156316 614458224 639519086 143612386 402512764 694221728 498874018 394988714 321453200 945823688 64675642 372908352 316261328 30007888 849109214 752563574 735743420 626519492 223053704 516634056 287063944 211459832 14395532 821984104 228914464 23860940 730441136 992259358 650717456 46491506 95422262 660495648 937445986 689272978 913950018 595982396 621808046 568141206 812853420 122822668 978122098 850875436 17109676 955044300 40438006 500594962 21832270 19567206 139328224 883241240 316393928 511369512 982124668 361369714 790397062 917655536 953537744 714323666 902245048 380362726 518479226 924060584 766783656 914402758 910801198 993944734 474051198 546192048 161219844 847458750 334844998 291051962 735263194 164023144 506418926 658487334 785481384 721675926 658397856 240678930 8657524 739129560 858039080 19502300 324623442 209904410 52032982 945829420 267062124 257699650 746576562 190484726 564386106 911073100 368862872 239824936 593415154 699950130 298487166 499299054 454262738 640218730 843056586 216475902 212054022 705109236 571294690 588833500 229082140 293178674 375722754 64944004 6270034 708304278 496031844 852273356 110687328 307847206 581636006 510931052 2882528 497336398 712134764 920128382 966961228 663447976 275728270 753206464 308321002 687956080 678791776 400917218 961045710 407686374 585474602 912995128 443439886 121067604 661879340 180679494 971517078 767349362 129252300 818856910 805668134 315737476 882780540 342935800 300602544 542462794 975128598 712804858 812133790 225007170 32498170 876119814 203982188 382087640 699217538 934905716 510370698 790488318 79984034 742602786 918930886 958797774 493342546 617616162 779940344 446003956 374965492 837511758 867262898 103261722 998476596 275334250 797546110 994132762 249713868 21438754 323571494 400750588 196696734 858161470 952675862 507451152 87230168 749815128 104373114 658909552 469015940 864133698 855681040 929352024 865537576 592932732 593619612 576381480 660141294 347573612 250119794 540829068 494012618 475264984 200992556 529433144 357947018 370402076 627295802 656913190 639625714 975105682 520523276 83404998 951094382 383011686 994811176 580961098 916778618 804399852 718311402 132132590 544868078 682172640 801321474 3020588 984679912 823202878 391914350 654234758 973779566 20727970 633710548 98261556 395276878 166669884 514438376 31097070 26989484 147579344 111773178 139166828 281802840 503660386 444412048 713283132 602514378 421195318 577506782 993595656 875428924 491776204 634172990 571151306 625433496 371380872 874287180 295932788 706008470 441365038 73218328 358494192 597938916 635385508 71843502 727181326 848985000 88324454 918483334 390323602 732568588 698208820 785450552 215557088 214777234 808974648 947747750 258755344 180601850 514182868 905667328 337461660 744784786 10341482 19861718 150332098 50905990 284208288 856662840 661917076 487023748 795973332 123162712 694435174 779674764 767998400 905516366 644346172 793849118 134372640 128468522 57417554 273886858 752654702 654877832 942979102 672194326 310013646 811963812 919677436 707025772 388048744 933986498 92839438 53464034 759570008 523136612 310243890 622407544 713756836 839869482 729773774 907272436 624555620 967470958 415602556 194666502 759537222 507373936 611639074 195120206 523495012 425192548 72237344 7584604 116466830 817497432 441137326 321981152 850439450 518983760 105526822 717254314 288064570 178090116 259498010 624490544 851923226 946650194 798893436 217531900 789087060 455696540 399985558 125450476 339139818 242567390 22719306 480848022 989547516 668430552 81624510 209510482 726457558 223274072 34466186 468272882 340480430 963573590 717929976 417559730 945081650 233774758 187665780 93387020 286633494 417753440 735969388 991769256 753853464 503555544 366462766 960246410 39225958 336155428 802539590 902459544 554675508 730699160 100446434 603315660 915416146 138002772 66904936 407443932 553152550 62820308 450466302 882308504 746644194 747247248 645365802 69778308 746604158 159296212 266939290 145195644 714078746 43193296 369575736 552882630 483843894 573540678 839307538 781650014 972509416 423997656 83391656 710096164 139905442 406901278 708793160 429639106 133795572 903225310 73044802 959730506 472648846 594407550 185694260 924421864 868194586 628545950 872226462 979412764 149641540 334725420 136476616 796142178 756331584 361595926 182315648 110065322 363296730 465280186 365042678 81520470 737369292 969227424 313742092 451249322 134100738 508119496 941426434 436943894 963936516 351681386 432778030 276434658 27208124 347106136 88203600 136806716 881090652 516315268 291628674 524769990 748235306 635126420 503128864 335350348 736519746 965160926 138003482 93569386 258347520 25363476 282825762 832554702 734438900 817867934 631779704 408378188 819684174 240094738 108636732 923025232 954034660 811783946 596305770 555652664 426305686 103868516 908005128 153276906 296136310 774628016 36776640 884596836 277956882 898744950 459209124 803150700 578654480 995948726 615915702 734253938 144331508 984128390 605191434 176119170 950364718 952540286 465827836 23267212 53489448 624936388 455858950 908769634 482127192 632315996 687053484 867303586 544028704 702317272 541173262 403337926 969609230 883279546 301710006 274883598 904507174 163426080 517508184 289212376 800049296 952565056 978403142 310796120 73627416 354051142 78944536 925815062 870676804 623112380 385746 143590848 911755180 416451086 785278756 344810084 615625320 781785340 375350692 261172096 918703752 596555046 701446276 746138310 76219458 424539116 7986966 393976478 757846886 835589560 753965350 706401772 367508500 141430260 667235034 120659740 834225104 830365522 246188612 16122522 230218502 455460626 743543194 28406176 615777450 364334024 621369854 226579958 563010726 704321360 19664006 493325686 90375632 59371362 760819862 714419572 97402554 789513492 533424884 337177552 358984920 207483782 608029332 753021658 785941196 104067492 280149806 924739338 886900242 134667226 728862592 477682652 164859588 437106648 175255742 526826782 413652586 471672296 131171280 176176564 92633572 934499682 388982814 68360626 692442262 496292480 282958542 387310336 529225004 298899232 563111276 304816484 401868732 323302254 786486316 485048810 856260620 629731484 963192172 505898746 556837000 830057122 223972420 657526326 760304978 749914524 924351772 892905628 657223748 123041320 116508074 528839902 582990122 141754740 558386226 46815230 326376456 934863998 15083292 232857478 421025564 929004134 962572674 326240742 520253356 704881936 686518540 859661150 195815330 597220780 265714336 512940006 488074634 634076452 316410908 663979066 173138760 16592778 642545316 999165966 699293666 502219550 620398436 622968600 71041800 124600720 32847568 221416734 657819458 897966182 195645440 764000040 125001038 476273862 931644478 106076144 935590818 766073950 742360814 243772486 423917798 211150074 91978556 823802788 135895104 485798080 211230138 16613068 392265170 922853284 584955856 940945876 823465068 560073534 415107710 215668006 105059704 679633570 699680884 536180986 949128178 53307934 627210354 815011520 852411508 649604428 618868504 820295828 998161648 531889290 802490802 457538394 844580954 799988092 803918422 997031798 256126666 475177492 441348748 571202268 160425582 830204320 822107776 201966926 97579068 349182604 420039744 305821154 150317392 411424076 461283996 343655370 870486942 551593136 521374298 741540104 780539858 421290672 777435542 105399044 600309480 311640858 263653262 831145196 482846674 109209508 539032472 435449148 645291562 625162272 959249556 240243118 549217648 481199484 302594318 933797290 259781264 497984566 299091364 91025292 661391052 362677096 281686284 677496302 883254614 634334242 574012818 150890672 431392476 766152914 756885248 492376970 568372430 584582430 303038124 638723402 478352608 645493092 330709346 26137540 533714358 880016616 765784760 400053792 271019838 873679976 778001290 704802420 49916358 115677164 565257536 299601362 711495844 36756958 749306960 437049460 827432800 605727560 46946386 288486878 4396296 929395400 540538930 183259228 863285430 662310170 556371052 619987670 222043844 167306724 627742422 102491618 360526650 95875188 841662162 975492048 32460976 64312734 150552804 503543688 51819898 979288026 735157372 564148546 882552148 880740532 336135130 824326554 938721914 203718054 595428722 351535148 891194382 849768874 344697916 478527082 557987554 773928640 957590010 528222590 866447514 125300800 612088070 706898848 65808300 191372964 138353516 531090346 67894380 687552920 549329044 570819072 623294096 148822492 198400528 361052248 399272538 621812766 837498414 840361762 238556274 565322026 792640908 254883034 666168416 218984640 419327582 946161456 595195888 351150000 708199480 899682712 330477502 32581492 108787850 535226970 940348800 734686316 467900370 634516076 692394460 434884606 79330840 396509196 201156612 312450982 668690200 956409342 872121874 973963320 265535914 458645304 82121258 281727810 948533142 615613886 776644844 422732986 717240502 890736532 284178730 720958514 172316586 595025712 200116588 525707882 511225242 396937980 705156224 366039412 807108610 980469742 444823312 233702660 134446200 301763994 935223300 579161324 640759442 799375910 321519864 430315788 270818990 884731078 811347642 449386386 397570046 885196262 127810628 720409006 85188022 83827200 973345472 156054922 326075486 560065830 213855282 445211570 881657600 150929018 891595708 715908568 935406326 833047310 441300252 165193962 872544380 687796728 228011846 60694936 694368004 654514310 158133884 923956032 323483922 249620074 682325030 974966082 363440736 496383938 215747844 695069572 608745946 814390698 542561152 968939760 47268976 801118210 581502002 342100182 84917266 189492108 633822688 834081280 697357976 864656600 77533908 783502102 418558004 390239180 798447732 447378928 300236556 528195948 509356452 602697524 950524814 761577526 739845800 694334032 637211674 241031404 232299268 643697466 11266548 292198716 301473850 799106520 376237086 713935140 281690056 446398582 123598324 185639248 645408596 726370334 55046302 822023196 373645180 858198034 462566770 513411610 215015260 600802828 952820888 72824914 386019900 123618634 201908030 735409008 523268926 136122460 205287952 158222558 62008086 84037934 251296160 628234218 265009030 88615212 605981620 833312862 437567382 989324516 398935302 915048790 415286864 342938330 420571272 985710556 426061378 81758356 736850088 457702590 349871070 522152184 984892706 907836212 397187428 842352004 539451130 395279686 114380530 144876822 587485542 416252882 202655594 87983250 697883628 270886622 884662212 360638934 655033140 992899142 881450688 704884878 280644760 680603088 997956802 417286718 50606582 397485380 750558432 26762210 120815376 644538488 280380172 76792248 279507904 993250292 142605294 68035430 78452 678252888 924253774 651174718 215138574 540838732 486136450 615092662 89517112 773716334 96161840 866260108 891928350 114386494 636211708 206836934 218603866 676307220 49218224 972436184 576331676 359424144 826162350 680052954 407220382 420773644 168764780 736280130 696273762 580192302 666628578 625715622 896184250 17451528 43968282 816817796 569644526 446299626 619600098 225373244 757978706 429083030 634143942 553334816 41132134 301522864 317626000 459615492 604539594 635470190 533285286 513101508 968265014 849794258 495071014 917790942 784403818 178255316 415588310 327378176 583790182 735740680 72222988 3508640 553352956 820715248 292335304 664667868 439675804 551789138 401575386 44414814 440175114 866781508 524737426 818985524 770766148 56934146 435619244 174951974 784834146 192258972 381218806 448197978 943206462 4596720 965167216 521759316 122457494 837407936 649288650 45942680 776193638 760391386 443929528 680348810 361814186 346353136 781343396 4383168 720228286 564717148 370902448 638476130 504356974 843693418 992538042 908188678 861490102 189713024 965744730 265237696 288505202 725218840 895181238 623096846 347782498 741891630 560448374 595443258 411098646 166325132 717356814 238700324 357546378 90208804 212012282 405056134 378068120 255973580 494844676 465767248 586158926 191373996 389148390 1371626 746479578 697410934 308473456 931320612 4768686 602518252 53942436 678783482 399276830 352536360 56361058 121528024 405761178 662052830 640449558 253360430 871015480 55909592 131803904 950191940 840614298 646399122 18543540 620280456 577961538 71525004 318851476 56120242 104812474 558249578 602825354 649013218 250131174 655838292 716435060 754390550 504807878 207810074 609768306 783198150 642331078 80512562 624274908 56606856 849065436 435344624 140134864 752158440 707119642 483685306 336988168 722112832 876470540 842573818 175652852 250507404 436561386 927652808 387661752 509551834 659997032 874695276 122585404 165562558 150130604 935535684 912758036 867386408 504451166 322447990 399466932 864755452 906727064 737174488 429222066 113965500 531379098 730751552 916949712 206426478 33469922 552188660 648237388 175113564 106297996 482577268 871692756 796933242 764612810 649343818 105509164 710331618 83976656 321187998 645357994 306619412 512113442 533464944 341238174 298353542 708867648 818581008 31702332 283941076 600989274 28741042 861994142 375542768 938556442 24361066 900304686 190925648 736409154 650213768 127174438 426650042 285516934 182274254 664344872 925943754 93073588 50443476 946528192 881990690 741366298 440115538 126992246 576043014 883497362 742535376 729491500 473093996 194830238 825292206 33066738 981372202 705541870 451482730 157682966 441909576 229857514 866179908 857339786 336088858 250287824 295864424 680551020 949432722 221355458 633668648 895229978 726294428 139093186 261154324 434723870 296237720 308522540 41604526 881628 717454052 144493110 282846104 68590946 274257432 726703082 175482022 888597004 422806188 936943548 32223412 880931626 494901544 897557772 745396374 84380612 829284054 609116740 326374584 523143164 100671130 17288864 9127034 279793320 701102104 418378664 993790126 895974620 523128036 506346676 241119954 407777782 431338798 151077198 834795786 618464888 924886130 166394914 872857980 97625548 521678114 241056366 584468558 292832390 992315156 865062980 109436636 538993676 944517218 867010866 109545332 906105986 9098214 734545626 163845948 73570684 235563506 601873262 699051696 126225808 786793874 370736884 319424822 256297784 778689218 478796368 424950828 957518620 946538822 844132060 481938442 762550966 180596696 937622742 260391210 893641254 695683344 536926416 860841976 103229380 420705950 79857212 904788010 818711916 586942960 671403800 112738208 807085878 391513774 992027420 654276500 737885856 926443770 275144972 551735300 904483732 7991538 931739374 305475108 663735428 117592334 707546528 893129314 892449050 578078924 796816280 197367786 499922210 259275138 33058608 988011550 926799578 906198482 940484888 374742154 596393736 883899706 463337540 395205496 934844928 572578118 554595960 40812380 758034988 26063310 233791604 701389324 893918606 761433226 880734690 875147188 623069370 25758680 56646104 695163932 818526804 383070610 808610422 898741384 155646822 543436970 128860148 823236846 771316638 139614176 236195286 45191764 922663754 311733036 255106974 273282306 370122530 312177714 643253094 244899440 623729488 333734142 788128170 851366448 718563770 392953040 127602082 734200610 910073428 363789418 352821818 666209248 223762932 997906682 452574440 281776426 777521284 889722192 660654066 539443546 618524200 696637446 582805274 437286964 454720734 544407366 269943650 256619902 603579098 357393326 344675812 448127770 374603702 75662606 599805658 667489530 151174150 262309884 94150210 107413824 477782530 929593054 25896840 959883878 409161744 356213736 837721060 773440162 918979864 429773722 207047326 505005176 278079410 85674278 517980290 187379698 347412844 628619508 229400468 669015276 242505902 461429870 981609294 785985050 25476626 241497824 983950698 846360402 992477892 491773378 460690686 574653010 476982232 577670886 711347134 701476878 726906446 159317708 796891904 682654790 191868394 468244022 998529868 234324694 885899272 78028150 469932372 109260572 282357350 201986304 815330598 587919164 392401332 191415552 15121826 418364442 999890596 532361250 944962898 374102880 35488420 700927258 593878424 537736366 928527858 98338708 576716226 261827640 214998040 334065824 44168984 827040038 804700194 721109012 899601024 801621666 80125688 248478968 614004444 370874118 686950756 842419926 543577144 788267314 334404886 25235324 756114588 883451352 95017208 176833870 894118750 956734558 946591034 927759212 911255170 843186460 395799016 638785518 962348648 90293470 841892816 850522334 883040506 492735198 633247714 422523574 171262422 513355436 727303278 719983042 257986376 76505462 70535274 455444220 848649738 370212312 549499696 124472992 328644060 308514118 871421644 683646608 411398472 357811938 865657882 536780884 953810082 510543732 724909564 36134972 420728948 427270038 570864496 331084504 276534450 102822094 932115046 556582852 49631598 332752822 668621192 875474654 67084266 129625442 655839042 476463842 334716534 617770890 775342776 782336534 782850622 868903324 255865458 45981124 443140090 122743760 126923200 795849210 770181108 567751144 892572696 872213010 850370564 58256836 970932772 488782072 625369146 157489254 806748388 588969398 490871040 747570424 461560862 690135952 683891316 179274370 350945518 832545280 842716912 595886626 615943530 862801492 733983490 479476626 738367218 886661712 456367784 148997016 607150274 176787920 765571990 899779434 112601958 585059728 53010688 491228626 55487938 574087918 232682326 474825634 293393568 521209938 381416792 457581580 943903876 37591786 148696292 68383102 964115684 493683914 501826410 925403292 642268320 825636410 558419356 362898550 718327902 269954606 178418336 688568704 58193126 456346610 272375494 3015702 545587484 694919652 976799600 65980692 375363568 615784416 86640358 214074798 695011634 797733098 250144414 185459096 302355122 462914100 725263304 604746234 759139440 337805832 274525660 897983400 559090514 520826004 892404512 660069242 578601898 662431992 233413608 205851532 628480064 709775458 19694124 621256362 760676816 740343034 359263488 789325726 210646970 3868968 689364384 634284488 461709308 893181204 875287006 140618642 333691780 701449060 477163736 195765018 99881040 993882490 468770864 873779236 132278464 92700908 740254080 222067826 623921706 148284106 813996154 425973958 890622542 418336902 684305506 118605504 54843584 93840014 205148592 1610618 218829452 927853470 655211692 330193106 829513448 543765470 433147778 503126116 660492616 971771258 547395760 845158060 602117700 991914316 388175302 608983698 735041812 125452708 795589610 466247260 845870656 535195418 357388130 223335010 654746312 550742248 9091254 308171548 533178068 321423252 909434198 183338194 301735360 463836540 6646806 420602516 783891532 279792188 690494008 19448014 948512638 347404692 335391402 511639770 102966458 987535598 54718134 364331620 895823206 757802028 939945864 89275582 198710308 823698668 984566026 240221100 39874614 942539900 104148318 237395696 783435684 197789168 616959028 292614678 3818338 933900848 435120156 738396222 909064440 813041384 519560656 944386418 78054102 874366404 99423512 199732356 154313380 646944894 997114726 789238218 44071666 17029344 8930836 379164448 331590096 497378938 27119480 334606330 524008126 436525492 532454794 648363576 219286788 410129086 990154412 346033910 843941352 958328342 101105864 321187100 511738324 42519844 121113462 810145990 583474712 118298026 218796798 903920222 858823448 531429326 760893202 960315618 218345658 734116008 832804870 726689370 167233602 970475858 420557698 498950288 318367026 369920582 948383970 879299988 516022398 229041948 202379654 98299370 33824980 334363446 298493192 875890030 465958730 803942882 956070538 320306702 269481046 633101286 982676648 193201336 45311714 824177564 354590190 735134152 445795432 151745586 267693904 494589794 934329160 965365648 816644228 841053384 101506830 530454912 437996000 570546656 730160452 424977756 663974814 116263804 413138004 775142066 401730460 738408544 764471738 651843836 154987314 820219862 963922958 347858168 407357734 505749524 282257698 706449528 178539332 13798504 702214058 309067730 383274728 987016968 778979212 835663646 44594236 867051746 990047684 483333726 8351838 622936528 781019838 869165492 250250892 629773890 470220620 819123934 937917208 498418836 126829308 62895552 995838392 300865286 189456552 493494074 73055084 255509624 825345078 540323060 183991308 174289020 167020094 502593368 461225152 862800348 60634092 399640030 784768694 738337018 869277440 891517116 136249292 796565018 164719896 520041358 586808130 524713816 132746804 206918458 575628488 605870584 416749490 996470268 791458720 704848016 593551118 312485430 908409624 708147824 882924054 917888246 446622560 99383028 871532448 137903544 689169908 352655524 671693760 116216208 981909440 137933256 883830730 452279806 255172272 125097990 429201840 583442176 295090062 711121836 522810354 959845748 958164264 796243908 614418870 65198062 362866798 364166652 815491276 774984522 621672528 337500820 697551964 94432068 755378546 708191390 587661994 348662024 486106196 53940842 714931868 795974834 615028608 303773172 274552712 414923582 757866552 532106876 52627574 297412630 503439334 432197956 460511530 546224162 716219492 436184896 176973210 944232640 47601532 41156868 462544176 963645686 557289488 247686422 74414886 311603218 335182568 693910128 737635658 385567082 12021700 292877544 972297572 515706966 669909156 296493840 823309836 142128722 937712708 828758674 368052898 767517252 469954084 702405290 416476194 571617722 650131412 18747366 93889908 732419542 668294826 179837898 470117034 743881852 837915374 599537508 239224690 688624402 659422582 726287656 36437996 700215118 293793076 631646700 249082352 654303492 619824640 837373806 850064966 15980024 126812812 299481942 847433074 605125444 856794964 967569604 304612150 190789752 224693764 243975190 203694316 521773314 878995066 32040052 200914010 936058442 856801428 769753402 151914412 471284452 819474216 557761408 711217500 531485548 726157398 787780880 20226362 353462558 789957286 593692674 177054020 762569436 821691230 127286062 548339806 907151734 835185676 319337122 928367642 308982816 911615474 358120588 676981460 594246408 524147260 376280096 28737292 18512992 40413630 604017210 388381044 521731798 433966770 989176284 128258258 370894646 386126438 277355968 577052132 700103190 73356530 393970522 608589170 993825006 317214656 615230158 476868906 839555174 491626954 637418196 819355990 252643672 638466562 659761786 532649430 219037846 276180178 314819444 225011678 255974694 64755414 185739646 638508794 396243942 652015168 43812122 336683714 180595438 796917350 954986556 406423776 53655766 904949548 328999636 899694154 512455656 581854936 938717724 635032418 365131624 555594760 104810044 714283198 953139314 240437308 154985394 871067076 790388572 306262676 231382278 191493806 843318532 343431594 659453140 976225466 631305948 557735348 312498418 329721222 801851972 580353586 330042402 244889404 274343918 909025022 960531304 729062878 500594308 793319896 193648934 526584516 526248244 838517368 457246930 128519394 216063134 764855910 326463302 409965242 798206744 518378062 673981664 287823210 463708068 750815668 416173680 622578914 433066328 268161450 697918560 278723600 810936076 10257260 459829620 205892358 296141102 325573376 400555746 380618992 381914216 376121508 398569272 239270652 282520196 251227186 634517786 76057098 367707984 28060228 999173396 774484030 90362736 99184720 634841194 496048728 529128748 910586672 333412912 325677848 509575804 357419038 9578584 38005800 337937758 747940072 669319940 33440686 673110570 126809450 774030840 556263110 992708190 286768748 279862618 957206072 453464548 810536692 383102218 259498462 803114710 746598820 436451832 26511428 367993632 859880940 582421196 649598394 821620722 372736214 543921972 757477234 227188150 974300134 217049922 889898974 896180766 299400436 424674054 428845442 415321170 452159330 636148692 458851214 513989732 955140514 870387102 420427292 317334228 113207916 207669078 735227934 897598438 192975846 880832320 14288034 193214850 845039076 109725380 847951822 523273828 628134824 66111150 707297282 10981760 53804158 739985346 56139770 25622440 399722526 469588860 295743590 691210776 124107876 489849970 756235936 750362722 293614024 160667256 674019382 805719888 592382364 761080204 737108448 414514284 743470110 51517228 879409936 396562720 281968870 378757150 590924860 835708602 780788356 195491392 292186998 99741672 660450466 324059402 291630312 499571570 665612554 284296784 112704584 700453080 425360090 163504044 142201190 314070526 4144832 48621736 674773600 672660650 664575150 690776418 745166860 504645532 231021090 409152402 722397554 591550706 518620920 250970394 481001660 619663720 692217344 488279790 966115298 531857098 770096070 570411026 224604862 759643888 374393290 46502454 711308334 163688742 840426172 933827868 50649432 344600190 890254086 190282540 268146162 400076256 249648108 120788600 495711968 363823370 394758780 317405578 912265390 437099796 849960366 815399744 403487628 999007074 831217930 606680814 800903308 349955258 400615884 776143018 409001390 177265550 954234984 724090962 681514854 583705748 939989420 539369020 788907022 826732456 563433436 353035510 823491010 129545078 757592516 954057374 453532730 260890214 642684360 297000684 396811116 924263246 831078728 757954136 860456492 669159936 308356784 923095518 435858002 955183908 426483500 12018884 423107582 418643796 77020044 134937706 998448148 730711932 756784154 257556282 922842174 114806828 561887078 68906440 755084906 100791330 522734328 376779938 431608738 359718726 580102152 542576024 725109560 467434330 474046538 777568676 96117638 981742166 74729948 874341326 751206010 257059578 139174690 928105268 235802564 969229708 196536206 495550332 322653312 346343786 921911606 937840524 789566578 689412120 98617038 428536076 25453234 717463980 56154016 112183538 453715982 775750312 266039648 283925112 30826442 171413230 604799528 988845206 283657024 533248760 916871326 21794922 324571846 771030264 759473242 660246174 519929138 430798026 514163646 520464994 720981698 186110498 531779300 870300924 645804560 47942576 327271394 651376210 173239674 81819226 729745806 267046844 970624540 727083450 993627426 2673872 228028964 71814896 242225188 460609892 205682100 903332584 326442222 241212732 172302544 215923988 300149390 232192608 49204632 714746602 990878930 738327444 113954176 716850182 600381028 832161806 608223998 59869606 688810722 938638210 294488246 387474766 237081924 13102720 753373464 687207440 180228152 979943316 604091984 533458968 349644408 33077830 423498844 294121084 486493234 484786820 613646594 681496280 817400362 683626376 338568498 705467286 955568378 508199252 404346990 613013636 676382224 774164940 604372372 719109060 271457614 34842528 859974640 100906456 454976328 413901746 837591912 887182612 871752004 427258830 44083784 166480162 810385254 534207124 463817320 952534924 266237406 451015558 567156146 447428342 313115244 31555272 519049390 618044676 382085224 670947634 567181274 386229720 439828186 643442834 692403944 405191674 600775526 89413804 62779324 182979938 715833164 654469212 482570914 53850012 702770468 749231036 121599492 268492520 361498546 316027170 264677130 684521088 481282644 967363228 651614734 289063366 137609588 817048802 155617290 790856054 813527068 539070480 285153506 745494248 637287512 611863386 3369262 885484360 516890216 365336534 655276696 735882226 456578224 988480396 931256626 543626604 973202512 62778702 840418772 940226874 860595272 850389002 430043800 931051506 291917640 938873072 67915442 375306812 744784116 84197266 486247660 39395420 691984696 870873636 562178790 386946748 812561226 383141268 350112018 389938820 552138496 578706402 518257810 193400298 962140266 663548674 687380156 679296144 549454832 876427596 692576186 955324366 509315806 774232130 658170358 565243980 215584232 875255140 884316486 315591388 86212778 481925068 500638872 814580548 434113592 689073284 284648618 130415780 949978628 449757744 73363308 402774498 168298846 361719832 46173758 246595042 519133102 519402888 352258970 44015764 473579130 67561042 742193424 628213848 161847724 616657904 785655394 952890894 349752756 949383764 951082474 628054100 695370762 496991722 521450904 343944732 793645828 491721996 609236624 983166212 779571104 689825692 633074604 88319070 169097204 977433698 170098108 882785780 753730180 303583000 656260610 258841328 152072052 103691126 931309726 907548966 157987452 162254394 860524840 381195126 197972594 504727568 589252744 60471752 585889248 139187164 81401754 476657632 785667512 474323912 548002112 848815284 398616164 875957382 188874876 371861084 86637672 58819352 504127556 751958732 692755400 223749176 122287506 502471546 370639190 13156640 567226892 68675006 447330218 360403690 311373656 665459020 261132514 646318028 268533842 872016152 74918130 547447148 205835182 330977672 161109064 889960892 206995702 328120612 366272934 326915130 430830246 115636446 251733768 49551794 184016488 102732922 16373714 552547130 279474600 179472860 603306774 25106260 457117050 114112744 365452130 374736630 895363992 586466876 881075110 397671570 480395744 57994368 725155098 84843232 360385858 542785668 107379094 710048234 746571206 688761548 178020044 502246982 36911454 936721812 787837618 780758394 226209916 433750422 726680424 134048902 133428982 356349566 455398898 533643854 299172426 799240080 580595608 437654494 222646652 345879866 246381200 960594848 284057356 269500792 264987582 552196650 365162110 610762286 468228812 738794734 975271082 84839162 84226642 144998830 946581988 941702620 396389418 508295286 140740528 166683024 832208986 740858160 178306494 973835028 239796358 755375570 501249002 554819674 957129402 685057486 504832208 525662280 823554158 73727860 977961734 132258698 639822292 912589332 32728828 616054554 558458248 778125086 919730740 686868946 814444298 678917000 542201068 369739884 830796826 278957732 307825504 983752344 779771516 71612432 90694914 317818836 921986612 687002510 938307348 85051282 149632142 238697906 724132672 34537906 520921740 61810884 974830902 811576462 526620428 467485320 981907058 225278768 311701904 233785342 282469120 688648540 439752372 450033516 365440238 666734854 660032620 167283600 768268086 224672026 976661258 64314056 888796716 773610350 576010870 771514394 983688566 561975946 560453650 837193642 316035736 819656222 393790930 593552462 865642572 802322000 521322108 956450138 297508714 107912074 625512112 880940444 364978828 73053332 978832108 470188690 855857888 73610216 944235102 657233644 665851284 449905342 176624796 426887466 277314356 945774012 708910324 386743328 284118998 194953202 940351104 288860324 983166656 179339824 393825714 934611328 191623902 177914890 276079252 391097670 760754146 165032888 645239568 948235932 672622860 20322984 122123172 939452714 920209712 832381710 2764422 286695686 546677978 254225428 63131998 877847444 181841380 392735044 836984998 401673036 144171994 6353288 688224910 773655486 358304664 117376876 210296814 516948582 907011594 233778590 535385948 562510208 680229530 161438730 462302512 453672224 960130450 849267622 510922378 226397056 267510432 486779650 225897852 970191358 437367530 950868568 949218376 429096344 100300324 150127526 317084560 838309228 527010148 407586952 519645692 414812454 416826016 475628582 675190936 941955600 193309980 615436886 990423506 200066744 810528248 774788166 338509794 475088160 367454866 804950636 163453224 432196402 112345188 441506358 553132470 930456020 993101828 325536952 82012666 758499308 643886448 511268402 749550558 359576 250331274 7560768 325855670 632934678 398491736 650424780 999055980 825870694 489649978 157305256 560856930 125677204 290998726 609208872 450782296 852326342 11429532 668731570 528227090 509088914 965864946 74341892 638066266 953254686 483814568 11453692 632332806 770839924 844731292 811954792 598968920 562733336 546376122 732773224 219597964 908780846 934908896 308553400 566517840 553053006 74486318 392277538 295048264 11191910 121557374 395733648 185460790 334727022 228832346 120413614 631370410 469198390 560647498 639670006 39625078 516395024 817153676 245730260 404820264 950737592 382976270 975699216 831767008 886643158 930899000 501769128 464102776 904798360 773885236 739458950 985703768 90730046 984562052 434291642 774842716 920949406 57078124 106833124 516736308 610268800 920281756 96338532 448043930 242129212 396026768 51514540 941437326 138644580 520211938 314406328 934742542 724076128 132722 840499254 124536022 909577672 90150866 275250900 54065694 668642938 586738446 601901120 454035950 268460814 346167828 7866036 33345894 731199290 193089810 680989504 399831162 705010500 927301990 991322760 247202958 197074734 474438004 969299294 659025072 763369658 319660966 36940634 64710524 984237734 210393622 829156394 620429800 96206178 359442382 967281760 57063942 735054248 639959126 208262410 44403660 248657294 827161440 398556288 174436162 973414948 417337236 325745068 87777884 14596566 919701490 62620656 995779722 685032060 636208780 554403236 725469788 45801114 154150936 279141646 738622100 87240540 54074232 806422820 91034984 258366440 74978010 936131538 652562358 941061926 595967458 876611260 862512454 858739228 128438476 287152418 317023086 696544836 859383666 332189290 213407988 444927582 459351964 509454862 501822594 198807298 903402664 766458696 685679140 447503534 521883688 354568436 148656294 579593608 811288494 10769494 357461064 343664052 190607922 415429654 787199776 297935782 202340050 83102738 668949008 888339004 299856996 244201740 751802748 944034182 747778652 66815102 112683558 474334822 111210366 626541610 776998048 739819776 257438692 558547118 509028160 536475522 339624434 390355178 90576344 158577442 393286554 625967214 110036014 97342816 20069624 463038586 255475372 62527694 265883206 331897510 941845080 416997770 240354740 592781368 133276236 750077178 6766656 281255376 154446044 941064926 734929424 390465680 596347908 355409622 338214806 708646258 6323684 939242116 875750820 952255572 139298970 636847770 832487592 77051800 757025602 379751218 511565316 344244594 558750034 164299396 1779188 570521774 852128162 872527574 930783794 312815724 822926792 484731718 760269046 429020616 469354590 445535038 161968486 786522286 735707696 731379488 390856018 264679946 479194308 945907916 400820254 342576528 227841032 874140910 882261726 773127780 562387074 31927790 141297592 500289028 400456754 254912590 553819744 29117124 703487768 753302962 385773572 303173890 61580476 802209332 731159646 622049606 656937150 541330272 506861868 504392540 29391142 865397010 36916618 959347286 257950538 751419192 879682264 483993890 434575188 143296368 285413244 232110946 165419154 271969700 190411488 784452906 920310358 608483544 336999764 999997558 120258370 405786776 934527720 75448786 356357640 584571120 480193504 750013992 893925094 606497762 21834234 179801340 636183690 137492776 394444916 826395056 640144430 14748706 308175706 199922250 492191766 925867312 211657154 191917046 95818028 696712980 673387206 794785316 970062260 713145566 371328966 977080338 311975130 973143200 497568528 638752206 830538106 960002468 480401040 176003662 621646490 92007640 280891372 85734180 695608200 362859036 805411128 891511388 987695234 900630772 361466756 876781076 577319124 787081740 675302540 195867404 301973934 57497408 608429562 825206202 582365020 392853216 308461458 161472472 449772626 874092626 69154848 544585866 790652626 352205490 746424374 934733422 748461988 346594836 543374118 830028728 71874678 792362896 23662960 106656216 617486790 68469308 520207800 759834444 713789004 781045388 836634238 48146160 837249790 919672170 911003672 715506686 636934632 819750672 827158860 184283552 874061008 563008902 664957156 973257450 688034436 548729960 632846984 193573558 898517574 834550962 573852044 612680492 288888330 68565838 321749754 490606760 393742538 876378226 699217588 610998514 299297658 406698962 156636938 420957662 818001012 23836712 58819870 190765450 145087234 131809284 291534852 272131668 959892234 142775112 142462152 679878504 321713640 344759016 765804980 60348954 732982184 634174674 201016522 127149372 934118720 360237810 418012800 238698564 344652396 374548146 31465568 662506698 89959238 160127200 540259434 683098116 309381204 706503636 875484960 246498048 473072912 405567036 268923994 937193170 129297072 172843084 929192144 368440170 137955404 396713864 398488292 382356294 294995700 802085764 339195430 809018738 212117592 557219512 74470942 255872470 500413884 939010006 106344486 963524912 158784110 461940948 98637238 976151906 252692856 79105656 674027320 917796520 876466432 1889558 17487578 533116126 980194516 490533544 139102710 672668106 479022632 503936316 513974584 62517794 315436644 645938010 194060392 127709564 486576832 949002790 184122256 334306484 251087668 52369506 828411376 789750434 474625516 45186934 593121734 578212228 789833590 115401242 895535962 875017052 690737992 843662410 300075510 365875998 46196898 589372398 798729360 549756070 477107426 611493622 625652876 593345178 110853806 187606416 611116860 933428688 941052842 873432648 748225944 989321642 857663300 729126334 4074136 645758630 446133832 687390694 563209898 175416560 749912362 918343450 489434412 622642798 861185262 493820990 702703454 635908738 894850168 438026170 198240024 634335230 465399094 708276812 233243270 752489706 551247292 558305768 92895552 201212670 974502294 417039454 406432468 283828036 786069036 877696644 334333420 389620038 518267116 782794226 470392484 91666380 225643660 673484682 352592716 9787566 381264220 209399262 545193928 991794938 407388824 53977444 777501116 245988122 159091356 697898554 691111406 195679682 80989802 834892284 401484466 219758636 368267128 542281104 765157308 107059146 972571458 155455536 793024854 651865104 937794974 874871848 383255278 275180854 448277302 124289842 793275282 490126140 765641612 988890548 63558558 790450968 547906874 572314310 999173792 942745024 356203990 575533880 414434190 900322482 793814198 356080074 516746800 444768606 699174200 526426024 754394498 95797062 396628032 964468444 47190206 387730538 876040786 261330930 215428594 376922480 679956746 687846450 656382764 60027222 291092696 222783498 518072264 883373990 254799168 801841924 6948558 748053558 958378658 158535244 729950352 21401340 346528272 231767390 256416848 153215304 989248370 29821800 784867724 621259210 359662712 19457920 585465566 931926946 453156906 855697064 779073516 394976234 605920792 576991986 50359122 242419290 910288196 309105660 601393064 168096764 778115178 824833036 803010376 239424054 535605682 324340726 511849412 841921936 268657134 483842548 690251600 355659986 434192318 324239828 72080808 438447036 246434282 170218392 620596688 250704236 286402200 450140264 400133736 215774716 762010878 639959524 760093200 57686606 909310048 838524530 79691280 841961560 141277088 649334802 487561344 641398228 70955392 28748782 473256738 507913496 744251008 858369052 49880288 35994220 196017828 176816106 760705722 872559776 376182684 462738352 965879188 641339458 619572264 991584170 785399948 747444780 545382566 951543988 212668542 437258318 944428020 664314794 411307660 574178690 565711514 559065300 737050702 508587836 161107810 602799972 526058040 586373878 222292552 652521358 19966330 888347140 743212038 80760562 88421704 161296358 193720592 648328956 904910804 209939718 575241472 381775194 258365410 285622148 444579728 659300406 714854386 944650444 513193604 105023248 688063580 61875338 435224272 338091062 731921320 184934376 949599792 788615594 901161794 897049858 843224856 724203112 64674880 151220502 255055144 917748236 747052050 101974728 519904608 659270226 501942756 169511224 203197108 181021024 404740740 350804964 32682134 923708074 388186378 629789480 471266836 138935716 107396950 92853606 981497380 892600146 435312662 493300366 676352620 3516340 541086792 975696994 840914400 402656880 841824434 98729836 758071642 425377422 594657466 694014704 124217064 755836520 550534110 870745800 370578274 232849188 672506572 942190026 622914978 968083780 836180806 359646828 843590784 469137080 408921772 351493380 261298304 254030078 474938956 21412450 538256442 167416548 556117246 691133648 26058616 82974392 7310602 725539382 679548164 212746650 402892494 764305528 597934896 6401406 340420774 968182982 40776958 157207236 304504098 151382808 209104806 255494762 636586846 784540794 310549258 368980284 324812266 284077262 164764424 334841830 838410176 201860208 545744650 188492480 677957830 267766356 271822800 808220888 754341306 203246246 82273926 694857786 916036 361928642 918064892 425816536 305404940 970946344 880689092 933440922 484647974 587456302 213296366 745022338 848389410 977869300 869941172 135459952 639060108 268890518 679688006 1632560 404018354 374395712 144535580 426379472 80085876 115276136 78243768 677523548 687845376 422397072 939900116 229088726 5183922 479720490 892883270 5864730 360500860 682876094 236756774 472396492 226742538 12412864 152238038 412943388 100548636 154651812 329690894 158324958 580978970 345451150 834003804 620371266 783164686 475524796 396504348 708801284 837959020 831486022 682658380 256973166 752021324 786858844 571207430 494518900 222130742 966851164 973630986 125515394 517061208 722596306 235958670 925428348 831886954 965770114 981485900 348782592 643069032 269581676 952258712 178112900 478855042 496588212 602700292 133970184 189132506 951606492 301243594 803413834 372065088 139253894 731897674 198250922 843880648 760294226 421726090 849951562 92980640 463019490 875463888 728483734 675856548 108659702 266018908 59068246 696295362 235623488 395598112 857781958 917883112 428521262 515533982 526485308 892002334 241577008 51928264 385970834 621104992 944277620 599632990 298339672 66247154 962002696 475805412 809741438 825980608 105454764 915205320 68519096 730138092 920624118 380501436 985434184 608492752 917219758 21611906 441043302 378294468 801290182 371766038 192755970 781143200 34808532 389062810 581695226 271549760 117744470 789978394 356232834 496189342 321770016 935188602 181802162 936490942 571151606 189578188 475632484 475860194 422009672 600940488 687058710 379562590 760508216 980528664 809526230 202236236 141729976 567953230 334894998 998442998 949091938 283586796 20758194 453501326 360963550 623516332 414529158 622873574 34761610 784414472 3985828 336091176 772327784 817843784 603858240 678973128 961827222 590927544 709172174 84248860 100857238 509993194 389625884 812439188 968595244 864372780 167525972 759489426 971219684 441790042 120652034 753545686 440736502 207945606 573648410 121797316 354914466 371186918 890588820 146726618 416168300 153131556 203337322 872365520 456128256 765640694 61437130 652718864 99167884 707342502 425246468 296712022 800302188 758452112 554303182 74628936 63117848 554052502 588799348 273285120 888836056 263246192 788030496 499006626 611536508 6025252 81996136 764255080 12176958 403085726 643208458 820674694 704959792 25263536 605982462 967746048 782735132 119311084 438815454 433910732 337809200 539501712 754209698 73962938 306265806 666904286 579834112 999235118 785646902 321877890 840620780 744325830 570723652 865387800 339542830 194952418 297854268 522397974 353277030 710490330 355396816 533897554 811539502 557497720 277280028 711637576 41562866 636212088 699406294 975523434 519047388 112416410 852516236 899376880 12187118 465617356 797924950 767208752 901470862 732410128 465009840 999916302 59864088 272150272 890465112 313769070 709233334 211937120 597333986 414086968 650698838 227864112 595991070 698343900 55148274 729746538 814007228 572234296 453039090 205254548 435199944 775726240 2687978 865755460 513602746 40881862 692409960 410294028 786824296 160810580 436409902 331105692 914670094 199659114 447968960 135423918 486797442 411206214 545183404 64725076 752572222 935134212 366083044 947489594 940373960 255242122 186988072 284369720 413974270 794140698 178247744 197754106 899166826 438922204 361397830 941756862 427447768 182595928 143670398 974220354 702667366 221145594 70772578 267127926 972055990 919866648 393985300 80538586 791898454 83614310 560064216 147719096 134993674 245712164 968675594 827887942 769161940 210974640 268992940 142186778 303540910 998145066 155056546 169949664 803852652 981180622 132730910 877829958 651703486 56832852 875526722 445274448 707345148 727726940 326590328 992124512 68964836 991972426 344950278 37705914 923984460 200161408 265679722 950887424 312849492 74285880 903766072 550325986 375508824 488691068 58627938 911096148 214867364 123896416 275584124 880392270 734420994 808622968 688555246 787990874 562495222 206626658 681680736 854478616 221753614 796965214 537593040 222184106 685707810 284415318 141564944 786859256 156331224 860816156 319060668 685891450 236714098 699749340 471513636 732326102 188085124 252160592 253682992 408538060 459683626 736318424 792976102 507309862 239392644 792868958 972669194 998751466 714641482 107171430 500260512 848491812 711247182 288131570 213335388 568620386 956371102 91164212 97015656 873274222 833717392 826094364 943137454 916536716 542138328 19194310 357181164 891186698 577304024 486750276 728284848 32527948 866828536 980753676 409987760 604928890 910509034 507142572 558391840 672038424 90052226 274291278 776040516 371314502 920608630 356875540 193233392 623044408 730459282 379824516 543189034 60838284 394429092 850474930 814806516 270084614 75226840 315320410 84425892 846007882 716781550 123750382 433422426 700737332 987342126 75799432 153289012 364613410 616389830 705230896 623511978 258848302 477898708 214657496 108092096 183595288 808702676 34504750 177184008 906206706 978629372 6846226 652816008 857263762 499335646 452226988 816766452 190693038 677435396 718799450 843620566 137145642 729059178 92485552 207423424 190858140 321758330 402452780 303929646 696270312 77645724 842571920 268743816 512574166 341521530 887444346 798425428 500561438 726566312 774950114 932293344 805963502 823665126 932867350 268574606 230316692 689697062 71415288 453867596 39041674 757600520 570078756 425778212 354064786 499101746 396677864 66887242 253000158 689596614 490101836 506299142 134208634 30551220 29024162 180899762 203525912 437443218 683121380 942468464 592321580 382731492 233572620 367562558 565705224 799104932 10292704 885445370 229808984 62400036 705726414 370293312 301706350 76423582 129505570 881744584 203701280 995430630 967030966 637765304 199909388 186829636 460950668 437726624 567452916 192565006 808725784 418875044 487536696 35462090 292809906 315695528 930734762 694340118 241757796 803777510 553486000 832253848 281727360 440227720 734496404 969445810 360321760 886805262 660115204 408456276 246177154 124959672 270132368 526450126 928202872 18664714 817744482 463367534 428440578 963308970 240287760 932263350 952652854 157816546 574614954 375359508 641207024 113014378 204237204 695587150 734922598 357876886 436874018 296461092 671360188 333481806 144055552 686633574 942435084 561699044 243697376 87741984 940887624 676418058 754453518 846854366 493070482 227398490 927719926 329433726 79863878 397810076 925399648 101443512 183692842 472742734 974561170 871523814 5796098 817830930 166040396 739927450 207160074 309037106 364219130 469994326 531157370 264913156 417829414 674407772 294607474 789116938 615749146 353837140 300715586 374636952 584956480 424694230 786873912 844833580 303435114 586032822 195096912 438939360 612645308 542751796 177647242 418605182 352041750 341826128 941124216 533735636 307367250 480597656 146090820 465476562 843510154 507321112 557983442 981344020 51786132 904366940 86920198 489816552 877382534 72863162 967869646 243606214 486075550 89756630 144993796 722306394 620831100 232001554 337004296 435803648 735469140 596905562 103977220 912197692 741536660 462098260 983488632 669240312 159489930 452219302 954452618 434345272 325061308 520680860 477983654 732701750 86595456 883362248 929131786 937315036 47986900 677921080 295141354 465715598 840805570 383721424 395123264 590613778 447598438 759327694 187938028 968999856 920739058 538242522 607148382 332167648 599846406 773458934 583860782 468991600 604862850 450645548 764348168 314920546 124143846 156770810 643553004 989321010 654864260 164334196 489232342 428999900 776676016 282644982 58394270 640112354 875772030 743689718 455810146 725748168 493898848 110346978 435480870 829897168 68057766 281469802 404255984 813355214 40697528 897948962 595752522 884929608 543357622 318279282 749242270 319588504 165977826 919254698 829696970 388993632 239067028 251609426 151156944 719771702 137273740 792839280 134060666 826197194 841707120 98006876 287465678 950390072 33590238 560631924 345694248 479834030 858661902 426805706 365242856 89835352 906907392 205776850 218880688 304934486 642036578 686022986 738682496 438464576 555177924 469384260 43632840 820561872 8243028 616488050 534758774 508827010 92001022 105216136 869456058 603964858 384941660 611150264 104687066 237991798 823785086 279499334 30351862 996637258 986027384 214488820 781455290 958385706 573172530 50611828 927767820 44588788 707488638 420610194 949008338 281924644 467851358 759992110 5186332 469841406 56268956 799973558 675566300 866748464 510105128 942968268 959802954 45421322 25968180 310221384 255187442 784838670 394752452 260861374 998435792 746451330 721648112 105068786 860385016 514030136 450050602 713477868 536302426 251234596 922476364 140817850 218675602 968869082 931582016 818257388 526669704 227512076 743014778 348874102 165360120 316681004 817968492 251939470 825098002 257652442 796569966 424226880 515208446 804742514 115998564 81166174 239042246 310599636 586375818 762490552 351598816 3914146 102712818 372409574 968222284 452615474 829958238 261284984 39730456 517508130 559410972 15793512 489111700 86132730 531197536 22134938 952533856 846897898 473671618 338472346 197966046 500763390 18565134 995100744 909476668 283044810 4024668 350198726 957205506 534716092 192847182 811889672 225808376 939858750 447879150 401625968 339238590 993988616 679620152 453939454 505474162 174360440 900097390 792440304 713197088 582889002 154220604 507484084 875172528 612580672 172179518 145267080 8881866 275013592 114252266 835495096 28368018 905311098 132676152 694758992 906657726 347815944 602953548 645172030 765650912 643137652 89390940 271201596 131032034 551909774 889853890 807940474 78977866 642733108 150347220 72873958 187444602 536688758 420264410 68499268 481071274 954937764 686195664 827869722 592534002 471519232 378601864 712173094 635231874 692532404 364049768 700524266 261747748 522257668 393911600 224677442 996998964 23773852 390646438 747367162 409471824 105910462 609014884 648479082 571416438 497488156 116760524 74073112 213700926 59092666 180598642 482803158 745141594 905551352 540387346 15061020 18552866 992443244 180109560 104272674 990108094 24504876 486966200 18716932 816199956 742667786 754867774 987632532 968256800 723898000 125553582 542326612 838400402 342982410 476071646 381340508 318283972 99652414 971834504 346720466 512328982 670221988 782581096 879740090 62746688 927337574 231635898 672420452 431291524 945472154 125489052 853644404 90760090 331910774 607796696 262098522 986940084 322128436 941282550 307639784 683742942 469415748 531307678 152454636 544666632 83094496 229825770 278357642 287540614 605577272 966056834 598138780 558311674 728985066 557919706 797373024 988859486 760483966 855299792 264425854 181026754 680624062 970771678 484474690 553563372 332330410 576595316 633097306 431566026 481640512 660704554 201697306 609308036 230929972 490305276 460151498 636661136 63073480 984739326 841923212 547091726 54865170 10592062 523154160 263540284 601676742 330456996 526420898 53893486 54109212 575318910 832743682 503820434 708661030 766925464 766345694 32043164 665443554 246018608 734618380 302027644 136296036 650144486 769936088 342174190 978920904 861080276 771567596 551493638 919292470 246345548 610101092 482819142 195201464 178836604 493031134 963920316 949286630 336249292 342666168 77325444 411727630 81348912 35339010 442182260 53277212 958886536 156264226 367545538 427128388 167240444 794658456 7109780 863549050 55296630 117366026 688923562 813999248 48531380 41155980 955018540 646670256 489351138 490469364 588263826 960688482 50262434 46839284 621609710 593823610 839141652 405969730 167854092 513970384 177667254 89254844 800995596 316617384 713412086 344157798 209396042 712655582 502551696 330009816 296983374 781395332 51687110 234347654 506560352 173832082 867913258 530000616 256046992 954474170 240937794 170636170 566533302 301136036 884996686 73543740 276975680 500671258 686649986 808350590 490862578 659883292 53885740 741247332 610152566 742295396 307865426 21878874 635193694 359231618 32467308 145137586 210016354 255778006 243553240 629168486 594077558 154005714 200247980 806725358 297928086 736059952 91265666 511056290 534508364 105317888 555235262 527015368 632323156 594314662 188495220 529880360 803726160 755647108 548975116 548551744 102231692 223449172 159397996 279500826 926409136 945126548 252653840 570348368 328547396 414570152 625072382 63502570 928114428 629767612 834564368 590150090 534774298 150704118 498032486 683670452 411826240 344132416 860646710 948201868 328441080 740966582 791287144 390567664 264955042 845134794 939833476 9729024 962500686 512865310 371851850 790940180 943012522 488442986 315239672 680123168 194735724 232282750 356543618 970260558 197149482 684095782 500611764 771951478 521421674 580217330 985492832 194242940 234971722 215408676 303762370 995810076 61385880 200097182 594955460 694476460 4359082 252019846 841113770 801073498 302135464 393339426 168454426 758506802 226047038 283938532 998564978 539932576 921614666 664651004 67207206 403775524 956161886 314916648 901709120 252766530 583394612 710506054 710174522 810462550 168958012 541108998 821998254 383001114 95776540 359300126 226960682 350739136 410730808 588289776 434526710 300544896 359968678 122455586 265404436 947232082 874329520 123838528 222956608 60372626 598200914 535909190 239508694 655086128 642968640 394135510 749823472 943101514 225286044 633198116 282595528 812111712 634996026 890383240 901031832 210639582 234471948 817437294 731839580 872954604 798205390 41366634 272473026 313143536 997752510 379303078 30596122 32931892 991292492 215654552 807845770 362781698 152496052 820483124 875531536 987396190 660807186 227748280 868403820 862394782 767959148 560913290 339533002 908426894 569935286 764139112 775862836 474265484 634724824 720180044 109523414 570186208 138866056 560125016 735177844 912316454 35616176 985320320 387582282 160672498 553038200 383339338 402066976 834997398 85665142 806329476 594185458 71217908 464657382 111359162 148557492 87234038 314099082 694234048 536962846 663678278 808559104 676416034 717506636 4841922 36630384 216268308 520847470 103531342 194539006 43139424 527276164 172469174 777997796 934685610 33856000 371735636 105034666 570581212 455701954 220325052 990769748 343865176 896220250 698079602 804035502 690765328 64314128 247650038 58439308 377710644 567251140 407977570 294479276 229071040 804331816 229768928 818123028 608723978 455390322 902856872 512358086 608376244 838954182 102379146 307421544 595211200 15744348 528375474 985449510 35406404 911535854 537783640 668436754 182623328 353421472 630193006 561556152 703896438 58525254 907151082 940027140 986489696 709265254 322777070 405551682 145190384 263539170 460535122 94195942 25836274 587985470 85471914 832624168 647440190 39967864 197567556 424953552 719076212 172427628 990637686 640355760 447866748 196559016 203837372 459169548 226735234 523116324 79506182 526103406 157071420 632592966 620376160 894986570 227331474 453063778 524994086 737141730 98109342 588861736 831236070 103018592 188790906 887587070 126905158 361018232 908844448 99555604 516631026 154517386 806026058 434768606 447015136 33487516 347601240 933080982 421680530 313148550 967781554 643630000 447486370 942223018 633026860 348785310 365821078 13534422 35979008 273651186 490496644 70166210 838925118 908524982 40065662 263475954 786662406 903504812 310538740 823274916 85312158 457961314 303598196 62746248 822257748 352421778 839027002 367052478 980658454 498415116 614745224 361385146 207803238 722108154 517097180 829453840 504124768 917600252 932560940 402335628 882634018 650263224 225505846 730917358 966543116 339695652 665136790 905554526 939090470 253665918 69316248 614405962 543860730 222703528 781373596 758839772 252427066 888495912 248754034 522156738 941385958 950718840 464894382 233282258 281614348 876787436 197040092 461151290 244839620 770357838 422961086 3532772 303035004 228435184 846105024 177614504 679981484 676593936 118605022 7729532 577824876 709229002 404707466 309891398 904456766 645503014 56982074 666162018 18060942 665827008 514319388 516658066 682277390 183071514 532351324 470254816 362611048 534702384 566625496 997688904 803083530 379125038 5690604 948746744 544013738 25709110 155248858 507334268 283364176 795540024 159922378 102761494 34485462 704597884 594707450 294953152 600971686 761380356 461172914 658193138 18532134 901923604 424428210 210643886 61760560 868972528 888286020 847165030 137414144 394559662 589345090 175820144 166735244 252207770 821946042 64236148 177663388 409374186 448010026 357942358 227395206 750766970 795175394 368269274 873852804 632573770 476706380 308509322 194783440 810797950 449205620 645799494 803805496 440513506 230829874 126387708 369222484 789735782 743391242 253471770 444935302 297469612 342070784 987748234 290042882 589968438 742923598 411319786 282044018 907578510 246705744 856342222 234955436 545758292 75320686 396431760 475075586 913634552 521779686 219553936 775520764 523477796 791253934 678036326 696700702 693041712 140944562 353354168 780790156 604577214 891953028 795210198 579956696 314904088 134233832 710568580 63665702 109095302 427336884 195048850 788203540 605781424 318776714 258957618 147821612 64661548 554788500 484087966 439425960 705611052 303979744 781649544 77231792 869612826 403206812 819171516 434969390 884943374 170406100 813077876 785774404 945448400 528942626 985239418 518257114 55974588 188769522 604996442 493024832 908958340 980015948 440724288 642735406 133275842 212386590 251073126 514436264 391880152 96270904 705297592 213187284 363373866 399215432 391743106 677507290 244811552 813136910 501436228 196778698 650779272 618124662 872904794 111489568 818739098 45178818 185302718 507267338 753025400 515630194 576424328 186200878 339652978 143425992 174445534 36581750 831809122 307064010 940502536 665042160 199420660 706627640 935803968 473657706 619642478 850085164 684447192 111284568 357404260 356298668 673925208 593880276 743308264 409891062 476870166 66607330 77413144 554666222 984790986 117879656 152293732 340781972 831969314 181192788 954123854 951807710 97263190 940705488 761763234 112553266 829954010 113030358 658783872 567411854 458649678 341701760 139357346 431047514 512405480 842139242 612914718 404848002 627064270 39268380 937721046 262247200 805308196 353998022 638383130 597750296 827130858 563226686 976805162 86924294 548083030 872456006 419982898 313103566 129924838 420077454 519683760 516889442 946793336 737281198 580552070 287393944 957970372 206394482 371419684 387224748 242486954 204866504 442100884 211748508 5415704 14319384 337199830 504046608 296429502 951327416 371264316 901016496 868598304 239458390 270873514 363846096 582384594 336088626 183973420 733082926 898511952 524628266 994606048 310986598 497351030 846109660 578228098 244863456 962305062 58468720 664423012 267756250 369860330 396430720 181259920 914753666 879905804 609766476 825406324 209655778 373821626 913157494 52790050 461935514 343841482 718129462 665563206 105168814 34064084 736419710 53208834 840388768 72835274 592494938 383017328 621040782 121769214 30537022 210187290 387823244 678178566 990077830 339942540 548478246 114369238 780649834 198063942 424087370 65583136 185340702 617707518 809976364 68701624 887346138 134669988 133351880 994971104 244712026 269349382 979508482 231779936 63625540 243220958 270874202 97737826 355699002 771866238 632645282 760940994 236882788 485691102 440780408 161535236 328715928 430964380 469151926 144491076 876780276 947859536 985691618 621475308 145400458 454892328 666381026 302494166 938899716 432952324 523801326 722065078 198511928 168235102 185044188 133851038 654390274 860325570 119986450 665491218 67982538 929881402 402589906 323787436 225440896 629536724 952700522 190907830 887126570 288229986 761839670 950068610 311015532 618869386 51343180 405096038 940747100 220194260 59037954 142793068 799225604 145736024 716000314 753487538 659072264 311952810 7786306 834009986 793427324 313867812 105845776 470944416 555700696 90108018 856946752 961897626 397405536 52921718 360880342 11221970 730931948 195675718 589100296 623148420 551029130 37197720 100672596 811144678 657832620 540708762 706061088 107691200 762063526 899906782 20057240 686801026 848525796 5434960 945214280 930926070 444678344 987103530 52298562 315535034 183352404 785000742 532884698 164434926 847940620 460268166 131493290 614665708 617057378 700712802 443003974 4974974 87398640 362672090 46429848 394488046 125687798 104234904 462081016 772833874 274912636 385265076 108579964 305899724 77394752 9741722 628158032 757310114 589875346 50863500 891784850 855885490 729062302 982146146 774188260 153672738 57010740 160167922 99526660 548196896 969804850 288640424 397197624 872435794 376593030 522132012 100277712 873913160 351784316 966751180 585447220 505471990 32395954 254155960 710913504 203209648 447808526 614819644 668371244 76412820 31818464 66543926 512588534 251880616 900459656 706723292 110968958 617797598 911781498 509609440 578657982 692340036 505699352 296307688 181330394 310793084 373488536 859402440 401700970 412934512 67603474 636696322 958842730 282053756 635578282 229407898 373039202 785337682 946409636 964072926 306442260 126801742 917265938 957304144 783456684 129990048 188408490 223094472 843497758 751165188 787858036 361017910 321795940 127667172 218209002 770854574 90944486 839061372 524412232 553112484 186658638 143496618 462585304 540562510 272812424 174517766 834530758 131097676 577347712 684733450 542166884 122663426 919286782 310213064 253136134 117901720 778152060 915381748 656856992 60778586 595233054 711038946 157161318 616366508 830483804 709879750 417115408 416136982 42242818 648738240 519113530 284232766 306608752 494743548 639783906 769189548 814560476 402539562 966099166 146794554 473963038 614044272 294751228 753173776 738043570 385528676 575919738 717053408 188386038 696955194 189069180 549227688 365692018 115873718 493756076 50934914 885717116 126899288 79524856 817758728 54350562 713712042 970521570 478483570 186622274 872744938 339076040 907555186 236954622 841576510 865305204 588542582 197948612 119951588 895177418 242880948 66397434 469914138 755541454 307249034 815518270 416536646 821540602 644273312 794308878 83342418 528541298 924884066 80990678 285433424 511936350 972878588 529820316 121583888 534517784 932191826 912590680 625068424 631659190 594647448 917600362 836271616 426104446 264029408 438325994 60223600 487104132 410088466 967805808 559771132 96589398 944878540 102291360 506080870 601916420 725862258 643029514 323012942 650911470 45857426 346563614 131317796 126788110 609343596 752363586 983464388 248102656 61251876 608051836 547189050 265957854 912520446 797830028 98905942 957710026 588848372 496509638 375115582 494551332 921153594 810213194 115257426 955754944 934046778 863373248 660248414 964587488 957557956 950285302 582075518 220326634 654526248 684127400 274924854 25623514 198224148 160803328 57143228 462746478 722321586 681608950 972145312 904093948 270464188 465712524 377790240 977911484 942197380 923216420 967935298 991454636 257684874 240937406 254263950 615230672 530082564 834655782 944740194 378070106 139061864 957000124 102216712 961421024 340668630 309580674 815964380 845622384 136852454 370943158 753665090 114081326 726836326 707923140 882353100 693530624 612410412 643950512 910794956 80430942 215687604 313941160 445774194 722627876 578491696 970226746 73975520 371283072 742326980 373128000 84636666 663722526 627074286 766824844 133237620 499216676 461185892 957974024 335183358 961276692 373044038 170777540 148228900 903595796 195260124 736783816 312547942 742385412 393109734 86468332 295362868 193092936 307231172 568563828 173389418 701148924 204637704 982895056 634309582 506523634 40007138 819752838 28666098 110069670 782209044 61605996 758312874 133628348 394168256 804735220 556861150 456005464 309977758 687373174 506713546 818181020 38336564 858137148 549460822 798864492 883826678 814361214 573654088 631602446 559965446 526613700 491891250 825809476 538269944 236694902 156487302 32119106 306318546 372657054 630045260 388006862 716537676 303592608 977885620 765084668 169543522 454649892 708894390 510252302 973899674 123307862 868947856 947628290 802401410 359862386 497809436 193520820 346533890 854365776 865809916 956295910 199261170 527641472 744049972 879919706 313017422 163122310 537433364 67763264 153891314 712967156 548734336 235401308 722940236 946154264 769581336 98756304 935775020 216272582 781779372 708409034 763563562 19747140 785774658 574451844 532123738 356545700 260880322 948411604 909299978 827995060 283875194 425244102 942869364 385980056 280350994 543353512 745381140 107018658 545982382 963283452 534604024 408960410 837592356 354731944 51224646 155937750 156632882 487087070 557747234 827948184 930377330 141931464 69680546 969037388 356160458 765648984 736714242 631292422 346892662 432280712 865567334 963979548 341418598 848638442 303928566 227765118 668629606 777572798 951625896 827646120 199089860 900161948 770068144 754533062 375593206 126266068 115927882 440203098 886304086 241228626 497987792 212273188 279057100 826147416 721500732 452247168 306434084 124536218 335756402 665919694 254039074 142740774 501577732 834508336 869819690 829261608 183547842 305484498 502693010 28282472 114640248 203342774 324329648 776393726 450611590 846375980 473638904 336570510 61897016 989583976 684736640 48036276 39344726 644945574 985473740 767931544 643797792 918051348 814764064 132655364 2717110 901480670 990135618 712547446 915016002 157131828 256666574 647542950 358141896 492824194 67888742 884425234 328457580 254641812 493276450 649890394 187604726 146378410 891157600 253791384 154324304 285765890 533954854 51578218 760601726 375809076 984643744 110636812 818628542 892149014 274433172 520119450 297199658 492392704 732419234 108399534 579476400 576871198 743533170 304595978 232225466 404170604 90753194 796598486 686213970 467436412 629871570 807665834 352232542 129080358 845429632 134615672 225526494 889168972 918065962 857701268 689170618 455528530 280555118 127596566 330631112 461754338 833334024 785023352 17100952 189659222 235219368 273016146 134531120 639343748 627425896 554379956 24983512 957347348 821198038 761988828 422756272 682098032 169542938 163371850 439507062 159456538 650883198 367441804 968784670 371507608 529988150 418107002 695126592 31752726 900780906 925737610 651030496 521109348 981833058 4524184 526203636 408284110 660978056 677122652 388837210 349228802 836719364 979500446 260106380 63394290 814921816 468324272 178010526 730511412 400423700 437878234 952051720 838093810 515788134 499291058 863079788 520091226 473876492 931856404 760608456 873514828 769377340 500733690 759744876 43342518 932054768 139525692 935110662 141746642 742255462 569026332 307638196 790207226 86734762 464105404 522636748 160729190 546557442 943951726 247380518 923774060 273474340 48453818 809982054 512684072 392089906 209849454 219172452 559553622 206505808 12376312 963517758 303198142 273183756 890270364 38983630 227108388 944880384 49473628 575943562 908520170 500771574 713024156 629651350 703085194 797850108 982609976 20883556 393894228 213835598 931714642 542257318 770227308 737148648 309004382 881504270 259004614 730423016 209107622 920010582 670023894 377593480 194368582 18795566 558631186 933099712 57975868 546647702 702649272 737807258 545092162 227051350 109375520 122335992 323014340 806607064 204606838 805572272 348657084 705372072 502997448 841793694 710253140 42038860 7222122 295567874 595318178 860324834 118440492 976759168 95278874 59108514 382172358 455802146 607077190 396122518 231898050 941809776 989806396 526343428 259722908 39779038 253979160 366159206 81690142 155939822 92751728 435808252 251505676 311994244 596141516 32378852 329434638 363587676 678419978 489586278 750967336 825330842 835057482 510683302 760906830 99589196 719384022 856365194 985497066 266203646 746834546 922263092 538842200 878834976 33910676 628091260 904464068 516900890 92054546 796496196 362066268 535791618 789378746 831284702 547833068 678957160 48322522 76329186 5511746 152330254 413329476 95191456 72361786 89913766 330829554 316930454 834349576 698257632 214392104 405743794 482635232 188652440 845375738 210541846 694715374 649676392 142027428 356688146 122461210 627450648 276261732 123587508 629245630 762845380 42744100 657973504 978340524 15310506 996934920 681645644 646588586 983100980 197893916 56622810 370486090 135674434 704017924 684786774 107717992 369933280 34923780 852539118 785017438 61540614 420835280 730132620 975237034 363171954 255218222 994329256 16614140 133069998 455935398 942741620 834820654 187701784 589935800 239914158 763568210 667799196 736444670 59383648 290847252 45418620 471373968 361965982 981197858 843203012 818820474 853879826 390742166 914722964 274051746 596990896 647521236 485283856 201138920 884442928 778373114 264087428 514595864 386957006 936501726 805159436 642412884 754483102 356687502 968492620 44942024 262319840 823242462 301479206 36809560 20659996 815079374 806378046 258041940 377560458 313874698 930824740 730539374 632057784 247182282 577558488 119622150 311339838 102968100 991713602 940053584 332935086 946844686 463367044 291777442 13404978 546254768 749063712 230517554 531436052 467743904 733178312 327512028 860316864 207428772 539804752 951997244 220102628 73981596 992453528 280329506 876577790 323914518 841843392 920811390 198042368 767499978 904312486 714537356 674401984 41497220 625721446 680659800 378608854 735221498 851066654 741787266 293790710 984300840 426430870 461225220 47936 550409694 348916550 465580060 488050692 403049726 60513840 334426354 461357904 848705894 792716210 904762874 980144030 336192356 17285092 730719880 559677920 839279160 221018112 418322164 640572752 936910088 498776958 665502916 695429322 329863728 576750350 647088100 867104006 824030648 499347484 52739968 687523226 940533000 209151452 544076100 851401918 589627426 836390602 678341526 201989590 144272482 309676306 968034778 10507386 216795778 182466638 240745320 939966336 338609314 55489796 785624364 744678048 276844176 550170566 260568872 647918716 732925488 262604572 194127642 471970446 880357038 740719356 937131094 747613556 330426562 751034234 436781028 770539670 761473560 5413318 731033718 777406132 337647190 957839738 575833484 993520112 740548002 935703422 903404352 947656442 404964980 769930948 808123122 579422684 742957230 155317002 963724636 483435272 775452018 990679326 630947930 436871974 586999374 694078858 591227956 220183640 834323530 172235588 452862440 474740734 746683034 769342196 763844526 50771838 521022660 296040570 150464386 987668442 565310202 335058724 995571044 457018302 816916944 474200132 31218362 738138350 123829062 661260650 333152640 415016256 586859120 307557926 616102558 218735860 103807450 924046216 10005698 646463084 180875458 954918978 268256872 692774424 129796982 29212578 305792192 29435644 579910938 419445014 714501066 867390810 680500694 237197594 946163106 988970912 277752238 418992068 504091552 785971400 411471870 749312900 732831952 2172636 522846380 123736308 817292532 450326832 252727412 259518866 864163492 113886082 594280206 25381480 642190414 401561448 546860866 457239318 228738032 970775990 591210268 807353798 685874976 603561570 274190724 506833842 40995068 647736082 999629694 21082192 45595206 347059070 41207388 382987588 539131152 82438036 128032022 661413212 562558436 630130102 746021384 166538434 429735944 162606874 927806432 181831812 135928654 577062102 112838118 970004642 193352766 926550854 896839040 905815936 52226006 926497478 21412276 925860698 846659736 50220362 752451178 671031694 931354410 341354386 788650154 448796764 375840954 917508578 636236834 248756954 443374934 454725280 642183188 674005978 379380256 514959284 654221970 861529680 737289942 282431816 701198310 409955008 585082844 495556770 265053796 786915286 814900298 626099256 174897410 999285010 932945278 484218504 121041768 574104228 626601294 371983382 708819754 235147244 48306568 118239224 334537872 219149376 75727352 861855212 80418612 154249674 525565814 424800646 80898310 76918414 274442520 373041036 539875542 577854424 800489336 339403726 404817666 930911380 976879006 692814294 629742522 125223188 818760438 61438972 869985068 281906460 519144852 328361044 77482360 103805460 528606320 821452722 855107992 865664008 135023386 562326968 523928846 485488832 158021630 259865184 798266644 316765210 430825324 310660252 486981906 111714434 474477912 604010906 122659740 455802768 133882244 525770886 981384612 343955832 966428162 13896228 422353018 859696202 952970322 111535156 632537902 299957306 405445906 7437470 914477916 283430466 338719268 115843748 669801318 681107518 793478512 138767632 758827464 796163928 501119670 824121612 135120464 385246524 999198600 124189332 791175190 329191060 315191680 911435594 493486346 876308700 262759834 875511390 283514708 975194510 787892414 179838750 918874400 715680334 802956188 810757360 664349306 793151504 897849494 800892498 93711946 922889516 377021666 622657082 756859656 311223094 296285640 572793822 280343902 327818556 130672062 108096864 562764216 988251826 311795268 212089646 651745630 811055906 647057840 427412674 462986636 355647452 82062814 476438900 266795870 862308918 771613930 754075700 220318484 687272178 482089102 580691406 782513636 271288012 371913438 909392158 862125938 50428136 9418184 48180456 973775856 752630426 441892454 997552322 614488612 571256494 23470482 4405694 932253624 86713274 59134770 193406164 505740006 602083750 208794944 180755652 206861464 601143392 582247946 385940418 530545364 387859750 599204626 663979226 311993600 549460444 390669144 494525744 647633990 324829726 342333108 548587094 97776100 121884880 186131074 806170486 561337766 723965060 870602998 404019096 883587504 840954906 716808048 865326450 319657722 264886314 157581246 736977924 378328582 608970622 140805602 690018526 204658148 534947396 81576234 766955832 666537586 740252000 471301668 819319878 232934328 718902678 842556048 704001272 89076468 146839730 372736908 317078908 91492780 592305256 788084120 120722696 728717674 844152328 182136936 333656420 5220674 947803528 8291678 930363850 989860304 988461394 517013792 621914240 763912492 254298554 417686410 860493380 603309018 931297946 690833384 105047102 44936488 9250080 137698936 946008978 396144314 342440338 919240 579170326 807221734 893818448 299142818 980471178 552213094 153743870 35606580 551518408 680600020 212298136 493056272 678423944 359583502 597596114 903211740 3225482 218148224 377073628 170751250 723924446 772678150 894241036 674101636 584387344 352268356 818118840 123248842 48144524 796711720 353401320 905622766 650979756 434608518 274535916 577717932 987128478 663305752 411678918 456032962 161781226 736878810 775659812 270936578 576844306 667643858 295865100 127542074 744491850 526486842 626598286 840586298 29655900 38042920 882727704 395786452 368492340 227713358 196211164 578434694 758112378 195219524 13005718 614007882 361990100 859787204 976911958 28550868 660144274 973705744 273049804 979930920 356592662 645580370 332264032 202732476 155520794 989419396 574459182 101751100 472103974 452446666 307069080 751860686 263248076 258855406 924549720 94822754 68790062 997385824 344090932 948409394 971846000 240527502 588190626 35302346 471033286 204669978 214264062 139019452 126970478 42607690 545418632 846764274 87868496 773155416 297844918 925834594 612998000 473610826 102650986 73514602 428464036 566612688 236279800 613104116 966146078 483265112 663414730 41571040 657496518 31945528 675629298 209970538 310944058 222231560 252870424 677290720 752477280 538884040 40327024 811470576 325226814 744259438 738344854 363718384 918178432 39310348 777276302 469111714 52845610 643186164 520290848 889910252 246001258 33860882 418857180 155106976 254340138 932766456 120126830 331333914 492932980 250558646 574268104 570652500 325304396 743159522 609086868 318602176 588538388 854532430 715046548 24444320 2526036 742691734 66617222 450477324 917364972 942032684 429740276 871537526 44780754 693782828 168515978 227991602 18555086 749445028 228841266 479388984 694805846 563227054 372635706 145266122 956394206 111639378 678015074 404431966 706363182 635346156 873256582 246951732 279111814 161715128 324279366 6889154 741134964 192049998 791336982 192512252 818382176 582210416 186654228 961477332 624295576 965874916 658602816 647722152 568546086 440091172 855089644 163544288 253887766 461965284 55767994 409890142 126373806 191567552 872456020 137241850 252980094 783823030 171583634 946897960 827329146 669640270 52995530 267771078 903014114 818822456 997412330 824499114 326344626 83252896 191012114 361534424 498499830 598455074 455570052 701653662 220272124 229807682 674467560 732699740 487609784 979055362 8513336 691715198 571455924 701619462 290768242 535862636 885150378 55969512 451752568 706469264 211896464 46544566 522632208 360494184 891227504 179343496 169296426 445912350 923274316 39151546 901531128 749980940 824198818 659027208 93845160 505716086 917879140 747532304 366088864 205594500 136872920 18708396 716876174 170622978 252372088 908568072 337401860 446330156 772195398 736989028 283091620 105394504 804266798 157976048 294221408 153446488 9798310 789984030 915790176 177759202 120270058 135721788 231520030 732187268 422382574 356553876 612251230 855448468 222300900 33022836 780339434 561579664 146543022 85393456
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
