3
200000 1000000000
226596655 412861033 966121351 630767727 801925453 354479557 813557449 413984615 813235947 47415699 689204015 623659005 711953931 573673589 937404371 205267469 86333981 372616383 752028083 917779865 459859699 4729701 897193659 911441359 959201229 663625481 87797949 707051005 59499599 483910383 623114351 937662627 789361543 745400329 233567861 213546083 844175593 592452591 446598743 547779849 563382611 264838619 15666055 901820549 924475403 6780347 837737053 560416757 44415933 330576665 344694555 394176157 484093823 953672751 950212843 30231269 921445837 983129307 962345695 972501347 701968783 404877223 894245613 525224401 306347279 70578877 294886137 60571155 272649475 482977017 376079819 489230645 882675595 98293977 370028563 839145063 604917033 697939843 116449133 160294921 293296587 738113991 71658843 692907161 220995017 561471771 404608067 411788743 980051163 753499809 399577719 383390051 260751659 134451231 705941297 542879337 709200453 204181251 441116563 78431231 14258717 747817831 154496931 941298795 919292433 254409991 674471767 121676837 367795173 570033229 704550277 569525957 144158921 528801605 595927791 765535761 645581905 731455659 76467007 644081395 172579193 132005593 180234245 428399229 519327655 519427803 185732027 128197869 582045609 357176669 693327555 956838563 331067059 227539383 707157605 190122285 469961061 593064681 86675921 796146237 240161473 73097369 461899043 512070317 820871477 362729495 629594203 649699715 258532759 548820827 297367139 772033769 866645539 578569731 141362187 996580147 637102465 888439385 606283533 564639193 115313595 636723783 239020809 888257155 986306377 349438569 894295179 236900857 287986183 160332541 297780739 937629999 294170681 267665641 957597383 24332865 441549199 558043835 928544285 309862769 955108891 525899695 210761773 867210795 1049437 511521441 905696519 830499331 252912441 617045273 227549605 621172657 471760637 277815365 943851751 834401309 307076701 980555263 681193625 917731151 769976951 820403651 114767977 583559035 83828945 354325433 533921011 205468669 102542935 780590515 84082359 827879001 747698271 842641957 976749853 454670647 722793381 292609329 239603577 257782635 546352465 948356507 548103171 254650099 470936557 975577045 707581659 197661681 109002865 422275317 505369869 125870513 911047479 881477563 789434247 227534755 597248775 216213389 909857317 73130085 419808783 502124413 823149735 854766777 14678241 768739647 586981301 943717517 777956221 194289715 820739043 232070641 140322887 381269089 346472103 295340577 745208587 156075897 558820199 495543937 207276545 875251151 83947623 814080411 892128453 475510631 31039963 423724581 493327197 728652517 786768605 584019959 283285301 969238169 471224427 419559191 783654945 607634809 508730995 843871917 409035105 560709159 396808385 947070991 603436187 967431657 741437971 783539129 163907289 518614445 367703303 241202763 361513873 375877901 871217959 112336273 987853219 522760005 724259301 583177089 604771407 271521341 628786587 76560691 359098953 373248391 784347785 292474349 530209441 755893591 171079127 608701465 365879253 9088911 103108247 155911753 731615949 521734835 724777669 413742137 190307795 566861557 432041535 851089359 408632735 207874347 434859471 375360017 338876493 824095189 571814951 464625719 854202465 378428441 580012257 763890331 610732491 918540487 340608891 12798911 21832927 429068119 108541537 739086671 431243097 920319719 79554021 115693341 149919583 240740671 490035005 517542951 224435325 121020367 390068109 454070157 337603245 210547885 984914141 57195933 974239559 884836759 224618783 273302729 736979987 789927159 514270507 967423661 634298941 354318555 881652677 732651787 933791067 990430715 648207507 176935119 683891817 516829363 722831143 677883659 675477709 628748815 816406523 303837181 921769815 989664443 785498993 257341447 240330551 150324241 121796305 47066291 382731535 456297229 31973197 232196021 778151393 82489175 433790717 307349481 79406619 528330817 834944485 224666705 165502101 596382655 622216427 199339289 975952777 706890611 907533025 59913365 349583259 579631009 768414593 907995711 804524253 59789883 241490541 837028793 347241409 837980119 550275629 579211219 61924389 619942069 561576241 738102651 344888911 511723963 737994455 717158607 973269995 23173497 105394779 695629841 376835341 6669095 264003561 962033837 450318133 321269667 232287121 49162807 139280969 743088757 777294413 191878505 560148371 151533261 156479743 115124519 239376585 392606335 831385965 284321149 24144139 888739087 951707981 704814747 853041627 381030049 260312373 895350751 342532135 808545029 327376295 64409805 43279685 337354417 762883085 474006541 601905651 56062919 289981879 52955253 828751187 954175757 11942111 505571841 664657399 805724913 705185191 698288849 622767825 876472459 535712533 701361713 563651645 312407707 289643039 929168279 778755333 854688393 590311579 717977499 866100561 465359201 746726987 735544067 422508475 832760543 899084247 880633271 585953341 191713373 113075667 932303 714874173 312119781 591081911 954707073 18898569 90405159 426880741 455885107 809890389 179050617 435492259 607404145 391712319 967745499 225046567 934672621 637840973 167732723 388910471 61250689 928123371 702432017 460716741 386650419 898758383 528951341 918908873 828153389 326594711 145982949 225677927 908779201 94573701 777663873 62668119 574388589 63285705 137093105 776279865 437552337 917043161 432847049 56803225 20855995 843968401 154255693 327298533 76349725 345082421 257048417 459221625 714529041 771268723 816816277 703203221 472653277 661071203 934405407 89314401 296688107 375924095 909433057 924939249 966494671 580442027 972602975 807971901 364191043 572846649 378456525 581029157 932721193 931835867 517486589 421548405 952520079 667820719 983002481 428642267 953210023 813665595 153237329 355227635 1969101 648229739 651567209 493425979 683582851 666846099 622972467 302823969 465159541 463650677 361288143 299106545 824605559 230470449 867503361 19652329 3820163 133821527 423230779 202728231 178191291 392937181 625287315 741237687 125289325 636853789 625578183 653671047 567318541 846293983 531263555 688845425 228206899 825260879 16913169 659952697 368348323 129049091 566858219 663122821 583472969 316112633 426518319 773135337 993086009 673529237 81682917 334801371 428955565 217108131 904024251 913970111 535138825 427435867 34705163 547948767 497134807 898913369 730001873 680248937 622678989 971726497 739567287 290260087 914931651 275415715 557643019 979991821 30813629 142002483 537661123 648889617 498785769 212843661 287148929 359953751 525587093 157757783 190103947 575906197 323627843 823566239 415502031 841215343 600734097 59687385 867828197 288693101 472206411 892143075 810391821 868413441 183856231 297616387 404937517 756348549 640682493 90023397 862740183 575127607 476059987 497319327 128707903 490284867 276405201 550402735 482103621 876462523 628351245 475087095 702778995 970816149 758438851 172736455 727067637 729922229 972071123 730155733 150369697 44186083 231901257 561394493 734279419 174495697 678386779 178343043 390210599 27991319 17099873 892641175 4932341 928003127 916597217 698670027 780401629 21245595 216575877 866245599 729536765 82094485 886174751 971353335 333387037 845503323 233709485 672618911 263666861 687350801 267406927 942910159 582100161 167514815 625389907 825921765 879072797 197795415 82958379 475791009 967101987 360612017 996027249 861553717 430405095 119274383 935744491 798805045 376190751 588668827 326521731 441718429 194495271 836687717 380803659 961338837 556563467 35949159 895584129 278779815 569753975 208902659 72972935 883883081 447097283 418998913 103557093 902471003 322897135 143790099 314797653 427251935 555759011 691493841 720120235 970768963 605918251 735839421 417872367 315792733 132349825 902580929 674996299 687793003 981638725 158591917 14537747 367984145 399286203 605005883 600266689 448179803 76644053 290939149 602350583 10239937 551109415 994722729 646917251 186940191 989007861 813570437 770675545 46908857 98550051 290631927 485272977 46894143 880168001 474443329 47491183 67916741 624214919 794690701 184899167 667607239 654185683 344264939 42591733 867181611 245199533 579995477 750185707 916145727 750248259 146471851 203091235 468566967 596097903 406211769 739606445 265931953 258746797 144933679 886113719 554433971 256997159 115112101 893726111 556651689 371375275 282228893 592318951 279171561 591260591 21244287 169820733 170663729 245153109 133058463 394573937 686655651 508508513 957894197 617665407 98541009 486637381 647593057 617189515 502246571 663233305 712934959 839030751 196428435 592298137 52075919 825020401 634880331 276971053 763349335 787254361 273890819 647540709 340280909 202299611 556639821 509318779 179471897 424019557 768065321 446690377 729173067 755843591 891461627 545869401 600825179 802038781 59769745 987848027 941750191 706736299 991387423 469946021 865386123 489676189 810805059 973825845 517456165 519490179 187854083 386581173 448639889 728112189 829994699 574869107 202938837 911704009 744703345 452895335 260045529 10251607 925877553 932855343 696196459 509937463 723711665 821689875 124638537 471978215 525969919 261112833 573601809 933425159 968653713 583562387 447955023 39790949 283941185 423775749 470652529 519108083 599456601 819264321 641863123 313935307 148570497 608159957 432765875 538358579 143779793 365777399 326416959 70462357 417089991 886711177 368035715 771725443 65817415 242135311 911895677 73893051 602620317 902606779 943398411 777806621 691890305 855211875 299519479 158348215 630153487 981495175 951641589 300109499 96454347 882949711 177588377 987411333 554777765 867302791 829352553 414704535 371446257 866110377 405038283 662705053 239159147 113994451 774468883 916759145 252658745 865174479 430715767 83741689 457234153 567438599 126339611 815641709 447387759 157120407 848376327 982882067 608069419 988576829 807660077 724819807 293606367 943983711 354156647 12531175 102451897 199596813 223954035 101132147 463684175 495917055 222826751 11137007 245890205 190272657 81315991 986216297 583028235 408429775 789492919 804920097 997802083 392327783 231538881 456843385 62698973 454653869 551726335 11251707 888835605 110642339 407254941 381827675 885596943 603861489 881006523 982648181 303493179 406876645 917401685 721150285 416315755 255927157 851238743 133829899 821845983 594813251 476826771 466646533 571991355 920059027 523934911 901040821 323164301 745768535 21310591 674142143 132020041 624064549 592468827 994292973 442472013 582409533 938242757 124990515 533013215 345388935 949517077 508406447 92239275 936043151 7435405 858489759 923497927 24689807 943290967 62639985 405774767 247605605 821846917 153182905 943811657 873527705 752878093 943424307 583448035 362383707 221933011 390088895 346125107 273250177 485618079 945074281 891974741 857687179 221175841 52631399 387346381 508456863 389441783 595019793 387922825 605745549 764237725 843183853 682937311 684575691 324294783 482181539 555771021 723683195 575369709 370366473 873147831 739961955 883985697 742920475 202368745 81038321 310754109 207845881 379984411 871036991 856438345 632645873 474541737 875530505 756017205 707007091 673583193 376394425 948859357 949373471 37068375 369214811 918602243 374173621 951502391 160950187 231889995 667048479 142203641 658478083 354324043 35427957 117796867 582477167 680959099 719656173 693365791 650468507 857080637 25373167 902124675 768008927 459938265 681673985 392662989 270044475 915545983 485545947 517705987 531682645 62517835 488970583 56262801 670044285 477659197 439624823 290629967 827460779 885690943 532978535 673198965 573165949 580728097 839948409 710007725 530002235 109054109 182404395 544140801 966951381 610895445 838522141 491485929 484571617 34321103 344588061 634640961 196347805 36334209 956920349 808569421 41723891 460510401 816852537 65958077 713617265 222151889 148641203 894753699 43879247 577577177 833509879 656275071 231818859 431341805 830772889 818977077 230902861 90755589 60195411 513386771 619611683 192321793 864703495 797412301 582925765 511511469 382181829 29207169 340306101 56243639 163830715 985349301 296036117 307520955 434071879 921331541 594816697 963241017 299642859 102614455 173299221 911727259 790804051 995240087 173289291 753293359 143329107 103512861 323793183 364231475 280214757 684032467 498993155 191503813 24518957 306765743 684883725 702786801 165372788 592712465 64183037 428545957 970091313 298321595 940737849 910916029 161273085 407298267 438672595 769533689 804139421 28187657 481842047 584260097 192886521 90616893 311496861 813661545 852788519 974319585 696226869 696387239 169802081 610228417 270949877 76216609 506508043 533155601 442371639 608720155 977919153 725336175 617330937 360517321 332400899 898810079 745868513 248967493 781431775 788918225 506983487 83182479 514543433 982502681 580982793 712759695 652680811 788199411 915654369 347656985 606194327 163920389 713262093 301128419 975941705 561623645 997268091 732825489 500064293 574944369 807417795 502826669 184456695 407645979 722033447 333443493 336779183 548307363 500709513 630742739 243289709 876422837 41602941 327741051 117023087 92519783 859951159 217014211 768513829 108575799 488952473 926490559 983991327 213113353 823840551 825231461 425155099 359702313 827703315 445311385 199486201 873323599 562463283 963108387 65910727 136484759 532024327 95067829 602004919 296231813 740399285 913678057 933192483 205607945 557842701 224333373 901188753 503916405 838566535 709236509 200268203 403905417 34096193 934139355 854643267 707030633 543205891 993789869 33883479 70402467 180410685 14114231 424188935 911024939 107982341 275387905 307220129 254085215 539791897 978638973 714067351 104695557 620166115 833856515 838473349 183313481 980332913 857776471 221792045 261173697 339316601 932042783 381545595 41014891 6417501 887900653 201693059 883337129 227101475 967873853 937740413 143838795 566536825 285929067 625767889 281932679 56057785 34586821 711006983 819804663 127157727 814905723 871850963 711268517 885077139 201605797 757800721 297055225 326289703 115379271 786931651 728508619 519617935 171443015 625057813 186386265 770444141 214200439 960748123 990919239 784828677 88505233 34075663 204562851 48160841 541909559 878224597 745633249 594998223 799343857 268322679 841598175 68540887 470197809 549657833 746039521 722295623 894900559 398284615 291517847 538876591 681650061 2260693 960478997 253002567 93721877 43898107 57212119 77556717 838507511 927881039 162305731 492608553 425349421 107701387 581150247 272881451 399252889 353222547 171385529 694823623 82270467 818977905 329747859 913717889 530349851 112766299 213553725 618125437 572592253 282438057 706911653 463045771 796782505 119374559 923732765 994447137 197593097 508963755 839825763 247172193 520950509 823798493 816658335 367990033 261255311 686020209 997932123 63425439 118062865 912298123 41899663 671952675 872901497 14722167 73081495 281978973 988525245 3610533 879233847 125915317 688012467 765717685 675526303 437540151 571937565 37398117 665768291 987715485 952691877 409671845 669621631 195171655 407955419 103713157 742187865 252571705 397813305 895391297 262475967 781847077 132033311 200402495 353005541 83151713 340515033 119391749 507694697 472071661 216575893 621561419 284012625 360352367 573991535 5862635 702334217 51701559 137593959 643293157 359827047 543765821 941079909 309770345 8639911 958871839 55438653 691900359 965562481 525060133 505215143 22797437 850637775 308113727 777427013 108219691 263274809 961497089 267592093 29328799 181632905 869948847 466971683 493155787 187993609 362213421 795111985 797553355 688727905 647094537 398134279 2422753 130753193 107388031 855032527 609525113 955099231 861020267 523064727 342340645 538737511 7135059 972557405 75737507 520853007 903861611 382680319 286937043 220872971 900469125 988857929 8139203 551310969 86269475 380755177 721610919 666424029 909333099 151386747 33156309 735098919 823917359 72628861 899816149 50797227 582925283 68810077 572432467 392023077 986565033 265771881 730002205 336061117 853364293 800321497 912739891 579501565 212956969 106723281 220698807 12970971 58480235 168529755 704099059 859273143 573254601 330690149 314947419 821828435 315521455 563207625 696163723 553552349 142695975 506661451 401634629 765405419 54997993 778037649 44645751 19261819 178831193 437137711 173347119 700398831 699315577 880943517 731839661 567501337 384686841 920130363 500017235 73704491 714524467 267802451 973516205 159570883 875779875 940379415 178123883 592545765 553068659 243729567 785343339 59603201 941344369 433827823 453675953 979541993 382698259 960453613 13495653 697051357 821801979 434104173 806954205 833186435 129355629 700261925 203217299 743818979 173736285 772165561 693268779 351591033 602317917 512241329 322027121 795733277 494378159 254456703 848212565 292793623 815441209 552805757 254838517 346474003 966330509 827612649 104190101 883408423 198711775 922342127 8116893 959515855 599186447 837592225 923198629 676775923 255915687 168858101 946512739 672647389 402029265 312498127 323631549 500884805 984467561 679842295 415534527 414094405 669027053 260717087 949939097 542060391 653962371 642702047 97098923 587440531 509423867 964499643 952640629 207611939 225114317 14022425 423872417 361238991 667452439 286839115 594104071 86342593 849527713 131584395 683665053 576136325 991541211 788000251 138596489 985215247 740465113 836103075 311509015 755075005 561838685 859351413 48349881 724716373 903259343 387347273 318244619 818209795 819828285 503919329 343281615 121327709 662358109 565258471 548178671 568650847 452283537 602894827 821990019 74094703 393545439 262169449 576408513 591957595 535481077 914205885 775368209 280992345 165470507 994666549 941575163 274870787 38721921 304623617 544543283 19709281 249097375 851191097 336433301 929644001 520214737 170532575 962774819 294379861 714176273 187670237 181403401 925632251 133148669 410787587 334280601 337906299 96688863 90378251 58537809 377320161 309128353 794083991 453379283 52460449 822084319 482377775 269623273 345561495 753543383 263596099 129434759 280516621 202028655 708972847 968387529 812002221 698279735 947770163 243761905 926183819 158563687 952390009 403255915 265616423 69744861 62950161 602484427 346745959 338517025 986995701 295146443 234867859 272168801 315279879 977453903 251436903 78808951 629166093 67856481 349242107 520962271 278895293 778904117 164257239 446193347 71305133 18794279 123493351 984127985 536832607 761524155 341409665 930808287 834066235 914399641 729365089 596328879 812156053 317316247 359828143 900118309 91570597 21804463 977016821 110544819 233694605 100709893 4042795 170929009 582331475 3487205 36912813 108904987 378207725 767369151 341255999 321562649 967707439 85724977 119968529 372470651 791589087 520950271 444052917 903579897 815329957 182781713 993160747 778659571 294754321 146467197 12485591 821773933 37076893 76099455 612548999 967656473 328479657 600024951 893323375 598267213 915973503 744396529 371325741 401404679 774154323 973582243 465374407 374584561 431624761 230488165 659695527 656733785 696096567 950043197 794578599 223814967 71363637 354979157 969091075 597306665 24180227 41907711 673970781 811392119 736952409 77146039 700580805 406646031 533818075 354515489 620920497 87536011 977972755 835835401 7617275 132949031 766360175 823676001 353449195 800375757 280822091 973194563 63177263 23185675 562389989 496649973 606612185 99717911 786931819 722215649 534572135 605177043 972718827 456812185 173146305 712307139 601165917 415394011 667142451 641155353 917062565 764790919 183013745 130798763 59228301 416219563 116841113 768671225 241258691 856394873 123441711 50606891 546191073 542268493 250480931 317226509 526520683 975681705 470370503 876436249 379226567 542216761 48863709 381070957 906234697 160568783 118009733 684529875 293129767 124057449 958189135 647353525 310072965 230334761 441614639 884556591 806029165 705740889 844625027 549347071 981214157 387742829 607085329 39473035 719449471 369569281 48511237 353979875 914165319 822055383 541272309 467223485 764127435 774586843 274512095 387278459 65351581 639473185 780164903 729786403 932829241 856872419 128109465 466996837 45107709 367801475 868466797 430698901 854471475 248832145 505605437 203767221 379459085 184668859 126171155 978762605 912587683 880748255 299988055 605810955 250396407 288170751 873504739 486353797 669425141 743883335 394309105 291468157 871083625 539949579 84734503 772465207 678653199 969521349 511255953 545752741 667501705 320578841 249782185 216435805 451937887 64128209 321369415 612907679 534970883 730812387 525256113 305429843 476469709 320869735 628099479 303810053 522511873 828519585 998498317 59336943 271983045 914157567 653449617 256324591 763908651 619127825 284836101 626621837 807006509 11122835 151672505 348683769 452524717 453427561 527782755 363450377 557932403 18598303 345529117 598504507 457040433 709156453 497832047 375958457 609508991 933745179 889267527 583577937 661361119 718391103 716760567 79349883 890900155 402285953 14626879 331965013 572523875 426947761 940331585 216744103 613827857 1475531 633405839 609080543 327167207 66083827 364731419 36415767 469459693 444812149 323406147 502871307 744058131 458805443 939608267 843163427 126012471 236783479 525610467 469217649 774048533 814169943 79503903 784242857 493892439 671170381 959858299 443077933 510812819 248936555 714932829 172967937 738223421 823131887 809275539 921970135 785900983 315969849 826580051 266766855 70715725 296926423 444149303 734339979 375891759 676671355 955880775 653053457 975365493 211488255 226816495 537639139 973834785 54549865 887905541 383872507 700217883 4792803 308612295 642409207 115447351 818439105 922910167 143108127 598805037 631196795 394964039 603971939 294833055 421427641 266687623 36794201 908583699 18348099 760227449 36428863 901266687 134573837 781886561 759395583 910959801 549069363 175039465 770883623 204900227 753526775 294796075 888392431 668771717 51672517 495976865 168428597 536315603 17148719 84838705 578019201 490140261 753108211 814391079 787249665 775425309 804349939 407483197 935596941 61498049 285530169 523456651 86623143 642334469 452341753 221326489 800890481 476683395 170552463 915880531 573254079 760709563 485451645 476876045 903405061 798512663 398449521 182565769 779268965 761559783 728042809 228160231 493742755 279412835 17982677 704312759 138661937 329222833 134633063 586935023 333554981 594879701 16340281 721097451 302137919 700945859 992657089 588695151 605741797 320010069 749901207 950971817 842672679 258518347 593156735 583205167 299471293 19711053 903346535 765008639 508781319 818513135 147823711 610748285 645845513 481784489 738623651 61307511 973915251 102400219 313139607 307518497 265465503 921405903 945150405 681242137 629730955 883934135 175002083 255370339 590433501 815738285 537512905 611970671 437040611 290292401 231789435 807208465 208219801 620904619 172110887 940668037 330086299 309387119 667318557 880764785 431384625 337882035 811021529 453801443 426831177 859859483 693895167 844548943 248289403 705674801 432022619 372690581 672040199 918496099 161395167 971882231 611987157 998254091 631168933 922503459 486954867 503893613 634691827 747356207 970254615 962262447 178025009 991833241 75548065 11110629 574671863 641444163 855025051 107304965 141340667 462515327 712355121 308930803 368662565 875602687 153124667 83769975 153515899 126941919 917588025 768227139 978418485 356763305 497519441 378076913 820618669 331454533 91026259 855984383 920125795 969688589 511203767 972928473 270543367 490255291 815902619 252236241 478365547 530496885 409916615 259704349 472159367 289617609 478705323 565016545 608171651 796276139 112443741 169022757 376164263 488841081 555582107 867815899 455125607 225730041 868147919 41941213 59487325 535746135 308021767 143330025 875671887 145211945 250462969 802007979 664522791 979355755 562085895 730925235 895045113 744842373 353573431 544119421 515995903 419091777 717555767 974848359 39126939 642180567 472520033 431244987 875354459 130490081 607390897 290223529 484887027 91695975 526068687 871607887 375249977 971380695 204121101 233727657 315725111 794417923 448005471 779316131 957453587 281634091 75515751 554091021 957850145 690633459 39754857 901658529 410647007 158724711 16769111 640258049 721799151 103089663 390015943 752374709 827977499 929078167 941414649 320028463 200406617 395424629 19027155 250718151 377290689 708523333 134269413 10386623 545319319 325263645 31785319 123604033 980553543 697621113 165879863 605267549 291676261 186527551 403452893 178109965 205539755 786741949 72564617 635549747 759961085 405770409 556338447 555311767 375467879 201367581 914042355 871002857 717935129 481885345 329894489 175151045 394060145 253193505 947327505 720349099 166852339 356462323 753514897 113302533 866769735 35775701 66364155 240852003 930613571 586153963 971311379 531041343 135075553 266752705 128145485 666838139 416755781 708069967 201279931 469699039 650247867 383508721 363434527 611115355 954673589 64115051 907556065 141871819 329710029 950941677 910698765 179192815 966026185 186617097 9155677 27069809 669550993 250742463 369577009 1761249 616211771 399250291 530382477 195750073 305052163 783362291 239720227 761863513 265477961 601807221 779097161 122107917 693367195 654503059 562016767 976067331 877330345 750344789 557445355 335491927 272806227 616471591 424960861 720549385 946643097 385984479 231804493 372662019 109387943 692281529 170456153 116867603 1467087 322864219 896299209 162610167 106712973 846981589 985377421 129400143 756446087 706929815 513884985 500208033 390569093 4995459 410332689 99363427 543695483 283690459 885510393 150466537 793154691 151562831 424835455 671054457 757391331 6173169 904103903 87803195 168484613 696211777 746121205 255593789 652613757 87548195 790252615 460654717 412650499 499827171 847711495 566422745 713697151 881831993 491820813 233471261 856347641 70732355 608570581 232900599 330109605 302488193 84193671 255912195 941266399 342511845 138121717 287815617 406954025 833257411 501011859 309901465 742669615 888805591 756020097 92838879 29827269 444259399 491447177 376655561 62270947 699128737 343926039 522722941 237496241 32644827 288766019 107084543 134679671 323983695 511766219 126267971 772080811 499531973 28710681 147043107 402703331 697087595 226343741 424394845 149062121 806583763 859825129 54149023 846203299 132332539 541842305 238429813 140440615 90120267 310037771 989990237 45647279 355310479 200238903 642755765 207056543 919513849 32384347 962714567 561106561 314053931 128372853 819124677 43925257 292030761 24753199 273253577 58239253 4863837 789830615 139551441 849915299 731038881 825588067 558109897 385431265 696899375 339715701 644153731 11053347 69283757 762355025 808699573 908530659 814614569 630841321 672362499 84520133 866473239 681168085 873770487 161854613 949082199 848934481 270896893 787333701 481289769 131064133 176476277 141218287 780059713 22095939 880856475 612912599 595552941 590989951 605219483 293063531 646185201 628321497 124382087 157866043 995167469 982352091 495386965 49795331 37100531 662046127 592677097 977486505 409829811 932562737 504435723 898425139 328613199 833632991 151030381 311726809 791000137 588340959 528886439 274058483 155734929 194716929 395934525 134022919 358557305 510479805 481282453 751057343 31257025 821684529 779940609 721026541 412155021 516003365 455074235 832989071 998815595 211176711 12229605 352615109 235220815 794566897 374421639 995299549 303795351 269405855 600354963 992555335 589297673 733870459 574646241 55876771 836111823 129719443 604541491 48117681 502709379 870430109 908995123 165228125 903628831 17077755 110793331 974128313 509235979 16287155 29293161 485763075 559144721 311299187 355079543 68915099 547599975 906047635 700367337 505103887 999302317 220011027 921921007 82678289 585833445 579287961 864222881 572322685 477038461 545433463 609222401 314467413 352158027 793629857 692019449 469472709 488876173 887882679 399861337 238636321 579348711 54422019 864020955 720016611 394788709 869536879 747553 599942061 38421375 724150423 999243443 186197325 804684817 530318777 358314241 549967285 414014561 544104891 537352039 699667457 902883609 328807981 449897509 592313205 668206931 89901383 611228773 268199033 723352457 811433191 355038519 253567393 405182625 894415253 553888405 371004587 957492457 992105855 263240801 660034937 874798869 26609023 479635297 758074645 437137733 338613777 518270027 277661877 407640571 533024351 788883125 795744945 775322917 842989879 701442081 67442061 303455513 788804623 227562745 331581687 655874451 672385033 443033995 9462973 337694395 16863465 381016853 790298593 285393435 342839841 611437751 22472577 517834155 519496649 86225527 867558377 640278213 420191133 971106379 693753229 983074099 141911557 558795529 694278667 858435613 126448913 10126707 746417953 210540317 362930041 951229745 999201215 340277037 259919773 732345303 318139637 591531955 412020353 278913501 412591871 971913083 498351831 824970147 498536513 160118205 578419189 597616245 586447943 139346197 209139929 551595905 940326081 967535241 585366317 820300003 56285327 740830341 992335935 301332633 423862447 555430367 999393287 441408913 902483281 604987603 741501987 866124441 607497925 303349769 713732827 399239017 777758857 478436235 475265053 919021479 384766013 224372175 637233283 535244247 546417839 258642101 393223753 597673069 533068495 419689087 799026777 19457731 993500349 328812763 828705599 595277337 716363449 276051935 160890935 4177559 730201647 389672201 740396059 214913105 230950577 198134333 352690807 418603581 450486011 671161543 626220151 977859903 702343155 264353887 709319155 480236321 295961505 256666657 103482987 942882193 851188281 648178067 950163975 401558313 920225045 307301793 934096019 714286189 520274363 603523999 800842889 207346371 152762069 705842253 437634567 700652927 251068215 558028495 719602133 135460567 270402267 735765939 359025763 249230063 734726115 897665007 534939335 629498577 787228061 85151197 521165761 596050795 595965307 761962053 48579767 813489815 897466905 995748179 13127353 349802521 196253241 84188061 152519037 285299351 643170247 686064929 541968485 808715427 179273943 866681409 270240631 792852921 951135395 513297615 98943073 279497527 834993295 881388795 524627325 345780583 791093029 61960295 147783367 2210427 371046169 539107605 778663145 718580107 491699271 557766261 867919921 218888603 475403953 960138329 494065045 672488593 63552901 661174273 80298935 82299967 292184083 339655953 866364891 769935711 93333719 642911383 779765491 636251795 146358389 843052551 604047509 632424291 815148727 61275711 178832385 913302337 631515025 58468485 79274783 208074885 573368863 656095109 214267259 751296371 443745189 249378389 548651855 719810865 438811275 452615537 448080505 703310033 87766887 767961537 2508673 722728013 680055797 481671055 417126039 844267911 527006229 284850065 690078865 492395847 658592979 97008103 716610541 407738943 483221349 786620691 194836437 918337543 223857187 264215299 315814679 35973153 570093971 726561807 528786731 769835255 179503965 206522351 530252591 588736217 792715607 548905165 75484395 844481793 143131773 174982197 467909581 169599633 272733167 898513435 233176045 304505745 609504763 602471901 4120845 242590195 463144721 539155263 917452687 771192463 111872209 659072881 875547527 718127655 919492857 665385991 556663721 160615525 554776185 348298237 490433111 848902873 711040611 739619513 93541525 888942077 786250479 795427593 774461717 553415729 269853827 796719137 594924333 953482433 600830635 463026337 25977309 142505181 567680793 330504587 897435341 18541725 112973993 484867917 894140745 906571779 81677405 448431293 807003467 211426807 309357665 436894743 672816753 356293965 156570887 757414403 52549379 369225661 130606029 295708299 732968689 134883561 789256787 816796711 680778961 803926873 986431847 76717235 533201121 71445373 532562427 281895539 643178507 547654833 946288683 674363159 360489693 998484021 823807545 536738481 760472207 127161907 354637713 467080897 71681535 474047161 606613959 704439595 837962419 720899269 501903765 175036221 248829407 999998263 558858205 634643115 5196116 380269525 537402541 837034643 665214615 302573141 93467193 663095419 203471821 33352011 482497495 292752207 928952517 779558205 948407057 64584805 265181173 382970259 623659149 865313913 802133373 91197341 802276129 386836147 109597223 811507603 732732615 845153181 55665759 420043163 356700067 918688303 88150845 932784825 170802431 231831235 423866753 429662691 992327759 640696865 299042961 121551597 659835951 540308599 509577597 636856733 137127267 764759639 847345149 751283865 294001107 203312065 539486577 414435445 489931669 799067417 113219549 383824041 480210915 593197099 307943665 620619925 626023969 261815087 586545415 645992579 781168859 919027137 813059101 356535463 641092289 907673063 581867735 874027029 494721969 414259469 777527177 970495955 889139631 625718023 176822057 254415303 433664995 551538453 891479637 733991877 376050595 94868701 697876053 944430723 427915115 199005545 261847063 33046695 825235419 355525679 522908467 805770165 562196671 863804941 656559337 808027425 568226317 724236361 327408417 820286787 165573855 852139921 480656233 584243295 464315509 436029687 647131639 429579675 621972287 873086713 687025323 681813003 875580365 751003775 663189007 817992101 504996829 730163155 719043151 991085645 823944527 302688173 497256515 166534861 918703409 873468969 556520043 331474899 678432947 365398987 125077485 944064249 464517173 745605251 761267097 568758209 90978871 71518373 538496231 615355543 966351973 779430379 388477685 420447687 636507281 996481665 701372811 74998925 246892473 815517165 45319193 542149643 454775037 42987563 562967219 908360777 546062507 695476371 799895837 265948985 283064117 883433709 360480699 254604213 190964791 150949989 512777373 474043515 878959987 701060751 89265273 846692663 283934165 341286509 59807665 520397179 280438383 168232799 391702859 196177341 94893439 83499063 105753589 985248865 648195431 243556389 971335943 606146223 944153521 563459531 457667459 713615319 440293905 114355755 774213387 860869111 832281955 743111603 500517107 738319115 278632617 470853435 619792175 616828415 737510927 806088445 98557279 828427171 865672681 759499165 830995405 31246257 257299377 184355629 911563877 191678923 382342923 343599135 307771327 475053689 936099521 574542417 672085531 59739181 941227975 360817673 255640159 316529215 720257593 19277043 739484955 222337009 503449177 91925795 53088135 406531949 646228373 788788761 875290241 785996483 938432381 215701947 83330961 31285485 697451725 977186131 267842023 522906829 360474729 518212759 653329751 599112235 983034459 342929575 435320165 154040503 583799511 247960837 150406709 751408397 238439227 699546783 55336853 581015471 368917253 826018507 718124545 555361793 474373349 898953799 315803029 626294105 924518827 133462069 55793431 740188143 126554451 554298663 589108475 461908453 510675457 281932303 723036243 547558979 980351231 790300489 855616481 800572921 538817987 496688543 526662413 107133155 539300069 62208825 781829347 974610625 864877867 180662961 711705885 869588541 408856703 731496449 348655899 764083175 201631987 145071503 79860961 375604025 970619331 7018793 96930849 829302675 532528211 329034499 398320433 814324033 454977327 530038459 657546257 498887281 211674377 501119575 249363303 350806079 163764667 613762883 780962691 479514539 614542667 755241813 391122781 944456351 839405795 53579211 98406803 751378667 322320341 908405831 877523309 178799431 974309535 816601 785221083 706375257 375733729 492571127 43081329 772134821 470964073 184294781 68224115 23401633 149235497 609568175 558031299 365979555 166316093 403993403 331456501 83849963 167486951 647745337 585394495 211409831 297024147 567276065 473847679 737819365 554492627 611456221 360818491 118230173 617114213 860802489 237914789 980825269 678327593 561809769 937594517 644696049 146449453 960137227 56349575 785512709 453207203 461525541 153107619 220556171 814974695 56970147 118766779 283275523 636430715 58585305 340093763 930743253 52562955 983771017 741177691 987041365 544559211 281929171 232186573 167986105 216748437 135691079 905805059 719905575 515546797 750748635 134535193 149257379 639700477 116357353 198222285 893559329 315239929 491923513 839102085 966496891 626914365 886051063 383883857 29266031 154150539 829018809 535642089 149336491 66343887 506734717 939282859 556083131 407827229 151960487 108480671 492844829 426668207 805926659 22750581 275090479 97481961 776766921 191133569 696864315 184595285 90389653 748965319 682752627 759904169 495299691 674211307 786866417 397166269 443402171 561410875 406258099 97182613 315209561 643297715 792720295 915455583 747742081 727407343 882287001 772468587 987915993 875174197 434142533 778774581 544260975 142831735 376818253 37350497 298126263 788089165 609797435 19425977 243516815 256368627 456339581 482294835 640429885 403472721 626835309 495444711 415967341 771262457 455526221 462281499 785059125 245809439 292312649 125090359 198485779 917924771 271671917 139275217 314400233 79731981 876822197 939569317 176937735 104760461 868257283 479415187 184540707 89937401 387213343 770068649 529521753 253060305 606705851 707611159 575338797 527929659 29188721 855686973 315693455 444692743 985770431 32883609 953618129 389364397 168889873 483930587 456843187 883818059 738006711 827098323 595201369 273767081 675495917 536394879 323322447 272562741 539726287 627579647 781721485 404015113 234120555 398987169 758412145 309654241 174544817 741325271 472058555 366883879 86790265 610641979 174542749 856045289 7127943 914346899 659202731 276311261 648659839 576442825 148319201 462352229 819907833 509460209 845389733 359097479 308928873 590446659 315354055 658769393 643427379 373750567 645352055 210327547 509902237 499799589 55077207 397309093 631310301 89084401 170803305 266878613 6956041 941592165 94899995 640327197 690616611 269260681 728418115 348635185 326298901 639997059 233453599 102231921 227993007 272698023 244303699 438497061 69880237 442429043 859150315 973178941 177095595 616437897 622751071 372171855 981906743 44437171 715959435 372916891 896652737 73156837 424797875 326188295 445632417 655702587 964785799 713936163 911487769 813521399 774017307 397658919 803000657 983569029 78119659 87848689 315178333 653019257 657269981 122588425 417088309 109365133 554669887 357071261 368605883 707122597 267160261 606195591 566544055 929882571 323036045 107565891 73557465 937271091 24251421 882199547 819598269 672991801 808193633 421333115 519319011 821889889 808640175 119073343 387789493 797545043 90543813 494518883 813322883 291492581 236539077 309178541 365181575 277417489 306920513 264151695 930383841 950851323 392737577 218802719 5879453 3726829 544138463 94358813 614636713 399797085 292470565 145522673 490899681 813676259 409924907 246661287 662333957 883502149 962219139 902951417 236012989 71093355 232683053 604650567 711465885 92845675 946905485 40922261 927042077 748188799 892935537 371621269 214400413 963113227 253861645 101643931 94110569 290333083 124304127 77319339 815021231 79159777 529520205 778638185 732251531 938340535 465855843 501264421 857424893 450046755 116806423 26915031 430594797 73243981 87510949 362537757 413699887 951871373 692425651 15297855 644421755 502957913 496499023 11891499 854672497 867935831 283893999 96233851 5585819 678630739 568604269 937608299 92244075 418809151 796659729 558359781 386927675 440933429 860084617 364918133 72225867 905824891 722508519 729684823 261232323 849031547 519250859 991484773 48561591 71893703 204789177 531761451 299665949 349937949 995837021 206284245 893906139 486943069 142816079 446821179 611659701 236882837 463108011 112434909 587586143 518799351 551036149 445886689 726595955 880344031 111671837 861671193 686681455 390425807 674560119 231290361 344813503 70589299 730386111 215391649 924265909 98226845 389069851 91213529 355951497 96078923 684237081 872575505 934591323 337381023 245996205 767878239 69920821 838990051 625015095 612940419 894301961 995368587 160760185 819000291 141334447 946727987 143193505 673005967 296721899 668716701 168422469 776493885 644292195 955407797 403373921 988582991 660352939 388439439 711653213 964101323 170341177 985217891 229014531 921072735 447639665 569004185 943494027 697041253 879837595 643176889 546249617 542525401 321202409 340075385 219912217 382448229 676892019 38856625 439158419 672600919 92809789 190626917 334610641 786667941 780137261 423827649 597987347 338341359 503104021 977994777 608365053 708544895 351794097 830717671 85733277 953564481 432960669 324852175 935235687 201249997 459935847 14769307 933457209 153897315 401847423 227720513 161259865 209108713 985026879 191279321 591277427 19663601 965226725 143132327 916935325 352448431 309530269 309871897 960193875 962181379 914568567 27371711 418031739 339537269 226391917 662724949 223963235 185553717 955283041 776664767 914610625 779571481 897933083 25969159 81071 677159839 745050701 168944227 934014903 149930993 969221007 673648171 159519937 455697117 912746083 880941029 535541285 466065371 386389811 908603195 271809441 810060809 190478927 689176063 664966489 48027951 123933939 471831853 940403417 558285499 448892475 225336297 911344153 800352965 543866421 690168447 747811445 647995151 634450641 96546145 725004723 767533051 728106215 135138857 657574655 943465885 357914937 455707805 695648749 442580649 590452593 806129575 559960957 514723201 738627871 944238681 620740885 367997737 143887549 554722543 467147647 170461779 421271725 217671119 333996529 144237141 52800565 108010625 278862601 705627183 581654155 698395321 776247245 443643273 19184069 446909265 231911593 607923631 934778853 698144591 480858227 754203803 419478997 567666909 63718249 772064235 426536037 130076749 215769647 855491047 363304783 679063325 583850193 718994047 17273395 785768687 536119239 100236361 366932893 695679629 415185133 239803779 504579067 102278891 897014407 974935319 61546665 964012067 367957573 164296595 24084199 529089147 941831225 10450991 825760479 436764511 576765411 170376649 419637921 277435485 792114471 917927911 709452069 878378549 326294867 541740989 163838801 374521289 335984155 467902237 927007465 328835875 92970653 801557385 498743715 330554487 80449631 128811817 80049685 258512161 659536461 865924043 544015551 159107235 18553277 251615205 420002063 923064233 982879083 813850519 799196755 755353863 755633791 1730475 59272901 108346551 489219459 788901005 574362245 579668189 552613741 736935765 758086813 931881667 471495325 446801091 967407617 25050079 207550933 577889341 466565 11385033 74853187 36895443 540862959 829827653 409608063 410405949 688142567 523501631 397642369 668562905 1588219 661933259 998287027 451761073 493731497 730138917 982058977 624530799 213097039 36129451 698466879 126979439 106981689 260920815 537619819 997346221 474201493 69535135 421541737 449756883 281097341 236152731 677732265 667065135 582631669 453735905 686360063 165227961 832486115 948201377 665646503 96487183 23137307 97614379 548159047 268682359 375299925 666272763 694521069 717625061 228104497 477521845 591671567 575307755 419568953 222776613 32638343 267893963 109489375 68473917 552568733 839345005 647086717 721552919 369944573 374955869 610031697 736335865 279720381 381619927 522104711 432851019 490154331 273785269 213115185 543895461 686252987 577643651 102745413 836635581 52399401 474648429 238803367 431685753 211742301 600650059 939944737 190646501 229735283 24554139 935945825 205718067 753282287 927530633 735251201 82218173 513917121 503217119 617523333 716527369 213502779 754650647 711994195 783489217 702231069 473532495 816338877 559612345 362418571 509157967 739388159 892221673 820771603 431199111 855840823 942438265 530845865 978457099 624477551 749135793 429680555 251000735 265427097 574404101 920521695 154856103 845234829 793404943 967633521 521720115 687188493 356072853 675098871 811053561 963210435 778370433 79758447 42931035 856546369 880371431 282906171 493944415 105651453 141675521 362451755 642434483 519412571 373553969 718093941 764392111 213404323 482355205 837702323 529106517 981031431 987444271 785262831 89736775 987489183 672826507 534387089 144104409 827669869 972408347 155886961 43028735 573561947 676158221 175486669 776413017 870028601 480593327 199765577 474304817 890574787 153360769 789763571 336831603 390922645 602073637 912682047 621909431 724542269 740042853 79383307 403627323 176721195 834093877 350253723 492838891 100846775 32873649 267041439 967094353 909513507 156835101 351519531 667243431 995387545 924188641 268603323 904904395 436178729 555454099 723902005 310783301 791678413 335102957 63324647 36365379 119000935 580925651 407093895 422742431 373367231 312069967 757846319 613093591 320602247 534603671 862470503 524824591 703373399 173610755 851506205 110702875 373327793 597195031 14896291 880753 979186687 506995329 599838135 456877615 204585105 14969873 215572609 512062235 757256609 925235651 63366539 847518121 272895823 92043195 792029133 716962027 968196775 727257925 280299939 596087203 490505879 752625617 819599313 429903159 498918651 206271487 148106375 136833209 424561043 409140365 254466649 900953053 688898313 846492523 103998787 516975621 274950125 352346281 729109931 793139509 208469945 209592197 599028063 704974623 506506701 421690207 906398867 122582041 750702709 418402501 823164133 229839907 240794593 152364135 392608859 285308899 6880039 782476325 74614369 608142249 582879565 503554559 357076685 709196909 986236475 429785375 77116635 599114957 881282497 19684061 63086643 114099217 817346201 456199599 909941727 51608871 74004323 139454013 975340887 253884841 289763243 438956109 391824757 546505429 936472799 701360087 263526275 443493007 821065563 542926837 40052777 318178923 327061853 671675369 467098239 711587487 727963667 788918815 716175619 584535303 773941387 986566441 203708057 586864175 611380927 602821 74429327 291287107 193046159 756733653 608416921 345122845 531970757 48393315 192811989 784181817 240053267 184508067 865127879 300915135 527780883 512760305 115162207 768907137 622401093 891025615 669598193 943415539 237008145 818038505 346953785 313935669 505813707 914807313 875420511 816465425 422813355 850946373 933204205 799354097 428729297 494569383 387744473 875458033 486376007 681064833 253363331 311404239 475793919 440563015 641718189 822462961 155724243 39875221 879282053 251988327 47967363 421699375 468510113 148358121 251162039 184293373 565737215 76294613 170196737 318136341 134934273 717416499 630475997 752210353 904619641 745450419 479808937 612518709 747815065 471948713 354561711 879250987 737249791 888162585 316634401 814667335 37536175 150575527 21771033 834447461 477226521 65094817 482791061 791718281 10508815 954457091 844315267 144552923 454223825 571907945 520043951 306680753 300883971 74016025 570793943 282697861 851131571 313993989 310479513 156284923 851949143 417884613 426269311 692282079 620691145 620520341 289138171 474423329 187800657 495426397 603871845 93150177 58225307 605242799 742606593 531454045 773177277 463175615 335989749 447715589 743212851 808261741 634432339 365823849 748808933 966857537 189256215 998724165 712552477 437506411 437036829 734935165 981595795 114694849 77805109 460736029 29270369 652785859 458303753 961836375 65897489 217377175 365748793 200019845 163299211 582980365 88291905 691679789 186896169 154241949 831746701 148413433 56747427 605690213 278280301 702671803 41771043 373183277 20261405 597381487 452967221 935754083 250691513 852438331 465240013 827391777 37681231 775367269 114806345 110080803 225080527 341568613 485961583 548454611 138387729 231502805 262729579 75669311 518824153 677408631 616471763 215270941 121557709 760604983 166182307 933440207 139435903 501254951 11883585 134239577 671657577 37127301 116102779 390667119 822750445 571291313 945960071 320322915 808024915 590029369 310927871 451861303 888550347 731793871 460059371 520810385 418064753 856504143 384793273 694358723 513815367 324866235 970975035 767182273 821309745 664227135 853499823 913998123 56727303 202717231 493801405 414925385 381584765 176004611 838521457 954980875 607369525 95341411 50012479 180498951 936244667 21822999 60203267 394285437 626325119 381036051 120317703 851229779 283546073 950775411 591741941 744633369 424109579 936286841 655243489 633126151 421806655 453720211 656783435 259457787 678279557 329363791 966058265 420750461 832627159 222729837 147237267 455225787 848720149 404173775 144907893 413294479 379200011 273873535 740989399 694000757 35640167 381018547 915550785 318820759 526295749 158313411 278924703 962333633 254369701 456301875 790743111 183962223 509839985 867449775 293342197 484955323 719691129 103500555 963095249 107881073 891537399 77552193 574006885 83764477 981243147 924537461 448187561 848003703 814031553 224596467 493090041 400124063 811252999 552470315 282991897 569956829 299202745 474734523 542313529 88369213 355286167 817385319 215271915 898077305 976858697 988263191 692620079 347162351 721766755 403149281 88386921 220672681 922945117 669749761 190942055 780179537 569510295 24914903 507101277 260211011 460597853 831955695 164805865 626865789 870446045 349007615 337213455 243794341 814747699 839686879 876528191 231762955 152824159 505219477 295881805 544627111 209913929 998180171 832398455 167062039 29408709 470378067 543961439 211710883 176255371 832071209 664104725 492156985 936549179 417587827 313409039 668892787 855710559 960724983 238896167 499111053 79127147 731776941 910985637 249658225 373669299 49836975 871086645 723749803 884734077 525088319 438063599 156431991 320529647 731775175 220934731 57559727 418569501 897142495 897380147 497489887 350641663 616256317 791244787 337840947 612298869 544752841 965940799 719997571 83511369 208862091 260222261 640620879 355744045 93537719 421940313 282423741 333378491 910203047 451050139 253637023 147804273 277892577 57449805 91476329 316333757 112068111 592459569 935609659 634064363 82331653 18310503 160307677 224191033 455800763 605371519 717861311 426227141 636799321 685982061 132403703 49263513 344018471 861125263 662233411 698996391 693113753 36059307 677786381 567778503 988360779 800457197 709965411 41424317 103539967 340284139 324604157 948214831 630716833 589385635 992072249 550106289 229659717 884669561 113566239 156519609 585143333 350908217 926030429 72390571 750737061 246624795 950719309 850433999 879516239 408102585 969752299 852446039 610489303 923315485 460338657 54852443 105314073 135663791 868027515 160167135 820084759 65381193 222470069 423686089 865248255 779266597 793331753 884975083 663119391 522209513 534306595 97857025 611258103 608351905 291496847 282504873 849562409 111669959 71693061 251442541 840470145 328797235 61115589 688954813 731143919 990894635 67172533 76161015 810415505 266913631 610968167 205544535 826926507 762610915 970802191 534214665 90918309 324068147 638449037 842145821 265952277 499124535 906766697 993133199 329969333 439134009 751165395 823045947 77794665 64161265 739260833 973403375 650413885 498351993 876016977 389026907 569481057 310905945 246213133 313911575 970765877 922449023 767045795 735455397 672301111 787030077 973664395 926619503 306537239 880522579 413745379 105130439 775014053 195248611 55126899 700684515 521714653 212919167 679426985 194990053 552519141 702013465 137233821 669317849 217996547 425693455 302182673 413055919 145596335 519740965 519498855 522898751 268110211 279955083 890541491 659336779 556269119 396026325 568155049 381031037 194904787 326639359 460324011 259573093 171543119 437367663 729687997 34476925 646117617 399640051 302685073 222974759 839880985 941791169 126591869 492214185 563286613 329236851 154091137 589289017 446842455 889058321 452416579 684813037 475813371 210217479 248763413 77103047 320322625 903902763 583337451 265170865 910639449 203792571 946285925 637461371 783606165 908235353 347043019 985310943 676027501 58146071 636652045 786052477 904909193 219988837 978876865 183931873 243118513 496126757 880207397 149338745 795115993 463933082 207360035 871213729 28058653 999598961 923530313 53582233 739491007 670418369 468016591 517963147 541057323 413105413 514331027 497862279 656665845 1805603 646783259 741956487 564908245 358878055 253701531 94427499 746791347 128477067 580791013 160893439 398625175 995190951 741772923 591088881 927595701 583958081 31110789 719299293 455604329 112216393 878629071 707852355 680653879 541921043 205508053 245406859 532137671 705739357 266771377 232997129 488207599 441356361 641665327 301335029 8575657 539821927 679319227 852250479 821140503 98150573 409836909 702304899 971476617 486297719 789400069 538236959 617088365 281715593 949201897 641680927 924856161 44084753 690396713 616776257 296118055 123423909 913857661 996760883 819789485 621525315 580063811 928916865 916966915 376968783 245078403 792153257 275337317 123671959 957610477 932370441 433910583 639372111 68528087 458043373 398586627 414790421 473902911 102756483 568998015 662286061 274387151 4792039 985160579 704467527 585051861 516248087 551944725 758107895 270979145 966301185 157288285 198285881 681883081 509199473 906785457 512245171 899749531 193539109 784848013 298912883 189343667 370423227 824125841 198577133 819837603 744424125 591242633 680139521 199888557 852006045 463787627 605105905 340168633 148516789 395312975 19623531 839664467 852696643 360036219 638842501 153150391 672658805 104950105 640219069 864556735 348964951 527244155 780559605 576999671 627662055 489020317 960126591 657266313 200139011 887408549 659927309 210899539 303372661 959424665 159989435 717554893 312784111 354391985 260080659 499784485 423006985 241752391 684171517 89734693 745541447 228205533 38972883 361762631 568517135 918264095 408047183 502329769 347157427 478224607 893891735 804351251 330540911 113117211 238817337 965246197 766230625 118890483 309481769 228518243 89597587 28184245 238105285 357482017 60180471 415218387 239961299 728069011 109781861 947951593 615981183 450877385 518495135 782127545 353312607 961092473 210468431 687309615 926564463 695953157 528509703 807277405 398129431 444863859 333641277 712631937 891406369 691144561 530462293 886623997 937948357 243444311 137329303 995545691 91311005 681864997 348160565 734561871 718442417 52481411 497708871 48823733 386963311 63509695 151650767 103871887 58683305 84616911 378551 305341961 404538527 576496979 170052305 146747767 903102709 695502997 303015891 207841619 123518135 127942271 543318881 814684991 554457693 246336943 377618945 746899979 155058627 988665437 910093865 120845477 542085423 63700343 824304431 980192043 357386317 37678983 903162453 974568927 255351091 114004423 463697349 347887151 734177629 714604821 509757329 760756137 304817841 624229113 984680623 330551565 955999357 735655585 491433985 736896829 49122933 471465447 636744531 502396997 560109497 933605447 30416981 633825877 855086539 607862251 142606751 797731531 316661657 317437601 801383859 304208171 177449593 423939809 609996795 11201565 958206249 352004297 442781127 282767479 828709581 401575199 91069265 804935733 987715057 672467029 329814713 289041271 848686989 911956867 653580043 493576585 558939645 293754213 914008375 53070817 315753989 225740643 601126677 639838999 868944853 992321679 815544935 523160049 723253247 972418717 232369621 320979031 531196035 28907247 293372915 731558497 200310213 945302409 495125049 228003653 754655123 987206173 136462857 703801449 466377761 382801665 246707625 238971993 693060879 929059381 17286479 89477575 359412319 865185375 280594449 532165773 411683711 676345295 489482991 760689841 208734275 394147709 699121111 202477917 337412077 639550983 318310551 638651363 348964381 763000501 461430761 230239937 352025061 409915509 687360109 340595351 699288245 270197473 959997871 361446195 788272495 838507317 987318045 1718919 513408341 392604507 655905043 387969965 124091671 566420193 612763089 879753707 414580679 782758399 831051903 377691563 419448805 226529937 48542769 905500033 479082069 507252515 486587103 924917543 791227235 685923809 950112873 414241407 327974855 240841637 274023833 792380055 622426013 597997291 405994275 318130337 962514283 11942619 370487451 841887993 274421021 972867655 329864583 183069729 669365513 923138211 714238029 355022277 828257515 716649743 205702977 89704889 541531881 566063443 689123739 738237687 153759377 823791839 909334651 751975585 292749273 739990473 10281963 481442055 581139483 129065937 16574941 404954263 322200863 787325789 959459627 792019695 905937427 296497789 446425237 16760273 950791817 243237865 367318467 397867049 861263743 137374719 160355913 163670283 417598557 570710471 524235421 548881073 637546479 40408561 578810147 202429823 644561255 976137169 529668389 689380095 93240679 226252395 206654929 577204455 874428147 33688417 395039553 563312143 87840885 639574535 738497913 631304059 325587655 596285523 883887455 484165465 351698979 399996385 689730501 308526073 678699311 195279613 751577191 930338519 192319993 799828883 368610531 593606551 811668725 134647869 670282179 627263235 801100803 314659639 128029049 415625745 891689315 278722409 46808925 369191641 450609863 154683747 564306099 810166689 249933891 704000095 309777313 434653649 808189269 708000567 986737209 225330431 542270431 422269301 368146295 517645799 854272819 898187849 6879289 170208617 588797185 102117257 924813385 649857425 232299115 278931125 176645977 428329109 501900019 221463027 60192769 495148493 605628297 703012627 297017539 101654207 501652351 28296333 326296329 21267989 522092437 379399807 577369125 257716385 628471023 806419377 348893773 751045217 611867 21057681 255522725 864925045 75084813 904175673 126174517 556217131 479438115 789658469 874477037 199932661 443595809 486017407 585195947 610625901 470534455 284558229 495420971 910948697 450507513 672765277 185638425 116487331 479015779 994778169 999219717 322267997 287858397 506218541 208704873 612734661 857169713 139898603 295400871 842440253 982929045 786570443 338340103 71384143 284886185 513184713 979455929 700370863 268584303 660603533 903598299 10731575 709048917 375832425 837143401 337846765 28671281 146812753 977143119 822824955 504429889 470020837 877664861 992890293 659703337 739652973 481801037 239749013 820121845 739803609 327538879 500472381 564768541 332398527 170189375 475704187 989065597 587755103 825614653 984806211 58866011 431218079 840572945 331279533 27971937 491737871 319452925 980472061 962748073 296378599 789888811 421213343 77544877 944923909 727897515 939779623 236774227 7633391 766088311 962320719 145592809 24029657 90872687 617542137 565204003 375369109 526527839 200117557 254218785 212372391 324569333 582891569 60440165 908111155 640596941 819740491 415166685 810708743 640818023 863392005 252833759 236781215 79256109 678240013 994556199 595601685 548741743 795647795 183974621 854367797 489995111 434393203 720602763 702438251 254352437 341073393 785029161 455686351 821626597 512715255 144363793 504661537 54371685 938359547 866643213 11625929 408308369 177700501 176234309 108375507 534265129 681521801 904984403 414216953 352291031 128395205 502208049 261886873 252898601 352445785 744346437 495716029 387974301 994330497 22033755 207189775 622264211 544269985 731740075 44848619 590425937 904921669 988878545 418449999 683110667 528924701 405667795 321443297 484860635 193675017 14603549 992841201 546952897 167545353 481690501 500328055 249845157 498799431 854359879 562236689 674725467 677985049 869244171 848922631 818111643 754492155 28281563 700217159 598636037 766901901 578568493 99172713 313097509 199279261 100592609 921319599 105965673 824392221 411337017 505485307 508840235 647057703 686491875 526809569 34879663 34207745 232360693 441651607 405782811 662726165 732098285 697989625 919141507 94515445 160045743 618351251 567240159 710658399 438544263 369373329 20770831 900907059 51212589 785924043 364010717 642170239 241356477 994414529 898046971 348433269 841777085 84806809 623915011 367837553 771233047 843687973 400724851 934683381 905005605 904070873 277836729 562998445 521905569 460704981 537225761 583669611 971656881 637641441 967591145 554094381 393441763 65003373 253638191 351097875 186800173 177546127 318662909 84791147 669745641 497569285 874452037 335082153 490896863 951989817 897364961 672355427 636887611 30037817 280476047 245200227 855633299 713015997 345465339 307104143 236215269 116872739 297238455 195307259 734161299 293205875 321969209 828289765 774757487 396021851 495850213 381225647 803641513 476459829 402202115 565505763 345420259 969046525 650672581 111086133 984944671 32368477 829342021 213913217 838781645 53214113 280826753 271554507 580647871 198499269 993160805 599186747 189595701 11212899 740158403 12268071 352798675 800109767 981239377 394222345 287921575 418937309 980732595 193346693 87235877 920175421 323914353 359152229 689393451 663621671 513300221 652986527 695599359 255903361 441788591 885835339 798568781 529336797 444201417 44672685 87454507 134872175 126171509 36118067 221804309 616191511 880176325 170238829 814925299 752097629 970459567 574159895 597833743 731804273 834845719 596235797 380598815 985003559 19207363 941109873 205368899 179364099 430550121 769398369 426765053 848392233 85058207 153558589 319373371 483998825 768007401 67084427 894163029 14445371 885104045 48970483 182051587 353465789 9742141 271735629 46484591 367346613 293551315 997750415 524938277 322028695 197715345 232720863 311114265 532526709 581739389 346368393 371676585 645464849 661757069 986816509 416265881 410910931 289725335 789874907 45819417 482101193 939020125 986742243 111869885 418399401 10361225 38534143 891733121 982050261 21006251 26031687 318897611 792346705 211744317 237229809 279575657 253267151 750741409 757577829 30978447 823165093 506733855 181796393 743203805 402357459 11033063 172974069 573411413 982953215 782314005 43102371 461541733 574455419 112957353 706245429 885440483 302455099 928532877 749717463 512089099 12709087 941506705 802957531 127509125 654052783 648550511 401340351 876203355 551508891 447064263 119092259 972263173 991373111 311571493 946933973 731513695 136206023 193629433 682083527 631321773 682567471 487738009 393416213 364277919 149220607 447906891 334170369 933171015 714584943 556138039 951809783 623540773 212726619 892859501 302954891 337268509 93517391 634252775 552392567 12796285 922101113 149814661 221447581 569727737 549723821 541109011 827228173 427490991 40506733 103487 589218037 123283493 355531233 652596133 483023795 668447303 180117461 914914245 265055689 418724459 230341 314600455 907510755 563223885 562032587 219392959 560993493 560732181 980279987 346002725 808777881 190719309 76909801 73656921 389168467 584728557 185567109 327668327 302261325 332371535 750505799 494861885 294706939 325966651 970228629 259803063 101453817 527417055 786178943 561162899 510671883 931871181 103922365 475723647 922412825 576627717 599191725 425749769 46891321 504701931 376266071 840632489 552922533 393170251 428482155 410988483 230466497 566821469 833073215 904062113 849495577 230364349 423460561 237566833 358727517 265019505 904961227 551674191 504708459 746216677 429987963 649286969 621225543 859093997 181551833 796727069 281335579 723974857 614637699 413975239 49170745 618474783 757088959 782328565 33356573 80297465 721480833 974440517 448484203 900160717 200530779 926474305 614878703 547892345 155425423 732963931 965882521 919495235 252447237 584374509 181519497 275592921 47161673 173610551 594513149 344127821 42695319 144119137 371792485 471164445 999675337 594076029 764215633 887936049 598578537 939222151 363559807 744125907 303843239 552830045 827270351 944526779 333796185 446640073 164790351 997256197 801190655 852358525 218059057 505844533 436744641 550045969 502112719 612673851 275602539 986522633 518727343 781194345 382945911 89569483 686602619 566913151 187542787 519123371 332439557 317765027 97639383 267788767 42690379 832259421 548220513 593711755 432888429 898843561 541606587 495048631 15942585 966888415 807158947 622980949 472476577 573888455 547876479 592465981 404010945 145280653 766089821 104721203 871475163 260922309 84646649 485580253 28697819 14525041 253698223 676124621 514364885 302524913 507495047 420601725 864939777 125950231 34533167 220680015 227603143 535153427 809286143 561717387 237583023 453340295 356996599 830570083 401336941 800292469 131710655 799562479 33885917 513427787 768256419 618329649 140608769 167248865 683317407 777822483 635476741 148215407 615522637 791514215 259486013 360152991 690727417 82903523 700583715 113030525 880144525 893945131 163422299 133549693 736109477 200483015 693959599 333156989 151170431 157313831 582044179 542806467 540535553 186891175 398097315 94340089 982913213 274651529 236835491 843260217 974787047 753764083 501103739 12820733 704021855 661189111 532091585 72784173 682591917 776832911 264631855 165024531 133298943 938004123 254550441 831074405 356060719 429322471 643511097 163196995 472145849 215586339 415261973 456882223 33589191 752528103 768323221 771893015 768973863 758188469 62096189 345986641 910999377 313273335 333044155 383770267 692768097 48059645 817750239 148966167 734575395 29290241 560115877 649757783 413944579 102800931 700169521 241214285 796799003 645293423 831588815 433193557 966049063 714239957 445773295 977610809 660329871 679579949 471917105 723241249 84382821 844128569 181610323 423779751 621110621 537821345 281416005 115782597 149401047 749193721 301958679 247878625 308864989 387047097 762456325 250061769 995634971 351719491 499512693 901327281 1888745 935364317 631379949 247695159 226384453 643860157 780981541 377418849 598961371 430240505 115543799 167170715 483044853 708490387 413342563 19823035 603768973 233014643 78407065 519563007 776619841 984773485 954511593 807452169 289724761 75130169 716977617 566014441 545767875 941263223 733425905 899938325 856182809 928977331 825979927 525287273 117429655 454220635 681130293 216992553 648951847 659977931 797652327 420974595 617336151 451625539 631715311 551120655 179365727 543430379 267182905 935558341 649718811 886468055 959434199 61394447 579949591 709432063 521663367 71781177 159285119 920725059 337335337 478159607 331055915 424559 667975371 803162471 953912733 245563441 357743777 364697359 820843511 830110499 370388481 891051995 143768331 388161737 833418099 512311327 2889299 668105611 39692451 277585821 790648041 824012727 309599 716678773 521349783 915931275 353396391 730793015 59747533 781600549 26970525 165580503 118381985 322368399 613314699 655375285 509858003 539001277 114617317 795189907 980289225 212372099 674043207 425370271 333953427 541266599 473815155 262364015 775611369 556712911 296869975 526134785 75936809 905632143 517254657 419799481 991648603 5026397 403539889 870359907 690274351 875917469 718505929 389487671 685389305 166746521 830120405 577865425 674606013 309016703 6439813 550710837 254093085 733809513 786914743 967188179 213476717 661455963 682497903 888714111 396964515 561784891 885342933 275008117 208769115 403148253 283933759 644255835 34074849 500377847 10576167 657030975 965388833 386223405 193074481 792749461 331641011 688932103 31975721 196717371 661729495 230207223 676398079 879234167 385923957 946083925 270032849 678559989 212025625 341805669 57959651 306383051 678353663 566043469 140001951 280976247 897154561 453360927 225230487 228222683 44638633 810229463 879223687 983258183 553877287 175069011 391266899 503498609 189663313 677868125 58152199 432468853 856972967 412423591 50950611 404868055 874770511 975809481 509173783 139691397 299249945 546241349 5777747 801540055 594449789 66665349 927901745 32394119 366849432 162581467 342836617 411777467 653008437 879767165 621015889 749949695 998079935 24355727 143922607 810629707 3528017 361315865 104911343 728571387 656267175 286538509 671850371 217802453 27268651 941309507 176843015 116605189 269127147 333998461 350406461 237301025 163932829 639486821 802741263 959317797 39971235 38653067 54806421 542389623 537998081 601230953 643805959 434333671 838856297 643599969 17399751 137008293 551596595 245480123 198165603 836646739 163038299 650234281 513548173 691884019 107319689 841464899 406471457 849100787 463631887 230018443 865278753 380031785 576030433 644217195 667937977 281406675 566439071 424209331 8441147 894001813 49008785 325568285 413060389 683160955 833404839 852041291 534884633 112095997 532669303 189617859 703177953 893429751 66273601 233197051 985603185 688155565 378141931 547341897 252272869 867508943 17050117 868955631 495622015 646879857 67360965 400320535 260720299 317456143 513751309 369773521 542472957 742533519 41717091 174017303 279873583 80639039 630999031 833053129 103002149 55528403 198724509 317966003 117797353 826972777 289628889 321675909 747073711 950315143 963565773 815795415 344920787 692842009 29765197 532504875 765042905 838243189 479625935 111262185 186103401 573771865 728038255 27853157 478861145 404882663 469390841 828158167 933293731 209826993 799774681 968563039 119533419 351351719 201903911 510440713 980173309 224480555 86752675 717792195 643537609 467036415 458931637 473016425 662942573 250395731 713155945 626476987 651542445 727408313 586569593 439292771 90332273 154005809 583648323 863802097 873299151 694368543 779272913 682715357 428407555 611601745 914656717 155840909 552338285 30129403 77508755 248287813 485134745 365838523 542425121 799152187 287386941 339870615 600465437 450110851 672889649 511772667 123191255 238327331 562947195 592948925 611620167 850035971 996469061 578170393 844644363 532283121 380107745 158916277 823584361 384324523 669679563 387785887 402152021 376458959 178740391 712912461 711045729 673628393 951713089 984768409 757373137 180795495 357599371 715300555 188600455 192943269 787069599 400777105 114295831 362946785 431957443 777350653 55293109 219173193 594440545 940302735 422984003 555434985 871961869 876924459 603596103 756263871 845202303 857615133 778019311 7054761 571502495 264761373 30331155 202787697 916751219 230053959 18909747 335503561 988113203 460722975 888132981 700728395 971021369 740062613 545387691 320372343 513834503 710815485 371613257 984224437 239749961 808819219 362645615 920937049 392593105 416164349 474093029 975357337 844645533 550730569 33794843 587474073 78776527 118655723 392083751 320731233 493085361 166374211 606697159 133118435 857603511 167917843 849045349 515533561 999402621 261580937 590469647 480247137 358819269 209564219 346288765 164310983 553286523 746043429 346524173 361274045 248072115 539269295 266497735 757915577 861325223 285761955 733757017 770557471 880606905 806386489 696144669 569195063 415839609 867196685 532232463 402724403 61112469 680174883 127609561 378268973 247234027 611356395 716595911 742795811 281981821 769001015 213324757 928914177 657145975 94968903 429272733 170833817 390664749 611863231 971452011 555952801 728812313 602624173 961260587 692268221 640155615 816048005 289702261 764125045 748295753 705615397 364811657 982335547 495411789 492890579 87289933 751772519 53353219 789313851 845607761 551607611 705654193 961431921 583967949 569436385 418601663 630454519 624651425 533373803 798437571 629511853 914392913 132992207 876714871 940516579 454865167 908541169 317958847 981337679 863366319 653307545 709154727 35053323 582038197 490185335 562814303 422287265 790607941 954030121 430318663 697560569 489993775 753663787 266528989 200785003 551269867 567516137 972473553 436365493 470550167 700982451 418922483 594837755 605953017 671679171 553695039 219962569 96402309 247778619 723736025 558081047 205649741 753869347 717056525 832926273 425913107 763391339 996727885 847229197 139722559 982872046 952408115 124072359 534686175 633208943 991160709 299997091 418961321 366518933 696626477 687548929 24277759 282381809 620137533 403766311 579773669 976910589 264731891 691196639 325501965 786863131 411986863 814488927 445843405 989707411 998808575 239752773 601031461 452388245 664883093 835321495 615095739 79459645 1230155 917061313 214140129 820867467 682349607 754253209 859355275 580557673 335436883 703831389 738233945 300146599 822714915 474812593 101312659 706077695 374077711 426712993 238682409 425255443 451946175 178210469 641566383 617592425 134349307 132289945 202087785 176056695 415088055 406701761 272354875 620146323 485903887 86153675 462976437 568874239 302863685 111591631 519591693 103746275 912026309 505698119 845062949 549534803 552906785 912837913 746222467 612246599 933272599 79274387 904460629 977611679 694969737 46510697 102093941 587087911 934336641 443610297 474450015 717254029 88451379 689377801 846721853 682976877 588226811 424212293 854784219 519485767 194003803 502289859 278069173 672933251 514852609 426324543 382181349 225440373 883680955 930116063 958527543 292033109 82256009 63811379 451279127 999165763 283279501 621786923 613156765 35500107 416265233 526242345 287297671 360824923 395263115 213145327 848404289 600011087 781102739 843497899 811171029 370075367 98349293 321006325 145038077 683494347 469378439 425896133 529617175 302312079 124975729 20365701 309315371 559563433 649310439 386846465 960500457 872321407 606700109 433423213 81730727 368511829 918276397 562625639 496180835 505222751 247904829 95051763 651961543 359904183 137768789 694992769 100374049 431549021 218654841 177394917 865832809 423341113 52359895 107680091 511908155 429579037 599545791 848008841 707225827 396193733 140869549 336987517 229859661 785677519 643585349 871695277 251354643 52493253 847443 26780147 127835249 670907931 265829065 242935703 777590353 513943589 176379329 902717253 658220351 24080425 750077569 37401107 790451573 659755341 27153267 259528831 297804499 633031331 911988521 213095277 672205277 592943655 232120671 54916905 502539973 223773111 946793467 422189163 486738017 278157853 267140611 935980367 560746801 355103243 881285807 921717337 812672091 368634139 149919321 946177913 303996593 834569419 19527043 853302017 310744487 461206919 165196759 208601777 71013469 709801889 361838893 660388525 659587739 509183567 206042235 944599683 560237519 487845557 162357481 417851943 17523219 433186011 883865791 761654007 458682149 267375795 242316913 345915065 611717993 948087061 943240601 203792025 104029427 181596869 928401405 24689709 247625337 967070057 581247111 886526065 610215001 438341267 994449995 535555789 295572377 368267453 64954243 171857419 284418285 252740169 718099601 432191331 434570151 661326975 414567171 52844911 824723657 564331665 176889997 865996601 377584635 429739159 660336133 964574505 126719113 946867349 789438581 990234647 556732527 376372593 318126083 11161665 890586439 995375101 914671875 393296459 185797979 643544051 450149107 557057091 967528603 748131061 261848437 564908701 484489117 540230539 378762579 744239415 743767713 927304229 459531139 641348693 975010957 427316257 421960221 811613607 374078963 85423291 113240421 197263169 309475333 738600479 27870407 692607647 871758249 65575517 77409751 271677863 794094689 923723375 110167887 301755815 467199325 696257335 739917843 950815829 752707191 809255035 46066223 741352651 544126251 945904625 223800787 77912721 537616291 54763567 93608029 953445011 259258285 58418615 742484817 544665129 44981697 134366707 818575191 867139083 51137019 496514611 290653509 223780707 102202663 781255857 524844821 13057211 2836913 172569487 923927789 279564043 681284787 685435347 993202707 369260207 441496297 824808563 387707391 738263147 231553979 248373061 302168905 610540143 549244987 566616587 718902967 441075023 62681117 634034543 955744817 559425287 332314305 461675521 145853901 40376829 57370161 505144121 890328263 280513023 833484825 384684669 980689023 532631873 470127825 551239699 250955651 56313185 652359767 567236651 206888581 611424357 515708759 842764257 235321183 242126265 388021275 878609461 198458391 577391923 136116125 678456591 798627287 778984463 337030267 282337347 922423281 890028533 159769597 511942281 474652385 269325807 213195537 51552385 850168141 830891893 16125777 693540791 79327485 523434849 316350969 84894105 131178469 292309243 583888627 93081731 996835615 584986865 762923469 55722165 546395121 878281301 461737149 477789527 251167941 421425575 763213733 391403389 206575151 214723019 433752843 535947551 212893671 386741519 509083421 322227741 691855317 296002599 552266931 499966787 495314689 888176945 657858125 328111423 977849503 811344561 673223955 859429805 366806283 431939735 396130257 702347787 255429319 90925879 855081987 473573575 298554239 134776909 248603843 977542189 176651527 717659649 713655771 121539963 751205975 537489373 827084475 886564303 486900375 235738071 948640121 494346037 308389903 322208591 321468885 306293147 125942581 364680199 108344373 150158299 306697121 837568813 821158057 768735417 277018903 458129495 470612457 716458971 968538243 283105411 887571027 15293141 781771001 459841811 713582319 604266013 252859571 127937241 7379563 222712345 611010069 264814855 221657121 269723149 336740521 628702779 913511181 298511661 770849315 961820025 220800729 565732241 408036193 857538353 296324819 731591997 352633185 277829173 124423411 177655063 828817489 238860997 875705557 612733939 867487877 978644357 307183813 230502279 743000441 582741123 885277871 668647799 867737805 189497397 503667499 188166219 233642829 938101877 214869113 774539893 899609071 918722443 159145857 411751247 110913739 375272739 117466831 856024599 854503973 614475603 206886301 858183929 746512747 988882839 74840267 628508167 462894125 271700951 142188509 921280567 664292135 249584477 172161029 359021165 653440831 1895393 583194393 386085489 604284539 162874493 812902041 705748469 483113747 74277563 392265899 454355857 549804127 382116227 285255967 199285705 395293157 469568045 315120237 28914179 25459791 347177847 960137907 561225617 868001903 378876549 315183289 190994093 831810627 203263461 97193197 266560377 117099499 991752843 84544617 255007485 152713397 148535509 658048489 574742059 564996627 451226505 499260119 481588955 622320799 870290131 815791167 920029903 569427743 942264135 144547293 820407985 747821949 231143 984156429 16746769 661560267 123908115 103634901 239947627 917270855 222728859 359680487 320914203 687138129 360806069 977031067 333301871 385581687 664110587 111835885 835999639 510189419 775137397 489003141 969311147 267079177 876831121 437154483 971409837 114425427 752740641 451863153 852819335 300359029 938817635 991241305 107064585 905042115 477343999 338172853 775422189 425009847 205306881 870197109 696201685 72463347 526492381 315278639 131630921 352042053 634496623 473358369 956524217 5207455 45833729 584886839 963136641 939504413 755600445 861725947 643541729 801085443 238884407 796849317 976371459 415315641 644017775 455948567 237276151 384557011 987535305 861350615 902380471 896928015 432064147 313080341 522802725 265627727 442847107 229927333 251859975 847048349 612406963 150803467 527907859 967169327 324843179 250921577 603643359 882781789 49152855 673771923 373205741 583650987 480750861 345675519 501465509 537021895 880892809 415069129 13945947 512339327 523514611 513963965 34909767 347626709 693705429 866468423 75491467 127777511 658065703 434729343 182380845 789387777 998681413 894468901 774286371 44525719 226372851 98220447 208378945 311090759 753833313 658999551 187782733 441798351 198726177 250848249 526967279 943234847 421095475 206495469 564772535 607824967 777402619 95143139 108389151 789036675 885550919 505360523 542466439 609962039 804106827 630330171 147662137 847097583 784478885 29779443 934651753 283832411 855388505 430507097 357766699 120746843 170557655 841888189 766239109 39393517 327215091 236367383 831665759 321734465 658801385 11381507 973621639 792226983 825292385 340871373 997751995 396195485 780608101 262500195 635599769 557114563 572026733 769119065 404016301 485884903 192815955 560410867 722605157 582277369 830397535 760735507 655649821 715822617 877335613 278648909 751396115 998522247 173125381 878258645 693965685 691594927 82922543 701463181 221140815 916786467 231640997 830737403 33039263 472067487 369364659 921299789 808696643 982701321 684837645 410808411 59023879 471913833 810623953 550162597 138935705 486121203 808450179 556667985 846210707 368238337 384231955 152682799 29947769 596523289 378532819 16773561 61744049 718570981 153361029 213399561 501413519 188875321 707795273 490998505 705985097 592232975 980548271 84804297 718001411 537952137 860791723 905943743 106090949 821696501 337854107 818141577 938285953 367838917 939963461 336266385 706182673 790323861 463502549 536527077 636790067 368743463 58964705 209878589 152122261 178102119 101947495 6228983 261989827 461223529 878620619 506470939 25901883 651048551 369635033 691759191 350078811 10680517 506954185 680955141 565335149 385333261 132612661 259144737 453781155 569235699 464250407 176161363 678513941 539211091 944373511 807887853 885295813 998377775 648573103 654936547 551681949 960049589 189521497 313967831 518415215 744430133 571012523 34475535 905691377 454678315 611538353 433262201 52053703 482977595 63313891 115268525 17699449 65763887 648729375 457502443 194474873 129359355 240546469 983900185 565396511 648410043 764779303 322095303 559966895 949350579 616302521 749762349 305868367 792022859 287836887 213202219 426069009 978558489 677279593 31487813 317659631 429491417 347898297 897929643 21355979 289186667 103409279 71616311 655459949 133534939 541588437 180417639 838684295 342819423 147719235 428531809 44438449 668563023 823381431 899551733 947293037 803610417 530096259 546999449 749846053 633093805 484330087 896775023 86098985 857183897 807293317 101763645 862409907 373874161 51559279 981635699 24423653 474321365 561834519 675507237 377035463 962795667 365131995 40898325 911888969 261403291 655346047 662084011 128483911 624733069 734832947 505099253 178147203 634576169 425376139 525170857 637066145 67510873 676075907 301186087 713219641 595976245 61492865 124806521 400113087 144652019 731239251 371328843 225097877 962922745 104225583 865737973 525958663 358115795 477620911 20335479 579108675 582007603 99906779 108555895 343135333 423809013 669746719 506509639 399349615 896089883 608926545 791771097 991210309 369688273 203794607 119956947 896014013 348807529 260919003 875922295 32478607 473053793 747665383 473290421 325441885 517033817 642202179 783998503 467166381 722522399 349661137 750608907 284525557 825905317 207659733 19350855 378493067 380640263 199450873 965762155 666833841 405111175 6285911 113752237 333286799 885869713 596438121 990839535 421831225 785302201 972390677 323186871 132927143 878317241 358575015 378431795 175102905 602557811 56179673 734211133 877628731 509959925 927344323 118892881 752969947 950053747 872165355 839265945 92833589 78921797 987101249 115679201 644767945 629572335 175626009 732525987 365755649 281112093 123856689 68989439 487999275 136043171 426114987 527286201 7987077 913919611 233239831 512154947 858791471 230628297 759400043 532084661 388029487 506031575 63791105 288552393 189351033 624890393 995962019 730911469 586464999 554428203 652637817 560825899 919949113 923244497 76371995 193492285 137247255 619337715 691128199 705580417 437231637 823461799 203100961 807703807 980806827 591552039 599451831 306188647 18207545 273196759 910375037 826317071 996024841 260258371 100437519 573308917 840838477 584431387 607627127 724329155 816428063 176986941 742295071 315728839 851555199 671112877 542236125 660597751 987009877 571154067 205330413 640151029 8003957 803517509 413091829 105078535 717801109 767168063 26520323 348892699 669272409 573762849 537612939 796724939 259581771 986881207 978003821 700383315 584382937 575342327 14102251 398418077 187983709 254940923 674898867 854257973 85609499 146078211 258945755 716625493 951874873 514107007 853709537 128448477 500227019 328255231 319601319 375462993 664989127 816242497 953084543 990816739 881667857 411817765 320908059 385067881 397812849 325844921 719252119 982022499 732031641 147228207 947880317 752154871 11420451 384426721 852082101 819120375 503261069 33384021 189075353 398468309 168971331 969458741 994109667 464387511 125926807 207031891 529009081 872228191 183608511 197563821 218826153 501029693 289669343 756054371 86968999 884724075 984758271 854623171 639371281 589805477 786267665 400746815 348429229 695874645 11314159 15560563 532278951 101368201 176328279 547640353 349704341 294779385 842499829 533734965 983912051 590262275 544931673 9265345 705975209 312251053 127158783 369852419 894780673 103832235 939503939 338058845 91151793 49772367 619954291 280356185 27917401 636679067 334816447 29183147 290345979 549815095 206338625 292235055 363056391 837328239 976041719 637563879 745843279 472791613 976059341 654152959 238283283 288205633 374333331 746889419 313306359 86403775 808309251 445931205 203139847 36557481 710692543 543657105 242840763 55569301 683705423 239111417 279632879 430175683 638166309 995147505 25102569 520334361 236530841 597216917 833879893 661953831 706331629 602557991 768152393 238205477 171602251 110939413 720464449 907892721 856728771 613697775 15833635 677025811 181827407 558573169 986586685 924046267 363477969 628199039 265439299 217966783 636751377 919174947 647802197 395668125 162511295 892724369 898036981 984209279 331705207 721556007 58842129 402368307 175975865 797896547 267073023 468173871 109589487 924425973 587828605 289527445 836098921 500867501 49377199 565914411 515013217 903649159 690475297 498685023 949004025 798049959 583100619 583874889 644759097 111596631 302768393 728489643 188359953 995072013 590169247 206212583 582366557 660967521 729872317 763257873 799192285 109711385 141578485 692651741 268379707 793065247 135649863 842597291 599894535 46065029 507132439 954295429 180763067 938156679 921656883 672382229 748289719 866953609 662713039 790297527 709283655 701814039 397712779 797782121 192847769 715100131 106607719 925909969 905111753 704787911 118498007 170158145 808491991 263048393 411180201 88730795 885865133 164445203 510325537 168135605 73060633 907610359 48171999 530108577 565112793 453493747 393205 208404575 942730637 744576423 437225683 813676169 861106619 699996641 814747483 788340315 678266329 443961491 486557391 569655743 804948539 621334233 390030815 262927427 226173223 754234869 466028445 600265757 537268165 592852051 674233481 816901935 298258723 483970693 862370183 346759167 512613695 950344265 267010787 652648123 251461623 233575807 898918229 721358907 82088983 264477493 141204217 474474239 385669709 682117277 443150933 702709807 591094325 518789139 834286421 203325591 245880655 60406809 159119439 143091633 436314627 807272027 770379007 111714461 573538981 148760749 870310795 593415967 75094635 244646921 806771073 625535145 83338873 990587283 723684055 510435153 708504793 720046997 418739431 832614615 111353209 635582083 652228473 519631265 906973493 309845497 841120187 993756095 675654859 251301817 524588351 923832809 734632423 2676911 983585539 585943165 149820955 360100847 846992495 120049795 272474591 393251251 36697167 244691113 342121363 911102047 202062805 276182601 22394497 253546877 955704227 503638623 481155547 350001859 413256893 283457685 717945275 39896329 690068365 645914169 386656287 228912467 292032237 496264513 603004403 606414287 368546583 116491599 690027529 454538445 992638129 809716393 645705239 186294729 297889225 35127613 640830401 51290215 977115347 624886179 395463567 439870833 736712111 117152283 9184243 755240925 308123805 580764557 562903111 556887491 976000335 372999301 48788425 189536105 983855065 119285821 948632229 488152631 939087289 111005589 47018733 146270659 155816145 903524881 397522839 665806025 444476531 401008355 446468487 742630953 461724239 830234593 918712453 479291377 298273671 872195209 518404675 249576529 620697501 928663303 958093145 565009577 539465089 865042725 780379211 312657527 769128069 883809115 548841599 669032043 927370089 321167819 249395527 213499221 185216849 863439163 791397085 887442227 673928907 788003867 673430883 673403941 928407243 815872895 378516449 652932473 85024687 573199915 91798857 234804385 836839995 229043587 10577267 306601015 921582239 240647829 240529953 773769473 222284655 189112093 586351613 110380777 893357223 921452663 923595161 335415811 302516911 975644329 276332651 579797383 818647889 985464165 738733525 323006685 16996035 493793537 746437667 178382477 926458533 599673725 232632197 679344971 563523321 286967681 203765523 585713905 803869997 973742425 229707727 642363271 796154135 42683903 573872035 580759603 981891061 130501139 258606687 637851721 621974379 354053337 735187645 644930119 344096901 65489731 955354463 705683151 992268475 214193895 493067725 189711275 893597929 742087939 204589431 144754895 870061653 133245313 577950905 138480471 765634985 617248241 974901203 797107845 979558911 275367557 601049583 388326085 205113297 150057761 305436701 114172587 936371205 35079243 617274967 936051185 541863657 978565171 427793535 852155515 374256945 175282605 628610395 557819219 574769917 551499069 563830177 327744941 444336333 484701189 256406759 240588261 361049237 395970265 316247727 930519679 303043237 797791533 325342561 986669347 646205627 267826211 824333137 417074599 916033791 789222273 239133111 861717765 506702075 821355189 24185269 344244833 704474791 253963735 319223121 282644997 13618013 435760295 657018497 227396711 227488999 286670219 859130395 272578847 966918253 591616149 534809311 656061427 254223753 481999993 512428155 705049035 35269939 74804119 734881405 69483965 12267221 656033527 905964383 782694403 598954811 471502153 95001985 47787265 505836953 694041059 933624879 795882563 903536781 330604485 644784279 477185403 147143453 91924629 34965717 619896707 41752501 197175715 149335271 713769313 73522987 612816613 194895803 716093757 811476411 359030781 250663967 138861423 939911693 6986545 182279627 213881709 424607787 355865713 330687589 45269725 489965195 957103185 141805681 359214219 256323853 243310357 329365091 260911977 824401395 974070687 486369685 449070481 201606379 120833155 510829383 83376969 330869771 970432245 293107617 607259131 158098129 642609111 271229623 556555577 928464673 829156525 93789567 812349889 474569287 746670251 493298397 749572723 817832955 313086371 981835419 798181213 806609753 313649943 548969063 76766897 116031975 424995117 162884827 47066059 90172559 339902901 413418107 754889261 650904747 643632423 85428397 644999811 255691509 294486435 736673477 53317023 243801235 459366893 787913977 480738687 766074387 157955703 55103853 737189957 553217131 687259733 887158059 202915643 180066293 550361675 813497121 631286741 380388729 330639293 854752041 755361455 723093795 714877371 446671111 959197835 249629577 989755389 227101025 930136917 176425641 480554465 818648777 507003169 262439653 776602991 226191547 283875623 512090127 902934613 55869589 781518031 567504471 433669867 125189281 69063841 429503839 270262579 729919249 145150803 972284713 677413327 997405949 152293565 200163621 644693779 217492329 567753443 578272037 800745459 891751483 129335025 628668521 393034513 175530821 157377595 391276693 505892275 713121601 121022267 801883831 349737671 266002641 485118613 552951875 930841573 392569725 668906003 670384663 755155533 478328503 825909163 206410617 317975013 133420247 135988853 738101525 29637693 150782497 205689781 292863489 731303309 708923835 830539737 760938169 691983285 123227831 367780209 881530917 72955193 780493583 884739129 880563855 388392521 21858981 504927765 393910445 316058559 335103041 564068367 817877663 619526169 497639573 894494045 693428967 246490237 27652409 256453207 343589747 485531067 92156847 289632131 115362459 665009481 37252705 166888075 65269783 934748233 141629343 5970753 649949201 886109825 105205923 812557473 782333461 288554335 958622351 343299023 542836759 931321085 462696299 955554583 694814581 519902487 609704233 157363947 923452915 205630999 570267809 588507365 346492097 39050249 710592661 340891339 294637939 282292649 590461615 49516423 879555333 227468625 33366655 56943147 720961245 631114253 183600255 864877299 154777033 703079561 686830863 842572869 2539773 405314589 889218427 285948841 885349145 511388617 467013875 592823507 741958431 923559219 280861583 633610397 588157 140956587 678143825 874416653 847532297 457566505 41035041 103007565 727202303 684656973 280518099 76071599 958395143 293636187 280293663 798241201 586602539 219357763 563532455 277731317 869123555 512445343 608417011 919059525 394571275 215291565 177258611 695096725 101969127 966184019 992449667 383827455 798646311 279186721 324760163 930135497 708307933 497585741 588089915 346540639 783321993 169303737 684850207 807062863 929747727 123595755 841303303 590546777 291222461 991983889 929507285 960308575 865892167 2637317 871913039 574303595 292170955 289246787 697690155 827438001 552018895 368260595 694240765 603592589 743545663 277393639 695372363 24283777 342386289 595822483 848483453 971444537 236363809 14555673 833864163 689329289 814756727 277695805 592621749 347389035 611352829 830685041 712604441 120163075 77324715 431129035 25813523 764103579 530833371 472215307 803468951 449600937 957323349 415119513 194539135 361868741 273484615 992390017 87219595 549965491 624659779 63909757 284866659 181128799 645849673 92545515 111051163 215618781 631534781 455039699 905139883 466063209 397082731 107490789 541447411 410859363 830668171 248592757 523453 470518615 541701049 74810247 469976637 758385145 668055291 142098111 8705671 316035879 549940413 684104557 778209441 706507487 621049555 424154247 107955313 398903377 830678141 547233455 960981451 436375245 474753889 107620651 411741541 470491855 37143177 584337641 199914979 951108347 262093675 490226051 344065231 460011805 792446693 165886517 571803031 696071975 390259261 657115367 575843989 633028147 246423073 466878763 279822349 221480839 659624355 82058549 214064933 506811787 940310337 220849895 760628977 550577367 241335779 747214533 591259495 657595681 208765395 455806721 983093355 678631503 476687305 66828401 124081349 391234925 491189217 50816917 74026279 100452781 913935519 610864531 559839531 372638057 866561011 294346043 427335247 282180903 431845423 728595973 48217857 996211345 81864467 789889809 854614925 278431611 959014597 425229347 539563823 200693469 588375245 280394923 38165257 782352863 25115431 832944835 451672355 381080265 505542955 948600359 323259759 315249679 133697697 88234305 607778503 1600843 69449909 993750559 935224809 853608515 452662523 591504249 589879937 254808033 550082677 608533421 715742751 952654649 712984707 111013313 228692799 536437893 520111095 984975977 303384127 819154471 964199425 627545335 621395561 750601645 507612483 952505965 37974765 437785289 318589631 48375411 546433001 662419543 520433379 819672661 604882777 862121817 122594951 739031565 927744553 4672509 245317603 625607483 590377257 151488657 772618657 579644451 810636307 497454229 559586765 401069239 317155465 571196843 262165723 473835917 397106963 81584797 608425 713206501 717926435 379520097 701589373 527658405 24075537 169817359 956129537 58081373 369650463 45225195 476150607 991692869 815202935 94856545 983952353 281345595 919301929 409157125 488876191 519991239 187116079 891195793 429845203 442257433 417333355 935490793 281336371 829046023 149834661 573491223 766341087 932117519 926162829 775959377 797627737 588334427 685875903 360903151 474515855 521932985 823995837 510022519 605770711 173563551 293329899 415751825 886260973 809076015 73476255 529192979 211914233 836467503 29833233 850728439 585322375 541926669 611791971 91867233 461777033 523917281 915549853 28613277 280813409 365105261 148567471 204196891 696618707 201805843 656934773 249517435 741548297 632453607 828356527 978895739 670571165 616095645 538927879 721832459 255674761 954238101 264524301 965282107 636837939 993314521 924232763 692871241 659206761 905999379 614690545 920106133 124562015 922999967 452587131 639284397 850177971 373065339 45742343 405245761 608661611 268702285 645377969 107037745 568681971 617376871 956976505 344058237 778554401 259668411 175976009 326980687 578552883 236906221 49057777 574782975 143426507 866239299 498204969 92124419 536884729 285424557 950253719 87555 484147251 253118913 467234239 54374599 89594709 166990013 632237591 540746049 768094371 909204107 755889651 416654481 310522571 760045241 294668697 874069495 956186853 385475453 744622129 146262495 722248553 950091449 171999947 149313243 729693505 238214387 305527647 335937705 422473401 97243225 146930131 247953707 113872517 655216067 355715819 214702443 936558275 680008625 867971931 564151453 880166905 444841803 696473277 504946973 744845843 329174877 573115025 670746989 360223077 248883041 862001471 992351033 624230321 92653175 588540699 557246547 602009879 482410083 504450907 59334073 181626151 715597975 102382373 286274189 457890773 912605993 386368637 669927705 500657281 910983641 857663319 609991633 961829613 930178829 847169165 714305105 246078023 787905749 177624285 171267165 387988517 150854633 379692021 67418845 981554053 876194983 577707873 594873575 710649291 584664087 601321375 51836085 351713219 4989159 486753549 179624107 414162085 121104497 69836533 795677267 636710157 595593649 693533833 292756321 510008831 902289489 897969123 346042033 386917355 771768223 165940481 898538311 559591333 340669329 377601743 878734667 908970857 38802889 707082783 970117907 98551773 78585485 90003111 380179481 20334863 899607499 608100875 886977025 669526387 968942107 196640469 268331415 714071271 921718205 2428275 476096971 644894129 992894873 329724735 153390269 464640381 309783611 401530235 822596267 796023905 756846813 849491 649215237 949860827 4253279 72901075 953626971 285351373 337384517 54796535 764085865 77748615 187874753 965405345 905130259 380338879 196897449 914799769 482219877 671247505 170394747 91017873 294200209 874173569 48742241 409675041 853460721 399197053 132043051 173488845 330010379 783742685 302541899 561218811 315249801 182682971 321393381 864978685 59101757 228049949 598467519 549537037 232558627 125508527 1398089 724140877 650569825 179705097 36991639 653810373 37345853 294685831 939797613 181382247 788434735 17287919 654250031 384031755 178129 179063917 99916011 291551091 476825317 42774423 43849309 855519561 408807511 621773417 6231007 218722847 338549305 845750089 848213885 921228651 298698185 896711175 178282211 760689809 635590759 657158867 224279657 698809815 401841313 22105421 687666191 996404595 60392233 922351485 649902205 102605435 355534811 462865611 363886079 984395249 186037945 997835023 856099727 367345087 900380911 976107399 421506509 391080885 982159313 198474709 562147837 828166285 391826903 568675083 344143633 494637801 17980841 224304795 763382431 599936081 812769039 531934563 755213797 195423797 86278141 27655335 975467725 541002993 604632463 72542487 944389861 664154311 452337415 220279751 892412005 826793179 494171347 97411891 316283691 18716739 268881281 922409025 191700415 574732535 947951313 189211967 425165905 405632217 327911589 496854753 142122933 647076529 9993223 867217221 7197293 819811631 512339501 399162609 559296417 726865391 686884719 455154129 430498335 206433905 518493777 529348155 909414749 298631455 201672319 539744749 528665213 255683145 723097037 558463241 856179525 108431655 120284981 710908193 265708835 425485535 517178331 69892133 657866799 702229879 502745099 705362807 219464233 219143391 149568565 903034585 312168823 670005235 748167671 887723899 737612331 804314483 880027925 580914927 935868665 873685767 34869879 129349685 663519809 223517763 670195509 178546865 715940107 316409759 525922693 797335345 595730951 365542779 836721613 887857897 770976395 379906851 785861527 451039351 816663959 714920901 766118041 221150433 934364369 189228413 783559083 158075539 878446473 996197451 62697939 870206049 278700981 139543 770858299 341353613 585202423 255594677 815361077 924126647 957815189 941148379 821683261 357775343 157880191 177117487 85937401 441930667 249156937 182878261 378279727 895787717 179341621 249232481 934830551 995281797 170720811 205222669 651866379 297234841 91626169 173006713 795875085 991824659 742398485 479546317 335278407 592110963 825921313 540027421 649405265 151020187 676880225 44803423 728294369 203687901 21716999 998919801 998792671 340970219 284689131 720852271 805179731 221423843 34848649 36425525 293846129 913140553 938276873 462825253 185670803 764960525 550294075 764815741 31389503 311967619 373832343 981010857 766116127 825008999 878388029 573128443 895887623 89696223 859758833 89704873 185006831 220684665 13303843 68917209 984541439 805371177 276024301 525648015 599089791 89919311 640919821 991846079 45556451 371072685 159215849 236102209 834953927 538871665 322001041 666708697 165107949 686718513 440291773 717514541 737846081 671144681 633423307 200327119 877783511 508587521 190184641 620841531 376792041 908392259 479544915 640982479 194153179 530580199 34507987 163193557 951529271 147247241 266961989 456701311 136759217 599269933 941847883 302787813 839519269 279777603 57111609 207261707 17502869 746174365 38741507 449727703 795477551 97507451 932929355 303725339 165562433 114068865 680368469 293021073 576532299 651842493 746127123 978094811 759697903 50169507 270388765 804678273 564370937 751399185 320391599 932310517 147476825 607999565 111054769 134744465 312810285 354528003 859204019 784399251 84468921 351529031 669815277 501872423 977226853 837903515 29471293 69311837 323795143 796792031 676630317 487077423 793166233 189032803 424479975 366629247 121984191 679807197 353325127 420778517 161665861 187907943 995742155 456392355 20994139 909663115 779136665 155937985 762019937 895901489 712266113 221965297 27373525 660166833 467133945 444960413 950034535 558770633 716246307 65269525 326023143 149155485 109939909 768184469 583753041 645207737 106825293 670253625 498015179 730587669 902061013 82562575 798385563 78177293 969848089 820571143 761644857 784713319 7924355 142892793 174033983 589234255 953080351 666789287 405354093 313385817 55722153 123818939 711803571 541386885 697174139 391698117 226050593 221120825 532562081 867827007 841435893 887714879 684300231 535250313 620817295 321334477 935684421 373862127 6483325 181926785 754478619 892437153 356768881 707239265 828855279 10224311 3732807 601528537 875276305 265831731 93953279 688273087 274857593 790445311 536771529 228512081 19365063 755908843 929539575 108210483 789825855 443726001 758136579 332215409 653029841 163446257 946573967 843215235 920682775 927160631 461249385 268926531 858826575 802926833 674568835 387599611 104268639 751939707 40901625 917964627 614793687 272358165 748056077 78515557 201293805 921037545 758201899 884620971 729758851 882469383 826138087 369561355 345092895 313981287 121113081 557862355 701610223 349715951 493870409 682553527 694130637 499439971 336480223 831951061 411502389 372937081 954913775 199245747 297971535 889207495 880013013 830817853 23294957 854752205 540212245 146345417 681077123 456915449 922864215 173558035 90334259 140156569 752994929 553545025 100382401 854245863 287704669 981843683 236214175 560422915 80066109 954803945 269385699 681912823 383024481 734343093 376362573 956917431 276042039 560005129 167828035 699094039 84498013 785452051 430998743 268966877 423503253 460963947 971942845 454619825 603851469 291213577 853921365 792333089 973688341 525443159 433903783 133339819 120025769 975004193 877696099 195093677 20721645 676593307 890056669 706509171 333041259 36559203 582443801 19227435 408115929 731580541 634854075 93486831 967177999 9941849 94963987 80415683 480887571 772743115 134426903 696847757 226335245 139138319 389032809 390691361 453277523 595052747 770284367 930485303 380939617 317355533 750476215 823640175 239441623 690728011 626591291 742530643 777588609 502141023 517675543 150685525 848770901 699502481 335988531 937321935 476137835 792219789 387051809 707325439 696661769 70168681 156630037 648950545 439304345 367728547 705278961 568250391 227095725 712694047 125808953 738365703 468681985 53375785 224904735 556487621 742243195 818034297 828259193 946271003 522680099 925591851 932798407 882035127 125012267 849998787 402809903 727437107 83611635 567078449 783942529 289801491 787286523 875130055 324241205 653778364 151315183 13245765 888848489 982983043 746329761 258165711 930819303 125035937 570588175 225917427 978962457 394501427 579430489 452753317 560959003 606152777 395457997 257521219 213848233 601964749 781449949 305201555 145974829 871635359 51795237 864592577 237979317 373885819 911357543 559298403 153382137 507351565 872991631 607279221 268628821 39397607 347116463 284954463 895528149 384155775 630925573 973753579 300433445 186924345 911135731 453171793 269196447 720792157 869609987 740601899 213258047 809878301 242003689 136611715 522398127 687225233 563091329 888527041 711930683 82233787 759866573 338692285 823895517 821524101 960996089 346460597 309953845 194916031 754015833 902137421 220508551 644728357 773980775 254322835 596947653 762270291 248478917 717703419 483251589 617465815 224368195 88941411 966130183 55003425 324807631 558713359 569294129 199490953 164553095 221625007 774005139 385981521 260147117 232442711 690073701 12732835 862887855 600828803 272130181 788134799 791354139 164878617 802045307 935298831 610542259 132307815 498970743 795883269 387441491 376243747 672189263 208714041 98510605 920512615 399595905 67419485 107815439 537440699 804192055 399667721 148526519 927673099 771637311 997024703 921319817 934729135 503951631 21386727 509949997 61569119 652068297 495833559 875533945 58316357 864740147 433510851 750478441 900394987 491589051 861265357 352665117 355088457 460507769 949457665 407113441 948575675 129540653 938525261 241860139 819873541 425768511 576106893 307743379 554150487 233695675 710413953 310167263 804557893 117955165 423245779 490632439 73408715 411542399 283865619 686326003 999082575 527839531 117227195 891074569 388941471 705962769 147005227 970348959 478797295 110247815 695586223 68509249 332768221 379071629 572641397 206123681 102512751 214306505 279677593 785043097 964046609 209074827 73349915 878947375 328870809 216788171 229263333 387026573 668763971 690181671 312508615 280127237 807139767 103976935 455165051 349811733 467561471 539947771 238746017 200138333 695574931 688552185 819855811 310903723 909691213 805369119 275418197 232219633 354436725 94391639 25833389 428676169 701261241 145245999 131618827 155957753 68909099 907376349 883373213 584670059 542522955 592538691 936444017 850743603 799360253 856532967 60141951 560643851 794097295 931029495 636043693 310894293 818158517 470208843 510668735 926003615 307777677 670325859 446797417 708518555 853022107 844338791 8729413 902348325 750119631 597750819 607181779 398267071 287240829 126279953 655279227 819904021 255786081 442813521 929794961 461821435 648658595 421007271 68174413 208761707 825687245 827201669 793769935 61951879 658820309 84122369 489069089 20962975 593969179 645422811 508957493 955374881 735171169 98192505 266694117 610257579 110767829 130727403 111915247 751266047 573550349 517073385 958816769 581737737 898224647 771992273 309249191 718139357 719817509 901028779 660943711 105921973 708441913 669895461 849853063 37670645 892884853 157216409 415976297 297886503 160513655 160112387 550186295 87719425 258090819 956624909 343006731 8095835 280289865 602513669 848857571 957751097 68512859 135118817 202122157 827024585 874843577 229670467 616336437 100024667 487541511 908900977 456057657 793403499 668451411 433704537 585340503 988361117 181681171 330124947 49372185 755799483 590674977 62089055 232625393 432673211 936554693 147717029 592074295 26754997 575931307 909167089 865113391 42907119 552101609 129126269 67717631 592322001 147998715 34596649 180742841 811501809 433865929 641411193 589324887 342021131 470307997 9898143 103050683 46456319 144513839 59875697 243594413 453406425 686236057 663173741 493382367 270397647 474957157 677020605 91493611 72679227 577939835 290268975 262581583 609425821 887382835 495016251 341592439 600613541 412249419 643361791 534255795 186124067 383982823 581725763 974236479 661621013 700546709 276272247 529087799 937545371 705786185 997445039 822987689 678365955 183465313 586366127 256455557 572282815 275476899 691865817 705981603 463621481 12597307 119758657 949528775 183838407 779210685 633962909 255665303 92201923 468043307 212993353 311327397 444743791 904093669 74755665 35665003 229679113 753725115 160975457 148873547 515344883 353519843 59801553 224471437 900194487 639914487 606871713 832234849 61484809 126996991 597840761 523094499 398869699 874485865 464796837 813927957 772843499 486494983 570549023 434357211 700791211 795471127 540779399 906153229 192609623 349799489 308336929 548117599 915415913 66774929 331533535 68610675 883241603 167678075 197325399 769205973 159461493 410707419 206580423 736993013 870660909 427607291 893860377 103052587 143718857 220029061 605465051 453056441 77085067 381713293 609337925 916479431 236178143 939114643 803486005 241568363 206375513 269978747 489694003 920205719 755709363 425656211 579249773 493794611 88932047 398372497 656884157 506117637 553388221 633866639 444332447 87248573 135201963 150147861 539930429 746640631 618870519 618482959 660793701 487539763 69455907 802996691 62509965 915911899 788405213 710899997 919297239 865430335 900184565 117414677 755204871 172716185 837336423 649825605 178617233 659149833 95334743 223938981 856818823 43373467 681395215 620567441 463082411 64656701 426796549 386173133 61576547 185224139 658094801 616752265 553790913 441580037 537600567 823637079 47139705 969133459 651157285 255258423 216504555 460080137 743551147 534294157 68466463 751525343 716160261 286980391 131013829 247846773 187794071 701820473 82060595 370818071 322620653 256555105 237535591 621908723 400003001 391948451 947734283 348206117 984832469 630572911 754074991 846117293 373895751 175588249 361688197 538006643 437077815 612955997 806609905 650402123 37206779 199289699 679943161 917860845 29124367 968801717 443661451 660088313 292680467 232294601 439569985 284395513 271332309 822665343 802026839 730364513 974529095 51073817 623510711 631814789 160094851 369276997 872889071 928912811 186005199 776726555 14807349 306163705 409105557 493680659 121347691 322252675 932967271 73894423 972579861 701921089 911314435 237366131 804474725 222331411 755495753 631986139 711347251 334228419 282918727 468544109 549814777 551482371 81220143 550466221 610965733 148041069 972143965 845354379 757672129 907855487 297649747 564861017 610426375 802879655 437009853 971539415 426493143 837572913 396360301 113049387 983827957 530245723 158723169 547175647 180707281 579390531 878506425 577393641 870567301 653080051 732444611 362780327 688144335 817006173 556015603 964725727 729944597 64841561 209661151 810380733 263930215 822637739 551081809 796923095 717775229 780798713 169946415 98864427 29271989 687567575 527216781 136326427 271459349 900049851 836344489 924637817 293730385 88666377 839554277 297575287 306378939 542569737 98124235 454061489 840039767 859689965 524073487 971281713 998536903 281091789 363851149 246059871 952679775 4918445 204188745 760347157 286597139 965449587 400045419 580621965 781005701 595113201 544273993 181829741 595260665 267804131 70924125 519979201 547291489 864561383 180600651 89978113 257812051 451378055 280339421 863553035 667185935 894069043 195198217 183474463 785707389 529680457 763474407 977895663 232333097 723217157 24653755 503413903 885504589 596890771 25859315 675654267 355936455 68520963 674613279 747392923 590927649 983891281 867274491 444469305 342624645 494170201 315233643 189093133 889721039 991728617 875117689 25993265 594350973 437049009 516437851 356219949 391180469 262457929 983490153 776369903 813894983 711203891 38203433 38036681 317261993 48445657 708524611 985567611 962980349 63753357 47884943 382476583 813623049 570163333 802496515 103300959 636694843 539075043 387226565 824904725 457331885 248092851 892939809 660844199 949899547 447971557 869870471 381328601 365889775 372503889 591111575 401767899 713030197 192532665 132250129 297288513 100275625 825727687 952701407 683811847 124996005 978378507 44900377 230976915 272053045 873631231 891383541 275060915 226295045 972638213 628302043 573026461 668734061 924451939 264539473 915511787 370528365 120105039 242833423 660988837 514865835 477978079 796695535 214837815 39123063 890611989 432350707 819669111 900994505 820499163 912478279 12882083 240794687 574109185 834243901 781904221 441011747 346147393 162264147 732046007 139359071 241605947 358283049 69362465 973831823 480044923 856184461 213867133 414222321 939369839 6162801 362520847 246037097 177082995 606850545 61948033 13295243 212219335 148095567 147710701 165143437 914694037 64371703 326616525 481900621 959593965 110729341 185007879 466732627 186932169 92139675 599018983 975410893 42051081 928891699 183386663 955187603 219391097 406629973 780293343 441332775 438439623 686407727 514349461 663495851 780256655 446087711 344900921 87077619 716426065 578665895 500194591 391342963 236402037 601040243 746179077 688424013 224633167 997775447 348255501 286999621 71485719 778486861 667125959 898862541 803092717 8323449 941912105 476268027 817015259 264889125 140518797 419453327 182276821 741057221 967296957 896985583 904672687 81857781 678019297 64094765 650150447 587821177 951723921 612599293 384839421 115447097 900745675 74789055 701367975 760874315 292621811 908801147 406818987 110173161 519443415 258748639 91050087 693751927 709282729 472076869 267652135 733351809 402530059 225726635 423705113 813122487 543895553 103014071 568296791 353768697 74564599 216611513 336629477 431712581 835580099 999536551 783974569 315148747 405743009 422967843 39575159 518934491 114887735 79211891 357726471 47713265 54890899 2365573 644820217 432264881 547434281 979022065 832200151 227671015 497970137 979277305 59706131 715471747 99096293 336960895 942280455 299580069 975612155 565998359 400322545 711100555 431889713 320798453 689352959 524463013 292885509 20529915 607674173 425054339 477109337 259660717 952274089 620340451 786734719 676719933 399205153 759454885 591018279 315413121 464268655 180577495 585681011 613766137 366557765 434128043 887727335 312831179 895134011 94415995 899874413 411468743 414818261 851480269 691942751 378461797 401904761 631079243 647194999 773423043 127830393 440242631 692046555 19301801 179487249 80620863 184506137 386913159 978556767 125726419 718999589 997736307 169209709 359659729 870098781 372854571 714771501 876382635 765908103 576087321 457684599 956839165 146863823 659633483 269330701 964920969 964636107 755873913 252794265 346867003 108452983 985241855 356247469 834766375 132179003 689595369 663685055 700567429 10781665 943433187 902985779 46190013 660420255 255902279 101940305 262584407 155426581 799736849 666094411 639996679 939334213 141660393 45787449 307984041 688962719 963373601 16676381 618514495 492720885 154537389 828390625 354556405 487132039 117182767 780648023 249307167 123215097 385002731 142994997 204652087 205721431 698796755 991628317 838365665 823890713 468040573 221560475 404750311 794809883 332020521 607106079 12599101 184892579 978318525 992448513 647504895 835422301 611203273 646823299 707377777 897886557 453484165 346756303 768616955 808468261 399493839 417170421 738041907 568241045 840448815 233178097 177829843 4816381 922024661 566729631 700661695 637449745 184341397 161991885 223990273 694626033 113514739 467168555 951770831 937596447 367393043 404772177 23358337 214810761 295241157 698646465 313479579 517340037 742774143 749175781 382241227 984744913 620668515 639516941 330242785 584807569 472068407 705186163 466650329 128938065 569006697 397756215 59326423 752857097 643190545 608197989 969322791 763215893 679489007 201392877 924774457 242840377 144900203 725322661 716719021 776775077 533268369 671613269 129413697 29595115 524461853 719918239 318368741 410135563 299591273 108405273 581952169 822680169 141478783 740392763 439313353 605612243 175496207 337520487 608650411 489120125 123736175 172847843 653855701 603636743 936280223 478462949 636466687 513722993 432056133 476367235 91701507 196604975 23621809 966263997 724278497 729561359 647566299 605696897 196216521 55990869 974287713 315406237 688353293 11434913 349080715 229238731 775757605 570091525 606386761 783924907 227651767 16585457 944391727 724334537 545522831 546303303 816425345 125325459 900928671 393811017 257337891 653418853 472195587 746214567 489367973 999423615 799631357 565636979 606679101 275763465 762102009 992491821 302654925 506370071 835374985 156466361 369232601 143067553 397216619 32402019 601018773 926222215 878685825 198480611 992259283 455358611 919030229 228148821 431225109 931618169 618888347 511449407 565396355 370063309 799668525 377244557 362808553 22052629 545746451 284017557 217499329 882586551 425987827 514949907 293972011 94483975 682963873 916989997 850604267 185596733 927582491 971876977 50013299 887959673 646760067 735841749 714719961 318513093 4859939 65457587 382975963 387820819 228122223 575734227 500467173 419320637 729033475 355822435 607678721 333874947 996097953 67773941 867239913 240465421 213766455 396100231 807645435 313450991 243358931 833063553 802495295 153590047 91154101 913171119 312507747 872935937 165700927 270264899 296918721 424479197 325125629 595917279 228183125 707829223 394329247 681593479 906689481 170644019 450370563 301362853 66777195 103354055 984715565 327447827 297729073 427427465 222464581 391453707 276125373 609459275 179356577 931660339 17444949 378333641 936004795 280229273 702984935 817626785 327856439 378203313 383107339 19344221 400329697 308177241 681338625 537867375 276876201 541327319 207476655 579623215 611838637 643583959 31992743 211419361 430139697 532049263 167353373 911670187 371570335 241192989 491086833 495318431 98675849 895563715 995173037 816948153 91025323 122931123 335178619 567268055 892257513 311855005 795862071 544147139 362729551 346651811 546326623 247534381 822543887 244056135 848595481 935240371 940438915 692321145 253284149 580923857 723043377 762543499 283388459 106144243 580726977 717257533 978658073 834862185 513573387 8977843 934036167 463738735 747932165 252026747 773708709 668986659 252447445 116089737 485497543 227119247 469049799 738206267 820785393 190374563 702547533 894313557 79008133 481483581 167939331 141857799 847356823 971281433 869482155 387967461 244395229 644738531 89019183 133833707 166428339 951381803 916175527 56174721 238877989 710867307 330501195 64310129 686067167 416216069 663816573 58687217 311661881 767541057 88649931 648618145 247573299 896395599 311934695 692956291 920621173 672309581 699839917 392023557 866451275 886695991 959856415 210976509 993125039 814233593 723044969 825593513 395925313 956330595 924874973 126399661 279276613 449053231 995095289 616064533 132389549 652990461 594453855 596633689 639924749 907781977 407268825 621313621 508621737 38290355 769870427 756864335 790346597 643514211 450918913 613220849 860219089 382849195 871082509 824273749 696024613 3443381 347869419 647021557 631355711 828518545 284347695 833092791 156829863 130884665 209519763 901715945 519939723 959952781 480925947 375206463 365619141 634789209 768018289 958583769 87937745 286192203 589422889 206763319 440612057 678577663 775407743 87724109 320994475 312892405 485157879 836609899 980704701 363239575 242663225 537167 571498801 99542581 358750235 610200353 987947211 279459337 726880151 376507755 460840445 635505459 946574033 797142821 849079519 533981631 792105493 785238953 324751661 285947291 905919443 879358145 302136655 520866723 322738089 912842645 275796309 574325911 223513435 498572735 352039929 806464033 512492497 836265015 918255509 404536783 231152673 149541991 446964019 871383071 769435271 822963483 99234179 183429999 371398499 930459015 369749979 790668555 860531777 458176585 444338489 920922657 756867799 965038695 80653127 638522573 76170749 312093773 223005523 307676431 653668537 28003025 809576789 168396751 135232309 521376303 909770475 387523041 19879363 717323023 788611165 696554749 125084639 415294331 877748121 144294595 919323437 545811433 912566585 802491325 135399033 868031545 844374393 71245407 732427957 888719533 384106819 466135037 519192061 460995315 615913253 310307805 72672401 486181153 437477461 645972517 412520417 289088693 937556405 42165993 974929279 401356691 323964617 641748769 52823587 606062855 461502147 42228141 35778741 787206857 379818873 272107607 371220795 362476021 584025195 915662033 202881005 908381713 827972033 791372725 354455589 598168583 105796935 316438913 826323301 262911281 986663799 697926563 404760665 455695433 151031407 697576807 225470421 609570933 21686521 277583627 606414289 828726851 420220799 937042605 427650165 137948329 190750493 311038807 265840905 105109505 520559761 641688571 679890689 435216659 19176769 205765235 229987065 27100171 327079997 380828285 451531187 75337599 747409725 925089989 625210651 622531437 822471581 748932573 837096261 834862647 313587049 155042107 159901547 576222639 38649423 690694211 18241263 881350149 619950243 348585277 693860449 149389019 529078375 864961627 654995055 133498931 577066051 310226103 948644599 880444285 101244037 18086735 155205115 799829131 402619939 460166671 43831463 353044125 383589311 561939655 368287823 875206487 835683485 481930803 853913453 183962055 968540079 90026737 101067429 925978465 127592587 778293899 523974083 287150339 968738417 872083571 599891639 910230515 824752969 167960321 703805087 373069021 740507807 128094839 165723839 689829079 648250541 187566079 120025471 422073949 290042193 805438121 187992437 886832215 264775443 347097713 939182683 306430735 111370275 381705523 361095189 757772091 442644311 237774781 284437935 784775419 110703405 129464511 174943321 823981265 797144271 309029841 258698355 102066347 153210635 893068919 334452859 722359007 887806809 272998165 228601889 725246763 626857687 224197635 1072437 735113651 498808141 759642741 482282163 380497925 377895465 175927693 579306945 584970261 765337477 21960023 522138789 279915329 507614493 584294339 149010391 86583629 927153499 812359593 981136111 833380713 246020171 304963531 825865139 582659367 362245287 764132819 670539021 858753929 45244623 992610129 26953231 999544303 933639113 962626239 11645175 62850857 572993091 242565759 596700709 159453291 475574677 724784089 984806695 805093461 330273983 156547069 329558447 318773735 40788839 391643399 146363031 181758357 151058141 792290039 886876901 750371375 44541721 200647863 941056195 915152883 115846073 687555863 475982981 981725577 263462149 810929617 470334883 584850683 282631917 522444421 964627909 642385089 774706183 143848383 541667251 539823287 605449361 945324013 350823009 504571681 74379637 386971755 917558763 854755759 456038721 335328377 590307987 596882035 209784621 912389697 267933125 107449069 595163159 510428627 587375379 841122561 326420359 455865385 674395451 205917181 461355179 414890019 571917599 746128277 692183387 790434189 865210569 311441639 164466969 65533461 265267309 857058169 979286023 350294103 10552679 183833143 852622841 95070931 62484793 547708535 839224675 531779825 762090129 843294453 261175911 153322501 223061053 255364313 617594313 343098439 24262205 40827565 348488699 919787479 203948723 537509225 720423443 353088449 602240745 95054695 199815889 413155059 370910805 61077871 49260955 376584009 935535503 560282543 567513987 918298753 308041051 532669113 81914427 2765129 284632487 876626573 679323433 666456623 69549187 673491343 532630095 346485419 403304235 525151627 293620061 272817697 850087171 171793081 56796845 769219803 36331157 208859829 706034749 88841479 141437079 859730821 285201587 281361345 529219297 464990357 827930719 526333959 295928183 878020025 296894007 399623111 65622919 725655089 975747293 608785101 289018465 895802787 380283799 657542103 139631745 317865753 25632595 998910851 702949517 306971657 952830889 878829403 646963787 51200337 203247067 577148113 337058227 737267255 262469579 560068671 559300061 672043881 185135885 339803107 174080527 395650041 955022293 708728555 495810739 803412581 895845379 93165667 562397787 969490837 417828897 608633417 4942019 230193107 557750363 138656379 905144273 613567447 525043593 996550595 304679563 906022845 789070891 917962963 112366633 656209417 226282343 186541379 613343493 622281899 60362253 656226455 897158561 585866741 563670933 77625141 521233319 944194983 976417565 966208367 881162479 757324773 722008173 250904193 25696367 107129405 533661941 939892617 468969807 703540899 952629451 913067665 316485591 60758647 164652973 35479435 276055163 367570297 436263429 491043663 166652629 76130525 5964257 707990177 79350443 406016561 63861239 243966247 685342439 905013881 173065897 275560051 228551325 52318485 526052605 359463679 922157575 557100247 115727777 704177453 384131975 807913199 209614831 768767045 674345131 881141247 572099299 981928825 291202343 741809929 956322341 149770977 979747793 253944955 272431879 127371391 34305971 273200941 259652477 898178365 15898867 382555479 855483689 898982381 262908903 88287651 499460687 410218565 958730759 451772957 601351393 199980009 834802939 855416633 342109557 795721057 429309835 120120021 953951307 613353757 993259693 477069111 216463433 102937209 343978105 891998217 610387967 384449719 856009011 264050021 922705061 460089851 575692871 203983557 132356889 391575645 457169737 242326545 224835299 786014929 514668275 377315987 308174131 676970041 199772201 41663489 861812189 169363553 150004983 912224633 29547109 955970297 422518157 357823107 441689327 684095129 2658633 952556551 476625739 812828099 139024303 847191389 122252783 812495841 79191399 894669121 876779261 322283075 743924039 667994843 728947515 833037091 674088265 883813559 953337623 281334945 340033427 444391367 270295465 113224649 387139947 430166637 903727025 870778251 18438217 838360429 976701079 88994239 126434501 479798001 556820839 648642087 600215461 371346835 120558043 586381163 363692753 838867277 662176595 856892447 614850655 506388613 597709779 765338043 544507787 375829257 366609165 349354401 135530421 117176589 565216087 98294295 690914667 342608943 635487921 919479635 795904351 117667445 711788993 802262123 70499179 338239307 720284375 564874849 497380245 929468551 170189035 215947037 855343367 724817255 227026075 869482099 754619667 277080461 938393391 673923867 799546933 912591369 400564631 160480181 486195475 921938001 854091111 198154189 627188085 860631873 193489379 801018065 887243087 342967837 299966191 709536541 942905787 509733267 34080793 349390065 244056063 277102267 393524637 645062517 941763717 339655693 390579543 685978045 41796577 364575859 925755341 810336193 36625867 898486329 84792627 115193697 236785195 422580243 849344603 789672295 192899593 841789471 17795527 634475143 388865177 765947619 23050909 152357973 654359095 503170635 507785647 141886039 844105573 993884331 715598961 149082357 776715215 242587589 128605699 349593725 160769353 543933369 991439407 524321325 519739085 382800407 284792929 124447523 498493309 208903379 913237681 766542185 185063335 650681165 682807517 457987315 505268671 506103111 424890703 540745365 280431453 449632751 915683863 270709525 210048581 805945051 566749671 292582937 262861667 778832649 158613797 379450165 693030859 949588957 202284241 149397727 115036599 840591395 715475361 389507963 484295563 529036563 231453417 799786067 152784593 661910345 659962791 12085909 881061693 846783945 341363589 327635547 525320109 192406275 503250897 528973737 575672095 734468043 956167809 533034341 246300609 293641821 4432695 758505057 612501479 381943135 899841079 569623641 96862989 373014239 901669749 80606955 99922643 473529681 521151363 384362657 238696965 48353427 922540707 106059245 79715737 577312491 924353979 522042919 684273575 52523525 360121693 861629075 563965043 227948535 590636733 995654487 861188459 527070269 773354171 491215493 912519199 264134847 125996257 134403353 702511947 356525255 291040857 655855601 458630613 208884749 670970111 865574103 640460227 476038061 775526481 423268221 774883149 10628907 607601781 103690363 575541195 829286261 635166011 302931027 422871747 193261027 361159963 319327855 421773023 216971055 669054003 773461537 712185073 90221183 16342347 296670111 46719223 323520607 433631441 623011085 493262097 440045511 750693343 198238067 610978445 664341267 651449137 686550977 525624029 106377481 433177137 575332821 763121819 245231573 427976685 292609387 278233741 945035789 381247003 530875695 557910685 302735789 960654877 77766065 655282397 650424091 993479161 217930347 457384075 314179623 566332765 324807871 91077383 324241665 751555745 122837749 511957727 737079625 439801797 884767039 210857669 605156103 57380721 817579701 380259477 216015779 647219185 62565465 193573969 248776949 572069951 818672149 657869605 931441211 663466233 943279033 663796325 799884567 419819881 504088063 839291531 874594971 782151801 112915337 615437369 525538361 735727045 42185693 332643645 734505679 415434379 736450161 705173385 523391393 557811889 721671579 511860281 496337759 581545415 844587421 213043345 489272091 532930565 990823841 623020281 839333719 349266249 54084791 40359431 825501939 572746267 532091097 542528883 797593151 293220009 542096359 199415589 605023215 555529677 812847277 63953447 874907169 804195331 797973467 839951785 419255643 257274485 774942471 664274953 620210569 174921201 946398135 187996105 264481025 45963757 946287187 880372375 857532289 87363979 626033451 448954945 422908715 935551119 967609721 433634249 944008081 492493931 204627549 519652941 438106787 264132407 826661859 545938457 685776835 663122607 256814585 83075489 105687731 621223227 930705275 653297283 534834339 839786731 647833897 532500605 182156581 45133431 453622445 627783807 714741561 123213887 316342167 116778393 752660547 55101767 267652191 203317255 741254929 863938113 125415275 828760109 95228119 265034371 413189119 614732695 774893107 817874187 917978447 487112693 245922347 604439427 177763701 421634599 433301291 734509369 629718129 779667243 526035975 270679077 352750891 397268273 191903489 891780581 958114423 577832073 19196089 601281 510667277 799471281 205561151 525706407 995318157 878915401 417048841 351857201 24009603 117834015 853923313 859523483 699901533 459406115 387085375 85072335 818237813 864528757 67894177 891980635 208690191 386248277 801177129 600862581 141789267 289041199 566410071 964626175 764289615 692792213 206452493 320668029 509295361 535711301 930171549 41796129 295128391 445672991 474817465 427562689 993671403 450029873 787015039 93152989 9851807 73007533 696428403 513813661 25025533 460444909 460161669 448867277 694663813 78970487 190154761 205083879 720539807 314906869 37002427 983709193 979934621 293187387 336250817 555436541 250606523 272214339 678200233 671768365 81439511 59641135 557754215 614772917 361239739 921504333 893684571 35980627 288922009 473128463 844293703 524795501 53350795 486556945 268443737 887800083 98098767 721512469 178849831 404072187 418403473 672355591 234260909 277972359 314264291 171139579 763720019 609727677 947361467 373626923 118663907 996507725 610184061 21696251 63681685 696589963 324844913 342852853 700934661 505771385 698078921 329667277 190465335 458235327 247454367 176993375 485009305 401305003 876436465 17563055 822500611 484351539 733970091 168403941 869675183 297585145 246132383 473145431 996378179 157582913 908515971 663609215 532038349 114603005 819115259 753834497 793695681 114211523 683292559 832493479 284419581 757099987 264254385 43589733 296232647 839666453 719446969 299299159 433567435 924883989 40273897 817990081 91319581 509342989 6205803 523817995 54214719 491741147 314459473 811559627 129374481 156139783 312083857 379729853 536015843 767663297 66711055 15343297 733454699 317372383 477393299 910275811 718951363 881299167 504904397 970497881 163193717 532568811 137854297 915553915 749940841 74930385 792232633 338518223 886147319 141629961 74477395 706575357 918160093 780289969 343270777 125681115 104761919 436060561 175057509 387445093 948955305 411056407 730372921 523013051 710601747 986131037 14595069 668530475 491080153 31325983 303852705 95202853 452745153 928389061 578539521 904606793 514257141 78143073 440325853 781446999 455484687 276316583 536661727 754607673 19164425 462547961 403399063 104773127 15959115 780354139 615902079 438379767 766924191 635698559 376483577 796407151 3097147 97775293 659168589 903067387 799857341 784320783 556938155 866316621 815263787 747232803 278871599 434871617 424429297 139708227 579447513 463837657 989030885 772914793 101884051 873041217 761127237 171298099 997471277 189854667 317934005 692548585 652406625 611490037 638171457 798601339 491160527 780199007 657102945 878361471 556115459 24790231 68831983 695198515 778498157 480073039 350955829 350514305 192174181 108397027 920547035 974698487 293062443 663402197 696952827 164905165 266492653 773684113 165006863 588793825 540130745 454987691 51212541 283593403 517517961 250769885 298436627 226515593 176096317 858148105 57039109 222445859 372264609 151530813 257977073 656195083 375227235 216250541 927875421 630252387 420432159 530415793 443597621 994260223 174139989 563808461 782475215 957457747 789426797 632448941 985195495 90109569 453532859 800100901 262057635 674268493 67327351 649547823 6258835 635595817 430970049 385058799 402248871 781078571 331717029 477043375 354597697 555012627 702777105 811484131 714189091 131575111 218857185 595007527 212169339 437223127 659398869 918574655 689855969 374382203 46729621 920245779 210971469 52091795 428534197 982020025 726034217 119195171 813368491 265704043 358225217 504637403 32169437 961078669 136349641 895267093 783985551 136542635 443897951 733781967 51292149 783137653 364526855 962216621 38729769 956119241 843035953 297739779 518433065 921059243 438839985 234620103 334846691 910288195 963841219 304789911 250828067 248370407 380238605 719894459 93495463 676214547 584461981 975334433 460601869 934418535 623968489 501088353 550088927 853208753 142649547 3046331 741173393 275945953 121980299 244634135 631380855 480159511 655417301 15816451 387139543 225081233 672564415 439760053 439384791 907888575 637127879 581112589 229952393 526500913 813654737 828083349 433793001 394353317 93635369 255643001 222382549 45665019 652395655 504231057 32424471 184552001 569455367 914829405 737712481 953846185 595626285 866723843 563476813 678742413 381054697 374826579 568380761 535624819 80616077 22599365 696163825 658348037 934018521 818515575 704850791 718736405 471312625 899438385 878235377 640467361 217672035 89772643 419032499 168496585 456007971 594729507 909437365 898670299 94741903 396679727 647439593 767054153 4117613 613363441 806381607 52827823 881549545 922681463 655790643 379062479 888015513 203505527 548812467 846999189 420230777 836728915 466855225 751483667 875284465 18634257 131563583 351985799 658231243 660218719 202846759 75738451 878384959 112024471 965320761 619516161 936221415 441716661 303518631 154544965 669670861 665843553 416247945 721284859 215164505 387863021 953610467 294957349 488269667 686011725 321496987 186521583 286674729 530990881 732552067 609274285 637810767 760019891 979322453 255806425 500785379 660626159 402206643 500653079 317166425 960000365 986529829 616232241 186395023 564930925 671716891 319723547 143278025 625843669 931459827 799408881 254746039 573037365 388817897 396291061 841090413 918386373 806642985 637699221 905132135 160798051 435097283 755659361 1983627 263427735 110163377 953619989 630966055 595836817 894720213 891831957 496304113 380780581 579431413 376115691 286272515 283235287 474964167 883021899 379007205 352626379 930094049 615294227 928369539 929868495 43667397 679645121 897226549 45440607 376314333 946852613 662333619 291854743 11188089 445650351 64868135 636582717 35437779 937057211 128583963 464888773 622398989 793285965 569700231 651618881 206636077 373752751 465953479 459947891 179775529 510395479 539527071 838157507 642495959 247132125 281353279 381216573 867749113 757498119 25421115 711830683 940836409 264611263 941653647 764248637 988851749 277393943 799666337 70075431 172709435 403652939 194343743 211694091 704476123 312788671 324612765 915934271 326109517 553604863 427455065 597173955 181506241 622272701 369590393 73539133 225205075 903502291 990514281 488011517 387385859 45777479 467369471 642963963 380749497 216040771 240723575 424404949 786467657 134598681 576199545 217795539 872914539 380447047 153112079 556893925 113932991 739075437 135550897 942579871 148219345 512221273 833494841 339957317 999882511 753578493 230516719 705096635 573600981 116882805 56168065 550736527 872059235 628711427 153653761 238306045 74278369 797813267 971132143 405685985 270430051 836738615 867635759 454384833 617465825 371242541 282103823 820325071 410378043 140966869 616909635 637190627 712469053 157681725 822499817 235967097 245223317 103015575 757211781 291563449 308393183 375226175 364586247 266820213 931102105 296637623 120424387 173375009 179542577 8143019 408219765 608173533 721988851 425267951 445259589 805554035 323810589 929435773 991893949 211142223 873953229 595590777 837187539 908131465 24484111 682701101 596805349 942288351 102294225 992504077 368992955 357295803 175188973 585716661 202252413 110518061 358662951 397917415 124377027 151829479 122862117 696642447 427514251 778310989 987859579 999719105 678146871 944326245 419905183 884046007 707056025 891643871 131533559 545258965 900206051 532445457 486459079 645300645 787033779 126701305 8206147 797289437 708462861 71573313 401884803 16108373 764980065 421458231 144363659 18337041 88672897 758747345 219617857 259647807 296631469 411688881 905331321 315453999 909929097 691974683 143747817 795053917 266207267 975708161 328910133 157356653 262993905 8864251 389982181 888572969 61381581 219217477 176320363 963415943 61069311 460594631 999705377 140196511 836974643 224714515 236923461 494371767 30339711 440784733 773580035 603666999 952556639 170449797 232956269 170532789 714166203 213448981 366568569 329174253 680904669 764688183 966097675 881289407 393208957 352340935 367570667 85645625 658704053 956633155 81340363 900445323 235944975 219332817 109431875 524928533 305976691 709216577 312570069 990602069 32861753 251000843 17455851 350186747 90905887 106648397 526661591 752180695 213871433 9718735 571787727 241864167 588142405 315581439 911623927 668554571 867989511 931997431 187994199 706760529 358778861 915919731 208275169 858225003 724257725 201041629 262389869 249859637 512711587 708285507 969817277 864121967 706275891 859143003 951895675 897649161 676416367 750044039 919808567 214689045 256431031 32746701 947565931 987192011 99626203 443716315 857897849 268478611 922922257 91813385 33966249 585325813 184096755 175381591 322397997 687051941 318840713 19115627 516682269 424249727 118858559 585984151 330057339 381773189 19056365 45187023 76932657 766964195 388046283 370624691 88795407 535363563 582498691 476874893 386850767 337981979 21061921 915232839 23075091 358797589 839216665 908120445 489387105 104028323 901932871 459069293 920848687 897322681 584966645 627862013 588284371 611656819 233216717 729703101 169961103 593147667 497888483 910579685 200862861 385088261 313234103 976908627 12915421 122551517 211797805 674764687 490435961 66210901 173872787 388278983 627514433 581072209 854536607 753051605 239151105 850376411 466702443 288455989 833091945 210589223 218768255 73216529 587487249 973119889 572247751 756198199 592598395 780236189 619361945 32241693 979765263 307907059 763012785 8734693 532019745 401342569 341768503 698637907 895732969 261541369 995314613 713058009 336208265 92496839 137096739 800750989 941910535 916404253 647674333 46397487 770161241 454402929 788260007 905696551 650436435 150019419 583229359 582947969 679244731 178913185 39870605 552067831 918301497 75229483 742097979 896259817 924381021 862674703 182599199 565978971 591366815 23768967 976797445 216812799 156467557 710655737 819123751 569734953 532755187 330043627 745824797 569000157 578316415 268251413 130035181 407459775 903646237 643481679 497231367 106634015 411786195 749159839 657693503 462597365 690202761 814497069 168929745 159802079 724678413 806928721 287027301 931154213 773504797 751229313 377592581 872205749 577853527 724767075 300565031 321535273 176429383 16178115 800322475 110164925 914817115 807370131 733561811 708783707 217280751 741541101 113619021 151868815 225110081 535572503 812768561 965874325 76692095 502830715 853467639 961925703 963211189 884439979 893964937 980464689 581680865 411129445 180786227 801336191 449661665 530957705 791144105 830243849 27391359 249103141 574742279 272992591 554032751 45526379 375875799 293522297 430877765 818978743 808727299 110512211 336562567 918179211 439151839 78805079 86901147 624079763 475873067 726690723 741637077 569732769 579761421 955059455 317875307 950584499 588840719 575787739 63613825 73492971 626119719 682627149 905519647 71847315 433938099 592613909 102379831 752441631 175377273 983917977 693551779 509743915 263124645 852122601 200697889 934671481 252740813 313480379 658296415 419705589 626681839 849631601 493274089 620691635 271329389 803741713 667719739 94506219 567357465 40332873 839422647 449925381 797178149 298955379 325532583 400944521 198589229 480532619 285118265 75860781 948125755 500285243 889788039 691356105 21057975 701036241 98171027 528208225 367138683 919781955 47343431 575069473 635743423 250729523 49357429 634136157 526505775 487736293 811122899 450240911 222259153 440023627 317992709 192656219 467375135 170739451 672251027 793443211 16047863 76815669 99705583 857624597 899772825 313267935 33872497 945649681 804638391 496561547 431705947 710866627 598869349 157764461 656462551 500442265 130025503 280210533 690233335 82876451 739097549 893818107 125843633 81286941 193809593 109216095 816858857 853883243 53686171 962013287 310471015 632131609 801807501 131171473 123681499 816836695 814038551 961276167 111776483 701956739 366747175 232295575 911835387 362216737 343564047 511910585 758556047 48305627 713697423 204353163 508089583 762834051 407192265 656711637 175487061 992759317 742109519 355527173 462551267 385691061 21233683 228551475 108801697 563821999 730411123 89236257 109100927 965352053 792845875 607157297 334881369 161256865 383105667 204921975 444929009 12833017 440984823 318464167 321838571 753423207 187284619 971468579 691358173 91307005 999553701 15867119 194044481 48895225 732289043 897574589 977701235 968132794 505795595 277792227 321467073 833431761 807699751 113470305 687546201 341714669 635829359 223078111 556734807 975954921 275055183 224148393 860666043 40883915 523654045 623846841 584621167 410323901 984618135 694695597 746740547 551078161 673161695 514343117 702988017 464543813 109867911 701619209 802897179 837662459 217373695 198704375 312214087 923225085 111323433 236608981 327311083 225688639 559381319 407518093 592165469 544932315 644247049 80304301 276406239 57628441 949042563 141603437 840977817 404638559 395888943 222161323 762522015 700357185 989864697 945960941 777664745 692545661 377353767 448543847 812375127 393614581 903921267 161901803 13998517 55600051 724853499 932442363 317698225 602835691 897622335 831361215 264025063 304347641 560952881 664787461 367282647 73879647 997568805 149095235 764244971 87851209 51911897 157258393 182254961 528285195 134363247 237069009 522798759 688038943 885833335 409659479 97224619 859705129 95243239 378095171 494999433 312036467 325094169 373820245 874171695 169938291 970303191 692138227 526483577 641861313 422645065 869702701 339820839 984029985 798761735 816234171 854037985 770872959 476792335 646951419 106349883 41873647 130418885 21908471 78562989 544554413 914442997 644323929 471971223 617694745 154533079 229500285 807282243 218997951 967339015 199251295 246171363 146377811 573780107 573196457 278562449 397431475 391162831 814987689 370737741 633986013 65854887 269994839 739549695 369040641 694819669 676552273 247753083 822466415 208580729 683158495 638701431 317242787 332861475 136070383 595545239 820687937 213305287 738658585 402182757 853942037 334032453 961940381 60261455 872504849 350247647 946143843 535631535 748299855 169952323 889644281 173508041 294030613 443177863 925274005 895039683 143518923 70569769 215639575 121720497 25756681 163099659 648903945 93849993 809600133 198412415 268624023 28634927 756922405 4786485 549215129 61197931 50395637 310030927 506523279 335792111 642105639 137121361 589827231 987757909 208456727 643077413 708616857 484477467 779210053 819521829 828687861 33511085 308022369 577148427 422455761 721322845 183508285 689528829 582923765 609467233 237914321 398356105 264529361 266051549 682101317 496349091 792754041 289394393 747986401 518700201 987837617 753620039 315835417 407685985 284696029 58498303 774836359 792277751 935877901 249489861 168342769 917777665 139174647 345857087 140231745 86410363 399962109 539400703 336127371 910343885 601205541 981719425 337677577 419948737 889237789 121920289 852683037 803355533 654373181 686490669 543431509 269852625 498942087 236365781 188948835 208287375 320384157 372869681 196142115 204312119 118676691 403461445 697222807 56643483 782441245 859273719 757222125 85544699 140800795 62962457 674715507 363968251 602051863 554061413 974693289 690235303 250711293 133834109 859544369 303959927 125040485 961213673 882675413 534261319 709060749 620287259 661972875 661358173 598901089 716725611 849681771 599039333 120760427 892201755 797315769 309996403 270215909 858400853 828864225 619606025 363803053 132902185 12291447 321285383 854383691 192295057 715780917 206290877 552599021 927843695 921592575 858463711 878705261 141825419 212976351 101592717 70373705 614589077 858040075 471456073 24722085 664395049 288590555 348812033 158467669 984682951 977799125 750968075 735521487 75916249 741342369 407002149 138376753 952129711 97119253 361586033 436300609 581976707 59056171 886176641 154163315 720252791 137200903 918092103 275939033 639568529 900546037 37288737 236928309 771544263 456592997 868480979 466386671 899922415 70464759 251816845 912487699 914921419 285486697 358257377 583222107 530654469 350607019 641319887 589347111 904442925 232785869 50944187 851735675 53732541 753351437 247382899 44171017 36321301 270113739 653971499 187707175 360664193 537517205 367169155 702583509 19787823 915715099 614156923 426761401 841693755 104514621 515760517 815238435 293663141 815967483 240892277 283049739 19812437 678587775 588293513 294160655 689187359 612617505 360270691 362336375 970156987 67659863 880414741 171066931 919486923 979793865 713080079 743825367 720668629 198233407 556289331 438066855 340977485 540818603 33852867 194783365 975727245 689305901 740318063 810687237 599634901 673973765 717499209 701351005 176101455 183390623 325253073 487282283 884056841 748724877 289462251 823152565 401384961 762867853 714157027 785197677 430147861 867649921 599396977 112429419 652804369 803456115 323435441 371025195 264810659 854943895 814843945 956801749 450173287 9655881 428376005 583601979 842514139 334776843 606455003 963754449 630340461 786897801 751170855 744834999 888720747 117068949 757897935 103121079 311920141 571194413 552724833 439372859 226673271 686295410 500380883 679585375 274628787 471283377 759005823 310517473 634288815 356798043 837174829 166467111 157320517 564239373 492137737 828853313 213848377 744373131 309056171 877295591 209313329 634596285 945283083 551747959 407171521 976370617 618452627 531776505 145828961 805172665 558086925 992438813 112387697 98340385 587666097 531398455 78359867 137428603 219959323 78490187 422196209 41684603 341935185 625946877 869828779 535955197 761354173 579194523 488815469 319016197 608265017 952752417 308357405 263882939 534749439 785438763 352188047 803181173 817353653 589983231 624591737 490288557 186705769 529386639 867865983 233338375 730836623 940021875 613495081 557563983 759233285 953676775 646107369 118603637 341781777 448761811 131702809 354212249 800965727 726735561 638866423 40264953 449380101 436905981 897301167 993878789 105727105 842769999 554866771 260535117 429282485 565754183 200629209 901659789 6911219 284472853 145605669 766265257 542050539 806601871 689187583 718491309 718193087 754871349 43273241 604371403 99863281 198241069 653960203 607916125 918889329 790027079 553172825 878756841 604102289 885646587 365495657 532151065 440250129 563923047 22798221 543529663 26339349 505305171 97400319 307697367 248688683 239865645 295409377 196955527 488716359 398571023 537458491 239387669 706820807 323104693 108258303 636680185 91113071 110680969 757263109 448974285 553394031 884763801 989919759 482203219 457230427 483670171 355682759 796568439 537439023 509097713 988248253 77730123 452822611 829709729 990999661 66593037 505335697 361189465 888155699 496540189 816375071 703102321 534979677 383186697 388084381 344595689 656009499 959764099 579702797 134383975 746497925 773755495 172434141 51564349 148010141 910699191 709891299 570270047 490647629 151121567 769927005 603988077 315190373 733969267 754889199 146135471 70456223 690555307 243198885 37390357 539056285 587840495 953062903 801651509 45711591 87810055 394861505 803688527 519068653 728864743 499882057 483317065 332318731 666646187 998787641 186623411 450538881 740809621 210537131 508916677 417082233 837913875 516092441 183273309 859023619 188102579 615796585 382130947 681054233 151404853 381588201 620904677 843617437 30969723 61291853 894686173 932690773 647936399 477059765 296322663 12112631 974808743 114772385 474305965 539309337 150356251 654853 238711419 344568125 103377775 14901297 501372493 419533259 191893839 345723875 757835839 443338519 745943183 333764931 547772951 782646873 445254185 463863771 92582727 231023283 3283265 533677987 567774181 472082987 725144611 508031477 752330161 19917495 977319743 138566299 623313683 113701677 262824499 235970237 150989847 224419405 757485251 947635701 238238583 968959941 744120791 42116923 71189907 778556195 871723143 99325433 363133807 673430241 47846153 335878907 350572989 349326687 347731395 393404277 855476689 93928935 221602367 919129605 497621167 858139053 870301235 341981617 830322683 532728519 644492919 255191781 268006149 972013877 748321297 222074999 923064773 522576357 167137067 987809443 710931417 759268773 931687959 122038287 776407433 718504493 499434577 149248203 692363971 197230369 779992959 820862279 25955873 265184011 567720039 409648997 790586847 554083929 727712769 645221735 306907367 63766631 986113639 222329083 607121349 10944627 980699099 201944119 952135093 273366699 236641223 277056665 38636945 763705117 647242691 527901701 962278117 674745537 130370181 618561991 908736221 42860155 197150453 823475095 374620497 62645269 148384539 420546193 788768705 249222973 64298795 426069051 31363667 401900685 746803327 970044799 884678361 135139977 805509789 273294263 600815047 81595031 977817647 891571101 541878589 219544075 435393545 516195927 631825923 287698715 95210531 53893235 302399113 302487019 367191717 782540007 473026021 105080197 439095511 422264845 669170901 15669975 44094509 190729389 313530565 119818171 300238659 261388019 706976447 864547317 416382171 193132405 580707451 203232299 846042849 82357809 622530395 44972783 549470057 346383241 188789093 706828733 989852077 878334285 161882183 251079667 184345361 163102643 148414555 444953563 472250399 340253783 983906717 561193895 813335947 100958525 184529591 384939119 664761137 970537941 889900535 723025717 714534675 92137457 216518227 380247013 534564959 635832529 629096043 714056267 105904739 327133209 940940681 863380259 472562081 732806359 741008025 870900495 969397 71962751 591909683 882270103 293855089 573432303 459936407 776337453 613449667 878115437 87228587 900716841 47587529 260184229 287144705 873315023 163702215 683471789 75514829 930895941 23542565 626558465 24954607 147025053 769700729 339817607 345841903 873577425 115206781 630845327 753871869 79690179 162171925 725301705 382358255 55484219 509374797 887013207 615923267 726865131 98012503 986500795 738424099 261903979 826199181 718856163 799192157 345839421 7814003 516781861 610809705 229879243 569718711 72341567 381524325 625901669 742047529 779333973 371961881 898852421 242429127 223079413 702002419 282790029 906546097 557458963 721054731 795393861 780495923 364690699 539995939 373838429 255596227 9853095 260383901 496950963 482416891 309344785 793598605 755016963 815271067 575986909 333438887 606711545 915127955 615552013 995737677 945110565 218605043 678698241 663977859 938022145 779864313 294915721 850822139 298827757 143037445 769899993 646615307 66307125 631299237 187871633 238131635 743807753 714676875 85971633 338615707 282566785 262328467 545195949 452622351 294854303 795152831 162378069 425519369 238955083 93888569 1362919 802752039 426520665 14368345 178312715 864731057 956876929 249085847 499210187 57251735 652404837 690328981 118530975 9379951 459754123 744064289 309465443 962689143 310237545 658679597 418779995 587505817 406551637 422787541 589762871 394465123 877372049 122461531 273373961 80146445 107830341 284183851 208301137 185344373 11928453 231946969 550255347 912194337 52145993 331397917 473127485 254764613 261786227 314030815 963997667 67113139 55200457 307175463 425035011 829264877 183899137 659332393 655709475 327261211 103212719 399935297 793675567 649113355 258979673 925603827 456381053 227255603 501584743 764797415 743604169 624524979 986414121 197966323 748888123 597649493 927886807 764252689 762730589 601565829 508304023 935939171 106314535 9289307 884520301 360015417 702938867 313931927 971525965 792668417 531430025 357488287 454706705 25573209 91254295 351881603 185813369 658949637 815760431 282347259 333854253 875548397 666204369 548983397 159428289 40968743 834048609 4247497 643359917 326271213 389069995 115389655 935210321 240072355 298568679 780864485 582714615 468708819 776570289 914397937 369359313 980086579 62351887 257792165 97357049 666445979 480739435 748492623 583375727 881205777 237589663 721718247 114337051 583962301 603687909 237873931 231422417 196661237 352952293 307432449 667302471 210890805 340732329 662897597 268879137 544166941 139675815 909060561 111819241 886008697 486549949 602942335 932312589 509281343 220482609 918221487 532618215 238769543 809682097 997074669 200542651 700277399 538222159 321705077 167739055 56729049 891883401 528668961 973697495 537474527 162286407 209601917 254901545 373249637 24212435 633639861 774758537 204756305 317836773 596497057 921991871 72159147 921166745 619241663 323729021 90880165 490679667 289984315 882482013 950386335 645038435 295871199 78488285 349796889 215718843 534732581 104891241 597275327 433039931 219500843 632423763 215573603 609154823 983664825 863931345 43652099 582618029 429009727 510894087 287709375 643998753 706756305 415097853 436916453 649088963 745562931 146923429 119050983 481242707 447700681 962445785 3756641 87799043 92290979 105200983 332373781 550205799 817160823 122148299 753817583 865541757 277458855 453164741 504980993 65736103 896538681 150899905 645074313 417457077 875882715 303941661 575294185 795755485 228416741 295942179 960715179 20127419 594894679 326607363 293086083 962646867 569076697 256839131 137156429 143526931 623695801 196085159 418239499 376394195 676608749 401090643 789629417 733622987 92075285 322005679 213433659 338299301 922207867 367872629 634467195 639009901 437173003 290126663 644656715 919654807 392285533 186485677 256376443 644980481 538452399 937418265 252811001 329279217 948068077 859237347 749784547 369168145 354521505 905716813 638754171 52270459 978712837 78310785 511809327 174714281 431450615 139447183 153604749 802959747 776243711 857288049 783012951 194001491 425402443 612858889 595599209 215430607 851895989 615213343 459634133 10897173 346635451 385274467 111564745 635159467 22755969 869903985 260966051 830511743 665921499 459589577 315177447 491938531 305100095 67231189 398647357 709218197 817481931 483509221 387141755 554372541 78092101 879935027 65629853 949322727 380188447 565676769 970278083 269837573 692286321 333989623 381221433 669735801 252099831 699309413 793360501 638698503 179402521 16517127 545908751 180154073 526983913 837425821 219106765 515136649 770515483 384616401 849621399 690747153 872739857 542545971 563333509 239876823 116233423 978988349 680019149 730211753 505984007 636662863 589436117 997608891 562295311 236011445 7532585 620418219 191812839 950335389 314581371 237321343 911106869 209505571 76760741 285346467 370269513 931452231 544895917 849066221 538688539 564450803 504683453 632493721 803263561 98924279 844348455 670707023 238541083 468448523 321897 761588249 287561599 451317973 971656739 908126319 501346575 2275801 922956835 360533805 472110857 632268685 640547675 141324183 961398097 295329861 765419749 45637211 474705787 692975687 289126407 928025233 163118013 383353019 362588459 969005233 475190259 630544561 255064805 64964517 660855977 837228577 232527599 545679289 606291467 41147633 591712043 136756129 451683571 279855077 770488999 488714107 169534941 604250545 848833685 549856717 622709233 60160495 355875153 341293699 221951489 610346015 150723421 676204017 229468033 226251945 258074213 932437465 260301201 346971617 766202429 208712283 325537275 557281021 859536863 537449735 768703529 681982243 219363949 948627921 45989943 408817751 962386487 273868825 475314147 317191309 564606379 453877665 218620307 312771231 827713127 539407767 826978647 912771403 673318445 175651217 408029671 29946943 744856041 464959629 193104289 827550471 555549359 319007215 988434829 38455329 285406905 328626819 611602523 884165611 994830443 301778305 90385759 49733039 254371663 269610885 76000157 329875615 573171483 872832915 345092793 199753941 287127719 403153947 665852417 880462415 235743479 281250801 366364529 98900473 509541945 423733073 131816613 60549797 471033021 405952225 499555811 545078793 701642751 453910703 98588957 892224969 61047715 501560111 108913899 701483631 282444915 562917951 29758345 643960425 667502949 846074405 51101151 728603409 752139921 798852237 897859199 779087273 841567805 746955149 100164253 350409819 164249041 993759905 788917529 641086265 980410083 933883825 970490235 42360121 282213423 245386759 857215219 142364479 548758165 571866459 119997271 409223443 918941217 657917641 776100903 198991975 369242889 482756565 989489033 130246611 141250215 165034861 381095757 968958427 249410171 751271145 557571051 588666853 613204277 93819139 31949185 807255363 346901925 634428129 923410135 562199599 928100809 798404367 86155867 893802699 386516417 442235013 810023719 569626143 375515 805889439 1014775 970295069 387253897 79784739 79081525 744878493 70708069 446692669 153892079 348969313 577468469 334142595 420153819 70504211 243375843 168367345 682635355 231002949 916647299 459374829 438294131 499709293 662385997 127600709 541593047 587737325 186361257 846629167 827435225 240827921 671448863 627840325 187540347 584969 847213155 552538255 893537379 893972717 182701903 268755579 822843363 504944831 568511977 449993435 535309039 509207657 841844571 582311663 690265127 434195387 804706553 349431385 773482195 809429871 685447485 899570731 962906083 825483303 996582089 530743255 130156781 28129131 862496621 894623291 562239793 629524139 300935447 785140379 145717397 974338115 731746021 566952871 792948393 317496947 205574169 158463601 178717605 371789413 304954655 125474683 697602919 157375273 885153419 190996901 502624375 821257401 801060887 190875967 890350851 628908791 5396389 232124157 96803813 792839337 626582085 160676093 523146137 486170245 336793893 658028485 64486217 412357153 404276387 252699457 566150593 936531199 759686465 205009351 407179901 981329289 677427373 266662165 56378519 318451727 422852279 364995917 864988123 406534089 878649947 522326017 421248949 149213149 520899773 857350433 955451453 488889935 835090471 822537743 939057459 688406805 37384975 690797709 250869503 146132229 72856333 233820619 890135981 599984865 862950885 541251419 119227895 793159761 422207621 166722109 62697531 658966761 375973885 760891861 60300675 344745761 152856713 213834481 637802617 316340057 300829325 620934853 924080761 810189021 153846165 723348463 335239297 362948315 961738067 477711221 632739895 2727279 328336545 338873283 838728427 969309847 765381765 557000109 830076053 739453761 926882599 953700725 551302867 133939259 868104413 825964475 552629229 459486525 913863459 729349775 351233489 338647533 187838361 363208807 439277849 927817935 159935245 222529309 992648705 685989975 701509233 931577 212520307 177301471 733617119 9145769 759730171 227496103 10850717 179374911 670743253 424956631 245083925 425252155 483811035 469527683 69532633 411504511 104013721 903815841 615930535 223630685 311451707 82073621 870413407 249033351 727833753 319380649 287696655 447456283 536789555 806365707 192803049 718343069 172500271 869785813 592916297 321507837 804546399 315138443 13615537 767066767 233531703 920803219 242817229 684770831 120857815 470646337 800139119 202030499 766810375 668899275 81450389 866088921 971395639 79287893 949302623 226388901 235513725 992468201 985595931 555059559 812765591 381503605 574865213 53639647 361329647 127655123 798479707 581881665 538262931 666596295 731252543 255884829 71592507 270899191 350140111 3469425 230395205 899202549 330230303 28788389 818795705 916679997 334987373 947373187 464379461 418338605 935541531 584380995 906083395 7609359 802034355 285109121 606690479 332765205 950246377 385618497 959143475 939984471 611012249 515910641 456333083 39007705 843170503 655891049 232867939 283612801 737617819 615292131 49841829 932343329 73805931 909991173 144487213 738916723 570223025 131796445 651968743 103742745 762210833 151507679 141885803 220254363 451844437 707194601 780175865 221732715 52462451 448777025 644368503 750608865 991767939 454490259 657920119 816408129 435593417 585924083 831959597 852261809 527155635 281631715 515468153 479996739 999528657 375481667 841522403 982148337 783925727 916745827 918446235 3260061 106049217 395398137 104843127 492188943 882785409 118686239 551549941 165216505 317695061 821275487 458918207 942044147 916564117 443983777 9758243 878795647 997192647 740607805 281571865 204185095 637954963 143482353 673776191 83310043 3417041 247537121 741797467 884102197 560014199 34853017 540149217 861295159 483120555 917553681 973507299 256661481 11539129 719412133 960845093 10584893 932391187 946481947 355825929 608968971 548203091 522131357 130144419 806833685 792533055 445963461 156953767 979870213 78686143 26721677 950048631 834176107 127979 832977243 937393175 259635137 218146553 500326141 158473529 772341351 591514961 837509545 895486515 367933353 930910841 778979321 419489285 681925303 54706729 881257205 443491925 643243433 907212091 686673161 154784373 661425281 23398577 524433163 305600089 825813031 224598199 646202169 262367649 809379185 975075231 605440055 820232853 348024337 134378727 382908945 230551333 865657775 242209839 45329215 865443815 175000273 335175749 264136603 306961177 735313383 430952475 355776367 582405541 155452493 637212109 851571299 428210713 927206211 437572509 111701649 510735789 119932147 696613623 139104115 476945725 113638251 737061743 317036783 310647381 37184937 389309887 376982611 113277987 292445325 925941963 333594451 485603963 964089821 576649373 352896269 961560287 274707791 919536489 372957959 162087287 519873399 705783947 177496621 340156943 442749659 810737541 832369109 484412707 46796515 419405059 589601467 593559757 393318623 69814233 392304645 56701401 671796999 373164033 830709315 800538291 774605697 322839967 515219557 95036531 131798865 462822909 894078157 383741401 236971885 915490447 450279997 745125451 218134953 327730675 417027811 679212761 723998667 807427815 406777687 988373819 652652153 462213465 471836561 92427983 697480775 462639965 807540219 239755165 488405677 928353837 857754209 80423253 234304267 119693613 521064695 321054797 434784171 951069929 671034203 188608131 286680257 383893521 515682705 686224545 163470177 875938949 3778825 996755189 205120145 800691779 902886807 277266551 489496119 955332219 255926391 896360389 124146727 326113405 145214799 477317157 742348055 307388101 667153197 361059979 465358765 978740727 57708423 246775433 816099181 367010271 581019959 689186657 805554123 407028333 528773 524070139 181624609 167392449 219854109 100421859 799933357 873749531 488942869 889894741 570687131 611238117 18756075 949957163 709700349 599216053 435031171 497825777 472465609 746589255 332134185 438851281 258107875 674623611 648708757 642830249 574431509 599660383 837428963 229745905 271761165 154540069 216099479 91783127 329083749 702758183 853822369 319513381 264506271 960230123 912538195 342829141 985780775 501257499 941531245 332389509 525270345 755027849 376157715 552096125 539427393 481240371 524025043 22694061 704149041 314460473 8839841 155126825 588454691 367998953 271793883 118440885 201149187 553222069 477568327 49489845 62444721 300087865 587204881 28592697 769747177 295058231 951669199 492280311 765761879 876534171 180893821 63781713 587218829 780543097 60793475 808816461 470008321 861035529 867109547 231971481 181389079 574217907 146843181 746555533 88050711 316701183 495969699 299282985 470193715 716329377 58381335 811894549 75163011 917426293 74565105 891799199 870773257 45209981 546107401 205733565 707874991 584606437 655684765 861266191 512445509 501161729 392221777 216111583 534576261 805418315 864454963 995129111 5582609 999235431 959584695 565062995 428545137 953979423 989888955 597207249 691397911 462733927 744497027 955207289 358470235 925536347 78712511 15546583 791179135 380660287 168004483 214340389 100151469 851211131 167569739 362343489 878992885 148314533 612555773 447809971 202393169 137177975 924042983 391898793 708843683 229434837 184175551 566466301 749225139 836808393 478878111 837497387 658869809 66812553 160555535 800928349 358695355 250194541 870479355 536624993 933251021 263919609 263912633 456715695 575478737 905081307 508376327 482035043 961803547 216649443 870535177 204311369 19032035 879894285 921846347 893981133 38872139 891017341 483535045 859756553 151614811 906780799 239558611 333987001 76548099 46962307 962254905 543490885 616953887 554537769 675461159 601054911 750931823 413414703 272563759 558653147 130475677 620819589 201667665 178863355 653133881 231726907 235539699 97363747 440730045 501155469 598861277 119460101 198301321 580313569 497040203 761066743 276652777 858214333 876065493 655658745 489159947 927538905 54066307 726478769 6034955 822437647 601350593 333015919 510432489 370536031 360350821 737618219 524307343 675503609 58421675 577908611 937989069 665333039 548921659 302869439 802183773 547765881 274814495 121687245 975591903 827783295 246663119 39559239 310010845 983488775 337625381 144971625 501852619 854415369 239877481 726994973 202271743 211234975 437503817 834788849 124033209 23714315 307439575 4065565 479554855 598612153 879440787 398138749 5569111 483254587 467258209 826488733 171990593 722919759 366937999 781832617 801497803 589572311 526270673 821650553 903059641 827701469 992136005 856529551 653911743 648606869 342179183 593743117 980555383 981914713 450606911 535623879 788952417 876425393 452357897 454021937 272949733 669195587 691344009 396927851 13026903 722829283 303408103 623750973 479224815 628088207 469439661 390342679 850721229 772207977 591297745 107146255 917864955 429006779 277980593 774684389 764035179 702001913 361302805 331325695 895313399 585936575 102901797 220921453 951928157 770449615 770027129 280258535 882904139 326778391 478215439 707007947 38133325 259753895 149329737 637587233 928687585 740776891 645094393 950887577 759728485 975440565 135856209 840397191 874823203 920819237 774594797 560284911 336746317 641122745 86012631 997760627 628863229 173294159 322070137 430189415 38465329 184890091 26346663 947382209 762239703 998001589 918039969 738367261 683367099 833976579 576432651 137474503 899412123 948192335 294719475 877536171 347578389 364626749 259918799 780147553 350857139 561270425 893444985 601387 648232935 91189075 452813625 848961515 319564809 699546505 805493947 539563571 78766941 7633791 133735957 670312765 365657097 809136799 144477891 118074339 436519967 717976187 61781677 427356079 417153177 743145423 606659357 20305361 493406297 535313279 740776395 549602847 457177383 707200919 771738577 446312473 370018997 10266185 384614585 756828645 640813981 883993839 661041003 985920851 494220893 674701583 857377087 190471899 432833633 49977681 922604787 262563995 927985913 781818509 94613931 795808603 834746465 838170809 850151413 965207433 287518901 135223293 218367685 134489151 454736643 702911903 70968953 257529913 787358267 746789655 452534743 142846689 380479541 645434111 682086667 721188677 222887605 313498137 712489641 413928731 433665121 917367375 971381939 544645061 978942411 694130617 974331785 861211463 394089069 31818127 931490043 216805715 59508649 108779315 196489023 6310977 485050311 533582643 481648623 585460749 282200823 859094081 393105171 26161503 217397845 583995961 779191319 388256393 560213729 331391261 897756883 857976447 743796869 59543065 280101503 476809185 778186513 513826943 826641605 405309431 166821185 452757197 67331761 137285553 858073521 348328357 107269045 247734437 463161327 384409809 681522355 617474579 290377067 534801477 588968175 507948513 893757053 22780189 292511509 430609311 751824743 597238427 582465081 9992581 668637009 810181931 588750555 830036849 232814927 751265633 552177119 425808361 115862873 266401015 952769427 712919329 789780817 379743697 124709549 466737131 419483647 435617529 790324039 945687755 106026003 680597411 288717801 429625061 48831273 782266413 684686975 502336263 102711489 51941653 782690143 721563309 569798469 721582601 965665861 36139249 783196421 72679133 42708313 750017439 666081595 736129163 104137765 599816739 240339207 803654711 217996961 491724949 884172917 768397357 437330985 404977845 679111027 711633629 946893953 785803499 692976349 730548709 695358167 26992963 771867507 919212809 746965699 799665271 868911325 408846641 958285631 174896869 183918255 298953075 66500017 621027223 136730465 104642059 605859045 451085623 79920467 310660953 133749269 176340769 736676817 931847401 577984473 352076883 348432905 501486193 851762999 223722611 21163031 478176457 260349599 466016977 593152507 986516215 940923621 491168101 401248413 685045029 200930373 968461261 400099025 311014309 410092903 985639505 409757263 813078003 455373909 914380511 947696311 672445365 321910661 245211663 41109651 760308657 659972823 140834851 788888661 560535263 697633421 186840573 967425879 649104729 688162901 949893681 226655449 86081375 716497991 361452021 54661379 480714849 244980187 577461285 495901673 68810737 240004859 294791245 366142593 199485639 316899571 606237593 35931569 276394955 855620983 155997153 265816893 636918019 949333411 592345253 876152025 135666343 81856257 931898379 997308191 374577681 889809531 544445925 649945741 593991363 722581349 559877287 59941519 64616809 855118975 915979377 22252151 334704855 34516719 831535627 919972477 482606853 748868927 52383717 573703873 657559579 327871589 118093077 318819917 134088033 118651583 22753881 723423251 281083467 346500883 44301595 171792363 595092341 304019341 841948777 893345689 333311393 286792899 241021947 899115971 90648763 972066483 57793327 165674749 45279447 487106495 986921485 217667773 788186927 679290809 999834179 43037799 704547621 953369299 933591595 757104707 925121353 21504681 349746113 945011843 816417865 856322373 425057711 702636095 532306435 738096143 59600449 615534715 821892729 896662753 66372723 258045725 916244695 259219699 479937247 635567095 373381233 666306031 863359697 291230149 882360257 606962913 97766709 120891683 478920555 171731261 534504355 192080799 684125499 89628643 440930139 935333033 156181793 580114963 596162627 262449307 362790971 682103423 89791469 822871475 717234125 17340987 107043469 733764381 224159807 892428227 830807043 202899945 240631847 460868095 248891095 126691345 748731199 923189049 981548345 855240567 551868779 121137703 416669693 229509859 341415351 60047593 574037415 419038983 150385491 758543873 897533275 413500795 600447135 188883807 217748969 843900353 462300697 137728341 367441609 346884675 988043633 477537187 572623641 78010705 478000247 128600171 788511903 89288231 470615591 520932159 660148431 407880161 34488743 432559121 565065659 93997709 538985789 41740863 620499749 273522715 192388961 95634317 190409077 616183651 628666283 361201451 150717625 917006119 940380641 686714029 863955879 509259537 663071469 382782735 659160225 668336305 77991393 301340087 90109099 289272961 300414715 163846003 312729719 10589411 934659739 170713975 997058395 939824413 237852751 479881315 637317207 816952421 30280137 926159673 417035537 866929873 112872931 921112167 738616539 38390883 132954531 897311939 621952937 115160069 864081715 933845643 899807515 327108231 939128039 265316961 926799225 589222819 639498295 440103511 586570419 457537273 55653579 511691485 689840477 924665621 793586539 926028757 822564283 141144165 493900043 728592257 734332081 248408645 674277319 53831569 102636239 26958837 702249441 674696727 553507661 331192735 294997701 895989907 86530311 71921491 423650821 174347497 800243593 368752649 898470495 8798823 91156479 211188391 964034229 501027521 332787267 370679537 303330577 631466775 865898449 180563101 147440039 339805929 191067347 26595393 469349843 320005929 232378645 742307421 361672471 319634731 83498259 436192863 987660833 170447277 106648295 459959189 763349951 420575185 94785373 213024825 977496561 882500647 297201377 75817067 738524377 761453477 423601291 398036789 172740545 475289765 591642395 604117387 645565471 300208113 592166903 501694273 497810059 889444785 518494255 756253 45286857 127159933 629321595 129661127 390033351 705934931 551273273 949835725 859511957 518941591 21591409 175243437 146769775 925826069 771303379 831857349 27396025 373601797 92083893 697030241 450065405 519463171 432809493 694014383 466466033 739717397 998144669 753268681 429134957 622097831 808976539 113912755 838941303 489944205 504498951 305379667 744849463 935605001 567767677 447209085 285598467 45884603 939720777 417849833 45357397 98830003 855932249 640056887 707846099 391835237 166153537 841030385 294557763 888708785 214004035 548203913 666881693 847650521 485743943 733410393 289599993 883922315 570010329 722473375 133795741 126071773 19339317 417088135 370625011 957922381 738429237 304760355 568673677 125794749 322242147 583470699 941606951 63145599 311139311 806607167 922298791 4237635 735295151 157123945 392782611 211973163 742938403 500967323 977016739 924393403 650381424 631043437 333089201 326248413 714195307 716503139 221813183 433693931 856988037 691404003 146987895 182722207 782319071 376400191 331901105 7849759 139679809 825090739 84818019 54472185 605567001 465695325 630214581 939989281 656769921 180661831 523781871 113335797 494804535 409713763 294356101 69433915 797054625 893677961 44460049 40296735 510109901 978858619 531513179 467519031 709797751 455221987 287093575 54707839 993754875 550830675 676274415 504269151 780941921 590078785 503130763 703848865 500919383 67123729 700744829 779100795 499003957 537060875 245630547 356116621 343609083 751982177 417603009 870281945 98997841 475109675 979340189 509500367 971230595 745658987 284953841 373920321 718641805 840040203 383651299 156888175 675666185 895242715 462932169 716891901 29713729 467478679 425725723 395523063 409249061 696110811 536843393 228121045 728110923 154105141 293669827 50248307 627371507 429869589 533582807 794915863 552368131 554674899 622887125 932728429 785696781 29134513 431873793 448766345 977617731 216038873 209691079 125995245 556112011 355809371 913921723 873446009 467753831 932871475 350072471 888153981 399543559 52316477 249261631 502173613 390071109 413107783 553611711 628565033 79529373 95104001 188289351 407372403 274719289 3095811 204246069 375790969 684141799 418289103 456417293 389646993 233682975 166653903 966434679 974954617 3490301 513293395 555863881 425914963 304556877 286931861 536431997 306030257 225399931 729591733 327087161 629903493 27893921 834542527 70794947 733600301 901048955 666036897 324559507 2439789 56534897 155962423 446855745 817151861 741246613 531874881 621925523 416081367 343156635 806051177 182591345 456645011 781705699 944890431 311235313 976298253 617969015 18576445 832858703 578278931 807953923 294420163 414611179 805387481 735585759 226192925 744891731 822974207 684918025 391506555 563768889 749832325 892911149 908676339 445283703 416038109 671268245 489442443 628805907 552757211 447697979 920631595 632616503 141109437 405196989 428178595 680029237 676589349 200688227 64094637 319445899 299302949 598304795 357446889 311479513 101908269 302496127 670395363 327113197 767868191 279148491 338591753 693622969 358122301 273880297 246798775 251613271 169175607 611961447 643600685 86507021 335773471 314203771 77397395 565619781 614508661 506014983 932947453 81435027 880925469 487568529 670740579 255070127 238518115 758832967 39122597 27070593 825102847 99466753 831856525 25425169 97435917 67994943 324807631 287615635 991730963 935126569 463623935 686001507 642303485 878374283 121595043 233765379 578247713 199250145 435844897 165356575 697924923 56295237 734769357 807427979 879428465 328579713 625737951 291370305 102261841 393957381 762834551 494098019 538273233 390996455 103677343 102851391 327030603 896447463 348619849 666150473 642286727 861761131 730578255 869726489 702225073 766970755 477114225 49603955 668618593 158863847 135616087 347982403 178123151 747386357 118505365 602444957 657921189 622650549 228325793 398403771 852497773 83391701 171554527 481395969 841550623 233440687 147491991 291656953 573517399 92015169 988945403 324079703 406592539 334624303 223528229 977618425 850307285 210897613 681985045 634041565 532072799 703856145 478405555 970759985 322828275 721804183 711796945 227109705 31557943 529045419 510963499 989134497 447636281 231280697 129190495 996872409 690667117 346984921 507684087 840880829 52206769 419345099 727212901 640540995 58941515 55802871 604576001 392054915 974732519 102626281 19338511 588451521 590197403 668515291 405990325 752443243 94741733 400702125 886073093 100285969 636862375 834509283 602128379 685420911 591505459 712160943 607108467 451578987 845620281 771597543 1782589 992896779 703330011 20665355 506531587 770788743 156127643 526319169 297223013 33276215 724049257 628645209 432030431 316705185 5942679 76822987 62963421 478971759 455936229 818697653 621849775 108949363 283503735 542809055 133415057 251471787 187623131 166757559 946693791 562220599 896871173 91829079 695654375 608830053 779350867 511109243 82990425 241551783 602848905 440121229 588226253 173843095 338989783 364030875 598689287 835796987 69290193 740899419 363367341 226353597 519494771 839432495 170946641 13131759 276834341 852901403 415551341 31109071 103230897 839864529 356008547 384445117 7469901 481742249 711765371 85309767 219269273 949284511 136485093 924205087 856134039 261842011 103719357 979834657 595754421 936752431 592786181 636796495 421127369 396579855 704058017 655850709 138328593 520525211 568960617 415461383 628960561 507114779 345941265 131620959 925177653 955707263 801451323 55684735 447847829 269248605 967264371 821991989 898170157 372788981 600041513 531598709 179209025 881999149 469990069 115310933 539300481 760379029 905343065 645216543 133404161 383200099 390633023 36791609 173420605 540013945 898580343 853683257 143284251 139331421 581668347 679030233 437405161 296387903 824989099 729916923 685631067 420342771 20520787 655056815 100055953 968849917 262048673 800337443 216825355 473152127 290932273 612235701 464015805 580892749 996436099 711063783 100826359 107898077 661444865 169967975 412255607 709277515 805072379 935005445 402290021 994958179 629920427 791952061 852287051 137056401 234859569 599791027 435052065 686461165 378942105 807099441 899062849 778545719 955764177 86138539 219887733 585293525 187875509 616531647 490001381 907784409 637591045 811453483 150251051 286095095 84290409 72684511 139562559 343125903 484210293 753093867 325416843 138403241 470222241 250827659 958502107 102753781 183125325 818451491 923619683 114591689 946609349 890360895 31195585 288673829 710543159 268600719 650021115 533813935 415173311 245952755 770928509 769974455 161675101 699441001 292561949 554653237 678952953 692160289 555301143 79120071 560511847 595515499 356028177 271575731 93202271 186471621 545180187 755895277 638230401 856414671 911404709 118429959 961193047 645736535 843502737 387256901 110937173 375800653 323745313 912758409 544194255 448843985 183025923 149921383 199407371 905679139 913405261 844911379 155110703 928341423 33867389 719218031 907349327 332381703 376896631 313151233 66473059 932187369 518762119 791763703 151017803 140743477 628984933 506121001 61649361 36385017 220038445 31613207 638955431 656880743 337616485 173823719 6607719 620654297 881512183 607875179 134108047 528842197 984126525 803035671 253911949 960099845 102776049 909276683 640903853 838480957 779682361 725665551 139675437 503206519 785412771 66184083 195618603 261293781 346614053 890952877 715654577 556470437 219501081 436184347 984074673 99079001 532088903 99563591 167352069 630515085 617794011 814514495 430268779 377101315 181978475 254321083 535766927 996023975 671740147 959609625 603400195 776924557 590413019 456643937 60756029 385539567 149735149 871470145 758612897 262201137 121134433 652821011 727492727 386261469 648369107 222973651 794327793 520517799 788445255 81661739 359326249 241933675 699938861 188137831 321510685 917329453 182398295 925153411 43384761 401434645 552198917 766735641 156103629 369854585 517873883 554017909 604014613 368241107 926936039 584159619 667868463 905366727 856551837 414311899 934850213 638496031 411103963 735016125 734141929 726257359 609262823 125944847 806614867 256863477 76664429 935007585 643498277 157141711 158267523 682252523 68477065 129488587 906317733 990662285 230513807 330058109 869092537 906297035 554200371 731162785 600180751 279610839 972593745 964956695 609869399 194087045 286437047 995848427 384897459 88288089 869663509 509818963 418356389 478343543 808922883 326261927 839544091 76405679 684929029 595338349 351474539 480579961 373716095 696676685 104278867 29974001 706158281 114930461 978555639 672091363 523676695 868110553 443921893 381863357 412881803 129024417 341013009 724185747 199244081 585505219 596917975 386648359 485236985 711596975 9576961 240928225 353264059 685333253 875842745 491990223 341909049 572137349 814421139 580606631 382441501 926351385 107004049 17121227 296980215 265142233 692539923 915729215 968418113 913014523 31511017 96240053 556629341 733314021 512126279 172255363 427056273 6496803 658866379 332669097 575409171 600321383 816628603 129537485 900380665 483493005 170652101 123707713 495612485 600444055 199730811 322376441 277988833 612688305 809713115 703130261 692023197 430531629 570258061 269988445 614423347 753837961 298718875 609978433 742410819 854802277 312951421 447690965 55846233 147033743 476917263 943020637 895504099 508466681 954814357 85914045 385409085 728718783 111151295 219219845 298324647 376546339 882581919 29112043 93980235 543498897 776585141 473980625 20590393 98635933 125943013 689205949 512876139 29648641 279417981 955986397 246523585 734852767 332426801 156187147 853768199 157611397 964672799 686859459 133052907 466773479 326046925 629167663 725901577 929051421 17700391 358959131 511937505 389782187 780542083 487817475 134227419 45813053 895853725 555889409 542812747 949308839 111334301 63807201 778982249 63187427 530966541 971226893 522335573 80978453 44390115 834462371 596163867 322573191 152006271 245514843 126187433 329288621 723859363 336243619 879731419 826950435 177853567 185823621 662325359 655724205 753412005 10777531 102186259 886949427 121380629 190469539 256400723 313891787 717711155 813747525 94585005 418635439 249830347 401833041 190473855 793381955 38984469 934936861 984402709 970837779 10720429 758443431 637055133 866153935 318355097 632689817 535109171 618679381 227709507 673591873 699302101 433413801 366707589 500957079 942975601 643241459 318783385 450149687 823433939 910657931 497402407 869692525 606670521 794131431 694841401 961796133 538494657 434536877 616815429 910713849 93517429 615935145 971331113 990855973 9516871 671387851 560261163 115231635 567390097 231281459 447134201 758088911 469796753 619895583 800985253 261328659 319632501 598095103 857265837 913776191 912890697 683922787 567944953 951910103 673117195 29655561 107000275 638150925 987414681 224200913 22482419 879682999 749311421 801343689 18085749 734552917 811781673 712166691 355228893 680301837 399478133 930054713 119135771 543223729 878254373 146877073 892834689 988856501 826919839 919682517 476833999 401579833 503126325 877251031 120515625 966654213 89038627 858841493 448171293 787940231 875804295 803345455 837778335 901421273 903691627 426420723 729404175 922211513 565519809 129039699 219171629 457638283 401393761 686793195 86296875 53897571 459227661 875706749 314451613 535622391 668538993 473759477 269103745 260913317 594416921 834290533 995878457 836714867 521883777 757191947 383262357 594030613 923306251 815203401 615010507 458414557 707151871 782771881 29109111 588029901 128175247 885513695 344111517 609201549 454648019 686958791 379509675 491130473 830351565 605056611 838801529 52552797 88195943 197178591 592718399 421792515 533413235 904160399 314558887 439534757 810082471 545034989 49046205 335033651 556461735 110277533 999952885 155074371 120327161 492091753 67198765 463494933 622148883 946432837 488057003 422440847 746812747 396310861 264926745 115749699 391464421 962000325 994647953 388681059 478854917 751925781 467234445 62573269 104736451 257348051 829507317 623653659 744946195 223689145 715765779 796819813 351140823 90279595 786395549 7927181 716229595 810118835 573949617 397180687 814985679 599725575 657010389 488263701 435310667 131342847 553008887 432100973 319315409 994492447 132533353 808858767 485079499 269534997 228216809 73432727 595997065 195137457 687053471 781061457 72840005 120152559 295633175 23920425 457784607 987566579 498251331 865345849 493647395 955227913 267358853 790848061 281766721 682098849 692346529 635520925 18982481 523039577 914836161 563142763 876821269 580078581 81932671 929612891 158713397 394101855 438756565 245703373 868302405 884165801 851872553 612358091 974584509 292114447 334047305 743091969 687109887 212979703 474231401 27351239 409133393 91810535 449493799 810135323 463834601 262648727 779863689 619345063 894310365 357561311 630459899 684554683 626806831 457678789 144931667 466983243 83197127 716049011 565654477 902285815 372186489 604361531 274992401 37756679 918771965 394246299 801628713 932723561 650928115 125799219 299321485 994955959 699885543 541375697 93359895 218672685 599751239 669371751 653323025 443725237 988194671 752565265 526161699 697192669 813564319 128590865 604524647 354374107 199636479 997134291 322092373 117996177 806814115 116850153 570044119 153275781 580472451 891293713 810939193 395257061 850862719 659981355 560732463 230671241 974656609 533608773 248217815 319412721 707820765 730809489 229141687 651830597 642015111 515521643 733968571 894406225 162628581 705391957 688166711 128528017 610544733 823249147 92532203 370179871 658680643 669645617 82740477 61289413 954872271 84035825 488969719 689345523 88528161 842828639 138671311 697855423 148544835 727234245 967670501 519384809 753268777 842611095 429992955 987235287 63300263 589395313 206796095 101798553 735666563 105515541 626842183 59427815 676158563 927955569 526671889 379119647 558317275 525224339 743983105 266910793 717058913 135595451 466676451 681185043 252635737 962959691 171399663 601019863 222366989 171957199 915050433 51992465 772357803 401097463 131035997 55143403 862100813 552554401 919042355 816986675 239734007 409634511 316118037 523332705 897746063 138745519 472938565 378710033 98276071 336230801 971522147 460340623 23235515 454124273 130520703 45519559 371559593 161282163 708755725 74033233 219574331 209265377 100474347 719511661 129057507 257913649 962427743 252974083 103756793 605297531 691493141 158329247 141599937 283309061 907907363 514394235 524291425 586986039 22561029 815272823 473371115 515157929 953329827 209724439 122677595 500967185 520832327 709406093 380241551 313652053 863107241 342543279 83117393 95720577 336487397 515084795 489417043 414802629 207350911 641581725 381865773 647646593 740491109 172505439 256288609 47046709 280490479 268976825 105303385 665341835 573843159 511552207 355903079 118646875 197321539 45999713 27280065 322203291 723167679 690982373 400828043 864980593 327306051 990952559 163132621 140869417 926916139 479698109 270154871 807870005 472858429 187377721 642979175 596373553 436563621 57740783 62361433 888842205 378993913 395559835 8008953 739051305 95269429 361630361 36344023 16209959 176593087 886393071 655321709 917506063 957705317 232582735 289654557 903813193 642245469 504779537 715792175 871380317 538603329 288911665 669383381 151213567 507448345 210547543 529817895 473956363 670710099 17018835 591183143 691990915 558881985 658726301 821306047 22008723 842090403 558187349 208183743 985413005 617932187 654975039 490736353 980792303 831673275 573228365 221268677 702088027 985949557 147769877 447342839 951695771 944487847 411448277 956417767 203556003 183444885 169792633 543731437 524648335 601866735 254123403 49489739 369371041 642012615 678798659 389701931 418820421 557050783 565814659 650347421 720930063 117816919 571477201 884770971 990684345 995816511 959113565 421308933 102138919 912686091 4701179 76220583 105035363 464185817 938170159 925503791 909235361 583046191 260290587 501505337 812915517 827374329 266154387 881611333 330280635 203776653 529045771 280530621 869079235 46269609 617635237 410944241 830309675 751501679 50244903 546550811 690836717 639958129 634241791 692400987 777168685 438529439 828368197 335356605 644183605 233740379 457131961 131399727 237934715 463073383 766396097 986143373 590790551 846907123 998350959 351988887 134406991 796972433 252436855 36924407 312050315 552924993 940788793 588213819 81025633 846909287 165910973 996255201 647703307 796640977 75970227 238302025 385043183 203476659 720523889 434875833 474720659 101457323 816280055 115033189 922519727 408182975 442342635 11895655 466043675 83197531 568648349 34300095 610975709 480304467 28582147 752597845 240053533 151139817 880375743 756521469 997340979 965505725 726192407 623641711 134016917 617655775 761474811 116607051 703122409 696828357 562774015 564846621 74152187 74511433 755371623 19909715 679594941 886788531 912257813 607595591 797888073 108856241 810590877 746801981 229184229 151599189 651322931 369121115 420902651 499605791 677487801 597561525 68194845 236000753 476354485 102058051 316542217 919929373 584402005 195448037 359938719 347889493 804197489 345928805 165527789 193693879 229369737 326363765 999793701 305744327 642924995 180076463 758471587 793626485 18977007 890826387 270690537 164907285 545929093 248578697 744748707 17323363 91820965 144358115 272651171 904068997 321750547 255933917 357701095 178517001 892468545 525747093 897725329 661859299 103123525 925070613 265417195 152975219 642347485 207645007 845564521 773693305 854167411 278615581 204924839 431788073 122758165 964894013 8127079 197301779 617590651 389502299 814851733 804157237 389701379 322090249 68752453 797718007 811571381 537170365 913974959 835381795 951427647 206650075 438704443 31246833 15335931 824171691 780531825 743986429 747879909 755575135 871727367 927679819 478672037 578411537 322987733 712555081 620828813 735391167 46295519 572519375 86620817 840748629 704045905 179327255 476179795 895618981 428449919 326238663 92024857 530767973 167002083 749766893 335494609 429942073 454154785 390280189 204696595 535336361 492436227 823269845 655764511 57348903 683955839 564830139 784937947 822772235 549033901 333747803 683509975 369857175 475692497 839435465 827466059 879155701 935375705 866183 424790295 247421239 206396629 924484981 152089279 939810387 263853057 8305891 310859891 323505453 331283649 508690055 23783181 442726541 545715745 827288187 960484107 547720483 369982801 650959687 86702995 790641803 892235439 33680601 50062709 656750151 528253631 495495043 934549031 360155837 780293931 513872645 348435147 464934975 435199941 884005763 603736359 555384839 516834185 36744841 85409451 676048183 754204571 43246607 960734059 644111317 23066183 401912689 818455337 729078743 567050239 591277173 855523405 244813843 578189405 295212101 979541221 517786443 273499431 944239739 91404711 897557289 697564999 230664721 438625011 29889341 374527439 315843693 557670355 837525505 693132541 148843101 701719283 22808535 138254641 263584023 992702379 423490567 862046201 915306805 176794875 862283713 953950983 268230591 50261129 160667937 221339445 887114529 67853221 880905767 303518089 820723761 115435079 84264381 412429869 588000557 798087183 455533235 835598197 301354169 575620417 426866883 586408153 706297057 956276173 136187277 672322049 843415069 822705741 744806813 22226869 157942343 640572671 476746595 716493545 742477737 389331657 86573621 696673207 528072683 809635899 752419161 749685863 177111847 467750539 580793591 505252447 608198871 158544027 425194783 140797747 645896417 166140401 276357835 55154593 99681939 535606203 885156059 83662987 25659809 811851731 462471963 279314427 646375209 251461557 381840697 231463461 442249905 750719371 609735633 683045477 177656101 923910433 105037155 817906749 999127515 459274481 476698967 119783001 465981327 812737307 49570561 717529485 760292199 794140771 749836953 973343187 269351923 172604219 584297023 358767439 734234659 696780985 486354175 464602443 321136217 883434909 506593735 612541245 123757399 603893583 147751539 845524925 301415755 877681371 995206849 374179215 71076557 237814779 488429407 982958241 530419669 574453261 265607387 18665729 862858957 89252633 927590573 120815089 34069889 733573327 413019707 299068111 248662565 391112579 330954697 468202535 313024599 945213753 931299723 682586799 218446875 80211605 494910107 958375999 12113121 779550183 10061303 910989531 302150269 765210149 962253709 502141873 279466027 630093809 64552745 976581137 951246737 894523537 923073929 863678071 343434685 714091763 965558091 922119047 447529509 834554545 360847865 918688013 809704867 492428551 596431109 170982139 825307519 604904925 123230409 577036907 803009125 445047493 553462661 61463203 874097515 705872883 181459041 967806475 574221583 725885257 509122671 602142011 495877173 24664907 168268203 783489001 404666153 157346347 239033843 746169851 769643171 713008831 780049425 405357693 100398269 660706183 705152183 683790497 649300993 956319145 527802749 651620035 289303641 570419191 493021671 867369827 232777753 982706659 48701531 826743345 83835649 501817491 992565549 750276351 39991605 55312841 870219667 37963461 938044995 69546229 144289457 582096043 521641503 527602225 829254799 238332665 136968231 79443257 341852959 433794083 820710945 319128695 309681977 308231107 73979193 895600121 167742881 503269791 778453253 104953463 712891901 445440161 846322817 980464207 806600671 67538397 374570773 589869703 87288769 960919437 421189515 284916691 823563781 538688019 236279067 546225541 192185331 733197565 934450271 703795359 785171645 369434109 264726623 273048777 960532603 782156783 246993801 490704719 673180465 421889493 979084463 745199659 812241859 676751837 277371409 207320829 918114057 339813461 376378963 770366985 35946167 912618173 964556163 847086913 831712881 33614519 190030869 820112187 503475903 277496077 752198119 257689143 815879185 823508149 412338493 497474843 625834947 372140487 280363463 397118071 589798167 431093895 477600153 678245763 522378291 720919649 779362351 990909213 370165545 557374185 5139823 214694605 154971379 629310681 317720231 479968707 82984049 358520085 423615885 847941589 357006191 96852903 318444347 626507393 579785117 65113285 208945465 706854897 937731987 569389511 309209203 44766707 819783123 220088371 456477247 234595581 567068103 340303537 549220187 844727089 36709055 933860375 410940651 704320341 894616821 204358751 392937851 750111191 684548747 479993261 938139139 211591119 691158663 282305357 7546591 482095615 396065759 936293041 443536595 538210761 310043241 313462387 757479439 613924417 662206439 562033495 645594917 423095067 397112577 782778699 849669141 425741239 652698187 622760031 210693445 373690911 109531453 546235345 462459005 28098045 479236409 455808257 695414265 288441261 329844869 844748413 624356689 32172845 821127511 603163381 779273869 446459171 520714437 252943433 726563609 331628001 312074193 4165753 324950731 482950233 332739683 247752367 906575071 326593841 820978255 42787907 205674749 621235115 818686029 321369003 951449647 759356087 942332157 435075983 493531117 890140143 5899755 864008631 704983825 76491919 854062725 873759765 43509987 9798273 206901543 109784009 581850641 152282963 204848145 948669971 474107309 394455867 749410923 695968607 278730295 603586587 532910409 827575361 98178195 101707385 456704163 242550897 554851599 18499715 265156185 183826903 679742559 732662033 521281335 582453115 417768097 776451235 603385323 781344401 785040985 638247009 887611921 379281269 312103799 356578071 655314727 833318569 674605135 85100095 222338971 258285529 725069469 170872057 461812153 950091479 999946375 862249225 885959359 19579041 572037533 776239585 37615563 386773593 912440271 25982871 833729769 653479497 46038141 391567851 581977607 778736357 336940397 885056835 27634687 665180617 726154701 161563055 643184533 942983865 520618799 287093735 802672751 615213725 656682131 546583625 916509729 541552779 306717019 654419933 977518369 77931709 763348569 936982353 734936531 151805335 877054143 924825087 983758209 306540195 518183209 660112099 181906265 241165717 463302817 508964263 781783925 741518153 560993681 587148697 140424665 159123651 468030157 533479599 191253867 453007915 83594389 526312075 34475263 975793111 689022861 657180019 909786699 512424257 142129091 865174357 670463731 120718349 888359851 875199177 192475007 993647367 929574692 463278095 41671777 304765215 51176563 893169167 816582387 184196725 289486659 328281429 447628915 851746631 597023147 28599579 713190157 366862597 464796455 51865153 143319251 50924351 75191711 322504267 384575675 52029105 314519645 180654699 281435049 556732479 170973977 749711991 579466597 686064629 375137005 175692269 619553185 356486661 418657123 137713401 107844341 34813385 317956451 342158181 371607011 318248647 653963845 750883241 24307157 946102185 96103111 503030247 956940317 310815041 772926477 76389605 444267249 725209483 950029989 417553683 410505845 162647725 709046147 851207557 889718193 791059439 219097349 701372671 222207383 672522435 345469937 822247141 520112639 93585353 763773555 818929733 10984107 46279617 478357791 704141531 585278021 264298647 630568951 145992705 504976733 486186077 781917531 844780995 794560365 666845777 40878875 608763341 903947735 958365651 762975597 317435511 650800867 486871409 128514027 305718209 636140739 169431517 572096157 781732947 173087887 649454835 315174639 518518393 194112329 173668021 268901049 921826605 15249115 309136975 666418995 376896783 438297365 478326549 134455815 895284579 454704305 660052351 274038337 274448155 282149969 631740981 67678547 588096973 220366715 651515135 672638495 256465591 508246949 541230033 639323113 854149059 203947301 416289223 134495581 572615297 815440957 618733091 639536015 747564323 559944727 459595091 597076223 148288397 702381507 420250085 390039697 281753157 990754107 503799705 98653843 807332731 136860767 482380369 162523067 626631171 905059323 485184279 155486243 249513057 836573375 972240673 827561555 206076855 702620227 421766855 951198775 911876313 782909449 460643469 984031269 537802555 493494393 365038623 418125273 363306495 277863399 518818129 945862011 246695147 254407563 446277405 409625237 950843757 104187525 904161447 347349791 436350365 235192545 971749435 517697653 179770171 879303309 962646601 358259803 857120429 212897381 504273007 515876863 995616773 452846377 722041457 493760761 935431159 794758275 315721529 160362051 612775139 45831683 805246937 359347523 377536977 426115617 591680141 985928389 222674289 198573379 341082041 204326403 95444761 265655469 789485289 618338197 384987081 817591701 431205325 210591361 298955047 749046799 230137157 238912823 491179139 289926689 197743695 132419211 99987411 92661939 399391515 113735353 139128505 170760851 270691833 659877993 545627003 713868159 534528101 420342693 586619913 807772949 416066053 12235491 142337271 609231841 22965663 483559939 908897415 575056465 662544939 984218951 757649825 686787521 301925315 269682269 442931923 691047791 336781481 51816285 310888275 450088329 132112967 469504447 842863107 571695643 664068661 701455725 74548327 588224035 924346665 550860211 392887729 287151231 369180683 408147013 367554489 868285177 164168931 173198399 491988475 777975109 689163237 456547115 964233887 329788919 26447979 242780147 461118837 394002325 691162107 708184555 250975477 679226757 705250623 529117651 26542399 8708891 846671115 403900625 929519895 718205581 660682585 711874927 651030255 863393791 156316235 763429539 423252443 988652665 43406127 315982539 598422687 516649197 576486775 243641517 745744031 420705077 839656895 525929077 672711915 382694671 979903689 588623033 735390011 327309609 176100993 61946743 142701293 661652495 413135611 568031505 995050505 208453949 819647345 940533593 351968317 721098773 405922631 64455807 443018209 209849569 472813319 168051237 814747895 515596237 98330981 28756559 525543457 46324217 298310205 728210023 726491571 836659297 466381201 495223879 348830369 389976305 975198351 595505959 216389005 887003003 623942789 542878897 224288699 745118901 647975925 972740593 506828829 571736899 589104507 478759003 840653387 720574637 902781673 306944205 85926785 892788837 130413101 424212109 235831207 800915139 164677733 116676679 277482061 214021129 402300629 882538769 513077163 368425313 895988709 323957095 392116129 698083805 646443051 951375409 255326899 832883 487444833 208149433 693138705 945451527 697072491 54631093 842259349 16854625 930769749 770571589 706107069 134027057 824481361 657300971 206938031 610923541 465370809 537664151 82409787 802111625 153760529 803055515 931444439 30979833 624111367 436605109 369335205 851522997 88455787 272328205 614778219 723361271 720729147 753482031 261481367 448482017 829103511 768759823 683035715 440057979 664272587 12414475 903226155 268268213 135269965 34150631 741185721 236081259 687864759 369110995 480238841 351199837 468369609 583314531 411932327 122551861 525228147 107743635 928299549 126518147 458328005 480518345 519087719 188778177 407497469 860850387 621368369 71801425 770575995 826924773 789903059 292792699 139255757 617491359 799655245 43843951 640027813 894990851 229366597 55825993 939632095 292124799 490641931 314459145 948996221 457848809 368030615 115044761 564169385 684445311 942540681 980140489 788911803 760340707 740346405 430821971 417050667 171146022 520198491 63813337 822289563 197902267 378978245 458260449 36837593 390113409 229125537 722963425 299569623 339225019 216895957 351377455 353772977 638306585 384914161 280740877 700825257 589088429 510203947 245542307 54486571 98523127 609140837 649743109 177188811 208280795 68952357 894141227 896598081 799535783 717219225 245014773 317010037 967501071 86539163 826803759 168000623 90051891 474088615 688196743 675819619 338591379 70174949 370555033 508470701 6435361 191496743 875890917 927737297 768465201 161688289 508957907 195884407 170925185 859225397 276457399 858364277 833990451 56795111 122804681 322555845 967127 951836521 261519657 170391177 800164707 449008337 801668323 731119377 269008945 333927135 618692069 192419019 372743435 12616955 290166795 554224213 450124313 269903409 815584021 474811507 806331379 406468667 265957291 325104397 515101847 857595511 668063841 816906809 353142889 21649645 64971949 399976753 345154869 878785869 671650805 725357401 365309747 522754539 360673917 647815995 935369727 224178891 502824569 844562829 674078623 250164881 301028099 40356391 637125503 315800461 735225115 828744975 134535539 984734389 863818921 712791917 203264189 24243371 691848577 848592023 568447741 718945461 160305753 42433289 301633347 328128449 556189141 164094819 68288259 642474345 498711935 269717361 675096349 241734889 697809093 437631785 81464531 856687145 600476673 303456163 15897811 573069499 184656759 68295717 56523315 733430483 905706573 213282073 666738543 793419859 487590805 671985937 763603823 698986431 34507083 103628747 127307391 956886345 428109133 73148711 123900241 821960647 29093989 734511667 22131719 926300601 571447621 746258463 16594725 603021381 687386503 305049931 773954197 500237371 106121897 865940023 96854193 519989523 491590423 962937999 853630771 325387757 641386275 771455525 13786177 565641869 7068675 926126583 286698345 60696675 121225947 534840101 631144095 814983049 968809907 182187005 421399873 124636603 351746685 585140465 495608597 157806947 683407889 768759197 633528135 782468751 729555251 727525827 914426733 82672631 946674057 160716879 500082307 576138745 87098021 599030355 138520049 663178651 236814081 120275981 453086849 65778575 559225599 842106335 864874857 453678893 756854247 961344851 919784265 730931569 807828715 357970973 527563043 610129925 990732323 628994841 513447271 668383797 173175699 613103433 492327143 624763899 593236001 704130777 746201571 628319991 882164895 694923805 913639167 439506285 489086151 168055439 249333319 720526671 716614715 569716689 902212659 927579443 60712835 456461491 526255775 153027929 19096335 645883939 635533777 829136551 720899133 685746751 312749429 550897069 635251273 828890953 878097823 496130467 109042527 110517935 718856657 630170983 626684303 30987263 173902827 549099649 978787283 778995195 665111357 857725473 775840525 480145279 971440507 526041117 264936707 562674333 856423877 603565555 459296619 998631299 533484957 444945357 612882651 646225295 731337201 965385081 734369237 405858373 855066647 794329453 457970115 644409421 176845517 718510027 12037109 143281789 294314293 674511193 321336997 463894737 82151393 933830789 8674805 693315433 29323715 555407975 58595563 14374289 889792313 512867775 822924925 23471807 196359 100694005 714070657 699197835 714943837 389558295 764465849 12781243 593124557 219124699 969133007 378618425 262394711 185741985 416826963 300801047 212284767 665444977 284446655 571058065 219031219 595364603 723338611 554195979 11478919 60354709 22380475 17885713 326874491 941827391 209592517 753345109 723951759 173129119 174834605 714523825 476745269 810475013 303569267 714764075 221526081 293654377 289481215 738584813 729351665 833998441 757116709 531363657 620628711 655855181 548044701 820847293 535471669 874408453 986217993 421719017 749230923 582268199 504380399 711726235 463940875 555488497 840201923 817988293 796526775 874022733 642072287 608383363 280976125 458136009 268759171 506354709 415514869 224972955 929345751 87121643 572053785 452794789 334539503 451686039 849909839 371726189 255981251 251539667 120774883 955955745 29030451 54895489 9099149 131874969 80655371 461523887 40652905 544526677 922514681 523786895 809161725 378702205 333063321 734731901 313911349 489990109 444456553 519297019 402052455 860996591 346704087 247671477 154991951 590148307 111663665 59178623 887592467 283435085 77564847 623101011 105032513 25717199 690368117 164624211 559397583 475179887 170690701 624901071 408271383 491264237 918097381 680216117 795778785 142599855 859278167 288805411 839271001 112618693 156556711 866294619 395813399 566995431 993169019 128216777 700974355 434275443 203378023 293545857 185072311 458277233 969262307 443495869 147774413 43498383 341383503 327364577 761379213 896098343 325013493 30160759 221522067 288137781 464241671 393143349 118959589 575415651 109201309 217094387 297272813 39944959 103217851 699907765 505497989 442861311 658576455 504858537 399701735 811893509 652700437 471856671 904898745 725766487 224185051 392661907 520451849 174914531 160401213 898809257 443916363 15089985 363416771 50932523 960517213 964549553 413726687 151591695 213092229 28054555 853107179 845020013 392872303 353708811 828923941 283500683 628981809 561463739 196399801 675852753 829653833 519147275 840822713 215020757 296651929 190623359 75008027 559702611 173857651 672334665 377403587 906468651 976125831 968768831 300712313 203237737 642822135 207320031 307509743 69384515 440222789 869942099 467102397 433195027 372559201 940587883 371504231 412002137 799819933 464315545 856287315 196987333 193194169 365099777 71886803 655675431 416607961 234156393 953451297 614689917 61968779 576843841 205741663 62759655 301717443 341241501 216481941 751943347 343251423 474975041 352111285 951707987 794038435 671781263 143786647 15982433 510612543 23947419 919965181 333996963 853438279 661138459 252610449 251195395 468209079 56442219 396107747 915432597 22135287 192056471 933530735 527337617 778212817 259649867 200212625 848622431 331306363 51143647 841292951 296663943 148182165 419669587 133664945 87526333 735517985 995432271 591306743 148788699 891478669 819107103 201187691 109221863 610606255 684449981 606622967 28093707 185832645 483231433 361481323 840322715 630009971 103606407 31090817 488406801 730454725 94806761 849233371 376866063 946635571 944328069 312857601 578285669 772991641 551358361 943877731 866915073 814687291 186805007 471201117 715609089 81920713 367589749 294765359 413165223 596967767 389058819 283855619 183086943 860483681 615650199 448817129 899270333 924544205 617546169 856163291 289729147 105988329 629719961 889503419 865649789 82238825 701989387 816475471 615638989 198457963 888677777 556457549 202574751 160356469 204902739 966673739 67072591 473205107 171299871 973274571 584800865 785435067 917160811 25112117 743575933 78240011 607750233 82881245 530560889 62935431 726219439 882373883 292926799 85686971 226856411 679145393 719974435 792040607 20274165 910039301 602400831 67390093 44345021 992377581 517178393 38610511 863943833 292741181 267291465 435619085 365422491 855762875 639408531 646219359 709511287 536316175 272475621 565011779 953647501 756779977 738704719 52381469 36315109 410837603 190262285 341690043 145646127 975772989 837344899 199351633 221044673 212679073 399605821 249613181 255979417 124234435 274226413 772812869 913689955 223568055 552480621 459699733 585810537 886949763 747461315 467108803 887498915 759558671 641868567 167349131 792222643 174769961 801880255 920749587 455699423 588280975 317146423 461548907 314972439 26095583 548556319 242894339 950895599 270613413 349082693 892685245 290394281 734086223 36809371 384323803 81497645 182272825 146653499 400242443 959001865 342746529 116665963 474914403 524640371 570511285 55817621 831124577 624012109 714404737 37504075 247334633 424993563 340811267 566631243 502265671 224041231 143028761 594631541 477942579 282436353 387386255 292635351 272543689 365077101 275704339 498019235 379949199 292464507 438650943 732291893 16432239 248891899 757799063 362396431 107546307 911162469 1271937 127405533 227740229 174829785 641647441 940827761 146746395 900879387 44350781 575388361 7386323 802437787 899852905 764221189 381268323 990304627 947985373 82980469 584786981 193186657 74891405 988941447 814774753 101345227 458415693 954505175 808799427 370407873 380237025 147487533 21867873 703754491 147773685 828357743 727672247 433232599 270518549 892381105 770428973 820885851 995001023 880448561 531800717 116063803 893218129 473413457 164331791 536731593 969793813 177800091 738081615 424439817 308991549 829640643 127816529 242310045 320841697 451508645 58019973 813692121 973574403 914532165 438074557 160024241 892186509 725750219 485832505 963371463 951024977 501426317 209207709 125858655 630247685 420616709 65001207 373723755 838774093 13269719 375589051 155635843 406507441 567657165 423841735 129412833 338875811 277344221 994859873 200678771 180710267 969805599 480763957 78210499 576082813 965866455 237926233 829095947 139938511 275420275 733025609 912330793 857019011 888272771 803776235 554358951 942085267 344636099 670361743 233197487 516169441 467397143 74658533 236203549 198642741 910893705 948800015 371208303 958699841 778011983 177047695 724402635 111968669 244922561 288696915 527202049 675368139 313358693 387804593 194893703 272757557 535017187 731417703 395282047 833422123 715307283 999041689 565716911 575592423 714448107 836093909 828914821 179230859 631646609 157117965 990891803 68860191 81606993 975074979 89546029 416352659 211880605 600015707 784775461 461221573 164793103 626182497 520175887 628206449 640902765 146286665 18164135 945500993 418249121 479071509 319941447 376003531 209873853 914934053 643911931 92313475 812912893 264269129 817705839 606403787 900671943 124630709 15865339 619786479 463328675 963764743 872500127 905461023 317989955 283821125 546182657 532609395 721021063 307822045 320700529 413892077 124081007 29822369 908344551 439781237 18956583 463570383 663269633 457515743 95887873 958504719 79920905 569277411 354775931 611639147 957246185 130104867 567567159 61167451 30415165 662920229 278855165 884888251 971370051 223087199 98508487 273222095 620273377 819557415 314744233 946395207 456084391 124601535 980466923 278855733 456477643 150146127 434205687 784418585 925915183 118495979 775496801 337496279 167144537 352897931 596093155 50587325 858346359 914346257 340411489 425108095 647390563 124534595 23744741 819759931 10927513 583195093 863320227 895444087 143276097 931013473 584380663 411114271 784833325 238148199 881347939 351946889 647411409 976868433 270356115 540014449 147704655 921612909 632483163 89419007 32844651 987604729 555473333 928608701 18651543 544783893 644031941 612385441 271398633 473111751 494536405 111122443 494806049 995062787 124868697 403910845 44709 401968547 603038447 712430823 439353223 179761511 582481237 744719131 511233147 122775543 353449849 468569945 194267361 42911719 200987503 707825155 784481473 768786095 932470897 908032747 871404491 659167663 782835171 281282115 341679187 107613489 353914449 626871209 596201053 286743911 161263211 251073827 982714509 630857579 87975953 695273499 420964659 743697469 513560385 402640491 847006021 88024005 845414699 664696141 9634149 438725079 191400735 90932329 269735641 581929257 640364953 858712265 728767119 696170591 333835581 604037603 877478433 294397187 136951767 428706453 402937035 471429763 982538071 546248741 993660021 429757753 405204701 141113151 742675633 584489833 480386473 708676859 23946163 224682553 247914021 821420497 75818845 993270461 440053991 285389483 423802931 347996395 172894123 934481363 544034919 112760999 541808721 861005313 553105103 805883577 368819687 636955473 508097515 22195155 223371167 307356743 575052513 241074575 449337299 749523667 45284481 469854571 394152713 479095623 734398019 820997587 635154667 755740003 183936325 946770713 171332427 547604811 828458831 748085875 587152167 427567757 321376209 357202693 110334369 985720605 872402657 804133079 719887105 599668315 745610813 969000411 369665471 77541895 731878479 118006507 329390453 404165971 69764901 452253893 253788133 819451347 304492919 967512853 338049531 201409157 753078689 395877227 660816587 297507019 191020719 501876803 642251917 814924661 719265613 203918841 56104361 123793849 572530389 405085659 272286119 814679603 460305475 41769753 399983163 377869799 149960511 201553357 669861441 801523011 362859803 869628917 945770171 58011935 339557835 81526397 359019989 304367027 972334833 326788149 655289827 228074921 352641745 292360407 360105055 351433485 550601565 447206917 332146925 402149459 451634987 857723463 466790487 510894937 103678075 770405903 664439185 404398179 100316211 851611317 702696631 336944417 489144035 949004667 624483341 346559911 252919747 821411979 454173435 574306161 670437297 819197941 356454167 920448615 225540149 502551731 424408347 18594259 236396671 497312167 770738155 337288555 889236069 599716505 758358417 310917709 643766629 95173433 754206275 511001599 566800809 743154723 480651609 555637615 458220287 546013143 13362775 600731119 420795869 322752959 228418539 281570877 856684133 348775723 212726501 402688385 154119005 41692245 172577089 275621959 35647795 531522399 46163747 561113473 445826815 927991121 283725783 781322129 601109889 385372955 879964877 244204859 521367585 206439065 30749861 396325545 505628139 889203595 386350621 60764789 713223323 912593563 529179429 369562265 90142091 320727129 890016717 725721979 71228613 621119 213764435 738776809 906966521 932347821 979494167 964968215 184076669 640410351 566037925 665013667 959064401 444726835 693206451 78179475 109837339 944130709 794826523 662438739 70810667 700392213 616867805 903117241 466954873 274157469 339666217 18567937 972366755 632594939 734798929 561267411 658328817 669897453 971565517 612773433 621844819 57789203 489295941 371236011 536017503 512297459 612709247 761114371 238927699 255555331 893641587 249506955 647873561 373635223 464187195 508019691 446356031 567183605 710928409 20245051 516832251 462710597 682957945 640394745 44162863 6863509 765977837 208933897 711746657 353952483 639799603 859742393 5337535 520736781 849092397 186861245 835128865 962217183 700508133 500224051 669690375 346025991 171358351 212002721 578680985 640700705 380100485 505762033 67500707 392932781 895275343 472550525 410041247 588798995 816884627 112586239 230102701 54203047 766171173 62477215 254636945 368123551 608609795 730942695 176744893 76730143 454305871 719108557 683967815 521586737 163654483 900508081 686162415 734399939 923571587 529606229 236659227 692385969 919227515 955171047 250862043 11513273 470181885 768608509 845425127 315592329 545162999 510958485 286057117 977862829 474533497 868185107 762534661 214669987 828185279 365989699 783382477 794903241 511759403 525698653 607109199 711339625 968022093 43542525 95712647 524352181 636085459 813572903 185040671 782069703 703082139 160598091 804515941 736695197 98544809 826593339 908827983 530958627 954898725 25904951 591401855 964753195 818743909 690688997 682368315 670185323 255061987 192900175 159923313 257280903 519183171 990889707 66836921 318729735 648979281 434442135 186530643 903444829 31196413 575313049 400772647 853068003 252820581 87089053 36089537 945899991 748176845 94837433 523571291 855970917 637343903 124311401 787580883 49506975 514882669 621466005 822818483 18852731 66101747 608660615 242480679 26197469 549788693 545720311 957303301 825653133 257380063 732889857 856089553 264229949 377740419 382616873 472337327 571200645 851013723 401310045 282385775 669629673 370764269 912160501 573092745 946080463 943918561 804510891 669728795 48181641 353645839 295421349 691336685 953075537 494657389 561266799 638459247 846605897 864330019 475525121 420150197 65391481 395933559 885193911 228002179 114119123 401887201 170760535 763545659 139562287 544124667 756494349 279339761 956188495 325640071 59581807 362585947 628721885 337748337 830501241 67480789 169261675 557087947 885938833 101762411 924224367 364239059 125738117 168849097 862211915 165551849 709911435 477599047 210742347 725003675 115639613 332141797 106108063 714679195 572575139 171165771 581485919 845500101 291635243 808247749 80285581 945149723 311681703 224007245 916163347 210381769 375877207 254227075 199532481 265794081 367166173 215755691 773907537 125636769 969552715 369230519 607787877 281666027 867383571 340365115 521140869 199935945 277579539 819139707 780827425 461616175 918016143 830449755 134972821 468487737 747726903 530015851 238256161 362464553 234460445 983740643 994255855 92622699 605735873 98170273 334115855 396066195 234567433 318232877 916899451 249881435 488470335 463221685 776077589 178552999 379182361 338108435 709842083 76413569 976452789 431398083 235403739 274738719 251808409 441608431 725801043 957125081 459250353 398180197 366799757 834700851 951832915 219916699 950860273 201000153 295620669 953060531 852862419 686016415 778371473 828673137 798567019 944792959 849851617 432329801 318564059 391953821 181970973 398530125 201411369 408106565 558124199 208993343 964038987 807733735 637289025 374240389 880474647 500597281 826252827 744440113 227178575 420990135 779568583 410390263 859225499 670576273 138928709 207267895 510195599 514476741 764960505 166045177 961193635 149926287 80279217 37600493 993341239 614543183 530137761 18761833 980387479 110154641 295168359 469283179 201713 410507275 810414089 816062877 82727777 815210389 787314419 772131405 134464741 966948149 762828025 818270579 43897707 157768469 18166877 136240813 430537153 114911111 759407551 472677955 669224351 651134471 369199407 592995363 187483819 124221499 663493923 663121639 195573609 140492521 722896757 632870603 94969421 283463433 504689773 165663929 913657521 827181749 604051385 169316671 823592917 839984685 511947627 62014867 193337313 315404001 941457667 480817303 799762665 166254179 757775971 6744527 47005155 695575403 95053021 615252589 351327155 351874273 653602339 635087431 772479011 810366667 785590611 693729501 419915489 660671329 246771697 962200151 28288647 234038781 321145069 365149825 165669785 626336801 566132123 49160149 80195453 357265529 813351607 928781937 219781511 635921881 788054887 246072095 923061229 67110969 549258297 876549705 233915091 900836801 124814881 284020491 844653379 995786681 484951933 554650147 4886571 728809877 949868819 128405751 786224997 669777393 350775057 182130327 124404917 955869583 692644361 337308859 828461249 290011739 673831929 355414209 659427355 169692777 564434249 941975727 638223935 722402035 513999811 176106553 996705419 223107419 711624095 8806321 257674569 140756017 313772153 697434905 172416683 874837539 329403477 718295833 489423817 14976271 645212321 721566207 655302055 127694071 820231477 967557313 206835243 687718151 535404363 684097537 180826919 417086611 776703625 142615299 330100565 973874197 984086013 271105721 916322647 780404785 965594907 794190521 610618549 913702067 154780353 198656579 963454177 806781835 835065397 871852351 221955123 950045143 909463585 386729785 308376815 886766299 256974239 745915499 515937339 926810367 914675499 124742323 348557609 879512793 515569063 797599897 780365235 446387235 745976163 728748621 192752059 978928833 796765973 252696229 597015561 126353855 745325271 950624801 403069775 623665229 880577329 653105639 836491557 868211403 53149713 328129223 130360589 199248311 12690377 627506231 469489521 828937409 649241625 977155417 736983201 435719097 970879269 77818355 651026903 682316699 148726905 158787443 418883637 610590605 88007693 583075827 721845699 797224917 845583677 655168815 846617715 463851755 892353487 163601297 155931421 389604455 345910509 146089765 725685379 196925967 550366257 464402599 964032079 754312397 878496405 28244081 678061585 681345971 518292351 845363599 968969283 496238335 533276093 773894829 939476805 679319313 259053189 2092835 878716515 468505975 13891697 255486449 813402829 185995747 458812041 460934845 298538651 289305391 856345401 367038679 128561615 715461217 45295447 974623799 929980241 487719843 110916897 966408315 430030325 972007241 197581625 29715437 665604979 978911947 245636017 51574903 750970733 231269329 57712891 751175349 705882219 724802339 473341683 890762981 234312925 55665077 441411043 342606315 191102495 645667747 187076979 644755547 355368817 997450543 858112445 246838635 338449147 928703429 954474043 397918201 536237265 254250231 696522963 658360717 58402795 665184131 302398675 17022293 499472683 699646539 15451631 470071081 96256599 456686937 129360197 467838091 956760869 908657889 223376987 14157725 172475433 277848639 598255133 317997619 895906793 250878197 533608929 319496897 225267149 449128881 444240995 79311721 350551845 659407169 522801865 313429231 41966633 945912229 135456163 662786501 613777151 87741183 140074465 311954689 362399915 767527579 424254437 784530787 859762209 517051369 919269489 602780241 467568955 873041287 278328243 1614557 74753977 261796407 662744643 767760571 797216835 595422183 972873753 268522315 679731565 253214887 206046623 841739413 438782639 855927731 678734497 472990279 128622953 772021359 317964115 628619451 486209509 121322853 85430099 771694063 499582551 271037771 695125157 486801545 461279187 684328441 147860153 403608793 203868511 812960629 594027875 910846421 725408481 692279015 229242335 613488671 895755309 250614181 560113619 122970877 562086905 736357417 91825741 430803293 550126827 134395161 889275075 175075543 474939015 877740603 751866895 277889709 776473153 17416071 786989945 807167681 170357361 98106389 841978285 195535527 724913499 736701227 62317505 838261395 511843365 275542835 186150963 293287015 309716963 554486975 214732773 127398055 544637067 362124171 287800617 246186885 441044481 377354621 319531185 723326423 318315279 837968795 499052697 990868509 447763555 798667549 252216683 287448957 621002135 481681501 153214223 610529991 429022765 234142685 22833119 708410739 872278161 629636935 220963733 499688095 995835663 890002547 478890583 575608851 222154467 196328023 413706675 581513535 882164015 885990427 105319325 919279161 406935035 894233095 817397619 100502719 696068409 463376527 68450555 457886011 687380931 550624079 144732001 684608955 711830615 676790793 318233659 135809783 953932449 226467753 783637637 524949835 641692211 185461057 280415655 386102723 303314819 523772175 261776491 327513355 129869557 621907315 4808201 174918781 380927953 230972413 757228827 692709141 903589703 564974171 771334825 882448507 590964597 277855083 162015009 322890241 670607959 656391727 13958485 136866203 576760537 223693011 906325381 356078827 614485963 265561003 621421653 125014069 850037479 948478001 369099219 352550763 337856975 54085127 433960563 665923875 762248459 815575547 426611219 322003357 608413453 821528833 247984887 243063231 418474285 738230065 326920911 552057369 542173869 807607503 504610223 658684387 412882359 745731399 361926931 580628475 431331931 160827437 838467297 732108265 542104979 367542843 477917799 844848349 604561985 955947093 207420763 613705387 709947949 943344775 205982935 583166679 437592839 685764865 841998947 808032133 260239723 619610913 159504107 966518405 958812635 204675691 767955397 636664909 87150011 848448391 153491375 121665791 274746977 633060683 313183693 862938465 863991301 595184563 56529067 884906977 732265161 675758303 83582785 902195607 580164021 633603611 507185643 575346499 956765625 442101981 48403309 836834893 891177649 608295357 655351 149576641 493751901 127732609 834058267 130081115 855247719 683561489 282904025 993826421 64044639 583293317 509501335 474136345 828635839 731601683 277212957 66127607 868354535 451325985 47210663 422264421 679267363 374730555 917572045 785259875 862672289 770648851 878098071 285655703 976314749 666879875 56040049 11135569 251829943 147936401 618052913 510458761 496924985 732686183 459321363 897576157 549592787 18317655 889134783 33901461 438769725 802080991 80640063 327553697 902566941 691561119 253408777 465224597 646107127 573606501 38601981 649822645 129247041 141603363 841125469 454432485 951836239 142178547 216752857 7912117 961493863 282767387 358263683 659530075 432513457 678280197 350226139 987316409 473699389 598460741 978935749 460117843 776453379 478683539 541890703 964357469 77237225 741295319 219864045 258280361 954760627 759802905 830020093 547806905 614101269 278942861 843810627 722509747 242659241 883417743 824858031 442865001 525415663 853967521 930458005 294068047 844230991 752168559 88017585 222511751 17696029 882509773 730819881 388082901 715687311 219795893 912886925 370204075 397477323 4061513 501456077 932016927 487811029 551773911 958820681 244978415 53984161 175772371 330810823 754609031 771692553 928039125 643787125 443161329 815129547 468996769 634542053 676685287 957504661 165409059 99837975 986939591 139680243 427145071 494490989 309581465 553682531 459121087 763002553 828704779 938039363 445701239 382943021 278782071 916467421 754365217 933430117 344021209 198823267 629430131 622447723 746850523 507909615 581617733 791698089 339170763 580148351 881985179 520863987 579691935 808561665 94953633 907623817 32764921 923070273 52066475 458708239 432674589 370645499 328251957 487912851 185253119 275470289 125085407 283324297 935308849 995444557 935141749 652741841 391912181 989179613 23626989 196574637 473055281 286257627 833417567 235530187 886453367 40756105 534997775 975064897 744610043 325682195 245181291 766012811 445703325 594660229 628776963 404090001 177499367 612846811 783284627 640349597 949127427 465362679 41509633 676597351 161298125 613470625 228435539 459845641 667608515 140404875 925929409 835763723 800126987 693493327 655342755 311285083 640853877 850464107 176739967 143798091 249184377 39550795 53592575 920662171 689399093 422170943 84499445 474880623 458173553 251448705 228863071 761299797 123220637 213299763 584961885 199646785 157608653 888096861 145769533 660936593 558782405 340297457 839772785 758542859 134143719 841664967 438581395 410001371 850877255 345902755 175751529 463227797 503491737 50917417 682608861 880391995 743544895 344215281 903524609 823300397 867058751 276970095 135311123 688785211 978305095 241970695 500122227 860436891 138300591 74612735 307602863 190067175 933417847 470508685 389753721 598764071 328967495 291337415 142813613 887012807 564310123 101337519 999294029 560203935 748619229 974157615 486476421 110557159 127171643 174247703 590282153 576244553 918388431 66334753 129982003 59448785 902963331 483203823 49194693 885578481 720240883 392382729 283880749 987350923 352626525 638154719 357179231 636256483 507137447 164611535 600300657 777161635 11114849 207799573 315662253 193838821 202516675 893770459 921725305 989754147 735156651 333308981 567816299 464570179 21648545 958676763 446571581 187067795 806064083 124507503 826163921 110515913 591106587 74466809 807260471 343140095 573024757 844677481 401953949 482733757 690968715 761950555 258927457 666667503 937234603 457587535 812609029 785780459 818997195 686990767 634134071 800553837 701845261 555306699 335345607 998903197 585387573 12253147 636528561 336069381 297192629 471491077 188987161 46127005 150274725 821281103 201470537 416934593 951468993 168086953 91216823 356748853 155253361 220832239 704437499 266748199 478893253 3337441 841389529 811018543 403463541 540982823 698800959 14933319 728964833 855981397 544482365 285706965 560330765 608600803 287727887 776900261 980672939 803373361 643584537 589484529 760734993 812829067 76017383 192582481 696148285 221826847 798972201 108251595 175850969 444111881 451677119 143896015 158637619 751632457 913724327 818676273 651193923 305578695 8720145 330197805 458727847 710629975 6161997 67521899 502251687 61480625 756081881 651602165 734526769 606305141 175727701 787957313 253174239 961404717 844035471 514820911 480427757 786246219 473516919 532707329 762328901 700547625 238759469 316361317 695485301 25085447 275315697 373587059 914493107 661896717 494651951 89092515 821946849 542478415 258268281 646600671 598341763 822132163 232788877 659167347 214491083 919396175 776622667 132993809 682583439 252548791 977689793 416265435 374253903 330729903 701877537 527321941 418603315 791159505 539910855 483097963 244100871 22226075 165701941 937268337 948404549 611534457 851461909 276560679 450301451 390036413 731343679 844694707 556237859 743542431 409666987 839773599 453551607 326678335 403896955 544143585 853430435 10689703 555264765 473638103 220889317 940756425 142487203 931830343 384173603 499124349 567061001 60438365 714425197 201185415 568630257 327130287 441640057 347826317 129779785 413185595 354065577 767258913 327377695 8029795 232376835 348965311 132437427 253227257 754937399 323333573 955524455 539323949 990675865 808058749 785926853 883472289 224529963 220855065 342589057 448500055 494179477 118885809 281358455 690324159 639062821 520549961 842812587 300088747 219671761 5358791 81512005 728805211 286172731 327888125 745185435 927041395 251663015 518306215 626754087 618242305 243452679 259455329 303115149 553591673 769640177 248850361 49106583 61474745 637689253 925190175 59095865 392541447 261854475 594512621 920192657 347509263 624578735 452144737 894414301 69900775 344508107 399560615 233868683 717304075 168658749 967861711 567790127 420121699 32950413 481256147 145461637 504615481 207700715 593571989 226676077 287153475 717659437 111346141 456650483 894199713 130669521 147954013 446007629 448192469 58270209 156375213 363660499 468738509 659077259 200799055 943377419 671744481 491629799 917810605 292115613 629915081 827628595 358874647 480235103 504639407 182413879 198164937 388670029 933341471 870448737 667702239 633795463 431190541 798622923 691883623 973543515 461040599 868810545 351966033 677770041 113617473 234841083 864431477 222284225 338348667 183559483 19628437 859828147 30325273 577322917 536538459 943353849 447876631 528152987 1698391 275625899 300373979 856794145 931059459 163950335 584738355 101753321 33181121 18060893 632029779 910145099 253379031 600121675 85833947 799733315 553040507 83352449 315399373 562503545 590816707 436686809 988488855 677900093 357497777 10853205 782722831 994022279 245027631 211957281 170877041 429949941 208972045 821657743 959176037 956698831 303942405 218599965 931257847 159199237 950330039 247089771 872293017 215931437 883028143 932985927 276996909 61088133 696273755 242049187 312592885 145112823 875553303 71848859 454828705 461957393 914868259 211830129 16885059 821553931 692501929 370918801 34970971 194584003 917162169 719857039 160461517 731206849 817458251 675667493 936129255 730637107 519350597 746549 586585949 811656433 800123755 86005197 731816783 800493437 630416499 465245473 272052797 607337721 778360563 887545225 535186201 584936249 32619883 788336777 876329271 880484017 119635273 548572365 302354773 216976771 311740891 319423273 600680597 379109491 384647515 878268311 234371463 405062131 698513897 390467131 343371553 520734489 101052047 811926111 614351293 921046693 266015297 724399991 372557347 138837501 52276947 484540447 637295745 734064691 206165515 376851227 115754345 272086265 856782481 200634963 11090651 525179829 157665011 517175773 716882747 376004201 337018543 966314739 852525141 795804869 662237987 693949689 248094817 505970979 350645915 494791291 820040443 931389313 366903109 863450665 880580137 72908421 359108155 642703841 6515543 922999421 214838401 173442983 837409369 923096677 216325117 3477155 881486449 922394329 915959939 801521709 247600959 334083361 963314379 59481787 60052435 59611691 573130613 329079539 108311457 668205455 956279819 379115681 505778569 970502799 480269823 53467061 832297677 899647245 312269227 137592655 413040155 292935837 176851789 36971693 67794057 556834675 200010257 910074431 848561299 4235631 752737033 372977301 396608289 87868699 170909227 793886061 256887935 450989219 459473243 506392231 805799263 338415839 46658915 422486865 701326819 950347343 178269425 966779549 761673359 514985497 79435167 850496229 751396685 788963085 837467377 517857967 80949367 515468451 601291597 262310821 108243399 703905785 285763333 277626777 313348963 437395671 797391701 706896265 298168537 511672493 255736667 481396373 689757725 363937681 489188129 227380491 441370253 458028353 197198489 62925661 891946479 393521191 917676187 522641703 494448495 862645329 833950185 300819499 507852963 531953269 503560237 954496853 679074439 596893941 194576633 566807479 576382081 562672855 61966019 291444111 719547233 963619529 359490543 399843647 729886295 601385509 688308165 941962321 346804229 219009511 828846455 931485305 252693357 747174839 806234397 595878035 517062399 357484775 815918265 682871201 519004557 144356715 720248629 249199567 857234775 776648421 116798305 801470321 165218561 653274521 985489145 452250113 630769303 550791545 574277529 468711203 742652561 364735771 830935503 821002145 394927819 881787583 430575627 778097263 413049227 719109451 540580261 157914025 667604093 532077391 297219551 257420691 682536885 464784387 526270179 928710037 600503989 460888645 997926081 712308549 111583581 367989149 494184051 299812189 244372221 459704635 575257307 752382657 839956809 666076403 345260993 788025723 425415009 566345801 17628887 327102913 766588103 503222625 147043509 181904619 159564393 164609035 676865501 551936637 859365277 24858813 616642489 730934053 432515361 205040025 376624025 203674547 602920983 862426981 596542903 116112931 857865489 651728527 11748915 941364889 676488449 933937199 697847833 205336673 524543555 743457541 360131671 406978795 166015905 604343929 743660745 372272853 307860805 587174295 394294063 101021411 49248195 446116377 125362739 60668159 575431963 580848479 696238693 223703867 842763697 518028653 150164799 100406483 20566867 235436533 404028449 551621933 501262901 795772237 592107863 48078543 243730421 130827637 988477713 965684849 288503449 130683667 367884389 143973867 148534669 119884919 835824217 754467139 204596391 102604441 98650325 897933219 207026981 447942167 729907113 37592157 945130153 409864249 656945039 672688623 767953989 395751407 214858023 441119993 221208937 903856845 222779389 422084937 396838647 722139159 269242751 833840849 728646705 375492017 346024457 148629677 992170949 204604713 912034777 660837407 661330123 503842491 571061789 405583763 370076093 61825091 410592227 597275547 124507009 894936647 890094883 660562421 757487203 750344955 846586819 588820097 284886811 738858289 187854983 108843085 703841221 464161643 108071459 589444235 615084263 405094095 330952753 812714391 37570157 260286511 815363121 826807795 718592173 586517759 888990347 369449291 700993379 408703583 268241299 767393139 439615157 843759129 539587713 751564133 584301617 455640473 151984245 672713285 435426253 447783159 371270521 601863261 539926243 445466097 430518655 343022113 332556091 344075505 922829153 175225645 134276097 335226375 823780319 457473347 800244941 716619749 217047201 357601617 540181143 951616239 768415545 673879141 954153673 413665835 988034595 923162815 264717869 662628425 502756285 699070145 145015291 773190303 534258513 124972535 909660367 474117163 212773905 751204881 671216047 11519127 113858583 106182637 813225733 923236657 951710561 398197389 815550379 882607087 551799005 286138399 59568091 252696179 79060823 157108979 229281339 172822785 139899533 191559813 323863257 496339341 520299037 159247481 646236201 594664617 270339729 826577817 446491145 74468503 919088219 951621339 674332863 116699709 912029907 841798743 932672503 116343853 174934845 104017491 890400711 745743771 188097983 32817719 872515501 483079527 70487147 773690779 767896459 83533595 672830523 992599349 778738867 568899041 463014929 688176619 447007445 597707669 593663925 546675145 536653587 957288373 406856409 256785151 449839855 667249767 355606551 144852717 189429593 339621243 217077741 291489555 808451491 776026473 711731143 51930651 131229325 5116495 651873013 929037021 642685755 305676021 708093875 782599503 335181883 680603593 826286109 933734295 844287617 402133477 136248129 83415297 366874219 705905669 374319631 91115263 20161213 691523987 524955231 469847085 251061159 345105821 25795573 209705291 849918909 889442777 257529719 974998089 729613563 939519401 740231543 797815609 892202441 721740563 553311087 987221843 252553713 320924101 442354881 152853503 325425577 455130135 475995061 468707269 60328081 634425353 42364027 221417305 379908267 378292291 817358895 572608663 569624421 336495377 552350675 538282881 5529237 125631341 580696907 178328899 475997561 658970101 917489263 888562479 109751221 266936819 52318707 41606595 487362645 740483153 690432633 972440481 725138641 797791915 193226125 127217299 173572101 555214911 623311519 544160909 67307829 118791411 810876935 686610091 534061841 992304215 355216391 583069231 715900077 195649187 996117447 754618245 399656069 785534389 840531037 62661441 468564863 406917653 998292925 191273757 672431081 464997361 902979017 965284605 393653879 457737251 228825933 687679979 562254663 769674535 65095927 959235355 122482399 77571623 88154211 171734249 212527915 151256049 49151761 240408025 921570945 566684667 907952491 367941523 263073951 815049575 106499521 418643949 41329065 207563257 11166541 962524641 777262891 671877923 688515375 449251987 305484573 605505277 371041651 554975309 489959129 10805571 106975751 744148869 219574313 794356829 618800583 909628883 986262069 94874715 971183987 614957821 745144981 294247925 469663923 545927147 215266887 472151947 813470491 871864755 333953199 662074913 303579427 900078223 656944283 47961193 718730539 135497957 488781119 847757753 414444671 521369659 891041081 87180047 164415565 928227913 202022799 282448405 425306289 424913895 751069869 84021273 167165355 713712667 682024809 813422867 6042659 666417933 699048447 466331809 976522989 700151573 146828053 740558091 998486977 510802857 346747579 386029631 108533823 546834031 231748961 224894679 744371441 257252403 860298473 985177359 166653003 729193959 56794517 504055761 533380513 567971749 50752275 749051307 958339641 822460851 740821369 31379923 148688441 237593467 290245189 217862443 827205045 410916495 387881819 447756087 71967141 220385709 695385095 199408425 145033961 765356469 72695297 92065495 397356363 643978933 697663077 952257985 710052989 284088543 931141305 115874319 829786393 187812751 580198375 859560845 40603549 31986759 594925897 951696565 990452599 725850547 446182809 841038757 560103411 897828517 843459581 892834085 203523919 697003803 482756355 243171237 117708713 581453111 317983647 957116475 487678987 373061187 785960497 380167079 235212135 337134515 403304315 785635151 162422677 415963171 17203115 933576771 16696409 131274325 821447511 882587193 982921817 866051637 417203835 523305619 233407017 28639703 781384063 455566679 688768319 257222773 944748077 904565813 146799871 381249905 719656637 433904513 724289457 649024857 725979851 946335037 490962311 751628001 571574363 898519057 587135897 234776545 85368541 354103371 668418283 907412573 65722915 423974625 257792355 528569217 811384685 975801461 614005459 261012129 761886303 397854795 578044919 739551287 625521159 386456917 152413549 745734375 904786905 427045161 228107455 220640891 304612019 388627207 962759517 596701929 414487003 392225495 267731877 156324169 388934141 92791845 988376019 718224607 28082223 894753067 984395539 930118169 117963501 293967303 528169077 191180167 652857117 999787137 1303541 992567525 997826831 467766153 815469935 76992535 133553011 37911989 350559153 131984425 659158123 77010819 223982955 338643531 140205177 654418973 794203189 659038939 310871947 754184273 441038225 148011613 717849591 920957335 932431337 830412411 352510331 377964301 367110031 318633223 737251387 919872635 645375929 727385341 233953221 454593359 125575049 150017921 476418571 507137955 359208715 952849119 967069807 418290483 835879471 820091273 516588213 696448103 831456205 624359193 71887881 969770833 236727975 805240149 282215423 30844581 970199143 952992551 320032663 773081797 827526813 335343009 989549111 762255541 228590531 633104641 763664041 874379047 909929531 896842151 285659683 661460339 508467019 663248161 838328643 955332243 790128169 199180577 979215119 481945653 937094891 476898945 326905333 882425251 709282195 16562759 579924167 434983127 666495243 492531869 888356803 470094191 917608995 560834007 664640401 706308019 127792277 243102573 766747195 64274835 254670849 348208391 189662265 698328485 831902451 879928685 306797927 994195495 215977945 318605203 313392137 181000707 863347215 839237523 202978255 939364295 994084565 793211317 136676043 1273515 256148565 574827871 434115197 15029133 846437535 141032485 553198281 214550517 745390765 729022149 982237949 886394129 751133535 969359905 234837197 339287737 395831425 992157251 31569751 324305005 844787649 887009631 152040481 897661013 680360379 771505873 188348439 909278271 762450671 356311579 583247503 373687457 466089157 734869481 515030085 141705629 51077777 873201423 199662177 521539063 704339083 916806535 419113325 305019425 859064531 979878261 131202143 275937073 721614963 870602275 967742359 553009127 336336991 264141063 936101847 944306089 80252523 377974457 287850319 842221959 330814557 253019645 769673873 428769593 399543517 397029569 814569885 938741791 586423417 604859667 998829781 671397949 854205615 171065909 325183499 173268291 72430301 19971461 853451121 634849675 795227983 769910671 579817637 15896851 524333619 986917129 963196845 770107007 992701091 375364555 223504883 287702563 705763235 912849881 201244497 622447349 591061275 571277921 16077569 852994451 610556633 799281843 494293673 479149893 159754139 979070795 250612057 540053241 330833919 611904717 86606465 471732295 645324175 408491781 961707777 474106991 971682237 72209893 548987935 283601241 705225443 149552775 388967047 806228627 391611711 930742833 555838289 979227731 311939071 64900939 845955829 928869497 725503023 133600365 53804637 634526095 602461645 599784781 483225043 485836737 836746935 923930065 376971791 145967591 129521591 771677957 268278573 252716161 885492095 120797723 695011249 972184757 159088039 174139247 600890251 404656467 438450099 667694977 357027597 597788115 433327625 319419905 78575607 38945107 912708347 454169793 897460845 855216027 722297797 823827129 723941373 141267995 498827141 593580817 88152731 306179305 242220101 701877265 617210279 685876163 564779511 15151661 280165601 135195923 832468339 395877119 493565307 650611431 536267131 840225357 323595017 38188021 393892793 480718081 909960841 392642207 313984959 746457647 614290269 873185771 838929923 942192657 413627989 529850503 86025961 130624777 991314087 824583115 382367673 141038245 661246191 189811897 132593573 158954647 417894961 443599091 854369477 877411771 198869723 95783885 213627675 261710613 321035205 190210875 802600337 146468045 692449575 120560861 486675705 897601847 990369707 663243005 522087177 980431825 63854941 390759303 111097699 129335869 72344753 932294931 949600915 409265989 237881733 815525345 185563401 186051039 488009245 271597271 618432029 977502243 992191017 239720069 464491281 134490709 261842365 390328355 34588175 176823777 186636373 899755151 463885609 338463835 614898137 740891985 593732437 793012861 938350995 728934809 297130869 484665643 561419065 833107259 264323413 321644655 382691817 10256827 425720485 331633279 395338025 696507197 805575165 885306547 762380775 966055823 464521695 917733521 428800885 808561453 546515381 461161665 298158737 88840243 661070543 475686425 747479651 743724391 398356327 189047955 643193719 156419389 959726493 381231187 719073471 269951175 971926653 71851173 948893853 113836743 529079031 830542075 469883861 441394853 448814307 793690607 516972689 134518637 176817155 341142599 21559659 595570905 170822911 409085419 529709661 475896905 446637675 594069233 765415885 496065473 355919807 867874453 164103561 826641139 932683869 990967351 178191813 76295221 293367947 531859557 922286623 996629895 628602495 916664271 465153693 434759055 86682447 809202261 421870251 646259869 132371963 993536503 141272607 340933545 879424625 517096927 545754677 78828369 395334783 166884197 881245845 670818013 49266399 902394111 392131145 152326461 560314417 201792341 228751049 385881605 149218817 565820975 577408239 808059001 782994365 182069121 240166405 423554683 106445761 68140645 78493875 107272095 971654733 865000993 469727761 840293403 71942793 179288351 566417565 57183693 151424393 419600883 969977659 935448891 660460357 966340693 28396601 280629399 806009245 276096045 208895563 983167673 630163291 507511939 385422223 404553757 98688307 247681163 85621899 401208811 508547769 675768993 601745193 283585781 296485235 826127175 830984643 130634927 857918407 335353385 621548051 201865273 953207817 531748123 104633921 63062365 507428209 148118805 807278039 403104135 660643615 618569535 151546571 220488397 953227549 356722657 379383421 326145267 177550685 981711215 257940143 241732189 399568057 331865477 475925647 973794589 363130353 440411111 730685363 920558565 572230317 139686781 264294681 313369881 243140225 147299677 864964133 508652991 578825699 456469441 207105955 896971399 92363575 593474317 923304651 302220485 919340485 304019659 810839609 55709053 821892801 660847791 983968497 337730643 247184959 889996693 156357987 715536533 681121861 63552641 99686497 55820351 350766521 419250587 726643755 727647469 734974829 58903865 474975079 158315237 801319197 774126805 38227999 107533849 527293031 525680659 473931465 318549281 319679957 940959167 117082435 317021241 60944857 595740873 16109011 74848329 191139787 994231633 383572005 766473187 129355503 34907029 222347343 57174075 496100203 404163845 861063117 479209009 901248337 747508017 477406855 29013325 895027101 675907797 404987847 450278591 445607213 514924245 842697541 712514653 934966219 601080637 667239965 851633575 304210217 125261887 35928019 449578179 950511583 267513653 771988309 582699905 473568367 577600933 648867835 266223705 68224067 634798137 546438271 709493609 983185581 686648771 274416133 705366905 550423011 19617855 596288799 70662903 574803977 808633299 498242239 403268861 441364519 110965703 879270723 506934343 859345197 493271949 828456817 992934463 874359033 988425669 769152885 548440563 931667271 291595567 655384549 326026009 995929283 612801463 660729533 109261587 406769661 142398831 781851235 369033191 434407535 6387093 183140005 68846403 336034171 834331017 177102777 89203583 739390825 744029145 14257977 265195163 576919145 428916535 790355245 48725821 7776153 708941183 1286915 433369527 772546549 179444915 665790093 853612797 876647785 206862847 46716683 885882799 231950789 106755767 248333343 427412247 525105091 999647059 902307547 567416863 274481667 515223163 450757809 918078563 479875089 267164151 996930175 890553121 355356509 635303867 889079177 677914175 633052735 123109091 82778239 305188173 140851449 603651249 750993011 582830723 213473461 914759059 273773541 559442879 590691971 828228631 460302267 701810057 531013725 726172157 304631359 647799311 268584995 770792743 175179303 754884651 772806305 238321311 957783441 306632793 46906501 49225115 482580739 786257347 366743403 332866163 213015657 384961847 515977939 130428843 302021657 826868267 919418151 769562863 823533009 714898369 294071479 465941523 641550771 76344765 804573373 576537105 936037201 876248977 290029657 741122061 378450587 762481491 212852119 990776403 742952691 194439363 684187237 382285139 948863515 58794057 729179551 906866861 324530499 229056497 916775429 156559903 618775037 97438325 823792961 400732313 282815305 141970997 642117345 309570859 748648587 905142837 457929571 333715473 646316177 321600807 761825575 770742703 150509711 782165087 558965107 771928465 409019683 912600801 493721979 457712487 167032659 476463697 272551769 997440017 60657547 886974463 399710477 235526285 802159775 252755939 855002495 321145611 79176401 865700763 829952387 2295259 299061441 613930863 193035985 544952443 672495231 811014989 709051145 970720395 868530305 142376399 900607669 817945815 180338849 691220785 543711817 411952725 84472615 852576349 240800025 599488799 602214849 251109855 155115627 121343351 294639233 113708275 586977381 137046215 363186919 667166835 17951003 122596519 746140885 914424811 902798725 990041037 994931101 107394695 445655683 753275681 970060529 138684959 435887071 479626411 214092783 563284019 217613643 632576159 39116315 679044843 546178401 6097495 938625637 645738003 985152159 207396185 742244385 471127077 23066227 86362191 193209867 553344831 616141865 635280397 190638921 146486825 221893631 254152333 561386089 415528787 547459603 22967281 636671071 434557395 727271279 231653767 699210633 450942569 121347845 249081537 57262765 69907579 700279983 397043771 120613881 975813401 737821739 97830583 21390847 294905849 642911781 238375457 899160253 787309181 987713839 355785869 122348699 904705195 347830975 883687733 74275683 138281009 58363449 681186685 914782029 819738985 851512805 34678767 649775091 223450703 507787253 431780159 932712287 712114573 871054723 697558345 73059065 636533617 557745549 58439695 835780251 148325105 644610047 650327231 997922687 840458415 21741739 800108201 262399307 447715823 473393735 340823113 894169869 445110179 151811447 410288705 272781369 300372833 685490627 605785185 95206317 615632489 893165725 170035351 929511597 745785505 492372573 763684353 568406505 332524955 478956869 87611363 962250357 657491851 302235775 919913125 974088911 529396817 345286427 226992349 666760153 976206965 596539157 990655045 286195171 315695143 476818505 285652673 512743843 739889725 923579269 851986781 423552307 595578677 431590777 505756491 277179675 216326713 2241469 82256101 327845193 676757015 884788181 825481903 264654351 297453639 289341991 520519767 128210733 750901223 88040197 361326509 704103111 141656767 761804713 52732335 103615593 590822973 882698549 437183357 453191691 347142265 16690095 658324835 919360777 932063029 561578253 797019095 184102185 324703443 772057637 575431795 356581781 680116071 112714169 636933879 522733031 61708197 144052083 672519763 346374425 58106863 244169955 263378839 784505489 944398665 692465795 20243201 295444253 644225125 993162421 756888305 382546419 647794329 537328321 702191861 170234285 393533157 420616151 492404415 525564243 517693169 344379923 202143531 683154769 909240841 133271925 490623803 305288829 15108647 263834343 100624153 858962709 83937513 756649785 3989277 205644731 884745879 550460965 571495615 260412033 942947105 568295243 558253473 814192089 992656157 138835255 833489041 983754143 54317257 802348631 227688065 502544413 211488015 803258887 382690701 106899195 648258173 14198663 740368375 308539475 786516555 791822593 544201003 569150367 549332311 278006405 554894525 947778757 596483879 247975181 687492967 941501203 722197231 432367481 331134987 867624509 848760961 402813333 195348663 151648609 465263455 780247823 707746207 333647365 100093873 280483971 827373593 525070101 854774085 969366129 946045359 618269157 681515665 959278657 533941511 782427447 715914677 505936199 350328055 905905195 811213179 689733051 625791865 482412883 3096143 676144061 454474415 934023583 117555017 274711129 85772265 890374001 467653417 524979837 952987285 782230411 447779157 407252997 554034001 710433307 292370653 264884399 874012897 990942647 223266681 573898025 633705773 717089373 373130887 75718145 359339595 621476977 81332753 671504047 86279541 52740545 837259201 702187159 760158223 146893441 847202803 84205059 611048099 763176527 496396451 77819681 920935911 988154159 888879739 749004045 575983539 280775825 46405577 485294789 597295629 224310345 815991685 640670263 965904413 78879123 543090765 782239023 318670137 742632469 904051047 414969451 395026909 731621085 87437255 517543561 165279913 248592225 239240447 269107475 733283689 100472443 551836753 648610683 105490451 265156467 271018405 498444315 188904383 244175093 626382985 931079473 437877171 168274967 246665011 221086187 63479897 155386711 206496643 433242453 83469379 621230999 524822531 385774445 501359919 736948521 558507231 200275985 786770173 850976959 151772911 936593931 935873723 763128949 712942769 369865741 45802393 483373781 843886929 941395375 89931255 749476295 921944473 486839413 585405525 374781861 738362115 153414341 526955615 871284777 696834733 484432115 470306279 248538489 569952863 715690549 380745707 34527011 440350089 760996783 961748875 520966427 854842943 147807081 720261909 361886911 762313797 522424149 226258171 136075221 321498623 86557259 841408729 80790921 394730877 674128655 479677041 171063153 80161653 393388871 523591343 958930569 617336393 19250309 357489317 703407161 631889663 225875779 412690577 209671499 808855621 681701859 955989717 301508343 125688179 356454317 761927419 120057815 875338635 61481939 625409719 761347827 312329775 263021165 564844773 429062329 765900467 283410813 749916295 108570619 42358027 893266925 46417353 136231161 794978007 514761359 359371007 799638103 60608609 283203353 992734115 877177891 647571861 843581743 939970391 398239953 633208587 165854553 189000939 975454781 376869633 351730183 415886157 130572977 362258531 181187221 451982491 796186071 296594363 225935941 617461015 513449925 656993859 281166651 433590831 767763959 886792921 132966799 726598003 181335123 739936517 117870133 529520543 60630567 719611381 708242447 279472023 519348009 961808259 626830569 744276325 491291251 759993645 782876275 924627773 318173069 833048343 748422981 797403773 575543139 164805397 974664673 763626659 739653963 630059933 212567473 556014685 561161219 524903629 885591045 769131137 623466671 987391339 897871127 608450821 734927323 979165163 456399111 303408655 761412223 578884959 204751073 425690345 177145079 934111881 816318869 939569929 542400007 854908625 930798331 932604167 707404767 458407747 188074197 822769577 177684241 324666777 918867915 366820057 547917725 482642227 544569969 896313513 455057385 991855125 426547263 480159829 483984829 882713073 925962903 249751361 551250261 275649821 227166143 250319353 471272521 93080473 238805485 552385327 162779297 927467531 400037943 595472061 938891209 189274819 199284127 362856105 966858647 203370681 279600653 741297181 271181127 628550283 177738069 352314475 849474177 153605505 118531119 980147217 721801807 821625993 864326459 676631983 691429415 555845437 751433221 542033171 671707881 371230427 400139771 407041071 943014359 790992199 612514681 697432095 659689377 957583893 10763967 325186085 544898393 758892923 957912309 793169067 206751103 522765653 90330415 713577545 558267127 39620655 223964517 578837687 543858703 463502389 693494135 669476823 690201467 517644353 291637809 596075703 728432473 124586191 736199233 577454217 46305325 425376519 27710273 920995241 173174759 46387131 113071285 454191257 210452699 308384351 826491653 196003077 699585221 332745747 689394815 235287233 862805451 257193121 149119585 713402567 916280187 822906739 653913545 709490233 358672331 759999141 415972033 807937895 433909269 104517621 267852093 878426303 18968097 275074505 907923473 257944031 598406429 474893361 800133635 722095753 2298011 534280165 501064377 51142569 294419865 477856067 343953351 250288211 236703103 926866771 336828323 346414273 115044121 784700613 369535665 689755991 221190043 856600813 366088763 736840607 885639585 230364367 572317039 846965583 327486005 5841423 795278439 545392447 33682369 534117883 787029287 55188083 471857945 47130255 846774421 855405337 214008957 394463079 552800643 562866561 506562705 346055369 468724653 125598503 429763427 854206631 491202737 897312687 861229927 781635481 490561305 785378275 196104317 852578779 593616727 907378361 109807335 989102165 472875715 75386441 41556563 809150873 845843617 916375257 951379671 508588763 302570775 482607057 849413103 243787515 262045239 638560967 536376707 732226945 505342205 405006455 369686237 549759389 522030663 238363073 241404341 172860197 96559071 522436787 256044837 375607193 483157367 655090045 253242549 961050911 179703719 331033983 436354899 574101895 204416753 787082807 859148881 532894537 564445375 498947669 576001135 443788419 943416931 138649257 537127121 957937661 458090003 734379313 747417093 643387941 740082163 337841165 121650431 419596821 545544459 1860747 604072477 150131337 318916685 572507165 56270885 664913131 284353937 294494045 282924355 657361993 820336281 695581969 775746571 217800793 355149327 285240099 246751871 637338749 863606403 310029735 122088191 982479547 20522863 339474901 495939931 804651201 505229877 716419861 77628361 692599015 189301533 267365871 911551459 997420845 590185049 821432599 866246065 950236729 369152257 664587367 663947935 104133725 861025303 479856613 438614661 30105229 892297605 903067323 97746587 475393897 48980763 29189181 204235403 626078265 38705555 672922341 902082399 128756205 690423695 560465751 127129743 624106011 39617173 581715293 839270647 181140483 761872411 330716395 839731677 376877451 480871031 194911517 427409387 840735811 946721771 397270837 420297787 325416547 149491105 315539871 298710343 25358793 97543337 812144879 404374005 765319421 573636861 12040415 844767379 271799341 848735869 519107411 392637397 308470835 315332597 868367189 733209051 699381131 941243925 867068953 311734055 882249055 859021939 360680955 485715879 411210363 601327765 794488703 340267441 981512795 907443427 274541133 41386241 413551129 94560173 998230587 517394367 292353409 350525485 72956995 976024949 110552063 655791491 222905737 485487131 140107691 67722683 781870167 372753677 950955589 43324611 852464419 857649167 245490741 796703607 855623045 630327375 347279239 46159511 950350657 726932837 529130741 380866509 931349317 479053899 572218591 831572649 970033825 198798439 493203529 902554531 355368337 80986245 113923555 475715873 460861561 566442461 665264391 711597159 752383205 285638413 203398835 515761835 346350215 727885589 47291021 274265601 713185337 474153575 496123877 578494063 374891777 516900823 96860851 973123805 334018311 185805217 534314133 103737881 718008481 424929901 737610707 459461601 207662411 957283909 595693659 722224595 60949669 194148767 509460679 768171643 623142781 716082267 631052627 225832007 302354629 93580475 80715497 333888147 938998935 415039085 3139093 806398109 281316665 946225543 811296787 969393299 837042197 24647559 569490365 649556097 499716285 254815825 725674143 121429349 883355119 477685043 235718629 238676509 756477067 612891615 890610535 237387891 804323999 379032439 752939685 324233753 400753245 791871871 442698181 923241385 12025121 55390435 175420569 89652131 854004333 532036343 610262933 583894383 929235693 636905595 868739289 675394655 24500083 762839701 438018349 437016239 114807805 107627981 910548225 845945469 45528749 349766431 475045227 950920403 733651149 918821091 270778153 942836899 114144209 356481505 854491045 267939783 741189715 860149829 277736943 360613885 323355419 302437541 774631353 374652913 184244239 321487615 231157351 259507765 972020035 711092149 343269887 408341055 338369525 947654297 627709487 391973747 146816903 86346203 450444113 403651097 427386499 403973405 876869985 377275491 500750751 978120289 83654921 648036715 72928433 964512023 684340373 57435695 622774211 978206481 720461057 315716251 606943739 333255055 966730983 712641665 137762991 460955701 567257491 357336727 209967705 201856529 114077169 21245825 751560093 483034775 813011353 7259847 971954245 465289893 141204427 805785051 161642567 504945025 514906221 947335445 907770043 890024919 815643921 264615095 432502501 113202365 252417003 366799339 416131891 253694639 595152091 112834499 93171253 376095381 480428137 232546357 399984039 849408697 69844677 845289765 548178797 542140369 50542277 20227931 736279185 101303805 331396839 861660039 921333833 598783423 748964437 562438471 381211885 585515269 780550621 915572247 407222531 545424423 694559479 713318499 208046131 46153949 258085057 198716539 548410453 302889809 68004611 865241497 959102047 894868239 599000875 19344095 944048503 300561419 307857745 565207125 851360233 35396515 97947447 142095851 164943911 249322907 997429567 341035645 926449611 361335075 541201789 74793163 179839643 687163855 634281637 135080063 264577 240619163 797921561 211596073 402362767 105089261 187789277 144550723 322290945 926114707 843240355 14844207 629359165 264275393 260902849 924786741 572352203 30736407 154362167 409744773 921948253 89116567 10354605 340323131 336219603 619637935 157291119 827983191 849407533 578047029 682197367 917589187 687797655 627086949 148959331 88596559 947501155 183410663 987636091 395320245 193172495 279411397 639623855 496019095 730021949 370384759 602755733 860474235 60638135 839454169 273948011 583038679 920690545 297636399 569651739 386239489 358223749 320433193 449482035 96905273 623934521 42632665 827101675 61957549 392500471 447254719 376993057 456260203 229644627 509751999 945995867 422462317 62624263 434312487 125249741 450785171 102168567 342039979 896638025 519485097 314757421 86428011 68462673 677422685 862278621 287180775 369350413 442020171 703632227 461465105 35501131 947398643 890443585 654851389 727666305 114871741 522036771 104193575 631188943 23755261 601407709 766847991 958888703 329007339 209750889 627066679 738702461 679253159 232886251 660761311 304170337 92373565 880175533 369089353 783952491 74075803 556437029 774746429 985346305 727242141 133026795 523178729 691056691 884810499 565204931 334907103 281295289 307085685 429053337 539932959 683231985 85073799 272988033 343320589 189416931 880139439 739006645 59629941 240814655 244309075 205992089 619750287 684529243 910854839 433411513 648914935 612984373 192671759 123987653 410696371 48233079 604897653 647785373 79379247 268440431 12271591 245136447 565001023 2298901 515056467 168532443 353960997 378756871 62869381 895741889 444095873 65246603 112140603 915916909 562158179 336176277 878780691 153538691 488131135 495659447 34020503 821419983 774235637 436256819 249730875 143865409 419478215 644205041 762816339 582050553 572697443 585003133 246562085 578237239 744873695 449156627 249693655 109651813 35316663 566359693 790734459 280790555 662451411 498134647 76365581 270478095 78643327 56647675 646901099 269790247 473884013 172716023 486866015 384509039 150126527 487657699 251955355 544949529 926680567 204353005 729837497 216230015 852946437 293554655 905766199 283320615 777543229 489986611 947607425 970647739 36788315 219416583 267920617 155552525 282352773 912423715 316518565 492687643 402595911 609165047 592834521 744208903 697054107 819281303 97790605 564568601 940641241 135926471 213735603 782318025 63156425 488589035 385957155 9670321 595861399 31161875 974227105 924487827 677019097 262503669 390124243 41697883 138673291 104773107 569827147 922401053 162037523 42453523 292940931 879731985 803386433 173218819 758865629 35753119 2054469 16073499 375261089 950477647 151780033 597026395 700368897 280736981 408683959 942247275 859326997 141854733 539844759 996975001 873083361 255335417 570130995 828465883 863754827 770555077 14382283 916613329 554519589 402258629 973086979 562153413 263040809 127849843 228345575 506412451 897190137 753411699 704578799 860738819 245895709 86402703 429683959 598315043 177233157 820022971 877944133 563404271 748965647 937883923 113813893 623795441 712286071 396581851 177713099 983889507 148056169 692856443 931961753 702015267 10327029 375108745 635668175 263280313 181923605 910300351 821539005 370152019 585745579 742833153 510583575 728358347 71833213 255995481 155653373 130967711 149852737 58985469 595335153 657494771 147399821 97249861 395548385 84486811 971644387 371307189 815194915 772790285 189831597 301293051 520655733 905328999 697110843 353716455 98451193 885081455 553582791 818969461 617273409 949310615 321715827 15948745 712430143 700217335 557522757 168949039 795112783 503125067 335328307 969878295 436274747 692581627 815173907 379638817 898318637 174425369 244248487 170762507 893099193 498355801 508858009 263354821 622171359 626800669 740008569 263958111 652108803 649258089 214038719 843809303 594578931 626493167 657562833 329007693 582084323 165531141 188321525 38656397 459934321 421041579 814453083 382542989 537138339 928329351 515027743 385363239 900134629 7168745 836174657 539119453 229169421 667840457 209848745 81392217 547759193 73116101 879810603 378210163 600779883 143855141 718237055 224953633 4951635 439090135 51397189 919393291 913171847 127584885 226775561 647818743 840424675 815049531 818065465 310406365 345155499 909410323 124028721 920590295 910687373 236443787 591248689 779844647 897442977 409903323 132109153 280235065 319343201 298392799 842603221 726318751 204667571 246314787 656769925 278957847 945355235 695648723 366648145 635316099 914621609 458658761 900820229 544483053 287055137 430188929 581804367 262302345 176549841 72502819 559809483 646106289 99126437 722576513 529027575 842948077 200841203 783141391 399868993 216997347 374943095 103952877 563919093 108554343 30928215 577099747 902069073 502198903 563333921 95163745 281355379 984166709 986817227 294771325 360897127 648495851 840090031 399999735 904390939 409688589 748803477 151093557 231350121 334091319 260557737 475194695 340837909 487195949 840817025 702021605 601176773 519980503 583507995 638609773 449926413 615922507 908319963 862938343 203524963 119604675 554698893 928596227 126489133 728626593 739995241 648217877 648234159 818442357 853049611 858240033 889679389 849379309 255541623 895180233 995341967 386103527 486955037 708634977 467949065 79923303 449753553 94783711 339470193 185914005 766569679 11005407 784461211 594029511 326293437 291031725 264973885 585181559 536459945 331606325 657105659 768089417 902951431 607381521 369313885 797637641 933734837 524728701 945130197 238954151 552883705 21706849 166778301 981399875 881485951 814771535 105318483 319055387 168551773 31217019 70457027 672058015 844743697 536183749 106820895 253771359 119392893 262163381 379868253 101505047 883162099 215824507 178990433 883627691 840995363 765502445 708455411 289659943 725583919 484882315 4454341 499682493 92735385 766447483 436154223 274345927 209222481 287643021 122758515 611691723 932882601 218326073 356324669 930179185 99947617 300613533 700136985 264297873 307425693 364079745 718758979 671018017 461680873 329664851 621425117 709792329 384203583 520792365 789858799 487363919 938188023 344404171 396193643 974702251 166379223 324960151 430828073 618939127 162237711 347706015 568238059 157103861 757313587 250737049 202177371 860517009 889861183 268056551 869752585 263398365 791026587 735622541 163648623 653797911 446470673 391440959 523125487 518743199 578582999 396749903 159266513 864878083 970754189 71198655 188107335 917698293 302059061 692793653 168816233 252837201 449620541 776971011 986177081 766398233 443676795 222967837 427737505 187865977 613670957 164277539 470759025 491404227 958618359 259142493 566234979 80951925 144738277 349362107 623527705 511735857 59069551 911121363 309039387 137771713 561794417 10242277 411590873 833075737 846333487 937735383 844325551 827392853 803137369 250682169 404003549 693342135 194807811 283220547 716347021 690483627 32415401 783869907 336116431 962037189 814017073 645346417 621428125 51828671 353424105 245289035 431748313 675554685 872994181 45959227 935647049 987887625 922070051 694484669 898355619 686240409 921468745 679041787 98666365 712630149 386933987 344522689 39425113 364535633 80666951 873862795 596804255 259054505 356471859 632718963 944895651 784775265 294182345 6537541 897523101 216119411 830662555 874519661 286062767 762462979 565645723 428119555 707877855 630281309 575313189 438491079 917038371 941273329 678067201 822203937 245976399 537555037 533837149 385701149 316224809 701643365 696380107 844141429 849091161 257265649 227251531 528288647 170973295 195883031 223865921 869160029 177909219 901709587 605448827 378410145 182300443 775734597 949509933 478746031 655109467 617619513 539372789 340375685 785710041 963130789 890596569 644062921 787267753 14538337 844407109 420992971 431714769 709973875 215281935 694563715 950502457 406926597 443710067 588885391 579484847 772323689 116617239 307735095 920621809 838139419 829038601 814669673 854411421 370832577 722527423 590754751 352496703 410132001 768921107 58325877 921563205 223137587 792153167 530588021 931737099 362134545 2805019 635785803 213750991 181538043 265989775 645309235 938752703 511295841 973281321 384715527 906159591 741187285 858297293 950493011 23054661 702320655 584171207 412218691 882146743 791057399 986935503 323507375 560526599 228211861 16025345 127084823 441370345 942546459 608500963 91230881 72536049 554593257 427503455 763199775 127491237 723819903 38786511 891774213 418801259 650850185 477430509 649638515 905431703 454812379 326089695 8755249 177845087 202973549 76006707 368667311 893367527 67768167 836512733 517031171 310790199 371082769 731121213 668198379 223221825 159100639 473287957 577016529 259879647 449091693 844907155 864996547 51956687 851812221 31027021 726323065 916477887 443206139 496431935 308707409 868051771 79266299 15662289 645317459 740365761 998132407 529952717 66009645 789216941 87698321 486443627 987135801 414757455 422225177 386989639 27072115 435568851 168748541 102790501 614070917 185410899 63597595 241675061 447238587 566075089 157492597 142357897 998690065 882295095 780622135 202993057 911524129 378819671 819069621 228137249 512425783 14081767 76056169 317211415 548415039 317330827 481640183 190175479 899955665 630002123 906693675 395680671 428991277 858396441 262594037 768369237 541258809 63249357 504918899 708588485 433117831 727367723 72246761 832314629 120239179 261094233 152297407 413188241 459709797 745592425 557474699 455006031 961378909 45739861 43635463 38500751 827413347 787528191 320859159 48708609 376688459 249429807 355837895 186343623 500460697 425204119 89045319 716029027 146723953 77760719 644581623 721598147 709768611 447483481 905564501 83873853 365584807 570285727 449038865 537140367 441357723 666638833 230045947 89643997 20695877 605214089 91212559 250699187 969821721 445838985 718342515 119372809 608702505 486535929 394886253 990483515 894211383 840652489 120517749 444386319 191421355 253442261 647977251 605753009 369569171 858695135 918112317 61494197 703894949 831358859 125004461 374821403 596126275 458689903 864727941 560053577 824751217 415748613 65855235 291131913 14840033 287836073 374583175 443263377 781962473 324956073 668736159 857413759 609582985 4164915 566353405 556270041 368941159 51548259 551711867 247400973 785398997 452324665 859985695 206335981 854365383 679135391 264466963 207439287 200976349 165372261 325439915 190122003 31246943 476704069 798040415 912950027 49039933 683947489 767525079 13312279 682655243 53467071 239299803 884842003 316806157 267485013 178174047 586572355 237868327 731381241 491142015 938057047 144514025 723637485 913001597 190775649 644192651 810911321 943627461 296764897 86548713 556300369 382269929 661976763 100991887 564047821 896530087 81065277 923390123 403670957 298557409 864988955 440508433 555728829 550458273 719703411 969958723 177965483 713571355 602565067 629948521 96660499 417541803 784992527 484640079 819749237 770683603 486068373 223716465 88798011 455272769 590554393 339879401 140881075 826858179 607883203 726536835 130984475 302238553 756385053 972406955 39041425 213099813 271555101 794878841 916700705 455393139 109320995 629917101 797615801 181651379 675911921 875021485 545276725 115643523 796462519 824695177 656962901 190689957 287623687 297863161 457056193 351789063 676243425 23416155 143304973 9008825 204267431 58614199 640627377 386494455 882779435 906261693 281017357 68058405 754312351 918524099 530388843 781750989 515830689 666009031 154704637 285636517 916263991 968714867 528224733 592967045 682159563 561859349 745532171 602355827 181196855 868845221 834441839 30795671 517382837 87729089 674244573 724889671 759714027 128747951 505793035 741129469 938994663 792028003 570131869 288772703 331196703 373929071 966584861 329736243 382918509 411146261 882494713 390012017 178255385 415663677 57625227 93460529 618753999 863506547 908983575 90275001 637010855 377226483 710965699 817322611 762284057 967897495 901665187 382742513 681665039 302876905 630780589 808548079 978959827 17204505 495508677 358960979 883751965 615615741 389262515 467401763 582426889 571697941 802512681 2291863 285243675 759067785 15914433 300935433 78699075 274269733 488819193 183836667 268894931 516036963 241196605 247832855 544606859 738467169 879973087 440966197 426281359 503894503 602450709 993278029 351519085 847959139 614219267 808820865 546429465 718398703 873433009 756952863 600638707 84468041 551233553 940235417 323227579 583579607 514122747 700395147 797616035 496062633 573320243 487981239 546552383 591758453 981726303 744459785 591047309 329897885 155879953 954653587 880345071 137714983 332308421 570438035 60425525 405589441 330892247 401074793 255555989 297560259 622584213 520799141 184953771 744714541 526101551 203477749 665404539 383511719 170938301 521147703 872459379 127699581 872637507 554077549 624432745 376715947 783515303 859865539 871295131 773011659 396593595 421614733 333096365 552921897 814653753 546003781 335217581 221754287 996355779 892774285 906311951 819240697 66502881 829722165 21578673 613897541 29846533 939788843 198923735 807083897 201625479 639867277 458654513 552483879 216067753 60562077 295358931 421861507 798717845 898138823 96473401 634473325 980619355 971300767 921400649 319660141 772564469 917214175 541983571 277311665 637503813 19500651 32479495 509450259 58512915 176493903 379190661 249683471 296957967 379081403 46944851 914495183 805542357 741852685 138510431 698915873 749493221 73680585 508750075 468974205 993975721 222918039 577316581 392018943 631976049 429860173 357564229 626906995 874313847 34168295 92000933 997741893 316260829 817865093 412649981 413174927 71826347 494170483 208743337 538821645 369528529 438693671 434414703 991017255 26101035 75233081 169128057 769500399 631840889 368832623 243795553 572411673 757453669 146761905 615930913 601463557 561768063 599440919 54814239 351368893 228723009 276322263 442879017 930121709 419256587 229770071 522788467 996989677 740569641 21630243 167069851 690927035 401238729 225356269 573157543 747826947 349167623 102744975 778510339 109021455 91816675 849206799 996664453 771632345 700456263 688501911 351034729 849813759 723349249 780626553 586641495 397512905 632592079 997108275 839379545 109448997 456982353 43195493 198793447 745646509 311319053 120910045 645273307 22267805 254802551 283749261 124498815 671694559 781168361 534335887 75707771 125269249 284032931 239801385 178224103 284362299 797158351 844326853 231059265 942476393 212442747 806479095 592360045 423562775 394777509 78689143 302508985 885359985 683077931 758556973 170401753 733674319 417335769 2038049 214445803 196581939 256068701 96343687 377816437 416848703 638521939 709581243 436419425 255843655 167998777 184597823 505733385 107702207 644489085 824841407 608104487 176945607 253832045 271514127 225286883 63151399 715290689 588254249 211558087 839224655 683492637 130589743 555929545 403961429 679844363 160430703 453101385 319514105 460966649 71636317 59965193 747611809 75862211 300675729 392050231 440539229 711935527 560641999 172490345 190205925 641026257 734978051 273417373 320903575 341158483 886318145 548820023 349705339 309305125 362900163 341395971 728385 435963815 160349165 692650809 949210429 240021283 942944585 432058997 730202995 209537739 456181901 534916283 645841797 375026873 965097617 267483771 577779911 792855275 305857625 422407303 916383023 479201869 771891729 99549471 813604953 912075697 547742733 834875113 69764753 713952461 912073161 576177133 904785347 920266053 700359397 813532839 240263815 303033761 484829741 802197743 886610205 533586515 140833431 343821581 35421805 263284917 77838907 757715629 764682499 29474821 712039263 374983141 925064219 262706287 805455723 554746929 465579663 380480517 681471477 119631737 927045609 624893885 217583033 916509447 335677273 234929275 876880279 217152147 47003317 648940039 734048667 70231863 605449597 698661395 3928059 434779261 781247959 531937591 824261135 587601741 166569363 813074423 803436381 322367745 896402729 788698553 864479375 938055249 151423159 789691855 264012407 581535847 985250565 721635443 743612179 172072911 78455425 389482439 343117443 365658493 665951301 796788947 230336021 176984527 636866829 434849417 106504507 211492235 641091 307231425 552386191 306637533 226018549 581490493 720124631 975562843 760104153 574832295 847984125 692751873 266365265 825367951 494877203 67807285 981874273 254496625 985444951 340576453 61094331 561876905 122717739 42640359 563285943 264235653 260297751 950019381 257194577 535996469 646511827 493673655 595916849 254993873 65822265 139738587 470886313 717419611 186080843 57960051 230256045 803703229 92761653 749904831 919504093 949278663 678755659 23212897 971971713 781322035 3133959 108457067 564160905 938931875 132339467 430888015 552326027 794018719 932944421 735253995 661637575 872356247 662621001 467176579 732728867 872634599 356881293 693416135 135547951 194200015 921793083 495189449 136187427 107628409 713748409 332323849 213518301 750872821 635597981 124140653 671202275 511316029 276628129 600738111 665466985 234967347 396936615 143729461 673654849 652739741 176896703 488615021 876714991 179955505 830540055 162031469 172568725 757045893 186940685 793620001 68336391 504241691 32769827 235841247 176331451 652911707 329477383 729272677 794626765 402512281 646054025 108843989 250228489 454832397 780284581 151975871 548267227 440984025 98998911 728809241 145421403 324645379 228109409 376638271 344865097 269062529 144850113 193467893 675793933 22246185 282965815 383833707 271442611 753149883 424275335 342785587 817931253 886346469 346100383 250163277 553529393 30352949 509617039 142155805 527129713 105859109 260112531 256188017 616299359 424636693 447035407 521680509 913851991 264774225 882261391 529473759 944454231 370348295 386595523 550601373 547135749 929144147 975111307 692529699 709825457 849364787 247078373 4926533 182570067 77748117 380340993 858562885 736062601 448864071 680207919 795475907 41086105 800915969 15711469 206132687 832995447 830044521 223483611 428869087 480034485 678915 206650567 460378573 415600535 588614211 664414627 957515745 843794943 324270467 184135561 570568649 61107329 618486019 282061503 165116823 334854227 948965099 803839151 635369673 401893457 613049679 534314219 90023239 597618183 124028709 548416561 165866589 404481185 23677777 292216673 460891071 814068215 154933149 960402569 709380747 411196297 159462327 672134619 770403909 420505981 387033657 240996531 671592413 203022245 203794855 388982419 175186087 718713973 863585639 367061541 414945119 587627533 432533709 7018049 747958059 269968181 842623503 714138335 498487449 960006237 159861585 978633761 877180573 510573211 147951517 37005653 533019541 831466157 204634593 610728941 570971719 573573629 651473911 760674437 744234209 814455705 107388835 948322783 172571125 425885497 896140171 63333353 706556801 994461243 973384257 520597681 75965933 583363239 435130689 710158199 597332739 205704747 883528681 495826845 887813371 261761313 918884995 854393261 587173231 384470917 617781569 253992539 241322601 41986049 160571707 773304195 566365009 713149665 422885235 809605929 585601025 670488353 844951509 32033909 891206579 702060379 62203437 328869053 605357069 158783707 126295351 488290427 17902619 433750669 33859477 64348755 168448855 804724745 460622031 237670415 157644953 891426959 509152343 804221859 457945383 17214981 339145861 29151789 268317105 196420093 618007965 436772075 249805131 761033897 597810885 93016139 531163251 133723119 158339343 567529697 707177483 287090769 112282229 53214313 204504675 915795969 331971801 479085251 380059185 134184915 510557955 659453179 712210319 858373195 392974757 213074503 308331781 774314637 39708247 859499263 801950849 228231529 334362779 213221801 232885333 872363607 165916379 490133997 870176833 612364917 347840359 226711457 860519529 560744329 829195129 642427329 805058649 792952583 431361587 439018349 438611977 948450049 373031837 990927603 810628821 299122489 671309225 40261827 962708099 194566679 283694383 830196349 549188669 631058857 720794865 557065185 571971997 396709541 120964249 5320665 181287837 567928173 5671863 283552125 758151587 579598085 336962757 837795587 436017789 590972959 474812451 23720147 611796321 832925201 32211741 445715571 360217833 98707931 518930147 495123355 951115293 113930531 415772045 281970981 898648425 722191163 905326365 339757075 887713699 299542039 737541243 772643985 245953289 228047191 579675259 943220977 536551997 621781315 216956629 974465201 88439121 356378571 626317099 933625201 247859895 907027331 594592259 926893567 241440843 95769263 642565075 822876493 266294359 857738803 239186929 736947063 173864579 645411487 25127839 896792255 83256553 477542697 220220677 80848017 424345347 368078003 711939127 511168129 758909111 250077891 308702765 939988809 262918995 294270087 408953801 355501515 694591115 866102745 500408529 692460567 404700541 185676853 351670523 376317019 270752175 856733125 526797019 318099957 641962509 577034325 51281655 149867111 785377259 793877601 225894071 269636189 831091211 943636483 614818155 826069675 536701325 423886855 83842379 398229835 363612929 763750617 935196285 694128737 615965533 368907153 379211781 884351287 388360445 13940975 158890199 64446273 888250533 443856473 426665677 442322715 438867075 599318239 987459495 905010569 805466413 848361017 232459789 920302707 588453537 778250693 880767635 59774447 312627011 973046667 334641841 4579639 366753505 355927355 684981703 236811695 563440047 270555435 746663967 960695267 52787019 237229401 710125549 634166915 20353465 449200751 786314309 224818541 460485225 995994299 784176685 516478629 731291951 393555253 919562123 883683155 972831559 646015609 838161459 231589583 140965463 970118099 458462427 239997327 921209197 379853359 875838503 145380921 211258879 928661287 973705121 546291865 659067111 769321975 755895479 364169375 270611309 897383049 52733891 229406571 856760893 413114473 189781769 694366779 375932013 300753873 627658159 809436031 74107003 550418081 381327561 627400647 233398089 397015389 305051213 177884881 88417577 528338487 322294815 100505213 207033037 237104133 423539463 55014361 913699409 421180231 872298935 211947543 289692735 102936867 522209737 142274449 663422591 517331051 141053627 308322509 321336683 898991763 409144571 863343989 834578621 975697595 407706325 976194395 535842971 614930603 463136133 997552509 53966995 356978641 85291565 14406907 708657817 541417031 186706645 450794019 487503371 885692363 318782831 486596967 409190575 774741187 177068245 644913763 505146289 426105149 797072837 165918937 586293927 741845493 236140011 599496117 149386893 416955719 866031831 276231691 706317003 351539259 414115589 490771475 915731499 707720063 949876947 493179957 104112101 652352619 392799115 208674297 758699155 349391359 213471837 472173331 16879933 215965667 24992615 195439199 349045329 86700899 950019749 753989855 379099297 524327547 823540995 25277119 12127853 960241861 283868497 52023379 951205465 979892363 821666121 185374997 286998641 269228989 736856717 201817257 807810861 953190641 684323749 926051801 462596713 386821735 968820483 846193561 990453867 135926021 768838143 743630341 745315551 764520797 757434331 240287073 178599899 971429025 346285761 103535381 798159579 383283639 407852225 133188791 803054021 397168161 825250005 822572289 22226919 268928783 990483935 706468055 352193271 981262939 345537447 705846339 275894799 670786433 225583581 828776827 494010039 348698283 244476701 559565271 292402139 622170023 131925993 562503387 903842001 412113133 490481061 888100149 730790487 86623897 857756583 258232245 678440337 504521591 848242215 989143639 762934027 474448371 559469383 17209151 241314749 676853543 370143247 893384121 814945283 759146959 212265839 991897397 409661089 658164051 538954051 900460627 9312199 209917125 526773067 451905489 895698951 771524569 522604593 646010271 640928609 962029551 410008197 575003597 712118329 91861265 151760321 744497559 643253341 786243307 83713861 252558435 35522563 482355669 687767389 154056375 290580165 723729869 925238839 180454731 376267947 714518399 519599855 220131833 945386785 453585717 544665733 730577601 218186237 663502313 191775971 244315859 255526011 105482809 639702489 634339199 668602947 960973165 314066463 34720067 583650399 48011891 946220123 520896191 612987973 833418469 612482065 78535105 477137109 396281343 919344311 538784827 609140049 569702827 783478945 823782729 48269929 575281527 10741269 443508269 38104367 62214553 565750331 509415763 569138211 175221235 4048931 910723405 225543721 610227467 223701445 220215769 367380879 659517199 389810951 196001495 523741961 878164695 680305325 429137749 774339253 819629795 670005611 463630983 569641751 753833563 935216859 328750275 241872927 589878283 703956605 320640145 777498145 65059183 994679481 395713435 838907609 854331809 196063715 484392885 882296941 746679403 837284657 436417497 84837483 16101693 710400457 777385259 184929993 426604589 564141487 36729333 110043361 602094331 20930263 830725291 265485947 131358733 985680411 948392681 632106181 417664371 169801273 136140401 992855889 134032357 808174815 765295665 496968477 247954881 516338073 464356663 407218065 940649999 595651301 12973507 811105657 484260221 610820897 126662711 130293769 450820453 615694743 86251039 290442717 647045315 128356217 36363051 779635199 17537857 471022305 74576441 887342295 250048557 250712525 38783051 727638847 579343743 847027497 794584463 937209713 688778963 7697863 938973269 624491539 818139765 809863517 35414553 176839987 238282321 586013583 418264703 457597765 884637439 467985639 584243283 752184873 851100863 77460435 85053573 259946015 81913465 701618605 90008883 944591579 570941113 749045175 794614945 841597037 660079801 222648861 47476791 806731859 201409369 267163371 548713869 121745525 735610397 175876381 444653913 329355805 856773175 586617749 824152193 148638979 283476349 667642907 544070929 993914945 762272111 147179617 1108793 459233119 169204275 749445887 629263449 367989579 295275929 578434681 814839281 512154455 508897817 316982837 468031147 80932931 268699089 739389829 518079839 886251315 712076169 275028131 696295939 961772725 940262831 163689393 545867965 735706557 703590237 137601975 833385689 606791337 146492239 266950567 14822857 294647359 429073135 589452121 35273769 505089193 668649291 856146063 829635259 686354561 620779033 91829747 825396073 827408323 496187579 79397911 137987659 582271697 714908469 974227057 231924887 373522299 446517561 724350053 119311797 542025717 913575199 948327481 519019565 648789471 85953251 210115619 936671411 246147387 389191981 134248249 617346339 96632695 904511053 633208445 766298495 631334507 559576893 750995929 538678003 601611087 477847703 176654109 845888209 789245389 340642725 947529987 48922519 391037679 758265687 681643565 415778791 478110253 372135747 212552739 94386571 511298659 957825705 712900181 611964023 560039127 893977455 226623263 8238535 453044787 617385765 768618179 111524029 852688273 785420289 756156517 238474181 175487851 513864165 206264603 480968051 17925799 120983895 388753117 458305409 647294355 449662599 645682061 977747923 851940067 717993545 365983731 785212275 996064951 522319649 415646399 863889813 542893457 847156273 556744077 642091669 232910687 936406605 209356765 631653111 329504375 252807915 791503897 682118755 419757717 441116455 674143889 812610735 577663969 883926221 800636029 820235989 983980517 451658057 970630403 100373497 494925977 101365939 809866791 977892965 32932185 238279883 2878943 720098959 366183401 163438583 960182017 301654031 409473911 650213449 383113295 3429035 772266395 756530805 90259825 907275595 629395279 943017179 198848507 134248197 143318009 320081027 636924517 76801557 558081125 601202717 925651215 335092443 274726347 882982655 724387653 581577443 573903049 815539241 764599349 575668707 22439007 516221249 236583931 746844339 60277503 171630999 499390615 573407833 984420221 499640611 705722609 255638269 684307477 562876803 844181469 837011191 943110511 552904445 693519633 849388989 306425749 15723397 74070579 762148085 827096829 441907117 469879751 109725547 331081095 136398777 645973569 158475281 597189493 703226507 741159675 61017345 32937589 790133431 91970869 162558081 914529949 511674737 61950231 897424379 538735467 730206107 663917237 386532609 184832707 385338043 830126341 583373905 902529523 159961599 551002347 276051659 250701485 799237951 360172081 311550077 582128147 560947195 719135365 63061401 47374249 184210009 268743297 309653371 994219611 528068651 331184809 302014373 794561405 23817701 673149539 944566467 859161551 254674343 194074371 181021095 614603383 591638585 590360767 111025743 278380541 394292747 875442109 205794013 321330525 243935795 204502785 522935451 619883247 298657647 751393151 114910461 112308603 862690089 956817167 676628639 867740973 32146543 43607413 947298883 683443867 918139641 641907031 673594837 234425795 733238309 984702791 78835049 470630151 31463931 754692801 860348985 165190201 979187241 786812707 971208615 132484489 755567369 240535223 258715713 274284185 539863191 969607087 975729339 249988459 857751933 550399779 794179821 121043311 260957191 26452503 76825819 137161335 943976753 63141489 752420273 82993091 604796309 864972803 322833603 445121271 23043199 418820487 286320779 961981217 224627419 616866719 903253421 432221621 351734337 406024147 381598707 22449041 102738929 316859285 887661907 841517051 725081041 325270845 97320165 282860959 526202225 498422031 845427181 7498643 615511817 399705137 211045081 354475603 765537913 745209781 780514873 277070535 196940357 868074389 569363401 818070841 132704925 566423475 598762349 953092703 250495067 2471639 637204529 472321113 920615933 205667763 267408709 46956457 576455337 281443807 584957703 874354749 989180719 250181853 471180283 576425069 468205831 814920983 477313483 185615345 423527757 680138461 888567881 162511091 318453709 486198633 957978225 850234111 268639733 406883805 34188135 487778825 136453081 5957185 322546039 153063279 941135163 906324103 890631955 946489589 193212035 326713223 93858261 540415947 842725823 268167683 990918531 563948421 377607077 772354981 179803911 382773535 547123861 991492093 181333875 828781055 895232921 448648069 574784773 876611827 4475229 367989917 437098525 581777199 985415993 410219153 528493641 206923603 292986925 619794577 667182395 869601889 124651487 550580405 609647053 615136455 186742689 915186943 175410437 121793371 145395047 844696153 632808717 347273305 416175313 592466323 896708153 934501481 194610727 720860261 762167297 134317461 507588953 448588405 961502221 408081493 189778683 250049097 400315685 330260101 454424913 477080657 934845501 215668841 591508799 148365801 521458033 762594225 472242005 703967825 735874307 401064047 627157193 333729715 387941983 657305123 510632061 508343327 4157719 34500785 872308215 233033357 405945833 719884135 484831333 63918051 879032247 636724217 140048289 283023333 171035275 435280261 851159335 20060233 324059289 351984017 264670497 544504229 12501309 589637897 115668315 474748537 199106041 226235203 559792209 272024115 721244537 55646971 14428189 682426401 560225937 378695001 812909961 166721147 61989691 352060647 633554181 478115175 813193115 893366429 165220265 231043049 299341051 31257301 183651887 980927735 132113617 934790231 138520069 765886565 703689653 820254545 981210165 453249529 153157739 443781717 968572025 380666969 583694049 969192291 991527471 526790169 977909543 897213151 815808863 62446257 551023225 467583125 42848697 149002625 303220283 418844861 102252947 3798739 155256055 547619571 746610923 84497115 98377059 297826109 620303979 475664045 536499031 425986311 649215073 587043663 314385111 754063397 554353605 561470631 528501521 576235991 371287347 66865289 720813397 919711683 815620599 934225835 371787807 696535283 24513277 62066355 606286355 483459805 634458591 962285861 427408637 703116385 974432217 87964277 858949327 333165761 691800277 298388221 275002531 51582635 714730591 420646651 820440511 202434357 480580273 783292827 580280971 468482267 513481643 623856111 962391967 61083781 229478353 64760813 689962673 877666943 327509845 856211321 480393639 381272443 333420813 318238557 677033869 518258075 551586169 322000455 677586325 560078177 429838271 500989393 17829403 74001597 966428337 725348223 259043743 219348483 371516355 637506999 4452305 157634799 643781141 237723339 701332611 688602023 747180911 505926135 228556973 733824439 345507647 446061143 408696183 473491225 397175199 399770619 587350825 327756069 98763853 899220685 627092535 44143523 68551085 218500525 343473211 578832831 987643859 892821847 562072827 141594895 949505397 451506551 316228961 955550351 900257009 369802655 819699329 829603237 7212365 839583301 47722645 876106017 853222205 48297933 582462463 359625779 481244179 630467967 648344141 601043325 201923793 658430093 36710195 888228353 789255455 428496655 888528263 601293357 973437001 175091463 631181907 223164633 30192201 864376159 508287933 271721023 765848767 818080487 98899993 838701315 638174703 927580507 796122853 840268599 133505995 953705047 3655107 93829965 475981545 566071401 993063293 883299107 359647625 71480833 781078281 960569599 241858705 150592631 444796031 708535437 181001363 338463501 54148131 227014113 572859073 492941293 491798369 915543675 818394113 126351655 548077517 344635969 504541141 326651829 317788193 292727933 232206701 113315449 238935361 676630245 101385891 562919739 343613753 738599065 700650227 936233901 642381369 56137499 465518727 156660327 88292255 473851225 477364525 592844267 880232687 263862441 244494171 24184225 421733073 861107145 621364019 901760735 458353691 417041883 178355067 984190425 77329095 303186801 968653473 512439473 332097785 688246653 339769791 913161331 669712381 199534171 992625553 216251405 736650565 295107285 140690815 748210523 505311595 207836435 401707675 916059677 864972085 694604207 81150617 713474813 629302923 389793443 42738905 744253579 443784579 783544917 523633509 134628417 224171865 262312083 237829609 634183551 868724077 782446481 692810429 174547089 441077325 570542829 999667679 201950629 296253609 751527085 19269113 293653463 80496225 882711613 409679707 883756583 629729141 851615091 30926583 654730367 19570959 646844301 277411187 132077743 595020423 468974125 889668113 717699441 288018515 724983907 999770561 794314085 636445979 690766757 35447325 746720789 938295463 197216975 930420833 739273461 586714347 136212773 915423863 451010139 304240897 473621333 238215661 572493959 111341615 8329335 713853177 451603111 368763103 592042757 725869949 132200905 687192485 548165603 554723327 869891045 15011897 509079907 815832749 155546849 122527363 202635831 879845471 478522753 885151627 520918653 345383829 803918457 568347781 12337851 387914615 172477795 541961677 982371549 189014737 170611135 143789029 120746295 797943069 226430453 655604857 36873099 157308795 657600089 567669085 848439289 659015087 806999587 60182921 355842577 655209771 392023155 902992421 504346057 941857285 375947603 89108345 366605435 235045885 197315253 883607547 88463855 299773817 85922163 538255169 440078673 112532105 740613707 919004437 228161591 198382565 290184427 808748637 686467999 415353835 55050463 282602031 92267245 719824291 363784357 776301253 308836077 580944315 143790747 958213251 95910615 364934541 69629963 412285171 728086855 289054741 730992167 129743817 525395777 119793405 691362569 28273633 268669749 64133011 90364079 446798911 814734327 321912781 212912135 25172747 224970179 924072269 733316061 983201947 996878143 441845849 795182063 534533737 957335673 517280479 608977371 954471449 750096869 994016631 211265579 893419127 495154017 791470689 645039953 903390323 9292083 203810437 62151333 93028397 706534663 454128751 736424811 26836451 78550771 527231321 122783689 170808069 197811317 553368611 301709265 123700003 129489775 295566929 899870333 174644985 203374385 726567701 232367791 750578029 851399025 261679685 993549359 440446085 320176459 372302687 770503855 255216761 46469699 375478927 720884425 287509665 867527497 177260959 113899259 927591555 295316911 159378183 866910897 676821193 647844405 643512555 16287035 107300933 747478527 135696395 777180373 494361843 734090649 265076445 225274779 626095353 463525373 173701747 33751707 489056159 34582403 480646545 346749637 225921623 768041201 347373467 201650161 777844161 956623479 171564959 439471587 169860765 256128169 219245401 790988609 302104791 686973315 932025381 852133021 924336257 212533101 698202633 713551729 309709529 620956209 480103095 883214623 928662335 918768133 509761157 135015919 535606849 944834697 558336885 666223633 67675793 895107519 392139305 663842977 200054795 511802133 737111795 892895905 773679281 601035873 778789579 599389173 557117871 42794209 276596305 75196021 348987993 879025721 411549897 918356693 6753575 530914165 967116581 946997175 244976833 634206221 494452475 70518439 619709167 100942557 661941129 680936213 372175269 342437673 23918265 465575257 767092223 146374049 886650907 279078837 982911295 447849305 381181409 454490961 938819027 410304717 644346351 556818753 335195209 879954659 922974923 620350333 198783073 544639977 515205285 521499111 984856061 124078227 115476561 94369095 863165991 588537599 446266451 277207629 400538645 24880563 887644621 160092309 765730847 761625243 592936851 238807455 62937289 825118221 75191577 908188117 632904639 167251399 593385345 667038087 934092501 717954539 999214225 773368815 648954119 969664523 255255991 785329197 924895091 93495831 994726667 875514445 862179947 561164145 387451469 91259453 573223517 99181019 692642787 484387545 324950249 180690053 748620255 163003617 452941773 510042881 854504181 938841597 198858745 267571791 641127813 465596865 882723453 955722707 861748375 72326309 819019157 957677659 415255771 887625993 180617125 840681243 376866215 98128953 50322489 801715377 394684411 634217315 9919233 21676067 430648189 587938979 164115677 750172637 145101693 280822265 976678603 362927797 363377649 14456397 684381947 456298215 66424443 657621619 167765949 570808089 158944609 951487011 208948367 458356569 137971347 301884669 420519697 832161309 279700133 936363915 557159441 391972671 884439003 811228735 656712319 119723273 450997527 172842099 718085243 433174307 154024685 576031079 402698821 314834853 595393169 441169219 846148935 271453709 359218405 884050459 95726361 266098239 272062317 837570789 19250801 64740231 975928669 61404807 348593719 204421021 185391751 644462789 71663731 38707613 412393581 950949715 349636441 610233099 947122485 820187851 298468419 592909527 122220207 983562667 454158519 680948821 689493843 482777953 738454879 800688705 932298561 776726841 647556879 401605057 675485501 348982641 179059137 259631459 841647033 100179495 638197143 368336411 556597705 111963237 542059999 978555465 787718193 456330013 778806283 679691439 70903893 450769959 17775799 594327419 894418757 207365447 122900133 49701699 359372985 191597347 202445761 772667907 799026703 951466575 536799263 68730403 863676239 508867137 586334969 899107693 429428775 252121693 805325747 292682265 890435823 3695851 889494231 146223555 784559529 177887773 262757145 293583983 380888823 613186315 349579861 106247053 980123949 536129209 345397389 395180783 797079871 737983757 92901103 634281429 57019855 299373017 346056395 678263779 920515107 283875289 839479965 738208295 316223785 51107753 61146375 37149717 664886393 492730073 166145497 970910859 65295699 679417555 605012225 546666191 87424925 461290999 764341661 577336717 954582247 819916929 147243249 55743963 593813865 979981213 480028517 560691253 194976003 10917467 724953999 309145985 628249145 799344309 235294505 128691213 985404219 417779853 136178713 534523023 961606371 34609323 989610341 491176739 733240239 253651905 345652293 201252941 88686789 235102567 808090897 4666875 927268085 818585375 982219343 877441155 346169269 583738195 956699559 33873315 656809511 100463187 335579887 312417151 25669137 705107803 461424931 789979555 896615649 402349959 601908067 786821639 571998897 986705125 211383291 163410951 627685693 39113573 167766369 708763497 945562863 447364063 349275439 209619289 179962325 646609173 344088869 613858155 11983013 682644657 196970035 531202207 418724287 376118851 371020137 261078107 855707693 273183813 744065285 957922153 977744027 330556697 346391911 566136575 451321441 753353733 251825181 406968763 932959871 83091519 571137241 326782627 391011995 462980061 558025335 908938787 697614853 192029409 834531321 426263827 929657525 9799221 266328457 55791531 582587979 976313001 820485503 745958037 646386443 521338359 219830099 678510043 466695909 276221887 874784423 358600693 804554355 67447437 917499465 982374591 775080947 309637327 866501419 561834109 71741515 739803617 800176489 618853599 537062923 370245379 429022021 825186807 434330729 913871967 278745131 874167621 913841223 489390597 668160431 613011629 575392043 452366063 335627915 243185533 373239363 776941053 295311777 769638761 339551593 662241017 75677951 105303439 401434649 363508119 680528601 555801973 897895549 542753389 149229701 355225607 14105697 965079037 370922893 892164763 505410111 272538543 856663703 24634349 304091703 700182743 828717177 1433381 903849229 888443309 567334701 224010957 821227827 847485521 459241173 473962971 433362367 624358349 133027009 614789295 737378161 616439573 500852319 218054667 277026225 367482365 250248269 250234909 166851466 640320075 799225679 808243069 353503929 819879591 560866637 750322725 928196761 20252575 546234973 117549689 940312883 676032177 61914041 670981707 198904375 135684411 558766277 102303693 425433081 216229257 430828043 680153757 314632829 93316553 68344897 613991617 810582631 145013525 751363903 821376419 590853639 142654065 553151755 317970717 268912723 29688771 825922253 902114409 530000877 872601311 908485595 367562029 771014683 726328957 156020401 923023991 470999499 2991421 554412015 622558653 84653207 548783273 261145953 786332633 669107131 977115187 984525565 214659091 410390303 473488949 625941467 567056151 830155349 402698477 206948161 476932091 707229585 790560137 453314969 982714173 226592437 433450773 625791861 198603713 28035653 156903311 706582675 697741267 691786355 373968085 963952339 344015403 721450005 263181233 212960579 839706853 718518699 652565205 483774739 536581253 514546779 614584793 76527779 547124475 85895927 505609281 458396787 905747609 417116913 651059827 406187055 962651423 584045935 97402561 26793897 150142641 470697011 620469863 501840863 453182685 484109997 426986115 970127857 480494999 505091319 533121311 320002605 787665469 710987981 606094381 909074693 951184533 642317977 874116229 126376469 367449547 886640745 305849065 561625375 498441589 589171445 815387907 972856591 261975185 83915931 857356901 508582647 269022337 308403297 960259461 168926485 816239637 924231419 939016391 290016715 714382979 765925307 459134835 584628899 251106407 513169315 817178811 565564241 884437189 982709851 28718775 982551217 260894219 836151599 805733737 173883845 75345167 620950041 556368827 900209337 775363599 716611257 431021693 367660001 117450159 133971795 126600043 16940215 904363005 589703129 371333665 441533151 559702893 942669025 768393517 657466147 405209053 265383595 876433151 815452791 287623569 466996765 867008751 518996727 32725561 842637767 89887807 372264677 412038633 756353249 282528537 117025199 105103389 48986697 20770701 133467877 79584443 420319623 802161815 794789187 554776849 695497675 543030547 222933933 153330901 435418859 289458383 810515501 111491361 414564965 549917563 63242487 904148349 658904675 524999087 216638825 188906199 348894387 135832045 608045825 381885569 249553355 631397791 810130541 727791929 507955149 300334613 290894467 860041255 350126463 270336393 563503417 265369045 471495503 594092571 771096245 192940859 351981653 323362007 614670913 768456373 957202771 425672365 28386131 792763143 466163115 638282611 189962883 364759137 250904177 385687791 172640407 716502359 7390553 86472649 785860985 145088997 647262147 93318801 398670139 907973233 631321529 388169921 263040793 794806473 926824677 832756155 908469367 716168481 169852835 705279429 547060193 644606743 630181873 567515925 681420297 624496817 630898805 938657471 856866505 192049499 166252417 448310729 274569255 435728107 971446791 239223835 115060045 988928669 341607083 21244293 36931981 448271385 579805363 645774529 605691749 322458729 180034319 755823215 272767861 796309765 885700437 219912219 997288331 486844615 917503171 513517875 528673689 563495161 421873987 983307283 21590203 826178115 594975331 1494779 263163955 39247805 509157465 776958739 446340203 986376677 844309767 691546991 963896315 704686495 595399411 110022663 944495771 599284025 262598219 907182267 814553645 34049383 154573287 121426517 530990527 17404999 879260231 568820617 504098435 146085983 93866643 722187755 856994005 484538265 526625175 11737857 785992503 478295119 269215437 235349297 980693845 752418363 508101461 725557967 461438211 500764549 130975987 762356499 164520763 377113015 247243545 868884253 965205793 633098439 869651421 246338295 310040831 239756821 777533183 372958867 786673481 440904035 610034917 920808139 639800219 455189983 571879839 270682207 213519799 694076191 629034981 85710071 344562825 794867233 357410837 617777703 854514981 93103689 720065847 384355429 59873733 760492131 773943801 526716437 45011661 751217575 502411701 965492351 836698567 2700977 917415783 563582679 233968745 137951365 892189369 572736817 199287691 162773907 358725369 210839955 356341809 611447981 562206237 337783011 354454153 267989011 636198343 571049459 605461219 262808171 427468861 484242047 629020347 554627005 97794413 884421669 443187125 905467013 592887279 939334511 440094363 862179995 141241859 834295503 966339683 189315655 862844561 104236957 983034149 437507893 855985189 712280861 697926439 287477627 56720377 15992693 49677777 366387349 690891501 258192055 323930809 616937579 556287109 441884639 98969755 458444871 122712563 709211593 782833751 62907361 238689037 495906373 803118075 232298067 580121425 338942205 180430775 896992551 144720617 198962833 746969835 472646981 726088101 842155389 4281109 644798471 960448503 303963949 357546213 338950181 18662915 447177969 130552107 622721225 556802703 797166853 830729701 572206207 103399435 53412231 882813235 509254715 864550283 817271169 808993891 165790299 348237267 87209955 266065127 384897957 962976839 478938251 190853465 851233349 751376885 447136565 775726719 769912529 489745049 9613965 916117059 563048261 318184333 792004899 277892793 528180743 814851293 444079217 125345561 448974565 384691765 800561113 312569035 544579093 893342701 148802467 75968087 517980465 794824709 249500159 788454001 605349953 505175845 341303307 37303027 867194547 867189145 194554563 526065635 325972057 985435739 550001683 69004909 339448433 992271883 986318283 152251359 753070243 650190829 478010021 596660409 416333819 115574515 780000065 613435805 364897261 743691955 94951211 866261589 365386583 877893739 575392211 984138453 552533373 904857605 549801873 328621625 957371663 885526799 416123047 265369027 462104863 13480897 806284351 667922911 313312813 915104249 77052777 666551073 564239647 116038207 291308063 39731523 952332349 360321219 480791105 763970089 8268355 153305689 207586459 880192733 529767753 395120515 94755803 824539283 518491607 598490985 819356573 535954343 146134489 691168473 626303841 48504989 315686821 896792393 787992465 558013213 222684921 664620507 238115453 531491581 975169015 456592469 801400159 492053815 281698351 278924325 674903383 140937455 634401687 344407907 363102833 283508847 46706059 540451279 737172123 260614189 705493455 150266831 659728049 443036097 926638995 32503669 8420211 478126831 482362985 127433589 730232969 930271909 527709521 131844655 491080071 277541363 999216047 355800747 883229413 132989717 389920337 251173273 973235459 424834671 22410347 77706831 389925165 623251341 461582491 422429645 165600913 947757601 33682919 930511289 49580875 908547845 633139897 259378019 322885979 643065663 248072683 251262145 474428329 87052023 889758649 363418997 670789897 768336005 860687045 636240837 569021235 23530847 589336351 94474145 408751047 231264555 189069117 368599965 576396111 645979317 755538681 282150395 622985279 520583919 482311323 129736611 268092395 820392435 266783185 544193827 381268377 591192583 867151021 936341937 259121007 114175637 960319661 748812847 936944001 869844783 918472121 86658593 662716103 607712915 673919773 560603833 382365729 765173665 238506637 939156943 457949017 859921511 792083239 460816095 145858081 655590167 168521839 624723473 33310995 335280909 264159061 779423541 266053805 588385739 807291693 459570883 268531293 905871869 538659507 773364955 768051567 206015605 266980621 292517953 97629217 781989681 704401609 652058471 354536593 293446227 568272603 997589345 22496713 356212517 14982561 7555315 602866363 957849371 26344417 345397633 108706625 84292817 823538119 897239067 184650009 800500489 416625641 974275705 993095407 808537519 493267525 636645881 103003989 566731989 628762943 442450083 259196865 154401209 584284835 378242597 562190743 888632765 620501161 797800151 242419999 632254315 772237547 658142395 186775691 813677945 297671027 451561587 445428981 842728895 465203625 838440531 120305499 642714689 377791847 917273935 489700265 564334635 239206887 205570569 826434991 883378385 276907727 487528389 505667625 466773677 304121131 43466101 381589941 232043619 937347701 98279089 627644381 998987197 154679685 2624181 404792851 467474097 311553953 6169961 527648431 955591767 36225913 372529245 153416691 353044979 225272865 366846921 131198729 624451571 887628311 561345419 579793153 758539495 846323261 850076205 231413719 661968011 418109155 382185433 444161383 966725827 532212927 264272235 805830271 715787929 41549803 282045281 508192719 62054211 792299247 444634849 272567535 27639577 830603193 405286587 773797219 348604577 659647643 358536293 496630159 14022021 974405973 273155329 585352139 618422167 46139403 902628949 734422859 567289299 796965449 467061199 677900593 770804061 35557895 893608841 207117193 110304897 687809697 97807679 263607875 948700081 562562525 928414043 480315959 37330055 196020965 159823337 702428711 391179465 656986963 845101989 30357437 766241121 459908129 16526057 128558217 195240289 783412917 903925441 650511109 521543941 425984477 473297881 974860179 611928755 385815247 811304329 125794683 240913395 508511269 989362897 874061293 46295159 508541671 852592983 210304773 209755935 821811585 883948139 173604035 613873899 489645257 779997189 874160657 794196999 906862333 14830021 102755263 109903045 511891135 772218351 322145671 147940003 759007265 239013491 893902601 996586307 304816533 15961579 633117393 285023599 909242103 781707925 328140109 749106203 663011985 990365015 952723417 597893985 965774347 350904001 256234421 735775623 36613503 138816521 423594763 456654327 731410535 37587985 189920747 1573957 728393385 778131551 183568719 190252331 342637457 317015073 145307159 39540109 779595481 910595377 97243151 726080373 238313369 963007243 922126053 500165399 232896345 902084567 513488181 35993551 154325765 176872295 415277951 237457183 456623089 572504623 572273963 21945779 848279263 794660433 305974669 122409567 470430447 458675857 536672989 298660637 463670961 906957153 854218555 640838161 207315739 431915479 71059891 47382661 835351177 683513523 989995827 636674543 191781823 485912923 96248215 262558439 227325163 942657249 245237405 288205361 915476643 988612857 997981939 609444281 274660581 152695043 581445415 838019987 72908309 520101639 95793841 853864185 762148865 157514421 227248373 13521231 156359389 421856353 418008637 981460769 28673607 822540303 72725687 891971871 304477251 210902115 600412031 51479337 257258049 899279789 900808595 260172605 851211797 515157219 414756065 167186571 635564283 559444135 297297205 988998755 115864217 772115519 978718029 261514049 488922621 994873497 34069447 564156873 523305115 394109263 460232749 994787783 359851347 616481181 171061745 943575341 72355687 826421611 718216557 857785621 877597573 830227019 57561823 454649029 910539971 370198129 672215925 341930149 413985695 418993087 425404475 394395981 380353275 172325561 26417455 829667443 908711721 649076625 433685551 127086589 221714139 218075933 166778373 303060727 441266733 727907805 894623587 314051731 839252393 472612599 705196513 655316779 959741239 528975163 506509059 508647237 433930545 298141217 225793327 25623179 500559697 398586055 253729975 3252945 527711677 877062391 884436183 651029263 845991939 272518171 997758637 27841645 249617431 384069711 939880003 470391089 12855639 461398351 292558731 418616275 42318729 553733509 688136029 484832749 690087897 169833215 643229819 998544705 292633565 376939637 96242833 758156475 201481873 263008837 297700651 164866415 43392861 988463477 496468165 40214935 251971851 412948663 755024321 476171157 680800467 837899619 3231079 523114743 837943119 672967285 654958313 547342191 311007623 376171415 233693279 201307097 950500841 603471381 561107403 678849847 223133511 825296361 489614871 271708087 657382369 989494963 835007509 963205031 568542811 73486519 71265147 717603463 816758465 473190375 465903597 949145081 608773515 566645977 868582385 647511239 739784341 648131021 682161661 191158245 168044069 853968809 447244135 401089391 871727591 661487357 484102515 73793961 534279153 932496129 67415621 742864891 425231295 124878483 916397557 268140539 772420919 153240379 238451575 825371747 318187943 135939625 167361965 794177559 399265989 470633779 574269539 615150369 978880939 478642647 426877257 855352247 627966945 143822399 871119095 721743665 925539923 440771641 755435503 608530707 41947735 659512379 767537563 570176011 791771307 198748263 221048139 255758569 593597043 620013443 685820217 421996969 493426235 572197885 85657477 642255983 655284987 91688173 351881531 211251335 508555023 370823955 672595275 384330593 176497467 371698135 295123853 766198173 269045679 834370117 922672067 418873849 447449853 774934553 550762133 983887461 898930469 510867117 87559831 812415729 484161163 367309835 893031233 426875611 426963709 486134755 782297589 433080195 208400049 565560971 23569145 647978869 561373505 35237891 957048963 435584359 860486837 510076657 422454697 482149683 825665657 211739045 46979949 111595227 38984803 693183767 265992119 262799753 667390383 726320613 459709019 906194581 288169477 667713879 242237969 647520885 563808367 283467869 626595705 303747025 464628323 388462733 750053919 432993903 87603905 350859045 870174065 576377927 739727563 990976527 110485451 20823155 589394225 416912601 578219373 637427253 362619141 939165113 915273599 655539193 609575111 858755729 15969557 218144337 318922587 300800999 978969639 901038331 587998989 926180841 22968469 737406425 554500247 159493999 508389673 905379317 228046865 296478969 55594647 65001091 761767937 586212271 417509491 132326367 325836887 316203101 191756867 559067787 493475687 971420285 626594927 387420211 425381613 858617135 16736581 815347369 395305231 23062071 652369411 993121515 662981979 181356295 700610503 2716699 381583815 917798325 537472667 562457731 404804013 806796289 511595123 736575127 336352981 649516113 845652003 804489203 607110765 971099829 486699121 904868955 616333831 381319653 852631299 91198135 553959073 857595455 822825325 121697309 949190563 965174475 548519973 740998855 211595737 735328823 423159695 178983703 788500597 425839069 178554101 813863069 833274393 392285369 231629701 999438087 751971785 205016693 822665561 320455475 372176879 53414495 40852597 824931877 746047845 248022637 521287615 433992197 901106789 822253633 72307209 791035689 724017045 320959521 880284431 787623179 878049539 473531387 418189935 917077839 788331811 835277415 769092275 440913089 744589781 753039781 654150221 626322001 568303961 331840669 297668245 245210143 462184291 647278555 208373455 267938921 329235459 188813977 65736993 217538719 619124407 903029175 81516957 537224785 758675815 466255545 378525503 79873083 595343709 283111633 665647845 946053953 801162319 890683349 514278489 481461103 74467677 631849795 203699533 540742903 71043593 281830213 705307225 725417779 320620355 26152363 407935999 96402857 814953053 844844263 853361577 626062083 734793751 205352221 789567145 369147923 278007189 737366291 143296309 670692053 798532965 404193593 168564593 743690095 482333819 25680035 939810405 456059687 577192757 577788949 951621889 362031477 957806681 722552049 635924771 394609395 858267153 554238539 46024839 511327331 474530039 827799513 486038489 526598065 848775941 919614711 418790313 400581359 287710883 708714929 856007537 295818587 872973211 212293043 869703827 691168853 662515235 315370325 314188631 223573611 946510811 676661911 536208367 207673423 832118981 637756449 613827443 892053981 354309199 133878847 577919717 769441047 874602575 558467563 932607023 405328169 595774467 472227781 602135329 321416039 563371279 923090705 899091061 777910345 124450943 248117441 865921229 284461687 804167115 473952363 611858863 11524025 46214607 197986637 93654673 129886211 287338449 78980433 158203849 79481969 121219707 915047941 101375385 397862981 605682407 652711841 543844139 809495531 442461071 414231555 571166607 312083447 514727769 978270643 888741567 932886563 41535635 902339807 210333339 130229331 921411057 887599201 434177519 305727377 972910995 654167221 139042665 528982291 763394043 574600965 376737445 930858289 553836823 285370399 696004387 600687215 734989629 390023545 146655053 593501305 444999721 385570869 824306035 964006691 956554243 287392279 243809487 653477735 742939221 902778515 849166465 496743529 56695063 250210747 403707541 933979253 806013347 975033169 724481785 568857595 797639619 183936955 611320969 806345369 406160031 728470283 756634629 973204499 385278417 760845301 831865111 889264977 432049747 530374873 184052045 370882921 472485771 65271999 260275493 605572759 490265669 11221591 204892415 218521915 401620409 86811895 654917665 515501793 571979907 159959453 323990463 48621887 893643177 5718515 329030131 524070701 101635991 742572873 644228797 860285361 738440483 581410193 436500229 885015797 699912329 331339887 15992223 863240011 533586033 949847081 779559491 582016047 617738469 720601775 639747217 508459335 52004955 401354901 27520789 523539289 441760947 292737565 149531197 111548253 93502511 500661807 307796323 84206445 457409661 582249817 399181259 888607177 842401715 124974801 859135901 474191329 723090767 598105977 698213095 396192583 915513653 436836053 1785511 270369971 239882417 510742039 282000827 12205837 30181243 497478423 739167725 286463581 546181295 661887825 14803695 154980053 192547795 671213293 130252635 428313045 34661331 703690683 781214641 576321757 847047171 455691315 725946713 562673305 593365283 358879349 754721701 937198045 626057303 153492805 234543825 894147745 695870509 175516435 408135419 590171917 9933723 816454905 867108653 678580841 135110907 685152181 603965529 639583785 554791189 303671469 735170137 816618217 44852245 817984753 672027371 254259563 150655121 568434745 554537659 710773659 319049863 340214755 959091803 831837069 190634585 171524597 96907585 411729531 817014233 458534947 119371985 222163401 77587255 539803839 691274579 261942273 260292629 332305357 913309433 958317527 366793333 868645871 314456797 156206887 509029319 605752697 468016125 996171763 153454045 692548959 49092165 18354537 172801527 427484227 719169927 590471895 581952441 890094441 818078329 947600061 547967025 621663683 584030655 298868157 377378515 66262761 546840289 126893987 554573437 977345045 411530065 986248799 592930933 793304885 383113063 127015695 322851687 611647443 470872933 791218935 756882537 384359465 867075701 156678783 842021367 414019605 136419753 837936189 503380729 901284385 231407351 621250539 46395833 949929591 913240131 76374381 482680045 94993907 625572949 866068943 677623477 561868051 409986013 681050177 850211219 709522685 56170103 880924451 118534517 297635969 909406117 411835635 36693171 49065237 620035533 956169057 447051525 275686875 221922113 566611005 680476309 920412313 532195643 690093187 514179823 590288061 673545437 109249881 403235335 380953185 259548717 951531781 572397371 158937409 672195873 909440511 120405583 258822087 550686351 128586719 848394867 428018687 452767033 957120619 499965755 302611621 413120713 855236237 310749603 225540115 558591695 356362071 525183249 764199765 291916229 254846215 386572883 683851543 23826957 683972093 433612957 268213425 112365807 540064711 931054223 723380515 478588827 171197463 438969643 89237011 90009645 588124103 165314783 793986257 989137061 920771549 820588673 164857173 207745517 167464067 795578445 428587325 334295253 279927821 713905387 109019347 647167767 664545267 474051685 369463297 956773459 580732381 230969651 327841635 303192853 111521939 232385841 207314231 600877005 473800457 236275363 860325475 77048785 390756699 589309241 535374197 142854247 645871563 66146053 741133737 616293815 275253189 526660487 290540507 314717649 101768413 974336163 549515667 422350767 762773963 449726375 443483135 766300721 8196983 634265671 50003193 38173475 322317289 837722529 81484797 38081075 316765525 83770683 30924083 978334717 30828311 474911233 397914733 349573889 251231411 302618953 155090975 737225383 682759889 465976271 878233195 626082883 121076293 653255355 787119125 210167309 700615437 692940439 711049103 267936293 666035531 882733147 230554607 732349335 885137995 569206881 150068725 343728465 946227581 627271537 903324935 337623855 390610303 420873657 624725047 324306161 364573971 551025099 269420345 252279103 58909735 54965671 639524205 559314093 534544075 171972017 548848859 353591985 424242235 337377205 740492083 817008817 548901851 653237227 932507849 643190001 983128117 581528559 390812577 248287141 258822143 354209735 960913503 989571559 241097489 386410207 353377107 38935221 172393329 832311563 681077107 37408253 993862727 641552267 136139105 152684427 207959785 436227589 275382883 484638749 117853651 761833859 50678631 660700241 347612581 899692411 986214919 202511281 215879723 395452621 920464255 648601007 546786139 234351289 781565367 522564773 895910477 47557619 366680641 246609107 2508871 854634379 20775761 630885217 860032435 90049535 340570825 113468769 796728099 930662455 480052525 449979599 10952787 100845693 997093039 72839561 545701673 661465481 178903077 218851417 527348395 287186295 925291023 318927345 82152465 198721227 87848339 25090539 672927669 368671093 939869569 180860869 431163929 387863497 387516241 376931819 998817513 40366467 629243425 383756975 280356855 147145417 937356217 717156679 800195649 84922663 731109257 68706007 159249127 600293015 493649831 50608487 901447223 840426609 337300433 161581801 61920931 331092605 399209585 605808181 168248263 706614759 12613525 870890511 347947877 740867141 97308661 601250333 450840681 505863315 151715309 615409 11562981 342364727 190809737 270074885 598260759 228824577 392471669 228286139 282664801 480846625 849688843 86814555 627725133 499646009 412819783 67718935 231416719 473440843 310248657 879595527 336997635 191224773 15116027 750307887 742320299 465629055 1095097 425041525 393964723 923449267 521344173 871895467 211595119 83649285 592604187 345713547 716674649 966145927 798319605 602109367 149091603 736889259 612519633 522258103 359711853 718099791 950449903 626244347 269652821 710893753 154955061 181222369 627472361 320018325 618897459 181522597 909238379 504920567 161171745 720615283 953097287 352535903 864803037 6409307 58503441 897218483 721077999 41295959 511014787 784251453 210539655 284107849 678314625 91658419 883209593 346852343 948555287 643666485 378238793 37934871 22824053 407452229 365434395 887477823 902277369 719483345 966046143 164790257 43761447 97375279 398068907 76926359 577604007 762243613 684814593 790182017 143298383 75212989 49473415 338436841 516560923 719837345 681002155 166821617 834525227 44456635 688816517 40304543 651996875 825776487 942396629 710758889 330748273 97993071 64730627 2632613 662849205 109819 528455195 122037397 168280413 323176101 959173337 263779169 852351313 224329831 608055703 665856669 656749225 671632551 835851359 501203905 963885723 354048819 668283105 945412143 272758925 101170239 601302899 453917741 237369099 410733929 215697941 766943729 897609415 914741431 215556973 841542801 829887899 564993941 205406155 138602767 287818125 499648473 763996711 645705555 683199943 957261505 707046175 139586353 277583771 790847471 499274235 471166817 31997831 517149299 465128363 41573507 22371883 239771587 717963203 663153699 483144533 509995195 523305351 506628527 411859703 891464351 524654811 211959171 347819563 998451741 655248719 164040159 364573239 518726733 974269209 8920555 610265989 19586985 129674267 781013691 277946537 244886293 299725529 543856711 246440797 535809763 185189767 959484527 457953155 402047429 190847223 248336895 169228841 305999833 283353003 294870949 934594689 128733605 520109259 920774397 756120295 452507413 432148259 744378245 355728861 750254205 747802157 295774635 961513743 725797279 810949897 208187323 150388817 258925211 246987643 435090163 960507037 395157761 948242677 207594609 404029717 988339911 596164493 260809281 488131591 117950279 292065025 636322897 109833703 327077449 715143101 874991995 302372941 945128697 117695435 414843011 716440829 101051629 710052837 778510095 597170403 207143203 441180265 220096179 597609747 859215615 308118623 207825893 995583431 297603405 538197109 324963593 750140259 900045637 946075653 721780073 738785649 49375619 154717195 691335731 513730983 963406603 407921713 88417153 884492509 238121037 966247877 299562839 149323287 787437085 216581309 404736155 564649859 959164087 778820795 829787681 464957807 272174785 617941509 626811807 229931869 154500681 590440585 54332089 109323499 433258947 515476703 286868983 624126181 503140621 60386631 121677771 843767873 273395309 542848167 453013391 75179287 994657679 679814033 706135681 26096557 824560777 154227513 34450125 258170731 954162905 888898175 16075397 681082855 268011617 813050605 935698591 628899293 644529777 684902831 758325759 956849197 641845439 884803739 926950509 855419107 730480743 842899253 195336091 579500597 748481773 761652641 752505889 461271931 797879105 991017391 164638337 476610107 428023477 985422295 790650405 878747935 544573449 655931447 699417695 793309945 709560417 166985623 914325861 878000071 196764233 388793447 340353883 97674153 822257849 206121403 853019465 562544621 264670735 896284759 173079585 159702021 9795339 354178461 357535675 209933451 116503519 596761249 941740505 1522757 925327135 209827097 138464037 651937565 6589127 129921633 72396847 255092005 650647359 903149701 211393649 608058267 268086353 296326961 963312461 65495521 353839667 607791293 255162123 974528127 808709765 504196905 982107101 844066863 731172681 929532189 449258203 226897093 805794285 555298533 151129351 51844169 85190727 604464507 478006347 777459685 257635733 342658943 665088631 401575149 171472763 166064693 145676869 279574491 124409605 340820623 369385047 251556689 606644139 809135649 698977331 412845853 653926985 136195119 84978511 611068211 225649187 628079261 430961665 313824939 651054569 106304763 836469899 280638665 60014255 89398145 459729943 797573625 954670833 742316045 184135605 210381519 175366037 138469671 437599071 890236165 172321001 648525053 148629237 10239613 100537761 905045097 963963715 950867527 1832923 328822759 141212409 709013393 490217501 814753 785014703 638090425 520906835 28783973 241497831 441366593 726357715 98643369 359138569 415033303 85127003 699105935 812212841 342564683 388974093 232496603 939031615 786981785 217533563 336102655 149155755 851135461 880324245 530525715 470066873 806064249 975672253 669464787 726474073 404157387 628400053 381027239 353704545 795508083 429306797 182743711 553442455 942974261 734971703 889938549 122775971 555063807 822964563 850384259 803967253 266143457 984285029 484279507 435395429 463889431 295197755 657919253 715588857 592838661 20410633 206002591 376388885 881959479 672027757 877496175 185205487 801118813 86927213 125533231 364003483 743521111 487865461 223826733 964011551 925091875 642168411 592068705 610384995 489715441 730637659 386386793 995478581 667958801 891240475 475769997 876791123 574311169 171487913 21668283 599689051 805414753 576040827 223468941 286133465 987380223 392293483 939657279 49089083 90549709 379921347 836597947 111559901 174580453 919661355 898839439 161529853 174099853 451258043 802072561 884030409 980293423 977010673 196148931 11221581 173167453 551426737 92097417 380170887 49336021 673470023 474312565 997856085 225404023 427499115 66217565 357365889 961430097 295376441 151151041 738160063 851919509 853132085 421175241 974301603 226048671 691875407 218650689 233142963 879526897 703868635 661804963 139608661 285107511 844835733 191519757 973597149 520877379 116208035 499736649 157969793 370246675 607666067 232327873 961308005 126874055 353973337 211524241 977832081 300680621 915718229 229930103 102787063 409638713 497611337 272777177 605021041 326021889 157814371 571725767 955998397 228654541 37332793 246923257 33360009 367291785 832064711 654038987 859637601 414421571 153103221 104825673 592580289 564352827 382495501 422829089 856587275 986820563 436679623 957431975 444564873 792738453 649952575 457210077 583051623 514894901 537091961 352689515 188112581 213883023 309606373 360430239 38099615 852265895 81075285 920960367 36381409 145688229 300032009 759021181 19505501 12430047 454941861 64028429 14353097 190899407 657479479 795808273 823054281 554608409 11870515 512870175 37605349 427859847 552437623 973751159 917660303 962985997 829472073 931649793 398061599 913540553 312657749 862392137 993396439 182141433 702463153 376623241 99788769 91643659 571753945 653072543 715193423 602247059 664013235 829774355 354843159 304999245 664070797 366732053 572043549 810833433 733535005 860590203 102762025 790271235 543515519 959535301 939335147 715347777 524721719 888321305 898428417 396368683 625793843 137940551 319374311 774178119 951395017 619851717 268664841 458805053 412292791 915797685 617934519 820755683 122160929 700285149 227309355 663461685 695189907 945897899 9163399 365488467 59988997 262487865 814682835 307546507 953760211 439529283 519059967 546125901 225007811 883899443 493144295 483030841 916542465 501603349 752971341 936132623 668014881 869524389 898879445 882929081 926098723 289628477 216122133 897528655 565459821 469368297 548947077 590196487 824957129 392054357 619486855 584643913 221946477 932393945 786284131 774482331 522241783 64459637 972493641 724899253 234660717 980272847 339297621 476293745 91783739 646804279 947723911 522296017 227231289 92288165 481032649 677954817 966845855 692301495 153052139 246554451 944184599 742347701 619262631 49487685 451568299 153807759 650547103 540271735 941431507 414867163 535349081 323190199 672301419 904525271 965939787 162808311 870042295 673037165 632899531 374387539 242272359 721120299 451285787 619363853 655025293 181549385 844337251 788639121 967609513 252198309 587528119 766627699 295230623 907318983 864935439 223961709 74266557 340360669 167916107 336996193 360685495 424916159 543185975 184080479 8484779 252147951 781167489 364638613 698349343 609959567 210647237 22339169 523544319 189769075 651933827 702974533 804123297 784877071 872995365 475606509 347689665 426264197 947694329 205004333 255683719 241084825 888066365 986763519 575895677 993558461 88456975 252950151 579971993 87861767 350325115 368518671 751985211 375633719 21310831 656289547 798392613 565865651 486086855 515477527 841004165 888890765 984158019 892425719 790879475 240747385 491935115 957335187 673287783 722924503 473635379 700038657 223564107 379966639 79372465 149912443 481352555 700360623 957504619 764914277 24900859 489848625 925826469 519300427 728095641 729863475 435498131 217310941 688750921 679623259 989886543 442032377 519949179 552159993 647096281 846890403 919664131 744596995 218381081 526360581 904662045 877242907 250494435 930592625 840382831 36762759 977971949 94371939 210901767 153210421 517825755 248981887 227367003 975834301 203168055 871705745 583505989 463807841 337315695 595807625 148358669 468193283 26714077 905812871 141287007 510354487 360895173 400072649 259564113 338907185 90351437 741144767 98537057 609989075 2357385 489966841 122646899 929827233 564004463 382043701 685428691 763744205 439485155 676085843 891263033 181581613 438390445 714996833 530621121 116598337 836489855 172129681 165748207 655673391 116981235 47204413 711116211 672334279 493084807 58408683 530494559 417907329 470400167 710986053 132489139 108308347 924413605 978070301 435821523 982396029 76683191 363861873 812962893 239998711 489903361 223172449 762021653 2035455 227465867 254943547 826067849 197344851 817159239 95892849 959707503 56568669 231605517 368346015 56252403 812419627 185841057 443803015 138166443 286505331 979252137 359303701 418519189 284345751 225555639 571170909 714438931 119111069 821534535 420885655 672702709 765066803 192307637 459246891 106293617 202086579 654447439 284429217 365269793 823079961 721214789 986777517 566658831 673308173 74973615 703356459 255018403 778553825 912626833 532394525 140651445 686079369 542679249 268356015 228535683 258928295 613739329 816704309 784635825 477396863 883896219 293995561 219684429 100974595 445019009 585645615 47907787 473552073 306712955 342449681 51613193 135544849 177996795 2329283 283432267 241752769 589063257 923450977 702270785 755580265 654543319 287437615 65203711 23796033 995523231 871109781 654961409 258325287 816607937 2954281 277863469 902373027 436600631 423514789 692977873 977332453 720748771 181890285 207217315 110091201 186005389 310291211 920353469 309147835 94033637 440229173 524004519 957810167 556981127 296144579 358195535 9112901 948377075 485877561 751307783 347631387 296390547 58849605 629817741 939149723 765240759 43352503 780468489 639711627 907840153 51721867 737333509 788159321 247468635 185637861 320595577 632144925 421177859 958619409 596384705 99417751 764219527 214034303 720539553 991929391 265865661 691699663 286664777 538677745 141629799 156299455 829737549 955628439 853277231 139838527 933533097 392685185 347986085 995902047 818818243 689844403 723016771 149394011 771326825 175465951 604834921 599370649 876769743 638708315 30378339 901270175 190075283 172424231 752445279 176162853 242504891 827625961 343633785 12857349 2561203 635688945 592083121 240697407 886178641 571875639 827754735 407763459 133574097 301968473 872607751 696192673 937466331 69666463 425292977 239034519 250598009 940325113 275960207 311565445 767330083 297590011 165602343 564454457 786050739 128686569 862070765 375488933 867445875 215280551 547525947 218403301 647383819 491401155 791160913 174016059 748367763 884349049 841421401 933464339 73847433 566177189 209982561 210546943 516459217 169756109 659688039 1728957 203815097 376057637 155233865 860623149 113208565 775068799 420510419 501525597 395381667 125167709 266952883 607511169 148443975 729697253 673155461 305444335 621882833 818150377 822929095 727026991 721130389 851671005 437981927 129479661 392989775 496876259 207157811 406658039 297843751 253187263 529850339 481199181 498038951 867765987 649977115 97256977 374342597 13588837 778507237 949993357 686613217 990448643 10362415 582456629 196427709 274672937 954076371 223633061 108466055 956862689 311488661 233931679 254346709 151461347 871039259 161836305 195764133 822344851 999754745 804750857 132445785 533464051 492662695 470739143 944420035 84815027 835437701 379575725 717886485 745325613 10050013 876931143 208200429 474933597 138137313 726733893 676729423 200364013 188091305 914684037 502876331 726365995 125234745 326784011 953818323 116194573 168159095 107542271 157384455 502996277 984834615 552260023 89399789 634169319 17513519 244826029 822998413 642743063 388626179 154131589 585255011 787513175 959377723 206377739 20121671 206356201 766445897 261546031 782428545 837981875 808981639 658639375 239984061 54555975 156430899 552070383 634311441 962517977 795144825 525157431 908363513 218960201 656072043 23706495 619018077 366175009 809627135 907779453 807293319 976055435 575491865 139840279 73272623 786649955 774000769 235646041 323366767 639260455 194739177 821461875 330324433 38388221 33016297 492436933 101947709 124181429 176098565 16528591 328298253 245628103 751115427 530945851 998132217 61985617 404551701 612493793 554753835 427762715 688368021 837049527 440014127 826291605 260074309 962368483 428914425 185101011 778352173 90795697 634170599 12632215 984677183 475789459 533322175 894459465 328696915 937002533 585739181 964846327 411746603 631051817 727977287 459490391 124326513 741235337 668864649 864242123 982152885 624245597 486065625 931436889 311014771 918284251 120027397 168158383 253542919 206386539 861609027 542300709 415841471 993198741 904019757 517525947 522310603 916880909 57241547 580406297 354158659 95243695 472513931 380649355 363984169 290089853 616130623 92313355 686804583 926453923 19167525 271049527 876330445 578083443 89105381 74806617 771779093 180537195 74260875 147713627 35912673 688092205 417918859 573657561 211996857 367324291 220555969 755139857 426619405 58502753 464477815 855105001 268134457 418305763 192123735 640714737 543031165 172792651 886028405 174315873 858108163 315353093 928535633 628600343 370346459 138240933 460419025 934984347 245126655 573067749 695721789 106140955 752257873 509588649 902296913 552210033 405869719 524282107 641034277 465138457 491633799 48171535 139143233 361458749 296454327 926195265 214742929 676191915 176877225 463257109 403439723 814682073 21564101 619945779 2008203 396226793 579401055 17326449 717881881 32788383 435052975 486957001 647955615 360039789 134498007 251842399 805106709 875088491 463060189 591863423 641054679 12079189 475799479 203286937 990162857 337949587 951744057 851406411 754918587 331482165 835087657 281656409 466728607 59977971 209630767 415932075 542826069 916631597 951055579 485821527 783628609 645660903 68661159 594285465 449210929 264363987 408120563 117664977 391197785 827034695 438648841 237248395 190266967 135710529 235130909 754107261 919036209 750180971 161507651 350062975 842622289 922214675 420498305 424687767 938225041 120457009 757009855 561752303 688120365 935721571 570723533 287394009 115768775 930791665 213770339 998847441 869471855 842081481 884354597 564862331 975613595 167952005 298302621 475304611 788911653 596179553 99498553 699429435 580172629 770108231 798475349 107268189 277697497 406020037 149747247 27341647 75222467 207388433 616882677 986065531 429771409 233020429 931453877 307177331 530480683 250086461 374478439 866220789 185010653 509350099 717150447 130416609 876599643 602963877 62173463 264764997 282315203 764661811 137449613 920466003 740199065 439388837 206701035 45234023 561980621 708184775 206319541 471168259 530568625 900068115 255381329 128778195 112848391 912544167 661537811 857985193 913525999 161623373 547561009 13785475 172267257 292099183 594769359 912117891 389699865 22276137 216382455 825120499 762750893 368872249 733452695 965109831 838225275 280280325 403185289 622232347 541324463 825260189 622550161 878228017 332518879 995197367 638212693 697509237 605324041 433003445 333455975 687240955 155048081 5830813 537954371 109639677 475993667 493965855 115936583 12806621 129741911 412314255 365512637 760355115 869314663 803522543 951247319 583039637 443680381 813147367 162893997 197823481 938817025 411039173 519590721 348970329 888339661 289984383 661724543 507520993 305995803 218366135 248724787 924542181 47868305 405537969 67606809 386135263 871606331 551012959 83416019 463084147 965769619 442386263 126461161 849168747 189342321 703762649 722111437 199335357 878955547 262875853 422226135 471625345 959415617 477012159 222621259 374843643 491718903 374283497 732476751 642224537 634774971 246980905 111276277 8136939 12289135 973895175 857752887 485080749 622167395 669539251 269140471 566139075 521809229 198076163 607088125 128661049 322063943 829622389 7253499 950027327 316264153 465357107 162187657 911806773 708686577 570403851 497804329 37897625 927467233 504074869 748190789 948435227 839650409 975451023 459478573 320951691 807608747 863513377 358712603 722047461 282469945 443688601 55474225 107893581 765001221 698266129 874940279 290439183 88101485 618364741 836336861 406108829 488888117 681468573 672041281 591871633 920069005 966034987 739799391 333014961 87382281 791618723 375709409 98349287 28710565 913932903 129520477 341238597 623574983 342717051 141927751 524519689 436845885 90107281 185280257 473758867 272270397 776498433 322308055 569369457 291511649 794429381 731081465 366838613 569892273 866309003 785306239 607101721 822843801 661477277 68011627 715201475 517710319 109061109 694183333 576205181 845439729 51340849 810948865 414170779 223053633 98537113 762315831 821843093 430061297 146006301 819273449 728001299 761218161 260234835 805336989 947765469 640960419 7377017 311747273 6756583 751703243 240932473 739367875 213839693 830233491 880451809 593672141 65092177 543604757 280713449 390803215 59947359 172015051 612640111 773388189 503587337 514963099 630082043 36714607 76322061 717034449 74720187 127306855 341520717 696330023 481316999 541779787 391827667 942919605 840735201 392010959 416814547 837388035 93391339 22500237 377599401 207301117 37857913 206324741 626105815 344144887 855878143 964682145 156603147 193579955 891104415 268434865 984676883 214574673 531329821 498295917 892201199 845015649 403960811 716626427 700595649 558658265 372998175 146441055 869937107 259950101 147443833 665902477 703190171 577986265 390521439 526049375 577598641 686747475 102466273 520331669 726816985 480834585 768433079 583937495 814072577 822255913 497014849 963803065 306231609 387208423 306614915 125126835 826842301 850619681 550409261 760639525 63619825 753640971 234349977 470802521 586082399 636593475 131003589 380565889 457002429 293027533 566934615 278751415 48470755 310653977 753867421 483616507 200478677 541467387 213323923 407065141 906762177 810504879 749725909 213551673 522121207 429107931 751948971 662028733 920140019 503215245 38422787 266597 381384025 990125881 136168821 968080059 669428469 186239935 949394241 556778285 302354873 971642209 198294095 499499797 283185855 43267277 143179821 732110007 847072077 656574745 115116305 23043385 958911435 886817987 357518043 596784047 122253009 861533357 330316309 633561615 304741397 953241897 645201131 810332221 103182207 37559017 572678197 314703105 847047701 725754377 177049715 657810701 668549903 369421587 540797131 823069179 645663943 753447407 80124429 357273929 172516285 685023991 992437681 530460515 169530785 97148901 446912725 262302875 147067973 719576287 932933953 912029735 166615201 963549043 888853605 111425835 677406173 844686229 479345239 182424495 274193985 405851811 139416277 121483685 897053249 421065315 703119433 630393319 714915191 968157697 744643777 374138675 641610153 820844819 908897523 827875637 552705985 781821589 665528129 761658237 186319571 238686191 387101873 682264199 453800217 928614379 493252593 268474033 147656437 770072001 636661851 299991365 657150453 683486219 524670699 101330803 182414285 306228177 216023881 356516697 972968275 833824641 513887431 366197491 755892113 107552237 717468505 313006893 845931693 886837589 549157025 132592855 694527227 862658653 43619043 808671147 968642041 376130321 685955601 179457867 171856201 517031913 114864321 569043007 582172597 161333953 936424243 4679417 750645811 593694687 156990541 80307409 364143835 232578799 693144735 923318025 967931889 955482119 469673825 244507595 490747617 979947683 175393137 10488103 899376959 568298153 586245207 971799 364864453 15461223 84287299 954952061 330039127 824193171 938036745 431293217 840180737 231457607 936594477 886126259 650401267 456968971 186243027 110806735 621119115 748752587 193087179 229396981 387401549 677202397 560552331 300449167 189133537 513757439 132694069 793149677 507039261 106615125 871288717 911890505 651996923 30121835 603397127 27930565 884028319 273010233 240507573 835572329 204045141 226326043 140729433 665043749 560453007 147174357 180859995 359683541 152926439 789021079 762032071 97118777 956576803 222994419 99569239 647523579 484355883 488973033 839257451 773341867 921219093 794793693 922962695 239630019 941161501 335342493 50654941 752852643 12921507 77741407 219276099 367900823 603535413 759092157 205765177 899882189 80425859 709086911 186448485 135804513 143834221 629352913 871405591 686390355 707178739 746390217 214362183 303706765 767479361 180911843 487095699 991149277 637824425 769439173 416247107 359141889 707253671 951887999 813788231 314511001 455278305 121035393 832141875 574369835 795039007 606140077 869885003 804718637 439746645 824936517 485421683 487562483 507622813 600541177 167039545 150122691 975039037 812984027 49863129 435531973 819936927 339343211 8086319 208617479 254020951 167522957 710521537 983522951 409087005 952086157 697524417 467823139 102218457 215463459 139108359 744414119 542535827 879544173 278039823 353171393 177354879 270118123 690264833 327946253 159422201 600333967 947581615 272212491 856124547 510715053 664991629 358889507 566982345 677890305 638107323 100764841 233802143 358541745 543309827 894701779 89336829 443782219 29593297 57702343 60837643 248447173 569358653 401511305 650067729 85585529 871176965 537195533 941030533 386091311 984769683 627125805 299600125 556475925 945404407 202814631 471178819 11504829 370426851 779060521 282497341 652642341 125334203 549910335 675684609 787699637 674048389 524382055 923269577 607632953 277448945 866415615 918580729 344374499 454578773 867421777 632344347 19700309 494502063 647853967 716988131 607506835 931989929 727667155 664511535 978002695 962909329 937542939 944516605 343777163 185109341 692100691 243915387 330608473 991876527 540211789 738740733 16147735 856228811 986340543 522212861 990823123 986453411 136467277 383654431 278887681 975358927 953845377 95787823 545710977 334022283 665780423 549638687 683821715 609683647 766075775 900764937 241425899 393113341 331140581 15466033 969158551 134849145 460955173 311830277 779352859 301883411 416729681 192148245 515964503 373599573 516665183 308440861 303000221 223641961 304365107 502086147 72152989 373942315 694480021 831254477 137948793 156475673 32469047 620553395 176299699 207386201 538782129 7004173 559005499 39721915 556479879 288297825 308851555 97804727 660490015 559931737 556396523 875865707 551894475 907500231 519363063 230454431 674759109 112105385 490957845 767191233 936581935 46852127 32247097 691518443 457906961 173103991 82600897 54842073 610471005 947137313 811293811 550829813 943886059 806703549 165518713 854974285 521385597 324260875 719237485 73852311 652276157 731984375 7586889 97078069 77900605 880797587 552461941 77698605 135517299 483743773 914509755 41590317 843261121 524941045 857021009 130715021 710662771 584214185 220790231 708473421 373343673 645362155 966083663 439581459 476240811 430000791 777050919 619011121 684360523 41254575 826330165 829107355 118971523 773234527 565467319 404239089 268750627 396034043 417047121 405262461 169615845 200831741 281355279 584619561 960838507 297122055 791078249 301485457 938204989 702626279 136984891 458216947 267318475 744157071 392172235 661980981 169641073 387589915 808777923 289629927 911600239 384635855 444139069 707026753 651155439 617001491 230528435 332009505 984326145 214120059 343516171 346425359 986459295 283817669 82388371 473927481 279853483 973985491 144616703 945464441 778885611 956685743 573353071 168530507 281189397 640061071 210604645 661503961 762294719 662689739 572547279 770256369 65535083 217410023 709052931 680870409 739090563 713071761 626443709 419802947 332604501 928387479 140459045 198954339 971335967 398121467 796810437 183874011 835137537 87368923 880673173 102289603 154912001 214559875 519643631 930816983 406509589 282515303 186922909 222974847 830043155 773773605 722731463 811357643 618710973 814181243 276600839 926807411 561402043 361161049 134520151 443296471 594323105 252929487 120418589 753085179 571872743 633947417 168658469 442373777 544134381 234226075 505754023 641150191 315942143 736254177 255752255 555525395 729455435 96707739 994957555 528794279 368810989 666467753 198624815 176428793 613232867 946275593 75009225 814887425 826209051 692437739 116752637 156309853 403715427 227474847 107878771 110021973 784700275 955597475 49166901 67538391 157924593 690813335 55094713 89345917 521703521 84339529 291858911 765116547 249430583 299645609 521908457 762924499 769045453 547322839 36060293 504242169 195079779 737555219 694769865 161572401 700509217 365735881 88551219 117388629 232983835 287582091 216169383 449222385 330230855 882755349 685346161 982413361 147747465 333274957 114957897 493447917 492641195 336290875 381755211 698214565 282466651 193901587 734121469 641334145 100805171 935380527 321856843 675791181 704328375 112292373 521248905 684113027 998998093 140251247 687498359 204499777 576048201 927780881 124814393 200610383 400533217 679477493 763301981 695781917 317375545 553441085 556608473 88189377 94661979 34378295 962538247 921465339 558225205 951878485 338895023 772849713 344271265 526071091 214544125 185133939 958183523 767587987 402652807 208778615 526531617 749498209 41008459 951096223 19940717 723564465 655479211 347569137 913676227 244585149 754053497 903823899 120790145 181538281 228999397 916267127 359516145 589038015 667494289 81656577 713776709 920718579 481550719 979605091 676961429 151514465 698739743 596715243 371327973 232268555 164351299 478059407 245857307 785542430 55659563 901144305 209521417 991518445 582014075 260503637 822299497 552827121 87632705 931755693 811150813 17797583 13321201 738591631 839929325 388431697 856170857 561737787 162531595 206498155 958897903 449672345 835021199 206000953 147606831 56028213 909340605 389188095 766474559 167864137 898474683 422327333 897557403 505884083 317775259 293681217 512800043 602705915 286616663 472969231 100887609 656063569 871175377 98065775 554851707 113243019 977672145 470290285 267965713 969021479 114689033 478693183 775598973 445601103 108751633 925979453 714480301 658332625 68340843 334942189 788110073 74661669 544155265 220340983 49345561 816619625 653801891 297742897 702917687 40400741 594008843 460241559 499904735 864803207 432356827 904838985 218089477 856491751 631648795 173206165 1428231 272683847 288274365 105144555 105462185 948455177 502943129 794449899 327365403 47920193 319812721 41987923 334502641 93514659 731686383 929508371 400705063 582436753 429586339 90373437 837964323 468297999 302789127 584423177 267761075 441042639 752657787 912159197 387449867 81703463 314299211 259480901 607152587 953315863 530685607 765491443 390427125 336225863 426004391 353646531 990185719 766631939 889291853 496755895 670994343 974067525 78442369 863591931 966714433 554016171 389077015 408323041 843210093 792828285 489633735 851387879 217324853 112138923 759244339 457997741 854439441 829065675 690448867 602919425 268923869 368494875 176905031 136907221 879741661 366518661 796956603 155063109 866772673 173697943 880615039 913428115 883190683 978892937 188956605 963406123 266672363 840786233 817203075 700465825 218185877 546672429 445004495 781072303 579320295 294530969 582532737 157484343 438039189 715515471 603715679 265250631 395280317 273237201 221816351 587985939 390297317 106251079 815902805 395279601 442295545 864782719 426396039 712381803 596140879 899802095 938019101 891932711 523938467 374404279 64398439 610184699 226666013 958545569 789799837 510875873 583479879 172628505 922066661 26575101 308614169 105311799 572347203 402067353 490010093 994537403 510597549 23259177 908183691 285240843 962568183 577664329 627451937 291100727 800224743 902673341 696881473 957550583 36422691 206876525 493985259 996549291 259145535 836457583 891718787 382719575 881566899 482082813 879677653 52199083 679979999 934445435 792065817 629182977 731274509 728224117 286333675 133815383 369305201 616246427 912732241 642881617 243112223 242478795 659575479 27831363 527979037 670617609 766180849 65182499 95027537 825794941 224047423 310493071 853587599 937704061 824712775 647205071 390306957 964490629 937086995 990915025 853543921 217676597 953176601 582082605 104665663 436714841 73893175 780619555 303861483 357498343 322746035 44622491 191681613 13657081 997718331 396247075 751308457 72921295 286463457 29347825 562296101 947369177 842009891 551634405 700948693 641213607 600306665 779747465 315710383 560837623 973908093 840203785 743501207 283279017 747450263 357984061 456714071 872291275 316190035 502509733 583324061 374569101 711202357 577359207 515237379 437364559 552483885 927060563 567016971 25051793 375165839 663903457 443682337 759667711 723997205 177860655 364924561 317379947 725273579 640432133 241500311 922463699 999799959 287985619 663731541 671220823 77786645 444483501 876615891 600971077 126430141 82417495 88616195 261026575 967946583 225722165 927289023 708202833 491618319 625827159 641831109 894954445 604571001 500712051 44234433 638928239 37115031 189311211 389022277 550338889 44504265 437685189 683167175 574312345 332529889 479295407 290291115 798156481 813767183 195357185 788139321 601288267 353153781 787814333 873821089 896868331 117267093 518238341 961427713 399314557 259848029 978912173 10049877 15619 3637285 213892393 496951689 307937705 724157735 859444377 500509805 360030915 209387783 307539015 823793083 619428299 473474007 807735839 171007765 580651109 658184713 630232249 195064579 926748507 878336891 376544853 465028599 465995169 649202291 652848601 585140041 555239251 535101597 352686037 399989819 350523059 737127437 729520513 340581111 45977391 924607555 315123131 763151245 255206999 472791845 490982923 960315127 496794855 491711997 718093729 814198295 548923331 568594561 453290577 251449013 627719413 152250321 566952351 954324609 878612145 377166703 684802479 822308887 645301845 687651401 712943183 652582905 329510751 258067893 610716155 14835595 715535487 114223217 127864015 991151651 273496709 119166879 925279121 928700409 521912685 220102097 177218741 568277807 57878875 451774969 523327309 735137997 290368921 232126067 433576475 577035715 596782493 909963273 659088007 148881389 397033471 706209507 984933277 454874379 604038021 878423963 256834839 94402503 215386137 112961067 392591957 581317809 95904205 49531129 769001307 912073027 195407837 831295443 636307931 852069597 924510637 956179693 704635947 99510731 459886537 516199397 427162187 494181947 949262051 769731777 30648033 775832393 626043093 807699693 101505085 290428405 714656165 729639487 79446359 103849001 563654269 374306805 699715789 127073205 66675375 28692913 423616999 135249233 976819385 979584131 941088661 612298659 746498875 716281825 675716971 206426159 181547011 942043303 629652141 902416491 235451139 801583641 826936125 181287085 730788183 512209125 872619183 692232501 17700929 22662691 261335353 993877297 782048301 604219467 13812921 590156207 355995565 43052103 319735733 361327783 890568319 251273315 956340319 54345215 468195971 355908947 279719311 128458875 342591175 902605109 556937153 284670671 438243965 634451087 176586781 317281941 895122433 624549197 345028469 134976333 764390357 361311683 560691005 723908447 700527013 20337075 656867989 985163039 42234181 167883069 507537735 368079299 498928047 465310193 514353853 161228401 43014663 950732741 662761235 722176813 690519703 741901843 221041671 890107883 972142035 610128547 782620671 19257733 330007383 698184353 899861771 815513273 432981733 179156899 322279395 219818293 959023977 530729127 235159269 461755013 23357943 843795729 172774681 834401063 529968841 512633261 249448751 661468537 817418307 300964275 525843067 358074565 270490095 912416191 193196545 356557373 733866371 351688405 182642021 345375227 106045911 115321701 433673205 54620669 889209839 475002435 850479533 746526001 744949753 903611307 952109609 47328355 949432389 824471619 129556911 246085455 880654415 866796569 106241073 612222871 342164923 728593825 53172807 626405829 628617555 201431737 697037869 178417735 650400781 985096103 499554507 24284791 867636737 383908375 86898867 950931863 295440757 620669983 731105049 434576339 322473425 684888381 597550301 601804599 984292011 22858579 793734023 232391359 632876223 33454513 785183303 62874445 478786797 725774861 32411379 857121449 961936195 416873347 820535563 59730565 220122609 396976535 953043125 662774651 892691543 546446137 711454657 599814665 633861107 43140539 884753063 93807003 90599285 338630109 669539717 378305921 358102445 479995075 235490595 161163255 87563417 903092473 31799279 241040153 659176537 541181303 504600323 933268469 942647867 785711771 621242651 522789243 100009905 366738213 470472097 178477443 529278805 354359111 643494819 197419985 55823341 454454165 167023831 769169673 654181219 595767819 811969183 298520003 987438027 599294735 814963969 246444403 861170269 837760625 678183851 785005949 321678977 583132257 624084725 763613735 402903743 217688193 266808543 350703527 728112587 323008723 177278479 612516115 113748351 731035333 118557399 911872365 751835619 563090477 493284907 865046687 349304349 51950153 299132587 64146041 220650881 478121661 793761183 884160951 9277069 104257685 576399351 369039093 252017634 252095817 936652105 194571713 416362829 973966261 238757077 295424395 999363263 105744669 770761345 454643883 907818837 274919473 4271581 974380899 244554833 145974789 247858465 861627611 685200927 128149781 991851563 10143783 915328339 619305031 301076355 327694143 393324967 392905705 88317271 68378117 389400831 654463151 192140929 752188225 7961701 942907063 424798077 830957987 98930957 374979207 786304373 126277831 465931603 660176907 775311669 342209069 476922299 457359769 180714553 116876863 111878637 218402543 201097117 158939981 605777855 503186479 402587431 275736209 824417835 178431211 708365385 981532459 695892565 516392723 132060953 557080871 905860743 56549385 104459607 431124083 608298295 779984783 922963307 933850091 3491837 971967701 88210785 460173391 24703647 90836333 745243123 955586375 998631429 620288087 905324417 522906727 509069125 372324599 770099983 485485095 879286425 798548507 555494735 837519079 674195557 876496119 40104853 772961779 184049205 826706985 227293925 273681017 377779131 149874871 861346531 283368597 595516369 666919181 505030367 90544711 786609533 810331137 922644689 99554423 123269863 31244239 865378903 386638841 712719975 399502109 259925433 2887301 143506291 218881017 362577637 196046267 36064689 789687001 961809525 722535461 261325293 903041431 819738277 157107765 543104793 503098491 447609951 663007045 920563535 109357363 515628591 718708373 174859989 400954321 784760657 717474381 481925909 481172949 189519007 750137473 340406689 902696739 48942501 413968935 200418615 85318407 541471631 407576101 559627447 349479225 465062965 817502271 855437871 716725973 206968599 934481449 17115089 125337439 71146075 657595517 93617401 698710983 735547347 730753465 955935529 648852833 545647603 415809353 255513357 679011561 58457819 953988223 101513591 106035589 327454547 806605715 461270117 583566787 392337867 110869157 169988089 874203799 667845977 773872319 650679677 921026657 204627133 280516307 887171173 872461795 68499293 883008697 747780429 547335499 327182921 129782325 812042999 803081007 103319351 616518637 861779279 421681547 772753801 549447797 905185385 343602887 533779781 871223619 124895101 531557037 575757849 983051707 673918451 216742773 240985695 170180133 524051027 852971707 403053587 796716211 97878867 166199427 872096735 937391741 427853515 841125949 815959057 462215303 230068415 226728891 172661663 819067063 250489435 644186173 945157417 653374687 869031155 38540135 384871417 961097659 949728513 783740487 853859579 170883047 101671721 979984977 705257415 974335217 412035893 234254947 139979677 226755657 786124059 927077315 34224227 887206473 102295027 941582109 311427499 205375279 834971905 887144327 317692841 570211367 935278771 618563965 98772541 470627905 936189337 908979173 644490223 607017847 920914287 160816397 944148207 406586283 982518809 599376299 422974995 593242533 865490593 124311001 261990361 652010519 805015101 932842017 603828075 280834713 605889861 999480427 165547415 765207725 677642815 586720015 884408277 552165565 871858901 301347275 750949187 288021273 281159385 65521347 612091817 232912637 232313671 49847171 238656629 399951749 804053827 58819075 16835007 686201535 777489177 360009119 380754249 667775131 609688891 327510557 862167925 410453489 572937027 358550697 153734743 749386115 477916407 54213335 71317667 34755323 625435969 235154855 829450427 25073641 197114163 988212351 519210403 161920711 647214857 773290025 646613005 35508215 221453097 379387867 589578063 526950591 889123099 248406067 511855209 447125589 289847443 481121847 440183555 917698255 448765035 515948627 600446569 430211631 163713449 315351389 114461333 633971039 491164791 345379731 556274981 360517935 214295847 295296409 721872481 205484889 956684087 321666939 836361273 904444285 583057993 716942769 44304195 837266983 86192935 87780375 951083453 48804293 905680581 151099633 981845137 625271731 923363133 266497519 402336845 724257585 983276757 474388771 986158633 701744745 152085241 249721869 455884035 792532843 565212471 777430673 735116897 274421551 259822159 290555389 237696887 11261083 681366819 202783749 495166487 787147635 124041149 839296967 984682435 921274733 232079441 48542921 213318307 283312415 433415227 15986679 874555525 315731721 13297405 53699239 430281183 957973657 87899459 518281109 328514769 272958749 111114209 587667945 174124069 980952271 706538705 985047085 760130119 225240527 829388343 269334871 64029263 370141991 166490461 438046151 44925181 489003979 142760889 892022335 926888887 950886799 755599331 682279149 831143821 119375929 874023583 515011177 203621431 997788785 645098969 551936171 725712147 579953349 373023653 725787677 191888939 329339059 782946623 635136651 9467689 597233561 779452421 811373097 114305129 202575299 369971337 375217301 790375399 686643551 504224121 182978515 337563725 731194759 477608117 929044307 563000809 658125631 934000699 952712425 388676531 312555629 144130363 719807953 706383945 922081509 542565125 478675889 188028657 126883679 836877845 461016471 465230495 942795899 41810191 430372089 437477605 49511875 470662079 98628785 130683653 317241001 682504727 768999943 139298023 192225671 912022833 889121703 870076951 750180507 917613651 210158247 222826192 210220817 209844709 1417093 912542959 229630459 994475647 73362213 796338941 875520335 332264407 388909011 676146983 746785521 492795347 248930375 464962629 763796395 541572991 795859101 848581333 994360875 374753805 870505817 121031171 736200203 409440215 455493227 276449433 36406991 799177571 714568741 275549201 815224541 907902043 743320647 202732425 139526279 309484691 479263477 435708105 843277577 285163267 274255293 227575617 406961025 371962579 391336595 305775365 22012409 697178187 13809877 133271001 391842403 965361631 973636169 391620129 666513303 309735721 496052763 502707181 715610711 559335919 185396705 607213555 797814861 277065499 718247577 800070805 486719243 715409857 740646309 884595417 655146759 18581019 400288725 86741357 690237093 441906827 989917279 500124585 12239149 691718815 742561245 173181583 413991377 789577737 75080537 639149505 477610153 834849189 874330939 802768531 913158071 861005429 628005979 533214969 394161125 135106215 874822903 16055443 789543939 618630793 246175667 584911275 273278413 46840731 729575069 941946925 135063775 605462399 377279017 703366321 941939143 173718271 623631413 829176693 336883957 99770127 517728517 301637989 282905537 682435019 524446793 715551499 505739629 784685943 920296981 623986081 37139491 129616763 897146853 846949381 28540403 757749101 585034655 805192127 429957079 211233287 323020433 227234813 186220209 154125869 177896561 212414617 575971913 983561193 224864345 925698321 120151121 787312497 694652881 368968585 93496673 437167133 791519687 261086165 161266683 354662257 748258189 849961579 484900233 574042139 131375585 316758377 535854427 483777771 566075883 982757269 637923755 824706525 971350581 979230563 388973209 596137749 236132791 799438309 41842481 68575 79983309 747118557 913158753 139735467 992326715 753665201 548581381 604580633 647326257 883217267 911462877 253225703 452913987 652115415 1536659 261384453 968443757 736742207 291690679 302778243 461143829 931185583 831571395 169380255 984133129 274882777 595286295 104975545 593347709 516669715 779905791 605008223 449746447 966132317 931738539 181787201 769104581 730959197 120981041 752129343 729100811 224488035 572587415 709626969 494320567 845566567 968020421 357473465 988791045 496733703 562428555 338931639 286323101 309001867 537822883 486354377 521419913 196760289 205292717 358598551 207697729 952217251 678227509 72290023 65026719 691767055 433447593 154186673 535548397 252326409 589011045 163975439 266869203 960388901 679890343 211285059 249424745 489158809 829661597 364414393 615332141 713627201 559826261 874163203 365835267 216130729 878302921 107460319 42344505 770348541 472920537 124395567 951445635 543468311 462979919 80678141 498103039 708424819 751305693 893848189 151941681 612737337 423110941 601220363 152375305 783349307 486219919 993837865 386568923 82527469 368393883 205778051 99402339 95000175 758562197 292694251 222535369 357071499 488931509 534560095 16703895 821780139 340312859 612161793 190054595 932317931 521766097 764336155 321830829 889655561 862002121 351798561 780544535 786169707 75720413 755737007 513589039 286075425 405959373 4522889 162906251 552283619 551705921 449483671 442200361 985616655 303267275 190400239 610001003 634339501 373240039 517958091 585325859 732249453 362626291 226865295 680969347 880556707 956252985 895926981 844571433 602005331 989366507 265975329 933364761 182349601 868353059 82703231 127420867 828050267 486077151 158131683 437041913 760617469 912493069 501442933 711233531 790857379 868686457 699302027 816106861 350804883 21147617 10057887 608526173 256579263 471035875 942712149 679380033 174982847 443772169 823566201 878610931 447514575 262066629 634842107 873642171 250736855 522831727 293597947 812235333 176624745 248078667 672179383 859768999 751804857 649273215 380100767 42213725 805077415 336071197 78404675 23838799 45380539 592776737 342302815 798918855 718714149 558883431 86038999 420912765 899515835 721106623 998597303 624832651 886599421 636766419 264544561 232466043 609942289 217068355 927525023 390448949 463008711 489556107 325871751 204622355 599460759 976799767 100224403 455058893 254209695 350842167 164718229 313256845 444076455 536785959 627174793 879214559 799273757 882818819 107393173 616370615 53760027 656086745 950821631 260028787 249910109 125557401 460671551 12244441 980438093 136500251 335615215 932187925 116823033 376537379 450599377 129235389 424974871 913853527 145832657 946167245 564314121 163787849 726987777 315770283 726841299 34507891 726914207 384531237 300779817 891194935 897120267 531271281 204170333 18812893 753896147 113259305 723075953 90018197 623612841 472681813 633662219 320761979 480420969 996284003 358685565 804844433 440189205 475767845 772322235 536214203 165521625 53134297 393017957 254117329 126709513 912714535 816379587 708660103 334944285 611084571 227783109 885531263 136215741 985282345 13124865 16656453 575434929 583663149 919259575 728968265 515191789 633804657 373817805 143706339 383723405 945347487 675608787 122427989 583505107 651435979 578297089 392663497 534884909 769283189 738396725 952513103 659810345 381032067 957417207 105759713 204025991 987344957 627405685 205634655 221160745 78933087 998544521 455346837 327414041 13431041 399609519 711177521 108320141 842251947 339803409 940155855 263689949 645030217 335561339 160226287 493358989 181112113 456945257 930913275 791517001 747405343 461820405 965655107 280041445 122862651 154374379 707333121 710050395 384591631 732732599 833823317 936235471 112596627 552596849 741277515 648313997 618554403 110247129 453124817 557157125 253212547 94579031 687768515 621704917 671532003 858965751 385653473 208471489 844720853 880680563 399876563 577372849 372184409 956642857 926970925 58149563 899827923 490308899 221298279 147358235 375365137 694900235 909659873 896874289 15840839 535271485 113120999 735519113 212055059 891556023 824010151 376376537 749541497 507549471 552448829 630811641 690289129 246711493 161529257 122826735 763420983 152293281 56562643 975242469 377014945 949445969 951285903 548544813 652112585 876125725 221385621 962032707 306025407 322447859 534245509 333796301 393827321 699249517 897193961 794764945 753020241 193566919 710948917 390237575 301067791 926158059 659704509 883005641 360981983 660760677 202066119 808347801 814512345 307668593 891491449 208863841 315328629 268145129 658016231 724814777 294332061 656955993 441532937 91520855 5320861 834494189 273789887 945187875 658414121 133735805 786386643 662542373 991153759 126979977 924054263 932940177 564023491 183024951 380622533 877980097 489039941 271334489 280140987 993340475 996902967 878687075 80847943 50812841 87034715 37348469 912600757 708255967 314693329 493034071 463508035 393745877 126306601 432270201 574040847 959231155 362877783 540472561 295598115 516754625 334610873 337330557 474195569 6803827 131897621 383701639 823940561 518247269 29177751 857953053 663081479 704855897 609794517 493444343 655544249 73386811 439972301 752861043 450791803 895307551 858298339 507809433 330990787 118395967 884152291 271328791 865839349 500018687 234487301 927968839 421492313 160471273 294479331 597744421 835693857 162935729 892618631 579946331 511000165 779878451 967540313 847654197 190839081 198932593 544959539 291463599 702089555 593089433 56159311 677114211 562847413 512238841 859887187 944652701 268209163 826555153 318494539 951737161 847881715 298143363 119361713 867313151 247676407 968806683 774730077 21753599 353973127 449414345 931720341 688258607 728000257 966266027 995626761 134179105 972097697 151160837 154777549 733910537 180508051 615115583 364781405 155916487 733772519 644054255 824642721 257727971 485053593 849941711 742921699 41057165 262662277 274758851 772797403 764287131 583368569 954528215 154834595 95355787 530231333 603494203 818109123 654560647 221151265 339699535 321019945 736251741 681479919 677302929 907263271 716307077 967315193 698270385 265689981 20795421 158805137 330913663 571069261 260104685 353092845 222589431 455668265 424719715 988203311 954808639 807138307 288134807 101271395 256667549 9982009 391161163 177807225 996776841 947421327 189850081 869503049 386290845 472977973 569450093 464763541 825469081 873276095 330544547 592095239 15171181 194562857 189284325 405633071 174921513 913268441 989571639 250739591 949053707 59206813 600046923 585926769 851903603 239856555 871747191 144058419 373947631 403691677 911101115 155193347 308896305 437926011 467576253 78487543 265555733 741374897 82510031 598838801 183659675 139301653 768489445 720668987 169852147 816276197 705400479 387259973 167187055 991627203 611489605 852858089 717059719 310760385 84753351 551165127 827324131 572202831 751454395 302439019 254491723 988856911 958468703 576629827 384086451 453681413 839092125 924302251 884306743 944015643 478425859 435201507 444243737 228383915 242777545 101666581 799699141 538407215 327881421 464413521 785131983 178377357 84535189 442347409 255199471 462095377 500972885 711290037 348368141 728038773 676318175 722088585 758208561 388961233 281444533 141077179 882890895 881404587 749176319 527251943 389649283 955067635 861122953 749260941 391440529 279697917 850368463 240727573 559985761 696899207 855086315 541041107 38583753 524887987 179270569 760444927 154033859 671617041 525492853 96283833 527666033 340707991 327863399 470830861 646198051 689873825 16552511 834215913 698538823 992278003 822386531 705613609 402542715 520577467 218562275 54734475 325092737 191083919 132363383 395275453 287391303 817392493 189575037 984723531 58489053 459004345 797086717 730500275 175587967 492130881 183776167 315779923 788581521 354105657 922691281 337861239 166653341 882555967 349817721 19423309 340182105 498758487 859921993 549048305 406242461 310559729 847810959 913791585 607956591 238811617 880320067 979357579 773654263 392949347 964621059 401596219 1414539 141962013 61075733 434808367 325737639 672802589 967126893 252777733 27156203 177882071 56451997 598944071 829133347 360881707 112534247 695330919 779537477 758116699 503861043 931760831 134742121 371762709 916918285 590098573 410049493 438260079 614730161 690087167 189412595 443633127 169486329 987029281 839217749 425160799 529532785 440368369 930495927 378446633 660294723 437670477 316674303 378003191 719535949 135323135 213748531 497786341 320680711 511486137 472259979 228148349 485308063 738223635 950052449 519294631 242812127 209219473 225814071 56115389 499788097 310498201 580346553 714574457 593052387 92328061 473543097 888279041 649579405 726627705 430001717 10799843 326973103 960993195 638453581 194705171 453470301 809941789 366381391 554390511 141589595 123551169 985552045 580335421 78635789 673697391 559368451 91000873 901376643 851852265 648591891 309700681 713414515 285216729 886091465 967077529 673266239 954465233 793965623 755996289 161697773 129620039 774493339 707095243 517343019 781173151 639749719 870303919 131626833 147049249 613010165 160632519 531891551 27857407 529018409 305300507 158599933 971435601 242605263 599412505 674849145 564486681 506960873 259113107 922720969 235880001 799131555 344505033 896469645 371235227 275742289 454626911 481938703 49788893 548796781 62806881 43575865 206124203 500114585 257527879 419004585 686445195 769922213 989058285 617262743 449299443 13428863 616860057 445473521 103789113 240840261 414708215 223480897 132065951 260156985 476427805 572692929 686550863 505314761 24360839 290119247 631943771 905400963 669548059 136582003 276952249 909144871 429266215 448586843 78367563 871295127 439901279 182036193 274108893 997201631 24571107 148374657 273530911 601774127 769155637 513072485 326379177 183919077 847816515 852621147 639415293 445060997 60464483 971790043 46441861 520770999 445244243 980896771 544500881 47851857 272734775 454993817 147355483 935736399 426411675 829739535 960152579 516408017 115905911 728450173 207335829 525687331 175844135 218404255 427151617 835193275 267105903 381577949 842681887 425558065 281719679 653364553 52871345 468747851 211362537 561315479 927389535 490553841 457601709 26079273 953919677 94465851 898707247 993123843 559668291 719298399 630269501 488706519 555686227 965415363 642367499 196876283 93325875 163660019 128979513 994369135 908432153 706799521 263990985 316453849 267748123 35896743 755886889 959873161 922415929 249167627 297799981 909750647 97339745 249729783 299396631 614923585 458760033 999686333 583742855 777133359 420360691 895639771 525894799 145925679 317482423 464948721 959463071 15740891 486613049 653786061 836291225 459625839 316356839 117219937 474543551 663515861 500214301 382746823 928872129 501186971 863889435 285205573 393291953 293661177 965640713 840165701 930630159 127220171 212275963 756150875 980847039 148120989 961311465 71750977 915567117 527196059 880641971 527105497 759749553 936146591 365939747 97576753 279585991 547470629 254024429 518154875 852705749 474005077 778082213 145232915 839603911 906747649 249074129 27115643 340397043 792335005 658270679 979558239 345886485 554597961 226668555 814698643 78531155 123242445 95693221 29858065 740951355 562183833 95217605 516521979 186874819 657699011 692120693 33934241 851379525 454258699 65911719 37418097 210371977 411959511 930669109 547353609 531333053 740717367 470649055 609705003 308104051 486087139 962285389 472336323 639493545 381334329 555059987 879179237 395582407 681515073 852185255 483134667 580784281 89397163 872684653 588146905 895265105 790858443 845753263 663540633 535155345 281599141 502483867 981790913 828868445 160254683 123738187 437899561 244963359 775180993 780241859 928419285 927453617 453256269 430284521 45341427 349081677 394637083 785891471 793765075 412405913 425661815 614254193 789237489 424833699 23678797 779001901 738606833 465300191 365274935 573171277 77147037 228454189 189805937 505659715 744803819 647429581 914897123 551640167 415560691 39986801 873834525 593434877 315287547 196612909 17598553 567993131 308613483 268572543 33646705 273986307 281407961 342791497 206565871 294044545 238713345 339403741 501372419 979611011 49491139 945368811 360986243 326513875 90098219 594407829 260013295 414267683 697680495 383271773 213180781 603672331 170053863 878473011 498396109 459484429 235955481 876819561 875177095 764884115 414214575 195777983 782740409 586746095 707634555 366072921 327734827 789805143 405783675 732699845 590435403 32567535 810132687 116413431 537327411 257881023 860486085 501432909 359303583 591617463 375517391 800522891 518358777 83777205 825375879 798549729 890542671 994538101 492300211 400468963 542713175 304015779 955524669 530255757 807970163 723163343 771688503 50319431 286359719 180867955 108026591 630469595 362415269 205329137 722616215 124363903 763171269 100247953 702586089 947067346 659034627 517364099 311875465 271374809 137290759 577859045 592467793 54744575 237896227 232180659 561850439 222756379 464274763 581864665 253389205 664182635 542286367 110788391 769882255 282883475 229063655 386031959 837614511 280017823 283762579 435705353 533153175 594939143 355319481 302325961 357322773 476575911 843755673 486494983 913423133 603934149 73587481 735859995 791893447 713581323 835759561 986917703 729873239 892795795 797390561 847915701 498548793 11363799 600373823 136278645 334940929 603214013 944245353 995790977 778235753 36870291 418587539 19547321 745684307 655057933 830858895 267089897 495056847 348145995 668698593 362543807 633178123 642538703 686710445 755680983 674322533 353730183 633929153 373427633 458920287 814089417 882489497 905975735 888043687 943738705 615159887 549418297 10890765 205706823 895711919 104561521 939858573 639176501 927539493 421954431 266192203 548084243 164212169 718960495 434392721 231665723 917409371 846311215 915678421 629190519 255906115 336532891 787884463 631477999 589463181 241460595 79835875 405137469 758767347 252665953 225910623 112964187 601879763 365456371 832734771 550915759 937511735 729832615 324508571 953668101 44267209 414193373 744515067 35177365 218919653 691047387 785670879 660468219 629627017 755748565 341872631 338692669 107497819 3189221 384686115 80294599 620547243 545347339 652708963 862033007 861697137 757647151 498891489 578839921 525224523 100420389 249916403 876997237 855274113 314781349 400570133 339552645 492070657 486889807 308150247 81952535 566273123 982709679 841050423 843701515 439741673 458597427 783398903 213786019 130618229 689323061 459440705 56242317 971312795 886464761 918203483 206367199 850432401 514676389 490067887 307748119 633280307 90432333 657793487 455083033 871934221 929276905 367092601 946129969 868301387 983934809 95987597 27509527 56028357 38345063 727482905 319030247 893277179 722006981 286265679 870300199 122647059 261829901 296690827 779788993 726398687 835430333 266964303 828791055 505387731 919847235 342519367 611728331 602560527 748110571 889060933 166114843 399067995 880062707 861300551 414448781 45951271 587091833 630249325 931555863 665164937 692386183 174959621 199171859 627455551 851712527 247106179 349782089 685770163 432889579 428096893 859101669 563859443 204320217 471914429 189232765 655058103 672389509 22327593 677930511 755340637 363366529 767200213 478706429 853266413 564072515 551624959 887487257 204339733 351374383 651834889 525289619 809163823 318337165 392862077 90945805 726843447 466337679 634621967 996435593 353384151 246012495 380617627 440313463 470684251 896420811 166255141 196540585 692772799 925212143 75041493 36928607 773536669 99484301 696430849 976889149 105858881 777001051 202826531 59497553 321080727 297219581 190649311 786593551 468277815 994998523 954813695 338797141 20521057 942084295 587953273 309960553 834343419 437330873 672962405 194222327 5186711 70880275 177748231 450433045 976844905 333017343 845547469 113261887 595465553 671287695 595099207 104765277 190833623 57138617 912301105 437470905 334437419 66813793 190952815 602594825 843484449 617227085 506324235 33336685 233758525 840234035 377800251 751964519 372573603 181967273 216083799 325852645 613621539 21698867 747281125 512687935 242771253 685211447 126080653 972146477 117673207 53784071 147867175 536359897 964556335 493498077 84824745 650804431 434331729 927569627 635028793 872416259 479743855 187803143 552000035 387419347 872106827 372039255 942415831 807909635 818361933 784050849 606103541 19421123 402055811 782571943 209062461 86715047 655693987 872678675 946716057 10721963 726818575 240784501 845780257 811820341 322284747 400149063 306995467 700715795 263862921 426326251 364352959 121534329 909901215 639867305 458774723 381933319 421275917 541801393 72010703 685957823 759012473 325444383 536855485 289117455 961579829 335492595 263414159 361047757 944202549 509528855 141152113 214244405 938236953 140329307 781963701 123358703 247751721 135508089 52618201 692913157 641470805 423839761 522948477 395422447 53329969 672295087 85225839 922845321 763920641 837707459 113452193 196035863 690439849 633271203 763199279 643103305 212480953 605459093 756383067 715585585 859848041 732052417 669896849 259523663 745829525 487301943 978239077 843884679 612701897 243977713 398365585 184651303 912197427 809586383 584650487 630775011 345214887 696888733 897510055 47685593 8617383 531914761 603898575 59703439 748922203 359795887 322531021 235904497 908880015 149670927 418950691 348621653 572154815 480930705 4944253 59439479 5442309 806019209 602048943 145129343 164097325 816969519 127177907 717331447 869920419 834501027 19394221 782359511 616675967 26577649 623667943 52467065 507747713 9523719 806791893 261661093 289747727 801095361 758419219 41891465 820667961 602352861 871703141 980959927 28718775 377280777 951629491 273431599 191808487 873615827 905870867 730248021 482435025 185313971 147450303 346439157 387899941 478092557 372931867 902554183 604878137 752082219 422898867 206764519 803966731 602244923 642853175 195699419 520438853 544898649 772381829 166452367 251079989 223245699 719879329 983386327 919065299 116682919 344841909 698372851 351660989 633545617 670438419 376628873 792096057 107326719 851617079 110879395 831530555 529010575 176254661 158858935 152842325 479997643 279543433 12301219 9950409 536545317 339667059 208126637 91449215 199767031 906676643 920057475 898057731 662117505 860539735 322145335 756349585 195482347 260744703 445196359 171324163 67793479 114029099 579004827 617164259 805006481 7781785 593040509 590359393 623435687 510690345 182793125 408905811 590284371 49728745 86734127 75438393 225582407 42102539 44442015 256057659 953442843 917680361 690128101 299520805 879043155 17806089 513454419 119612529 474410069 323123477 778110633 831297597 10960501 459202271 798801165 612863569 849602537 130351973 681590279 137124891 475389397 919450567 307326867 235641269 12628545 600166483 774179081 804230365 768121119 398632827 630759473 293246457 493061959 957348059 325750327 107806999 367182717 107269685 862441647 834897139 684964199 134138997 215911579 61797353 51714711 299466927 870138715 362082049 937490311 967629083 948658113 673366761 115194521 841948193 207465213 592198905 256748821 170234697 556553137 834680369 441425453 184693831 122466015 426235961 850938361 465998839 476848885 352949341 392748155 354253147 824712907 501040281 22269597 661128863 677596313 207335047 907572017 965949463 136476937 494244979 377723885 635334461 101094439 297805895 809135733 297273781 384713319 640726687 255034193 393284169 335374759 704007609 109797105 858877933 535014957 836535419 457331377 296535741 821007267 977438583 110215123 946541821 316704803 916935649 42210941 517617173 603876135 814066841 877117633 915149723 320022167 374272295 846823321 563353673 11739581 269353145 309083109 417041667 681131087 29296425 984910705 398397907 503568749 600719859 646051821 565344495 472009881 451697473 33544689 364097455 592786625 290532577 500678143 472332695 48013115 379254603 274493313 611325781 285672133 872116379 603764167 55557561 176002689 711970205 846201099 428305087 848334081 308931261 581120365 117703307 350720311 389075733 572688889 999516265 626168703 666920289 352108447 619485641 496562851 510139657 707071031 441553227 918999755 201407263 45983619 285530029 520209041 619190615 89649195 412246239 982615535 705422609 567136963 73918705 111679819 488097367 316244163 632091935 494652019 201133781 794846093 515901647 355333531 816436963 483889511 500722823 132182625 931838079 999638663 43031807 838290123 917745237 884490243 479542289 370005573 735843503 688173277 360672189 379368613 70054023 411515133 981477683 461538601 311704187 208695863 243332035 543262067 574919635 456491331 53363691 873107 183763325 164706497 469117003 806075391 870572819 187786813 983898289 236654739 645148625 769175333 396518159 356730259 73007009 234946517 611964033 152503213 155786257 815153805 79455817 625771513 645235545 775271029 643338963 527165679 402937685 351705249 240033969 41586041 384765585 866385161 615559073 521460707 374408505 15499149 671334275 787655905 85731365 317608185 42591077 451423889 239742935 703840251 515347579 997055353 945230193 514844717 615835419 563185029 769492421 157762835 586106317 815800073 173619789 908249365 157924413 429823943 167437859 647430273 838791225 642603487 726802705 846930069 509923009 110209249 525745799 96148591 324468983 580758721 767874203 125082137 551151909 476171999 183567117 756019079 644755903 32774397 717681731 709221261 675421793 381600841 379814989 385574129 142748365 711829593 719281635 459249497 977125361 375046187 247071075 6270041 132838107 809293091 637587413 512205415 62685131 424913421 813092841 444252647 231909155 857295905 887738099 201333795 378403439 412708859 202714103 271215177 831199583 582934687 226769559 819051123 844219601 210219133 733374503 955761829 316957641 454888553 466129053 180444613 506676847 181678751 170610581 870997159 747788569 394459589 969368411 249804545 437782849 542616553 371564507 380170871 52963467 881687935 77563309 190867857 237227971 142288485 596668177 46774977 931678681 894876385 64346351 921278303 668381931 981770399 919754195 638377647 513987901 542386613 768239353 953169623 101856825 772170657 153206075 300202985 211316593 633658949 396605987 442483425 893904289 626003185 550931169 152537757 684726189 275852123 494029131 321431783 316896673 840618143 887412449 743439217 53326253 259448897 687276489 335174867 637538097 627146031 611563475 863884175 816634797 442740929 713927543 203924239 309331915 269985713 126586067 852560037 957072995 44732709 777091759 429043335 987655019 256279465 284956025 809721561 255315721 231645749 85229643 70684323 393866889 86701861 556789217 624381143 71325533 484797759 881603493 124337485 810344481 152475311 742031013 688623559 916365207 122987531 26339479 977475311 421777833 151241551 807887581 795909461 604874863 962466017 837893499 366684787 201502497 761802897 155221027 728733099 918817569 734121615 491885869 32934213 443023101 536630397 204201621 747724659 21184871 593435229 588581123 761715533 83309627 388364701 125007561 173364181 955306363 761936403 256618715 912668405 653447763 860641021 893777369 796591229 985710613 159724031 497310987 410036007 955910463 888725541 250095457 594251157 735818355 965890791 87137905 257971021 999758715 984223009 244810107 375970245 466024523 173397527 771993701 661733715 126994431 814803065 675179199 659418681 404035545 419375451 636297919 439047073 70481477 942022969 417604679 955574939 358664663 959994105 539657693 424651041 26400841 781935849 379192241 376760595 128811391 209803709 976285847 607435069 31539331 381618067 337481490 46770767 6343305 617048305 652127303 816081377 855794669 953675203 784936199 126102389 95488819 179491935 719695049 407989107 948468227 776923267 101416105 177215535 909252659 717816913 846838387 425473249 287215293 585173851 612649363 715617961 134519493 992990609 314979873 971905939 366261911 742021205 103186397 293006733 769935011 460185449 653543215 124877683 173108871 610644989 625926691 634670085 652634119 237054371 334833523 111581933 312891403 565382491 845663101 848658363 64874921 634855049 144546123 132439783 457989405 339745275 685731207 963466967 847250119 147436261 962160525 980985551 19072563 480870373 951850587 964846597 472425751 693147137 360651159 633558669 170873419 588243365 375295121 380263021 682048213 384621991 298140993 783865997 866425055 941877315 880259397 795516859 912698555 606087711 812611299 935614901 867615205 537322313 646563855 649757209 401858049 9134647 246590811 445795699 78105563 416225475 590757131 758789681 793598565 949288245 103619073 451851695 895818681 229363003 428632273 543785771 383584285 667572967 643767471 340424915 499252475 866637241 984041085 342104243 56843751 798770581 2100161 872910281 769761689 827625415 351114665 6640371 737675001 244567559 189530125 733072891 190082061 413319537 922813037 568965267 610887437 924540297 224595695 703226709 297719635 708230463 655452517 621363905 938881121 928553447 238868035 388223039 416432867 662804541 855744425 868208931 553897899 297673063 645733983 924830627 367946935 941238259 292922069 841316323 901159465 249929429 881401889 14858987 587641675 501552749 613078273 457254317 834856337 398956413 62522591 933501955 127319447 826072627 821251785 150578603 276799007 506807589 103299191 594294097 628018965 238250575 635077447 917527943 612208269 253771801 453245249 422460355 331128769 556957773 726286355 542522729 729373203 580478243 845172759 134001857 295655955 410589751 620381513 504144893 22632559 932894605 101865043 358543415 752912645 160496277 344315777 977546861 279047127 490052897 174644687 288525963 677521425 981143153 962161111 545334371 86317319 71220777 624435941 571167403 277044019 595510615 6368229 683521031 72177977 926757231 742632559 114168319 718368483 427918671 309481923 89503237 823521319 509510717 484981191 274995825 318591005 371523301 456568331 953030021 114465803 904328795 16889031 820298859 479714393 712402721 77372379 548653109 335923613 792266263 482670027 698921689 119980433 775366541 561749193 906843707 247641113 445417017 597068201 713808163 681789505 493869621 64025327 792518209 221537593 294206475 352772543 834651955 692494177 480863139 552439529 169387893 208432439 636259669 896979941 421592435 711337067 90751199 694003665 769626493 611863245 158574693 637161075 492563149 233541465 807926131 776262975 187742853 182891827 184666625 700501063 137124525 526417575 739486571 511410509 393187125 942744103 811942775 35591353 799858937 92360525 217999185 416878745 668737721 403299806 611740301 882479011 773619231 548595911 526004267 206559801 200047803 723151127 702686609 20504927 261183239 897834253 273908617 130261959 279633253 499512585 76445513 505861319 369004829 367779993 21737327 483433311 452573023 777348975 539756289 202858805 485706311 336276581 500418667 936086427 257792469 280627841 259044483 238698629 180581107 705927661 544956295 431750035 92807281 453975805 291712539 766544141 466741257 731594537 976433227 461500643 357480285 214203929 990973071 214538153 293931251 836328597 301717187 399933859 481221953 155749777 44908843 398647733 332550557 395925289 158751093 816045679 775828297 208917407 727561657 77123335 585532013 406710367 111725425 699293279 285458717 241903867 418857091 208736765 605731921 30920753 378102845 469153039 14013673 295731427 998280787 348866927 632009393 921889563 519396323 2257049 744478551 210308877 403560051 556177079 63336311 129703445 286217967 760558997 101442449 847836597 62582445 228889519 374120205 588957851 195483241 162643743 14304575 472245141 513905993 420257969 958834783 710880419 735052253 92187857 131186317 723203559 973532437 608152215 668901589 111574187 111641427 56586945 837956133 813915237 863461209 75127483 32837209 114367917 735700309 962596239 638666545 386986823 370695647 997760759 161492821 787427105 612682479 587297361 415706457 758242123 528211183 310897573 374940339 444174081 983261099 784427683 896589001 593789351 298747735 513457569 188842975 383971783 806509969 863236253 61698601 930970135 19493981 938120769 105691841 348026991 397773099 141626075 925709479 716266195 554382287 602453859 464370627 769579121 731241349 834474101 830688743 923898521 814024179 666718045 988898767 382821319 492662823 163171591 166315033 63504543 198762391 961129741 488997967 888793325 33705245 705683627 879046117 574608547 976807937 153799115 435910959 683771611 897842927 474268153 297927283 408563931 632293629 737694575 638582999 866915597 453476521 458392077 796767597 476088323 679355095 627778647 396297777 175082361 383723987 383670399 272267009 51776341 670135381 409321307 327539367 698817693 835475065 517756779 347149269 297502857 469119683 737737173 454254629 410037107 545457443 90778987 139840277 76905437 20365291 277753249 553267985 692280177 193898203 459309975 102157419 497006087 937693719 587088149 751150681 570539669 330642221 97511305 201252351 792365123 479346193 812341517 641531237 211137369 519313441 450161503 417941117 700742219 498193187 93143779 779406879 944556723 959140419 118408621 407397647 290869335 179932951 337056883 475067635 329602593 7635611 431571859 977669981 874029349 631574583 158847507 909660871 705492381 990630069 98227879 595096979 780175851 342986573 393213601 935199497 398661021 948798617 711508739 670262875 15014503 302395811 312348533 823638945 57997599 318200019 756657987 236720351 870467791 123904769 105392233 403677947 731512733 708937323 355813505 171121863 964985309 3526581 458229205 670389757 885781773 352745709 599371861 949941823 430633679 92889223 982953111 344615445 601223661 254421601 112868059 856982511 297061725 459583679 227003911 163138347 574826807 376541009 18136749 921620229 543128511 11537451 486402047 276618665 639724641 163515593 408357091 179284775 165776049 360343313 116934363 425728121 45142377 280768593 38016791 955006593 406434669 938547263 549991281 167558917 387224777 827063285 778014565 888404923 741501869 213270779 920454429 497385273 745803127 113375293 488384103 919470593 769382827 84875027 304576955 684722557 302337777 352819765 672964405 711270141 477116447 152486605 335788449 432190139 387322159 251007333 716468075 652722393 118140487 490650357 330345389 170448477 973836973 307220953 819649827 921123389 9839065 963604181 936719669 245777999 602042467 818449433 14274293 296917589 567666449 865509945 511710743 526134521 194150859 706431793 458825723 701446347 793761447 268623207 939462315 953290563 524746465 353442473 763660243 526211015 518234073 693891883 207299019 276098205 801208349 968349835 189466769 610789877 409730655 118077647 863391441 538022635 486290553 62442339 511151829 669473407 481600113 517037597 594849687 931796121 464602993 989483065 443466677 563715341 605924043 265658719 458306679 209264275 508728059 604405913 55264971 551850955 134409383 983059807 460745803 158970945 830041495 537383563 523076659 9934179 733478847 638859109 382723181 582687629 127703097 2113179 686500999 685504255 503319115 897212223 454022839 810990817 277260895 552822225 790666975 12510279 982991113 462316853 863385989 969172777 400172033 211058617 589053655 845677927 713883951 391813137 117630893 636461517 905800603 516585563 651423879 491121929 269479033 384910107 920804493 124898487 470479397 550769217 844955787 595809365 982627105 456109089 369112573 304385617 296923929 380987511 774847997 457777399 305067489 941102443 138831445 581076869 458566769 938296967 511684725 783115545 194311153 661458369 551551603 601912767 948723881 263504505 945269263 434778469 730202383 279373937 410327471 66176741 820057787 413166295 250105699 586978563 189349233 79172417 686552547 511570789 691348509 781678765 776361869 35968927 354258387 570465405 226870121 884717607 133917389 43618179 985472037 689677667 129059695 388002545 742820635 206790807 485849411 16352101 105890119 71893751 302808061 270868451 81353811 191494811 854631035 825710299 221192077 612180871 971201467 647614751 37482733 462620833 237526507 223734511 115874319 785991869 366787935 54965487 399220543 460722065 244573587 871210285 895485033 280386241 319475751 203232287 106137637 353509589 810901479 861254047 520726707 654214207 676541897 102859253 451264763 460389977 127180261 261745357 176114057 564853857 437886079 638330941 234442647 968263811 883218181 269737921 333189637 838981841 845883655 600710465 403079255 443868225 819419969 919372295 164659135 965396407 417906329 909716427 265271827 156004091 289132821 256296871 674142931 864906687 95473901 101108517 707588133 873837211 568396153 253095725 15560665 936535571 649087039 866291991 39409767 938242957 610983913 778870177 567266285 795209307 823002953 405712367 92838707 733126839 466736221 233646735 293077159 85444291 562086725 341310581 366114147 255698311 923376463 131333631 961339939 687138805 664294893 767078899 336971857 533041637 419866553 663313021 466740985 574463257 877336953 663230513 400030167 792181819 173561111 681622801 727475271 131999195 779171493 921285501 794219599 683183989 333879137 273282373 961402785 325038693 666627243 552386719 692578965 330280185 450667281 331577637 649887527 637886305 380853061 774490335 417632767 148698293 955143459 488129851 798903149 677168119 956475053 42150411 237857899 729744145 277583119 106448525 294844307 883135955 968587165 755480681 487646767 924618487 349613265 205837995 351128879 336886047 917582669 223083207 853126697 29730259 90288351 907553177 295622747 25490563 513365881 780869739 191090609 300742027 194784823 133494247 136051125 61555499 925340765 163448097 415225503 769710221 574140499 308116633 449014353 624667329 88673965 895319347 372451665 887605697 10836265 693191997 306932175 416291695 245933481 971164013 670812831 564662417 525913399 206750685 272140357 393461213 902316809 394869013 10828771 673109225 905819511 621301505 142337613 571577655 124947205 510585335 42002681 452177711 228464481 797376435 923710723 875911461 334325849 966953565 679346743 89399889 636959983 685702527 278756865 616103381 229208129 796432657 584056441 272338359 726843035 405824111 116163423 696693229 376831089 119482205 284929817 468368715 337877345 538703627 194962873 941273751 102497065 326971659 974274547 864700281 27092665 391942237 992107047 645069185 567516961 640781925 844763485 379640105 724594845 698735601 222072389 579893457 175987089 44903477 686432309 986862531 121179529 41550287 239028269 587375923 607343157 537509315 907104211 689797941 661958261 136274561 499833975 675885519 669392199 429773533 289806353 195632617 268126939 300967699 311133245 998049873 171475329 90792395 174470983 78089413 463140535 117193999 561045277 387542243 758165021 389810519 304296019 163230519 653284481 481536125 900266285 89879087 72743123 284899529 597340813 356831015 447127347 803989479 363879687 714827101 784161249 178604527 517361615 302001919 66633 528856665 789347783 947871769 600232445 389402383 936573557 498338729 811072441 261162845 760071943 358294157 296412259 986811127 509906261 748854929 729769987 148779259 540036831 996003171 850666701 667368685 823454155 217401245 889288731 660795837 91676649 821394883 991295859 98302141 601798067 941391163 208540031 120293039 659316547 39438169 83053843 406105779 884424035 397082707 657819177 379789145 223685763 755635789 960396003 868072853 447765433 295563343 477026447 528082885 3106243 943018315 586767007 382458031 780758539 771469595 86923183 940214399 245713823 497909117 974566017 818379211 233689143 979721503 459177729 403496081 666059569 232025229 794049347 343018293 62185621 126034757 783444609 549108611 940392465 782271653 323601951 233044403 268970495 253240055 454892199 523171167 389800027 165640301 145186509 276856977 144909261 987267103 360240237 780867761 966021799 593569551 864188809 904021401 724041693 932897575 671266127 163835011 808930321 232773689 927505167 474743573 256329865 623823099 658661701 3688027 222908979 272951825 406549141 964284877 224344743 811576579 736437449 903295561 1583909 543943491 556740565 379111183 422478227 800278825 188265685 351759057 789358465 599536377 100793101 338158755 824436007 75173849 191774437 848807681 621327973 589171931 805116659 911989459 300754879 956882937 134267123 56427619 811153253 110676245 559449285 128229993 611726385 892101879 420676469 99654399 170927777 888031825 219272761 355333805 489549275 892751035 567157609 142356833 625050287 739153847 73087883 272010093 761411731 141355439 161863 651276945 651367081 213580019 432801139 293232367 608736439 8853693 493326859 570021401 821591085 89115695 576836911 563323905 759759135 421973841 402589485 511293957 757657423 265237011 365245045 272553449 617819429 751596369 516140199 537103069 130973871 439887821 233111427 683123829 666743459 63375659 69840371 983809453 292360545 302756099 449149711 595647979 218611187 724997577 658242829 174120445 682407173 578325983 288542291 556754713 171000303 754501265 546297453 751644633 777861041 792496397 964732173 65588549 840237553 86924655 106207503 887352265 635170305 785413049 541092725 51494459 650990547 494752975 515742315 352804057 593101581 915720071 398704195 909003333 73555953 780508569 383643771 789245585 720988271 947864743 224204979 863739949 439434017 44126007 604827065 726351099 820675141 874947519 471409791 818914623 15382209 71942549 327920929 414604451 30346021 837807611 971452385 765431617 14739623 775239449 893405739 401676947 767772201 563667715 254393235 616601727 480348977 523319473 774988499 473936465 179547373 92687619 317838541 687648195 593649463 585604549 561104271 37702125 688354187 839525029 774637901 853599317 17131027 449947711 878753630 902504939 90489499 308673299 369854793 265868803 813560221 486291083 367630263 616283995 788079417 513336309 149076349 618404117 608182323 54601615 239210133 107445185 3564285 875578745 947145507 874366549 362929327 439387321 901432433 683408683 381015555 843055683 536621555 909753613 607118951 975185905 120378949 801034787 601593573 740624771 306896939 915637509 725459255 76178849 432790925 297577905 120347323 720706783 407461505 192286859 575634297 980539573 23520321 588823905 776069409 33873539 691421745 85229159 198966281 853027987 174631645 71169337 827974703 503729943 13714165 844489697 543067197 318887721 467112535 186983369 708398209 480021449 854707463 490576583 908410353 523025631 797958189 536390679 440282927 804757055 7401759 315691871 731336065 52639391 348935257 766652333 587424725 910212259 871315067 251706997 15281605 472597461 244428625 576743063 312681613 120733603 295049425 921938773 883282455 310055527 391402517 480048989 826967023 358900325 83022429 960202693 529158223 623041731 391634969 137001739 649353495 568086165 163470809 170158609 309790411 470274001 785161051 230185257 658070941 361388123 414296191 196678405 187853411 536909563 330964051 768509889 813304221 266555491 32579081 882997735 4607601 963242541 294639611 321971039 500024241 366096343 235573935 109599875 757202639 681913293 114321871 221906189 198800625 222839393 407433005 810662179 82939865 389323977 95796679 600943699 178182391 168526377 295888573 300001425 822092389 768360585 361711197 45996859 57650655 856875995 558849817 734903319 245571023 837718777 602138253 211290193 979918915 519320225 213228155 68805503 474710003 843089023 832091087 894173341 325937981 221981731 330599835 119374611 926494503 167483401 694559773 468467627 284127333 883554957 314761143 199350171 106295881 767225085 812913139 885526915 833626581 970058377 499549317 270208101 405818033 545843531 571569225 566249649 114087977 285881665 52872769 554760505 503706167 970200919 952295065 444199997 638487675 823873117 317499301 546418273 279580473 161223693 118700767 265816497 493195363 643423753 633374187 947192997 9777295 721388249 900833171 996376857 986917885 58629871 279373003 278470483 479638419 912161187 441280431 576813823 138015713 807593015 99905665 472110643 572059679 143169749 225220783 530588267 532872491 432136077 173753289 734902157 672791181 829506905 866055307 566298343 821650293 244646171 85767129 529634349 881579449 281235099 873308605 827635839 806763223 70384521 945452651 62218079 852899065 529975425 346296129 316658619 821019117 489311235 737519549 784255209 970940969 852162425 529793679 236268455 664960463 343112755 213460103 308989721 807009189 414145131 146856353 436200395 42600985 354646083 535322625 854686901 801803331 42199235 461323505 35012659 385500389 597486811 242069479 11388681 808500577 24111719 198164859 819361127 67287755 272043303 59634291 982480863 933883607 684729797 226002617 31231089 850725093 766045393 45852767 529061249 281527551 151967685 303808673 282288861 509705935 802319873 102101219 430781625 910961329 213556689 429997489 506213557 358052003 368476003 915563453 977701073 53809483 315805139 749814497 425724033 474747131 624641057 357934883 719901587 701296293 398021687 329580973 158262091 567116015 506381283 162237905 672728905 482726683 52821987 801896973 814675103 155609113 224436951 463365889 974213309 320227203 426687045 669182075 890126981 395264661 247626659 409107053 759605049 75484473 93683525 625143283 362183561 873721085 156444017 106340431 918728839 570799127 745742671 475454445 394717363 420678249 699404781 342714719 686986481 733424249 406089033 737064035 754497421 788974709 7626561 419566809 500728639 729112373 221872801 97275343 799057955 887929657 817331223 284218999 156965055 115250601 211210047 627008813 568727295 846631249 297437593 49139827 605168953 871357355 41772941 242165237 578963241 379950039 224182127 854136711 521022709 280080793 837082229 340638243 397884971 10695267 66445763 874291437 487642305 518597707 125033315 688553519 829318673 717632785 5671747 780857949 434034659 137522971 426139199 422143763 85382501 526981753 271872277 173410323 926315049 633678307 495718257 684166217 591184173 84413879 543872741 185555657 997404121 601817853 980494313 932990413 191972089 269567075 442465501 610244537 170633151 337796419 626817291 919605783 774625997 961863321 570273701 535409821 18301735 663588367 68206789 312549923 962361655 748157171 588276841 8035757 664469975 4536635 208571773 599005545 301051713 637590153 12994771 866244007 824313883 510328099 950761505 309582307 748091507 430810359 614146315 980875201 943856317 125670557 117744153 415839243 216425689 96017493 396265405 691552183 389478663 118280967 979543377 688092381 674902265 974074687 683465235 666653123 695116995 826793015 666157615 356094417 588583395 392330959 65424311 393058461 128084539 525170827 404487585 467439843 490091293 580460189 126050513 855062915 823670841 530762459 708515599 625984651 75052721 105560259 429361165 238302251 608754183 207671425 31733859 970850243 543781163 204848095 151340181 476283089 60163951 734032213 824283657 775801861 321050515 377262853 942002193 976159791 35170491 45984693 100298983 877609805 577149813 374853589 748974765 748048767 995482293 929011321 734890603 51623443 921657561 410518117 12984595 500820603 400590501 91898621 814946429 765211985 760289865 441022287 938558059 829244251 507254361 640203543 965823367 839843459 933645521 942262705 841143907 197016285 685274137 508750115 290881141 702151585 351135227 474118943 986532639 557013559 592019629 256562683 726852781 910530343 550454735 706506167 482701647 799033637 89915235 123835131 817229341 901642251 826949847 337952787 261795865 113395169 21278721 685403129 593061677 346205133 496768031 422009165 652471593 964118819 760866005 845437779 603408071 157859425 598957871 622302973 8103593 952331305 21144741 486739425 225022039 225495109 988150291 809655101 233983809 147545257 883101375 223763707 912682435 160761457 743043411 818896043 994448413 843333855 75362537 284435583 153109369 213366367 197276155 4742235 348783335 882661253 332492143 191041733 111004257 33978379 130709907 999519725 4785097 963404245 595273499 611707047 977892837 738062317 848044583 347895159 194011499 414702983 997078839 67272063 279544305 272810751 183232063 589570963 444077305 850074841 741149071 111760167 344214251 993631421 325319397 333437277 23071259 687485569 758308457 613475323 54393281 113166111 293302181 434632303 982523647 298501051 879386257 71242961 931202523 917787295 359660679 934608097 431170123 642570305 859861329 327374597 30843685 962306105 875006999 762412367 657767721 853327437 490558067 222355059 579965957 147226469 324436316 165456593 534787911 563673239 407645759 942346609 473168233 360483869 836926949 915295491 806530251 471437403 958585219 193556189 772857529 665980637 531814839 351316991 758520929 935745365 877794183 745802767 280455135 881225885 56592735 742921309 160413489 920532923 916204053 964360927 882529093 765626071 901017061 344624951 591166185 712045129 42912119 547056043 975642069 356408711 817671893 420698155 365312943 990634039 438417013 63360843 781596411 483745061 341025847 101277519 409574445 581263171 338720349 594159897 43997855 829634219 395243157 988598589 111218065 409157027 941095157 701930223 101588779 756159381 181967611 29727505 451612545 385329683 521182347 283063591 382168457 772372955 337453297 862759525 857338919 87782349 341528549 393849501 15190309 477331447 178121347 401135441 593559601 69081739 218392145 963357351 796297189 609302757 254112825 128503919 729555653 176217223 882839445 177100065 684954167 765406749 504485151 585244893 199171983 566367353 556926973 945512039 704100099 405761433 753028797 77652529 680569015 645692831 865742933 433930575 755953077 805460949 804325663 524522629 122995435 148719535 832352739 227781943 161400883 777029065 289978573 204557429 422233425 309692645 610004083 561366519 226228971 333679855 165782227 822788891 356317587 685478907 34624591 862668265 526787269 575885121 68242617 308732943 362394079 615424041 444634177 41159141 940301099 834424123 246208137 335447405 95489755 101913389 774015379 972868425 938232839 665189847 202478799 806161869 622430643 888822077 797353999 839533037 68483525 447516811 560550035 981328459 383599119 585218325 528356863 167552045 899045195 7460693 52660065 485498497 939687963 196302831 382973485 917699295 523810311 896052397 626128705 270026887 993753729 289774469 555381731 258309471 263939553 497810319 549980863 844199159 162220139 985761295 812850923 600075143 590715717 424802163 260294883 486257391 698585473 950305355 317947279 384464819 266923289 257597523 802518841 419082243 715787247 873113967 468961943 344604857 521798859 901971625 934556617 830713427 517143647 174161719 255910737 78323191 847764547 998039409 948049693 466619509 593875449 644026845 482373509 789890371 150173163 958667813 24271937 531605379 71733865 541738523 667196795 440296187 351122093 578188987 160975039 599730969 481763289 565106985 237888001 946226167 763361269 822288305 659558559 708732241 130904819 595477701 32456797 733317009 183483819 36914175 487300203 10181827 942331615 592717605 287365725 853238179 219958329 929423137 705865007 219045003 398298441 546274565 99457607 949441159 852691593 294697741 917190771 122051139 164948057 292284319 964299495 6625559 141946373 89847875 410261571 335547395 47456445 832318637 218255241 670094509 546171545 219746743 491674407 517140581 757132187 212908135 776731123 137914659 42140331 461393639 942945833 539005063 82149021 541181321 465873521 185055445 80050985 588093899 169340629 503575549 509360625 876066127 288412109 702176409 99144061 717944543 147438901 939022055 677106749 2787183 705443665 583271885 911174541 814173977 25784785 656860123 613605549 33724451 109156551 603926087 174187461 184080377 776818099 650382835 746189545 642759721 21770873 607106661 393477393 382234483 571901031 640135371 582640415 266041017 315847985 217021183 836986585 895611909 375819253 912002685 168259061 112092043 709297209 765853549 92470535 158800551 291327721 922814369 664368277 907845339 161620315 848837005 862793735 797592787 31040075 983399763 950039725 303277923 634716897 839654839 613092543 216179845 147885991 783207723 468524131 289719901 684235669 729523909 490198685 185785909 644032773 899492677 488112737 911240579 923566271 811746323 313067401 247460575 846991089 173374523 733448661 504565517 392290349 137018231 278774765 636306937 849915507 885077285 428010597 926798263 301102119 31084877 563654837 442222467 247813397 405796767 762615869 26601149 863906165 193865327 607859015 339628529 989092067 699044289 803201031 110331859 826444645 654798393 341236113 602153025 195900007 730279975 694833387 761569593 450363325 45055617 613383675 222247915 328600743 725992425 307229845 576620455 333110475 151961509 972177263 709226217 964403 439216291 215775021 883636821 82900309 959844477 808018265 703798711 442363407 114723439 299769697 823283969 551484071 472270945 902129055 195066189 731026379 907375589 706409047 194226145 666286733 691068207 471100591 978491173 661731179 814226465 6079931 243420593 375745357 1548607 402583921 269109051 474419837 510759611 398592437 45500329 990415795 510172011 536871247 295985671 978742027 947879887 885776625 221318535 666005257 651574541 852289589 70228611 196105117 650815477 301073049 105115009 894806809 700691455 935822475 674978347 421589821 591611467 510450263 130578517 964701231 251367069 303071033 899486455 845034359 279898213 526772819 408460089 699306257 373732797 695023533 984108899 371198549 24068705 287893817 648963049 944370955 457519291 433376721 679498853 131487327 748113113 319063603 588697245 943700453 194148723 787683339 659550587 8345247 159589095 334552809 892190739 992618989 227543099 951926601 341821599 607561889 543396899 293429641 776350081 349224939 123201521 415977203 687493703 786241133 351639207 416631479 896708771 151534889 47252973 305969395 559681393 861726349 874510607 498626979 497708467 215865713 524163591 482765747 624338839 427776525 52454005 57496563 119355243 767401227 154436253 964045853 904381615 58166391 754394225 194911187 519058181 341930693 404909703 142514077 209270583 443529683 588847903 483540973 457718331 409262055 646105375 242595355 920688169 55022763 557656855 659631977 906095941 969347641 943344191 814363137 857885435 892141579 125963637 990642163 317862111 447454217 410317889 44831289 7954347 360067453 448092115 484837813 240939587 131615261 819856897 665503791 937107121 499661065 241611337 13513047 540161323 590700483 924390101 823772617 574826249 699647289 501487475 33914887 709648337 179349185 80885913 112611701 750324779 755795735 830137961 137179497 534296301 181343587 836389289 951075355 321499665 298185777 107636935 497802669 548646331 172773491 62031579 939077415 954005303 275742347 672351911 794162041 542954997 222309181 632403341 846615167 469845141 1148594 957955745 787544057 26555349 647626631 400847767 483636881 905686949 239577011 325940175 400327895 193910293 61555613 106939219 12538949 586264163 186007827 671149517 914945595 439368175 707518025 579501977 501149445 691718983 24571613 378203829 797745873 70225179 153815253 688902599 194718395 92441931 711602077 995447585 422580163 418098135 595140363 247701429 720862163 607914473 713225309 709874727 378107579 277497561 805885749 924770237 250727731 491110173 289731747 409656679 757154273 30385501 784864797 393049787 307905097 969248609 685768319 835940087 999770081 754734875 346550029 992962053 737283325 970295211 6616693 779246963 449083875 498316881 751249359 85574519 302796219 441760121 790669203 211121139 276840853 847728565 270121131 333229421 843231081 978998467 502810467 181949459 289661725 884932741 249892463 856677053 383280501 316646405 92258285 234545643 192453925 353685623 163466851 3857093 965793223 414220343 383430077 768535575 706423003 687396295 676114511 703467867 135635657 660274899 754037723 533623729 263957477 315515181 178518145 771816669 162932581 469117907 832475089 812958289 616345199 932783591 570220991 897468451 775192327 103889331 258986411 539177491 731919137 182281643 339471703 495680135 443908503 862309739 917854705 727498127 406181671 399217335 299122447 105923555 991243647 964486775 756513711 585920481 489949739 849742273 99889973 136930961 160121257 756315343 915497069 387775137 554197591 116688901 136707727 294617451 354761087 705903341 526136887 211687403 671343187 128190779 610091113 373446603 566772973 70430155 132246933 242896473 902696779 724214689 843273871 15603083 427496537 601528549 137891731 921761539 803928809 60610029 774043975 729024775 543294641 221174835 801185209 462209925 567163733 351238491 18510685 819872533 360350047 559133745 99130385 645483511 230637373 577401765 232573467 817575187 768662089 126750679 554951975 354348277 525971909 779960069 333481291 195109079 219349981 164517535 427361285 491026329 53090461 950211125 989340471 370589887 20564737 939442819 368619057 975986043 342363627 131909741 395452073 777772963 198913827 937592319 761577915 847776437 207110747 245803371 72824043 513071835 731518507 92356619 5250855 92989413 921947415 989979493 868645319 960726597 87265925 969968675 997714821 128543775 50443207 215933719 920293255 928183353 919765271 253971005 890612825 880274691 910710423 1636283 273917683 843596177 549845839 151020247 854582193 203165863 245078065 397615369 848108377 3117993 424781589 676240107 522819607 561869221 247278013 217078079 90788481 441867351 117115603 998379505 779807891 85976345 862223593 411033875 824021171 855541751 981515637 932343267 660944049 565509789 995950043 420178881 925245629 195653475 256705121 486979387 361480311 374919753 618312509 896000771 174823399 846839287 633610117 445647605 776193141 512002233 676534331 342881555 938612217 807375241 302712137 1395849 597079985 892429063 736460415 747594923 388124479 257340023 419519639 929850865 546267061 168347851 113303603 133052675 194572933 222457241 939657947 933559721 616897677 960107039 108901887 170212311 508701969 771936327 757352443 240748201 408315073 264869791 499339025 767811937 985850545 624386655 381804133 311616621 757385053 343713381 522057485 278188123 406935467 43328569 51392257 466666219 265653737 784349707 700361251 447063551 489994955 735469743 97199931 598700705 688851567 550545063 838790393 628068359 273924443 186166555 777073401 174098569 806865275 660260569 597442235 582688939 574766373 182277463 459061417 370988057 449889815 462372279 714849555 148061351 749455475 971003839 449336625 70103375 41923019 451353309 955402281 671537973 840127503 885378345 720722945 42146981 449668769 716657251 699405481 943673871 473710915 548120817 937420029 777725713 558263589 435264741 340012989 499859311 363613145 333891315 855006353 691238929 196199007 780405115 7465229 575842319 535161883 760581509 653992873 653029791 218944475 248563649 555210949 884377895 391860435 345605509 103663533 629379633 319952801 959966673 204287887 6491251 498858315 106776139 241705607 731457221 570823229 443249219 843456149 133252141 541471563 89734063 895931041 839654613 47183543 448148529 425761151 168992015 3416353 15924751 332027621 596178007 856615577 770444089 528660601 532958803 130156949 378327107 587737279 477607369 55965679 447443823 76612139 551962033 358393327 735677349 393210391 708392485 807152451 343501171 334008771 599008615 165715965 608057871 552833367 420600545 533662109 233465435 438493415 329636395 488314373 811072987 340239721 455655931 685928071 897081281 400545219 717816633 285428949 628117989 871643577 112196589 85655053 821520323 892708607 380825163 158497203 200046979 832885807 295152557 685705911 490590965 759495623 365270937 374725741 127705745 604010291 433085113 815027601 325114487 174204869 794190817 617705801 590969195 525536691 475524873 554202147 195773917 136578851 845998169 331734291 688413927 257743641 405750041 206545017 476169543 50410633 747492029 22509335 370906211 87707979 378196961 945741083 903300939 611079971 727169863 137542427 71787447 482214583 110690523 98120979 140019461 810181785 548673201 667983723 728749883 425495109 675249155 300586989 464214029 676204313 135555637 817155281 403751373 588976479 139908049 619264435 757672063 800666441 351293835 349931671 24879813 59666415 721172799 898239213 242591987 744127061 850658543 607286407 208594941 836150369 857907145 45292709 686447237 929159141 424680731 323800811 524113871 780013979 762063717 810543207 239642317 659446821 15838025 708796557 706476823 747708683 135459475 867684411 108141545 57992639 533824307 476997303 415042859 45392539 302142535 859708077 503021677 502453725 669615891 159137073 904134119 799745713 263021055 324944069 982300023 280066087 539247521 223890505 72148903 414756921 860810675 493328397 473696929 109465801 64026649 824261319 511046465 621889183 756903391 322563217 738733061 291380845 871284789 965800949 193355283 12210635 783366523 783929563 140453947 287907387 352683567 371960731 364380659 463269927 312846337 359126003 167008861 832232415 998387905 477649415 232461631 587999391 22266731 762495331 80732679 215760771 306010405 318241791 589899471 113380505 58510389 800222007 993089363 663476177 9963283 593592529 858878973 331217923 436340057 536981497 871043801 492696049 196469447 769817155 217424035 960611653 505028685 55187631 110858165 86904719 527986427 232934051 6598427 945486153 914703119 438062313 702160769 532229843 961001705 401431223 464745023 14622585 572420119 716577451 717163093 54038635 509864011 73061323 452141417 510715329 990627937 645589635 681455307 961400701 293342041 473975209 527652467 473091209 23613795 970353019 155977729 143503285 576243409 554506909 887114681 889254075 744403741 625026331 575342475 577493819 133163497 479426413 396027409 396016065 502904323 156821357 547347849 366053051 820891741 301951845 384179417 609600389 981017363 505872125 796552337 303244639 565339239 669921359 674370535 655388787 641355717 825223893 627138493 8125649 85270209 407923829 906270617 741597553 654651411 873286781 789334697 371604793 557463203 440486049 314264263 905589229 954655865 578449407 279062383 151175491 995701193 961605661 666610377 922596305 926852079 359762407 240387239 863587351 572668015 833359539 857389949 258530179 814832113 29332797 730638189 561274723 144305483 610282667 595236155 32550897 206054519 759685005 131808089 799261517 469043607 133083347 966517981 42789505 447626235 390422239 30477447 305707649 754485009 298385011 7023549 141473057 145602935 533879741 114540945 544788007 5880303 646448981 927445431 977930811 907327079 842707251 206689679 57394667 988494063 14180801 150278433 634614965 376630979 436905163 615040029 185681911 710940487 776294021 39653591 538603517 294170373 138562189 297438035 356505845 859173043 420603111 763665973 841093625 686055465 616022275 285641165 909366797 164760429 272005813 589286673 65218327 903119783 673351993 428376739 730735339 825947181 317758517 804157385 720627265 602830715 83846327 643407217 187375545 983392817 116774453 517692725 341912797 444383771 372150153 404626001 805016863 30251823 962456059 822687917 61863641 20138117 14612023 187359707 911377481 1271651 811473747 424013839 495963803 421259315 986641357 862122795 615462625 954013063 449613961 562046899 629128465 168596763 305667539 559579609 881748239 649948885 587865187 953927283 397628837 54279613 80606805 497217537 424350081 367390981 19089453 974057385 254044733 74638605 985444827 7487035 798611293 398373461 719830961 891212079 30733639 390689417 223749487 239836579 531462221 726155131 716609337 713635681 211209643 745944105 526033053 321494483 416515197 468257203 26377615 156998421 612847827 240747623 170225005 88449251 683766423 467220151 858732029 786680231 179891369 377399359 658440299 179280239 652937157 302459073 431379533 750189299 565702551 770562345 482971807 527087759 514585521 200917641 210761417 146045263 93893769 173885215 624266133 248620511 437068419 426298701 433682491 365368729 346662631 117923485 199099221 236282745 905932519 395613379 911101933 705916713 640705691 985367195 417217643 26804725 893603333 202242855 735488423 884366807 821916687 408245395 374890463 894295151 533980553 595071795 558145463 688999425 201714223 770937985 648168765 448534655 148967837 51061791 311669989 253088383 74706017 554272989 546571917 762245697 969807595 903107497 919731833 888650411 545905811 660027553 16223833 898669133 189366427 541370375 303854145 711353951 223463725 780723017 186063789 937961407 569512025 225155061 492717187 867933685 7158553 923018957 171890193 924162609 853762639 717217453 302095885 502282313 489098179 838059943 376233873 209063355 188612391 469489129 987614757 649380017 190851347 388401361 468903605 853418233 727696905 677011939 293427353 737978633 801869169 319020999 782393481 920334083 920264865 349594451 576865199 895451565 851289549 954872451 339246229 381182325 441748759 995845495 644283955 770639731 193116043 934873979 246449381 508728935 145270807 848825349 579786095 666189753 988148887 708222381 742711809 481731189 10303691 802841401 56555311 8638551 960674653 221911185 733650165 448907449 653753053 610689485 615564729 179174821 96547525 868594211 131209545 470831819 547850869 830554873 706905561 754419841 292546617 651767515 511773447 610522823 824675903 221617275 520767705 617873475 142605219 507332019 812089531 852136773 752325477 408073353 262427779 741672133 400922479 220527143 459087213 428647777 691139473 787244511 346804001 130317921 186161797 416017967 627374761 562399413 15141099 718391223 779194237 503629299 718567501 87590469 195573879 257536857 655226911 42329547 377089247 917462225 63732919 798085987 880146275 644748265 654992469 699110995 926019349 678293719 94841895 969953029 127795317 232013693 599345467 274828301 724957799 120767585 836116873 736935717 226134329 95372721 19707639 45625391 567811999 317209157 319543881 93600825 10621879 437836957 997820979 161417845 614400517 771464161 410717775 459509567 812462713 24676061 676606493 29344537 492146023 468567307 772029445 157627311 166179979 128411531 664220251 739877589 50518029 764987425 97576535 659555205 885055351 648402495 582375193 818544353 318563519 267320315 554810539 426438457 859925317 507788053 226554111 11508475 198138571 772686835 244602095 290989509 259356799 377747621 306533689 341887321 193132535 878749155 604812171 670760611 709974065 414164491 253271409 869316791 76610703 984664101 125846889 531527119 20480995 182997727 517604305 628338255 798643039 304525715 565380595 188534721 399939489 425070909 621753089 339561435 171868589 270126471 334461717 791818613 547953651 753653695 394218541 587323795 983125829 488798171 760705335 187107427 859543523 76064125 640913151 165366837 316470385 960999659 352141635 489389189 538799357 465315347 384516001 983876343 992332797 282519437 548040355 798204501 750508363 841880985 336197307 165866389 520047919 130496287 766969153 348329679 406436693 818926763 283358585 656964169 704730067 630358391 971171209 72136555 802287653 157560931 627268483 24777163 298812979 118904563 817491553 217290789 175349063 188112985 211620101 273581401 122413849 272416875 915548983 894348147 968584387 566016167 429743273 241707689 553560015 368438071 555069429 761268309 364711717 764379625 832838041 532119543 974231069 11966773 302222593 719405631 107996021 102628665 366430077 623125501 297426001 219995325 8872265 100719919 676318527 749264433 331235457 151545333 265411379 958385321 442662451 63409565 815409291 57228521 906961743 291008921 982473741 448896083 277669293 444089987 320764389 444865531 197189393 605446433 19506343 730225559 403494433 338390365 912738901 833631875 244697455 204045129 796536655 598072011 735733877 802346019 517590885 338799131 525446805 317409101 633327821 170967243 953890327 295736145 154031393 775607515 970795307 789459683 304589929 86034675 565683437 50636253 227872787 408459103 380222047 911562309 871648241 761568025 469879653 352985925 682416449 553457345 467478487 864108593 498800043 659168667 456647273 505237891 226461243 614638233 987941821 752735197 517613157 184182097 191121759 101513999 65061637 740309249 388920511 802119943 814935909 147597203 504614965 309793507 484108335 826221205 27534339 137740773 545774711 115023423 298681169 782283385 845878461 785105007 59268917 632946995 571634149 488819629 973839265 201270733 748543037 459134503 950561405 281854505 712490619 278088375 61190799 286815063 292392633 575440857 58942087 456148101 555007871 192614071 528541697 348545041 848506553 818740767 5130365 164289149 954254525 216416135 392840293 326647159 601888071 792992785 559007753 126466255 446100095 902880641 642347171 102162817 694170095 948269387 94366035 455412913 428800911 664983937 652358181 262339241 932051643 970260965 174684935 246597599 94194487 944607965 723280597 993934827 808592435 859229819 534832719 927275153 52254017 255175539 458280221 18738879 149088609 251645989 32107219 237101957 231055863 622754201 52503529 538905375 651076049 124143231 189123775 326351345 746566691 953439277 282693793 405496199 834505099 275834785 820627133 308187539 235885325 90511493 511266095 535423727 310656793 529444393 572829175 194238625 924806275 374490239 535485949 371972305 283859335 328352043 94533141 347731413 924227277 537093235 680169463 232093993 861950047 915083333 892466499 827870829 389018803 932905275 937787011 561067119 227234217 261708177 749214763 355335713 872084355 765035569 334653839 808707485 73941999 400896937 795342325 472107305 602745605 475497775 238300035 568132143 521828413 150892453 742840397 521484865 474423169 657993359 478841163 612587037 618456605 869857567 686738781 732294307 135996869 649656621 897013325 774188001 575306647 637247539 134075853 849375241 137860375 167592543 438727799 766153335 461623605 331622779 385116361 711493293 956969795 36537345 34358321 787823447 752080897 630762513 841658363 437259591 704283285 301356143 559122021 781187707 866488713 347142539 12904333 159811859 926700499 280890495 142005885 539726941 841201105 686571529 667909671 319414221 654937673 417566095 525765219 711248377 816084327 418807841 249408245 210708907 656854465 160473463 84983427 898534089 12758357 891739375 643077025 986583911 112171141 723394191 802804677 527690947 612238115 339228171 186306643 64899647 543337313 78115253 343898515 35711077 980502747 67401617 335901623 472312809 109149595 731042881 328448471 170647719 658620681 464261145 716983543 725877923 393240319 99600397 625923837 3229957 713225911 600808639 372661179 401050915 253189079 492026739 410675693 282765687 755519339 470453531 477235761 927946917 485803243 184896845 919858705 341690487 198715189 449006409 373794557 680474339 711287689 785563895 703921491 637217025 45805209 7495651 772057935 881771029 917300601 416557639 375206429 439954061 909228197 958315521 239355085 408990969 193383173 522287003 536798555 246342933 599506659 182775103 439766947 998540997 311542519 98766793 501811315 874009875 647026011 941038007 310663803 703732533 575372439 549168175 338869075 671038851 877647001 180177921 854959741 211389059 183075251 328127139 976253027 549454813 206256549 869223223 1295703 213162345 580108945 656825731 677537423 830016541 709046281 464842485 611500845 658369311 443950591 808655783 782976317 223345851 419683793 8099669 826685103 805353825 670020931 991944809 328953947 873889457 205752197 879914223 646842115 229035627 937109035 65331619 934177361 566331257 54018609 562362591 747646421 36400883 715409661 353630639 363966985 524221711 363153757 735067839 752911183 26368053 671015047 286927719 666905325 209151979 209712405 483378855 717231129 605592041 345573391 646603813 158394089 211052809 570723297 766292785 467192671 788700237 780532577 58450883 668149861 374610913 740183757 22012793 291453643 419885079 715872967 315618973 31489611 551518317 374162273 190762265 47528581 198994563 941668107 665977225 221585925 867826471 995638695 839940651 189943609 167564619 196857209 760219619 157657469 673373451 179539499 481097029 609316369 735902377 419163095 636657543 571211551 839973777 83754999 696641927 602905271 969743191 188881521 967474381 263903187 873587381 588421777 223900295 577509715 516725901 858402321 22837389 70724867 228759279 128360456 44692577 378713233 839644169 670766591 634881573 42847897 601195833 604819683 648247725 918952347 397742081 134412809 532720493 9299199 585531149 11836463 662014855 404032025 932828977 840811639 645935295 411733793 3295335 26021745 339102599 738954295 83616467 420283411 143586549 138744421 409179071 38075063 81849801 929962143 122301599 685892647 639619433 854880441 516010511 69769355 741190375 409929337 674935507 754104443 492262391 921017479 413540563 558516725 478789625 248252785 665818149 380467549 226374901 54449333 973413891 180532865 446770841 655096753 344445905 765963155 687895359 798931633 292558875 208442933 923504357 569076195 949801873 962592363 898741809 504892513 301913619 219746209 743299955 522208047 920842655 733515181 330121121 899779123 941366629 145162699 634023261 177453377 180858037 601497505 324252653 142449425 279464459 382900797 5241407 450917955 164085259 298406163 324335083 580158049 703916161 756986627 885271603 444440797 947798877 243716431 66652921 638991377 622049727 505735845 147823057 236205627 994339045 516943899 407939823 490190985 333845311 687756847 932350517 670751751 952426845 245776835 329634343 806966963 905677565 365410089 192177911 28200555 384443903 516506385 575237499 557275641 255149937 277586845 447116339 853541391 965428357 391469393 165934149 540390981 516161941 276491799 513728641 3000351 427166503 707358793 881560671 632057859 757250277 777775009 565700861 312739907 305089697 392222789 920180259 601474075 819495257 457759171 674048833 277763241 744167469 151864335 690793581 413674999 944231275 169597063 938611557 938937847 381104517 90505457 239531155 133090177 17104919 661567609 560279045 657698647 68864739 347511477 98161779 585867043 584100053 459911329 372809785 661795959 659662081 912237477 945034851 714736585 77096351 683719307 362316701 977145725 304804631 546036361 814487873 153143003 558574321 843090495 818031691 403201813 135056609 494672047 371717219 197320771 401594307 864414281 319727835 660289127 223996057 982018015 942179751 347553387 476222863 820896177 271686761 505248033 430447353 229424227 318641509 568945727 878594641 373300225 470351501 400857959 142434107 310969091 238023799 574611749 733381249 316447557 830054243 525465577 447316247 517914893 839836727 240670987 103193369 785090055 262016899 527528909 585400011 386815047 286673535 243484249 568475541 419533135 488113161 472501951 873385229 943736575 533730729 293094907 942924269 322673831 778214031 888452841 530697497 77150203 544782479 391069015 135980187 221532699 24530733 836308213 258194089 833847433 763479693 614117467 205309083 241055283 961206399 103923723 391619061 560712815 354310009 674836847 683475813 554942459 627133853 868976599 39641531 851516923 54691249 623610237 251501299 753140475 983030307 6433409 475419953 929871859 6340619 845899759 15576001 952052543 142259241 713075895 96010259 735502243 117294565 363835055 443669703 644109135 425029195 406692255 252586651 815827669 42198295 444110377 443905919 496527925 793101219 815901411 677983619 179781075 372291065 495219013 177849827 612645245 661276105 53060785 986246661 160394087 686765417 801670509 614771823 947130673 995619033 375342511 759817689 943868123 450690751 16729229 107260957 918685657 413632875 72715527 175385403 389195769 981263829 998172427 88342627 260814463 870274715 367787623 586385127 807214347 974932741 712622037 416270655 476617391 119595011 743918581 410306065 312343771 365802281 975644243 30856489 571192945 63451067 81327709 893671545 59701427 451422109 862512239 154395421 867253841 660680287 935028425 267305559 393387613 310311991 614953107 203621523 673596247 682916103 61053153 41958499 905508899 955032403 221674923 372676997 275502349 916891471 654343377 7232475 401070285 936630733 519970589 708666479 937500543 312771407 563548995 202047605 240395689 611949821 498763479 801224775 852392247 609069475 241698143 557633133 516725375 18938043 146047809 349634701 545676605 415706981 401508049 247188603 573437847 590410597 299579719 215892789 608679195 376498733 284928451 399433693 261655999 257636819 535598671 929197245 897376477 482115093 153824477 764676681 262815805 735786335 953337415 208430109 150138637 524467643 938854733 535902203 825041631 677288931 694817175 751643857 174320305 154670645 143619257 57226157 56964075 869330873 127677737 734906063 851931993 87183645 986322251 347183769 148211245 349211579 613303399 283151511 944191753 743581327 206874545 529473657 308621553 694236483 968214333 619617565 670341199 499503909 782002961 304182663 661966845 81472043 798294035 956091359 890782261 97594359 485422357 276378235 52814749 812455631 901188051 403104981 998924355 924796065 260953579 501389457 789311131 188283909 27911143 400909947 292082819 708666683 670654009 818404227 669488705 680569641 674453561 838013383 673646465 288905313 777833771 757719435 19534425 192424983 794634037 432535097 421054535 22648619 562032233 705088867 530575149 497441063 192005059 692911045 992349 804558133 151235105 877071427 280751495 681835313 368816973 345626345 579867597 96335513 867566839 990007273 640886449 928484243 895357885 395872925 179426595 141620207 896633883 84908171 271536757 871702565 394887037 10426459 462633831 161933907 117784883 578022117 572858141 692429633 337722233 331934751 8408613 562008415 950115949 95761967 810486131 642539969 164476697 921969761 21178213 810268459 641795181 117330983 676527807 815649535 947956295 9200157 62706609 936678481 194410083 328761093 19585743 900799703 452713325 428592841 324553749 758703597 978659829 948805505 361316843 739052447 644761461 467865701 397751323 735417241 738141007 249737943 549257435 14451251 142909899 890588517 386774987 909431661 475264281 989105345 934459117 561969135 700909143 478683847 663936431 207234565 471959169 556383097 949098471 875719337 654534019 423440387 626781907 791167611 657257261 88949175 963474455 806869695 448671801 142774035 126760127 595586663 206708039 275198649 815725123 606395143 5935075 206324339 74226047 152630243 882005373 725300789 129898937 243631839 4202093 583721243 744325531 693405579 550985973 383048295 576828991 537831967 986748479 119655557 439808543 578804345 884234587 595078665 740852769 455798561 535404611 719210157 50028179 351268933 912478423 624579157 389212713 526764735 179303907 442671627 683168515 579213067 424704533 172415747 451341729 451323987 85701385 13480345 655423479 598635877 281748543 778037841 933010005 6206391 340644385 886086355 460386425 867140715 232597247 263309557 575106187 739923269 172373523 743483313 893031445 416075191 710769789 269713963 755289359 980178393 507370569 220136623 542367955 913808231 649911141 47479725 863513387 173500105 522580653 641750211 794898239 491110415 148788449 679094709 252532393 531472371 397480363 28055403 435542625 473227983 798878361 369436923 325239249 672281517 310696489 494390945 998974405 504552765 611064505 187368637 134093169 228944085 74641301 389337307 494974835 688760691 982844395 380655281 984310993 645627585 677040087 247120663 727914999 690899469 58655577 571077907 524532155 185531215 32438617 732732111 616716377 101948965 558956715 763230365 526183545 777016535 834401543 483746297 752048677 689985875 61546509 18615431 70588371 811833395 588907079 462375187 566289251 216826803 205221929 762907791 186800919 443452605 867803399 196659991 110219421 500984287 395755047 479469291 273948171 825413711 210870703 851823995 572747999 71059695 548792755 648179801 773712637 302879043 733430059 745672765 345366961 79244413 22755575 156349967 930193587 425092723 20798689 133698005 180171039 573793957 87969435 298976199 276088443 901091131 707308223 749116735 779390385 394331649 130646475 796061631 704056347 716713329 730900269 945477619 605740147 774670761 28326961 705029295 343453151 557233523 14192405 237715435 302750445 642513721 590774263 14802383 209753747 649811479 441286625 920579491 584557867 583225547 319165893 681198811 662731133 814430395 280115581 896491027 390487477 366661879 24746695 675618317 354510441 752628535 772868175 556375733 901809559 52450519 374780071 551835679 236262305 130723299 630324549 330205573 207498841 456102409 474922381 994424393 45218799 246011293 829054919 526975739 668973061 675563681 687523877 504347721 207427229 590747069 242104257 887156753 956533031 839987519 529521049 541874261 813609845 139773469 168605081 624539713 420278471 871252217 645453713 999169833 417299649 887488791 764145213 607161735 955704945 931961705 848127547 865879551 488238923 707057541 836585749 872094813 1066541 526073515 800339517 941439633 176283229 161216707 490286091 848399801 882174599 958141785 431377601 761706265 258848705 107738791 860498313 458927897 161030791 963677323 500269427 498124879 251269057 782779789 589593723 75481717 951442361 53580765 453718141 261600111 287453989 864397905 950359111 184005705 52062757 662661479 486005897 875688499 635385659 740667465 499109083 988965773 585507413 759677381 259452609 531960533 139944905 763608403 644981919 164288443 5501781 359959569 366554317 245774351 171756829 933626823 218936959 945642701 943102127 362372067 519058647 79978267 314831871 582679167 654952417 479211839 244464747 312927575 943116685 538039729 113494967 609309397 711874739 490958345 72582419 152820485 421910549 395729421 784779281 301076641 857899869 541342375 254281651 697803273 349529627 764847849 745572185 784141379 639551177 640823057 447538643 883804669 729787849 348711807 4057173 44798607 43356771 744863681 437824383 904417017 702788039 368875401 640778833 902614241 965644817 23923633 898766143 400793495 643855681 166568255 606081817 387660051 388243521 764920925 796830237 672926963 888502241 886559583 782276851 76771199 210512347 408896445 565318053 945083559 53963215 626870047 359891627 835997953 342052937 319803469 84900321 899622091 627131831 113815611 278064011 754021103 964886389 727126789 961394521 922037755 662553283 244701933 337356637 20988711 675051467 22938975 140486423 138906449 466395805 923231213 419613803 398427137 357131315 841035093 747764903 652053605 207704941 569991289 656885119 539564117 561378839 747165539 840057873 215780691 681432543 698361415 546321379 825381249 616000353 10184833 643127265 658931891 705392413 673796499 148302689 517115741 570516603 635611179 97814815 169628577 825750735 578817815 612976195 582892099 209136721 941971031 859244375 934949813 407037729 552069133 35658067 510273805 349330507 622726019 463255185 771555083 4035773 241468463 779061209 737099541 138215507 188542633 345166681 249803325 376139467 785890741 90733987 637056053 436302035 74364737 809589943 855748195 50044153 921460573 388654840 13813961 315411125 609435461 15624245 414278423 974240107 518085725 803597475 799706535 12831077 40450351 767980511 287657079 597184721 20568177 556956143 490125357 300475595 263017467 788505663 582653721 812326481 176827345 74182307 254521393 327222609 69005089 19064923 250537495 518480279 826707771 866002189 878258705 740441057 587815579 786375107 740028173 811288269 189020135 701527027 803159715 130172389 309175525 868139131 840439317 256203419 967509389 672146593 686986053 593823561 216624887 858683155 919856071 731172909 732011113 23494371 493622223 467500149 339192909 613474959 864731453 316922669 767185717 148816127 52725403 611234387 722535645 13718653 855566357 925752261 714311467 713884609 80407683 205633101 358993701 722837735 492927077 614046365 698969603 804223091 232175841 134425677 381932575 715999829 933360839 657501921 913376763 381104351 224533391 165084863 970969921 753700817 410532439 522296889 517029321 598788431 902332135 773578891 474409609 522434791 247359151 251040467 283920041 254051981 374405573 169215771 77107825 215452577 322627047 855348565 776175189 943686115 463698303 307511385 808414191 950922887 476567195 949461227 482648325 97699611 783330801 506056369 768296577 71984291 61121507 335124797 901501815 226444927 528694647 55423753 979089953 421377921 897331035 816457335 553606881 797675737 452249321 899597519 104966981 556821289 477687581 864641859 714224385 687101811 984235423 683335147 951265003 245072421 981392833 757079241 970301453 694301719 525783927 350285511 608489613 789541249 71146083 273548983 960579777 903103757 940013769 308215375 866044449 732830919 364766363 76042035 346485845 74909475 743940207 228561387 893949477 755062783 45926533 979568871 571419783 501780897 191592387 257076099 77032339 994818483 89439929 155552513 207790477 669022799 618607775 636858245 173699041 300241647 125722195 524900135 769988131 504781691 587277149 248163035 118822157 22746429 777832685 647472515 697476483 894767083 93853911 531111659 141521809 89297059 233621151 17356995 559689063 419836653 729927273 205131683 443837027 213626801 738415621 926945293 416571401 603448391 263643113 596995947 88199937 534369131 513467447 510622989 685238305 881905733 315313589 436084525 245968739 922534241 74263249 72057835 295421165 298201009 198547619 639526995 798720005 669843351 641588715 21119829 691157027 262812631 731872785 317824201 386429407 494305947 984330273 502444657 521295871 540155005 426730965 681314549 389547115 110260087 323985549 166428393 759510329 273466863 569382477 599265221 10512293 406476723 875388615 943506667 87346447 840722679 507972177 643471009 535547397 908927321 124289259 274280733 212597049 348678367 977192251 434232693 175836293 693207285 988501905 662719659 46914543 214735217 534335717 13216935 943377569 93952913 411791317 219783485 809947117 758212343 804495273 794185509 750621775 914613939 605076817 457924351 390080621 518297147 34180705 276488279 207610383 502995051 16817181 137252507 529513769 961716359 906830441 863736359 374664405 331776317 598395091 141526331 393594457 684599717 661574039 5502719 526475295 165890103 642884241 867191431 326942395 246683613 764307527 495171019 898210277 831116515 153769709 862268587 815976837 457016317 531826005 293999089 281464995 316498249 614951937 151351889 569179251 301764429 230798871 892261727 947144529 329841653 944760937 366118049 113761727 923753365 607890027 333167231 133119849 981665263 698117949 493647687 187609123 663048483 689482921 787246135 612017383 56400065 308072475 274593901 833759959 30025917 977256875 28501491 23742017 208439927 39398679 315670717 579073433 325891505 271838921 823886751 354999927 58591129 522919633 910220127 755865247 310004677 157386721 969465251 345586941 111541555 521618527 309868543 756099749 239637831 114217291 697030889 3638737 865437389 353299803 171671237 843105509 697829117 640561635 511494365 444125547 168331379 137954785 622144095 75954967 325851187 644722431 286130533 226411719 891866285 519653003 264566259 461993849 918130357 741423227 600676079 560043867 356896903 402551921 220603179 327714497 584298697 9212593 903226467 481398055 509998985 795639087 851619381 747536941 974583099 101259389 685778731 343772831 324732349 209045213 772613047 486408051 748669269 639078709 891618097 902003905 160609711 865248279 730064605 71962317 958883041 411510455 632041185 419427589 511998567 614574581 212352335 378964729 278317097 865636699 139814691 237586277 166456177 353673747 48941371 497196847 948715511 981693433 556619617 380922461 589802199 164211339 351141703 434563367 35306901 937859055 863944581 124009701 305257247 9619957 98843293 810419485 622926541 11389717 111123449 958887033 770826585 707596141 481115371 880013771 323710441 466308549 903530921 101815057 508782857 908617355 827422295 552403051 108515761 735538905 47321597 278095143 57704509 761127787 502803339 693294263 102598003 900747691 530633951 552130485 58256255 353405607 175627701 71247079 167017719 58662933 473422521 496928311 117946839 826655575 762869371 18070455 677885573 622857331 569627765 296728741 386111185 498849559 146963977 927750753 574428395 87735195 37686143 567127417 987808371 367188991 647730441 133287583 400058225 893649131 16167871 73650095 455752525 576633003 710070435 885634731 529870815 717688377 127083935 372916927 516301413 923230771 407976579 967209791 104971393 986071523 308455945 801726629 195663173 317464627 335254227 813562259 43023395 433129151 554087 6367703 445339641 300979909 566953531 561535331 311369227 81580587 216425125 407897427 372934409 928223361 820487143 113531627 148979205 171729407 878827307 766807699 97124225 154567811 91602817 411696353 178669149 521848469 881540835 331958669 820628713 848399971 24615729 760694399 748154841 828065479 420202295 936732865 654596427 676315709 257156517 271503235 813172677 566239727 871649809 617318179 583921459 763766443 170558465 154855459 505064427 975789543 727763421 655680049 336568235 526144197 241838069 208238363 863337621 223014665 467785091 998521315 982008891 644951589 373278119 691852711 639027341 469483057 168563821 368404659 527783149 645183721 438631363 13289851 855466269 642302133 870503045 921932701 856917069 976616357 737741171 820369623 719864847 537215089 330486327 797386777 68764515 859844473 806467169 605924979 716913581 813346241 439344233 156673057 77965243 402637819 843445941 88524167 877949633 153810301 363816073 26236977 849519965 49863493 57207577 131604431 49636501 342929149 805399167 728039745 924606165 505540595 29134011 380654981 88534257 530907679 686436533 504207563 700726059 766035743 771468609 921418083 922113571 581131579 507516439 229949131 154836457 810017377 571426519 9203875 398340339 408373547 127427597 278558649 604719387 336256469 803370023 306967805 70830249 924136265 332909695 777424527 130078539 265372181 667007065 919355055 159798547 897558895 933492701 154942153 265458049 103149113 391190297 627222127 560769655 934335991 270547211 145299039 376473415 822510555 706393745 586977145 105120675 160287675 411732853 339587019 784043689 647084823 985977193 203171719 34450909 854743063 639608583 892526599 845568559 164140167 179539151 481563857 588928755 580324577 909817897 191847567 315399909 858489667 671584359 977786901 231953195 470385783 648729541 468737885 475849299 781690087 870006881 419534985 80781649 274917295 906722117 519692519 133010053 174525325 527721827 478727145 628282545 768933863 335171221 754746411 568495107 413661133 523082393 985992303 675277585 833708789 173622299 312156833 808604119 66972353 534105517 27249365 499267261 543383351 888701125 699778629 563044749 447742983 525300423 925163605 934632575 919255941 668433403 158452111 783604015 882506675 721357459 265617575 750195617 803895609 657897385 393541497 163344707 29037669 41605691 736107017 416209901 477870125 204033077 642760063 750006489 45645107 149202793 54578993 28377005 935876283 624630413 796060569 188768119 420372919 987073605 772811099 721432491 687309245 224925209 724283457 315808551 981973005 315537275 537473087 729762097 255017615 783900867 151514737 313549941 896115919 862429747 38835739 74765319 468715271 638115573 463530917 757917801 838207253 747392027 463827877 431429755 593003905 248277403 770280407 240944269 823574139 999888217 719557659 569923925 223796441 986522653 266904957 391342829 359720217 498224279 771205427 885508063 952693349 326093411 485047189 374395411 232707467 244647683 617177385 775321569 924134403 14363357 182824855 136447751 471508203 724676675 916702389 99073961 794710027 580315247 83153279 927781715 862988497 498060931 139211029 869937149 730360151 339739783 168394693 710637315 185326937 566439531 695121407 587747883 178729791 434266379 197859171 237974175 736499995 963696935 300322737 358692857 751334305 90172521 978577875 489311027 111742771 492784225 475059937 752305589 31482069 783011209 860404497 207056457 760189241 604889667 258678985 793357349 839665079 857455575 984627605 419388903 421331273 197108085 758638375 973730453 620146077 520371001 973170267 261408923 513584125 269915427 133765683 537601743 933396067 112888861 315537627 855516015 105816685 596637431 482196133 414305055 76260451 369311083 305931535 715839467 493807157 12706585 739904441 128403019 470183033 104513165 596124017 426512409 348821357 335840311 491420457 852579743 818277883 551406959 97778941 775082629 49507505 64005493 851278127 745752293 468144839 429855863 474544939 122213433 832917787 791774339 743618181 813427815 268117813 846160019 718725623 442027197 371063363 739857799 23804515 513157359 840109597 836732715 299883991 836571163 757037637 111052077 815200391 929922503 282244317 573745193 871592907 271182047 587030969 756173983 24185127 78168761 803563341 987532791 241834311 568325137 244550587 542646149 462558975 983252493 416349639 53199233 526094409 43046205 969852899 273647627 481939273 418702481 624647973 357281327 630623561 362357355 338183245 650443483 228184509 621563277 916964033 266338795 163889985 268654117 136346513 559087903 254054553 612711627 466899573 271154975 347937197 168938871 892964045 461900927 957345427 788201107 994662557 587053749 602195077 966612971 869058453 315267879 822828263 952384435 87417359 804289561 501698117 625655177 681206793 965880255 581166927 9639281 857336871 905237299 562526179 923865307 591623869 418429811 840491525 841822107 861056705 87387757 626062045 570090733 364506833 616761837 718654913 632041079 751803957 248482993 187665197 242768711 892245467 14007639 171316673 741531347 188647771 718991209 677763403 447191541 973011445 338718811 900070843 395973109 995676049 605260929 969360433 966973311 94941629 958165537 815047147 691539369 61519535 630516321 51208025 441361649 918190663 247596115 465533707 242940475 69669135 178345459 759813823 131309011 518288691 321430815 625522261 426069105 576770443 951625889 15114971 260991025 90766487 156485931 772198275 287466391 127426429 117583447 230943399 950722707 210073357 606919075 459269837 674847095 403636415 705291131 228157343 881813507 487004593 555774001 592517871 302404187 691422635 985062139 595526587 943944717 131092509 665777405 775505699 314168589 436290333 890928703 341401973 974060217 338380393 687180979 439018787 859961559 456621163 768020273 372078537 285345427 855265073 485113469 848095529 898640259 51474801 624411709 622508591 691245219 236912525 434288131 748421613 822389083 519796875 536793161 176277153 62633077 816182041 977416049 212903085 701017385 790025873 589953219 741155739 178897937 255276527 305820017 562358559 793892407 123313883 216334739 7477781 370752003 751519399 493069101 447464831 749766733 292529479 770909477 806422409 807142227 229517403 971189325 290370695 531106233 868870701 233857119 603063795 773789069 26514089 189401341 276779889 468114755 334931047 973585583 133004747 813109433 852422567 708929509 397642229 358206515 166415183 885044733 136018443 730848097 71837167 15262771 697764431 771213911 818255039 567046835 880687151 535881361 959970461 910845837 3296059 350439413 226216721 218772923 363284527 593015249 879511883 787470879 533137391 551786459 697020703 77959295 593479813 863322413 852259857 92001425 727900709 515375951 984847429 946799851 641889837 482601261 868413321 790280207 922980891 675987999 468003417 383500647 390852255 959554269 279957713 82063939 556092553 364769425 268458423 97021149 732735957 280420293 13908351 338954071 464414375 829028209 306356539 505003191 947166793 105254385 254345133 413075955 390726193 735072265 118386749 765238497 767388407 782781417 535984119 644313923 772549473 886425125 557758101 120171459 627551577 677541049 785866103 404979951 237062897 995893771 943991969 560163909 983567205 237651433 225430981 981279013 844439577 820116615 980697401 381683671 9171353 795578243 117012733 258659979 909781143 720125155 37542839 432248413 235899629 27667475 415879607 100793421 870185633 816543465 88364021 766791747 715593437 832507041 260289295 998606355 933733619 471407331 895596109 224097909 668787041 239677113 344733343 783062537 950703303 752196507 342218137 357172827 154183411 253208675 931096703 861163225 931375063 530846809 176572725 446819807 214324367 628512811 810141513 25279405 337074269 450518251 412024567 930395499 672037293 991794457 131609115 411894829 957789969 81849753 587455803 382954475 965785159 953561785 833916041 980445317 757315375 912429357 509613789 960105671 511627479 231480595 560373939 800897887 766482545 188360943 522403123 613282281 55234137 412209329 376467759 383062499 590444305 886243501 198284827 168742843 3877957 904946335 227037975 216662973 672065993 336662191 692508141 629206823 912637591 871205991 242342409 880802071 570279891 332528573 115916163 625874329 393134535 238225935 328737817 495957659 369940199 400912165 848601653 502012151 811842767 794767911 120354791 366425457 126192961 164204205 393989601 796187567 581115177 654458293 938739335 762314565 368819099 463581345 512926943 545192617 343687889 867285059 63481753 727287873 847777071 489595853 459752459 315094865 476529215 920002525 58282803 413698829 638443447 418479479 462192827 824899469 336000111 783967499 512531441 791265493 237894507 440136555 587281611 48395723 709893337 802279639 577967851 107416387 115753225 212657651 627790997 992721651 183979383 760200397 852962235 932160639 335881671 762585563 644904181 569252975 595165379 89597175 665959551 240044853 531336033 55559273 48652097 247106603 615419833 482447837 870078413 911932559 478850065 323381609 988647767 937302157 916080081 381784201 803286719 241723447 383008911 306560293 651331471 177274499 943757575 762451591 22149361 22667861 30437401 632697447 539646145 698904437 601338835 642062303 495120509 351289749 399620197 677446265 731145803 853800781 603200303 410045725 991494139 42022687 460662191 111922979 295361029 505320053 141035669 912603977 892480135 163599009 900349617 615496883 722706505 385952217 794756609 661648367 369276857 843355713 410416805 829191665 196477937 722716385 905225707 211317527 447882669 13528747 365293893 423973927 851373143 710628215 543001935 267210061 481462013 367090951 748212937 247344925 779205973 332609541 693010339 45799321 81279681 467803393 494147055 145000737 132581191 901044597 624510181 258832261 681105557 693875395 532350445 602084091 932317955 962720563 100299151 706246941 978910353 414270199 321635967 276248563 511174117 69237031 888059033 375717097 295538001 364487365 585048543 691462615 675465161 148012987 293170557 925493237 806037997 761564121 274179781 383807213 653233927 470394329 792063541 201800651 714170881 948270173 721066607 444070915 968155255 671817963 158479677 449668721 768623527 891992313 711445651 396994143 853815159 820184797 527828365 605117047 191447415 927606489 468670317 673853901 978071007 348374039 107449503 384812257 660741261 886601127 730940855 209413271 606215177 378858883 572148847 120929597 867857025 563683211 565591723 145965449 178744015 913455243 717789045 830149525 203248495 937628979 257080321 260551145 533294475 377887003 138154667 801398897 967373809 46045637 298035191 903683459 917195799 219608473 302054797 619057371 602293535 784426219 781731139 636630689 272906957 67530483 811481107 604090463 434117267 102797523 170585889 719580173 11540615 836303505 639364279 443986695 612972649 983935011 230100811 921806097 818771105 712296029 464271477 223805785 542354235 438448645 765964795 150303095 398565105 375570115 36155077 720295013 245292067 14841895 58999273 724383625 378272213 978901673 932742049 343635887 80403129 138877103 590660179 978946065 119793699 394266493 830819205 326681415 509748503 239153225 391304431 36849239 541100345 484246823 632690025 232934833 482891225 92846109 390041593 715398185 588614383 548855315 936934599 730467323 788026393 624253399 226682411 782528975 436024223 333978919 399843739 578621359 700482415 907305377 62498493 987739153 397198371 490379217 857485405 63020245 173136375 611947045 947946349 412076605 78883797 208803321 326633479 458192375 196052553 500596875 542266993 351350811 102517903 869113353 121518613 735791649 117108609 634041471 546944133 438322163 980204203 196481259 194355327 733197021 747625273 565133867 49310435 398253203 112317187 819445769 762761151 201430065 522344841 307958841 266588997 182741313 764159219 218534735 384474321 276785837 563649805 526340561 229560293 695109577 551068753 146144037 43816749 931921237 343608029 948038303 926267771 955942007 820859769 381621365 508837581 169478585 354782357 30289611 382574917 98896401 295172935 460279977 579936301 422186461 588481615 526671617 229225721 714881507 128772883 546689453 996256837 19455567 756286115 920337003 996887251 686109111 98721973 615513065 614977167 784622105 209292971 161474739 375515021 950130647 895683211 549542981 13274373 284206275 776224771 809082881 47058015 693869327 169030509 596600881 345348131 22296663 99158213 22703363 265817351 132446885 330270389 962773905 272895715 761003361 639463819 721113821 755073467 269500005 630535229 933326545 499459259 788535017 579350893 326863679 342567735 367068313 563966559 555180765 878019497 342956155 390230533 819464271 752822965 959629321 659619317 991781661 734961189 353955361 989904751 87091897 150607343 409371651 88506969 24432507 831675691 814347361 583732293 696390565 733021981 425978447 359300967 730814049 717855795 967389769 491017119 305567425 73857789 177812279 820990837 649264315 572923191 427055971 760785177 944921651 828701893 695469957 874229601 210188785 242329267 638152631 727565003 848266917 774336049 236238465 250468993 662022637 547444637 591578577 243471697 544768837 608025467 612919289 772566707 159873817 382269813 329381049 626094021 282396601 866555741 388410419 870379087 420237919 357583919 716138489 466424255 159348781 874758927 739793917 761565229 900011307 333694537 373890973 373369179 129817929 371709519 354598045 886552491 911694691 324894907 879869997 276662577 118510651 947615059 354901473 560341665 408491893 587459841 900965045 338491485 436864679 150815447 35838991 709387113 735829579 110600979 806846141 907636855 391591613 607560213 850818549 943665885 873894731 373777771 394039889 475175323 874983203 263487687 59994841 849359449 469840993 321312003 400921593 443356771 834336517 987046693 484770951 233392051 713592313 567445335 451595457 788095975 607529997 431313387 84524361 219775815 912154363 351634015 34548273 31154115 118509157 91408469 752087529 252242929 685231313 24011415 860587603 731639823 974291637 481968153 808308657 243890439 326759783 510635253 526173619 655946599 225816105 135302003 214759533 807813735 888506659 737282297 146693465 468754661 404329065 408657179 254462051 824517223 8109299 308651671 291602129 208768033 701962657 22917199 813993565 61932517 355968063 907120205 702209573 864257845 737366139 544087749 240662953 331016249 488922865 543455507 96573915 406360767 725067809 260281529 187402767 504667965 305698165 349225059 432051971 159262675 132353595 554274021 118695897 908279115 923061425 900827193 190289185 683222033 859246837 582305923 59238865 736253245 853480979 694704909 21710915 380062607 323437817 309227853 214894913 625881709 334241667 382491099 389962995 67618023 245275505 353586555 285449201 77828277 44291947 333544473 928164921 753846069 344375301 317059529 628050991 333425777 251051191 277342663 399595423 324400147 431232737 259707251 584035521 622209143 198322381 852276057 949685553 814567321 191173805 449817133 305568501 790214179 415675291 22767565 868538745 950121571 140131991 888014903 104894097 427137873 791458697 524423323 483337599 183022987 753459781 811857993 871737315 871665753 570400129 107570621 640328909 677202601 813635041 164729243 192664497 134383635 442426095 97739183 4644207 165739479 610531865 247646699 632712521 484580829 334128569 985501033 65788397 34366387 488107539 802029935 932707441 321258895 591929933 673731173 738403667 112419153 787616635 585032419 340873077 658562435 174397331 430527647 249083689 926842961 243674233 873850751 881053471 890247827 284561653 213593231 335650681 935985353 331621305 578204929 281380539 86853145 912961631 50328369 857610447 407172947 124195941 77176735 121338895 390769135 88031799 254803963 541699125 345997067 721446439 471650839 290186087 917755503 894489451 956219115 194445619 935560587 183142183 548064159 280303501 446566515 650524515 719661691 171940819 724905195 457533969 36604915 562429899 395608407 819603465 28475809 714122913 632530887 590320143 170005835 275553771 977540849 427981257 814868955 100701349 503783223 329319625 833499237 949084727 822524319 100327307 195265315 643968875 21136087 122696299 553087095 478029687 929124919 288389303 562661359 838375163 932627649 162294175 168065853 940675833 668281367 333008699 593517885 274171361 738603405 296971151 242688753 357577861 950980887 609586561 901453959 187895077 103635541 89326051 635300941 654401125 10901393 759177327 198663107 594417233 401543863 46265543 786113163 294956385 334968415 506593651 888349551 202045297 913260743 473311461 116610405 376123591 926550747 944182901 816550021 147020559 540369189 178027365 515375891 784442461 116330719 676866527 222892667 953761331 570357479 575244275 781258321 664334449 279417029 661026459 727463247 714125927 841800103 486629049 583459417 665179081 560144231 841494037 572311929 547021239 135606147 881763935 587073253 701351859 162309663 651196467 337372149 775185579 665790735 218157073 363370031 631657973 190574793 480728931 946522683 111555151 79469419 640290169 972239087 536453339 394686395 696139405 875040325 200426539 32337965 977771713 580899425 602110257 408480211 184426779 482628239 954680395 279370607 122038417 601365055 214029373 843122281 681452281 476658193 708566327 986022861 348997141 451338435 700432843 531315029 559265935 257205829 70868985 572348001 880501495 183910567 105558053 849531637 768626887 704075047 942583325 173478083 739561311 839456549 830025749 535860769 700548363 520141615 176329645 855034639 733912057 549971957 504414949 370366003 388684613 580096343 583883055 4331997 426672111 91695957 613780575 551983365 289184223 726941465 272153523 801842249 977267433 622454779 338912973 4181233 445791685 19454577 400306367 143808493 294022933 265545507 258604793 704264913 834154079 578625497 692072541 99106529 180642583 20522117 394674733 692254719 572073879 598750791 231879449 256178623 157211679 7028319 521874995 642635863 532004313 143634233 418809851 758716325 319494099 591679847 265019733 822191151 141057035 596427431 583806093 54529063 566994015 287536347 175172187 216560741 708111771 629354765 126051547 195088741 303583341 468458609 861011091 551985743 144287345 624234339 455800687 87113717 256951589 829180517 407265221 872601035 318185719 448666403 575488849 194495729 588380725 469823343 731208249 40882993 544279575 591640135 396598795 370516981 64207297 186405069 509243069 381426009 989362493 739399499 643965353 37951771 188101753 624377397 920527511 62486433 592186447 618813223 407956659 22735099 34163075 241619429 613374357 522296801 473125307 117323607 935890997 111174833 880028811 827948179 807865341 627979891 32748651 862557651 912034743 110958039 265519547 931078523 276049563 608605233 498349509 535248149 319222085 655170693 67423675 585928789 412652219 735528055 231789493 330519063 38587751 636962133 270168503 928638815 326571043 575883547 911418023 647137877 642667817 501321573 217915737 44882255 829561631 633244793 62335363 739476423 26753043 461817929 227010249 529285985 777820793 83825517 154084787 721544937 588583471 333062689 21620403 904580943 7745403 71535437 841935651 583949491 853254665 823463299 864235585 267605331 904597999 43973111 2532921 156459167 267785899 988415369 996078365 275871271 439191071 453196737 300093923 92773031 238540701 47888847 79764335 911993091 599854805 912255369 664918409 925539655 629481193 925119087 399085027 829039013 686911323 343441575 967449365 722049911 230036763 881189377 720718243 898224195 232114043 665389813 23854835 783307443 108771131 588040097 632291927 848485273 315786623 822567117 12398089 684575985 379353301 593462503 928444459 977854689 822074417 514135305 752890309 885325487 298029041 468861423 116617161 539977171 103431385 165409027 472351247 752308967 188085017 107262803 354786905 633818285 806875973 388660373 768607057 834714897 219843417 377460779 151958919 40239141 871859133 151318555 20685943 348718887 211179579 274829843 891806589 774122359 243170057 380146795 481748711 384667043 410823111 35906339 590380773 72883293 428339831 204381921 247062671 94939009 914815623 142833143 22703335 562401553 853033933 846591321 217926103 515190329 428875655 996494247 119685935 375083085 772105049 154237481 907601833 492155333 162074703 881397711 90763239 991213897 374009825 795767855 156827505 369822881 538348779 737798793 554508215 386746817 834486451 162772675 66240789 989393861 334392803 954943597 793968587 177878511 511867285 636801471 537761539 695234733 570373187 107977879 663364045 209990797 166452947 277443965 582876707 280937295 131132819 617417887 378249703 786007765 289993527 224853207 438818783 656302633 994207199 675493025 685659329 222751361 233658379 956431655 207379491 493833781 544544175 374306101 241406343 938497481 71684379 973155911 121852245 670819049 439168013 287617401 836899297 333948777 322363053 450613905 929661539 896370755 931946629 983818497 449916925 864221851 696765325 346413791 393393333 785367229 17499423 205508075 419500161 484499225 76079365 769636493 182114871 879592781 654403687 414930641 867024023 820165917 649964255 70852465 80032079 122044785 403337573 744777933 913653229 242120545 357430115 681307625 280916715 418495267 21377445 730563447 519770793 314871069 239947615 818136267 990050417 957969625 55513903 449217257 784370039 247334413 251450395 930562933 770916817 403459985 703694991 431961023 789083519 716122731 384092513 366702015 919342447 741841605 360911565 703737619 78785647 595017969 639361401 367000579 616516151 572758123 651328373 666181245 433877611 792062169 293343025 752466715 964605845 886117121 62715023 571054105 178596387 747815387 38192081 429679201 716117873 749461377 898589349 633223807 907639997 346979381 529593633 850875311 771128373 215716193 92468419 812054731 332830695 214267549 571919215 209986399 36624075 54572703 96183409 331726487 486708677 679063631 896879489 538256971 293053599 432463797 735228859 625564667 875436807 552706309 541080229 83539917 76291991 702612377 980118313 386807187 474120915 492573431 815672993 451102145 485229089 77633481 694184903 792956023 445249237 50375907 862344129 370626685 201045797 152475709 586434845 241462339 481506101 801908223 334816977 379225823 553610255 533975409 208734007 123936527 78791841 458958855 504920855 930550847 138316485 741330013 172595869 480438137 613590591 862845749 882099295 873899637 546424757 393291899 992810075 924231829 85188537 379453507 278058739 480782815 3561927 126912455 36566007 954836993 129649469 762168939 685602717 117730645 237545061 752030905 834680193 625866711 867451249 23679845 339107751 959709233 304445817 167678027 231456639 860214961 667145599 626167661 502191835 566655565 96324463 585878521 700316923 310685093 879588629 818294589 465748867 536743427 409294125 222371259 366768513 826647635 740120153 868707343 147906153 687637549 753611297 782121995 566642457 833647825 554192887 411660701 372376279 854056485 411426355 694641123 568534607 801380795 24828697 454062113 82967703 570019783 41732559 365490879 766498859 171994153 158864743 455710803 643915249 805089641 458651611 504435863 151259193 902160311 846938893 173975919 191571891 51684841 410151365 399844327 646161537 632377981 866250421 798815537 828271909 357554845 878779765 334123431 3427725 445211415 133273991 687667149 176452111 571253091 977120597 258418513 434205289 254979743 7213871 744981507 946499263 721647763 457522767 192494305 831543455 953822381 182165975 564547339 923705853 84619525 937160143 206818509 71325749 265387357 486406695 225735837 137143569 311113751 688380349 372312597 508837307 820045639 202978637 51957493 589073863 674390945 521064579 155738157 622064183 382677383 500590319 553846989 803897963 260759549 918844171 397375251 643130163 348030901 821858103 546132319 98922947 397856261 976984255 846041407 799356091 455788525 983064275 132796005 855259931 769069333 111509899 920802733 718798679 289569481 355765993 484445209 555212863 645511939 669870549 812469203 599778321 246543713 463551267 129261363 693642613 224099371 842283147 834883505 149369461 802559825 906896815 175327983 915699593 266915689 841368853 811071931 799097485 191151281 610773811 926272263 143734213 654384147 110550879 331262703 437799137 252384797 569166043 966892981 835432435 741028359 633568207 795958469 511553147 745533615 488199247 536362931 216789597 726548891 778436435 72030519 617396967 52370943 871173053 463809081 347195853 111408045 868714835 948818113 260516397 493114407 971831755 999716099 649363853 545514389 703290297 623929435 915799769 30484933 246881699 604411981 559527271 544127277 270876913 114928513 790183411 366115821 421667571 763932365 135147429 539241167 516452833 869668395 794218247 826074175 223905761 41603517 806827793 914764629 759897079 818606291 667393053 444307153 675216151 830993627 483111667 71287321 736401691 725419635 257937345 249136189 781455299 239029343 885451545 54270709 913148855 608941191 779897083 703344543 525768075 492975361 486831563 613711939 689077431 132246791 800285013 532826769 844103835 129242621 130514385 355646175 818917249 806878317 9831643 517769515 199141787 845765389 489922681 428408351 269949955 927349173 523576853 625937417 35243961 637239915 521792393 750820321 760171173 685012567 213706767 792673349 791519899 881606351 336055631 822958715 449111121 707826767 646144595 310208887 15056491 162760055 179872401 464783051 147129459 935490067 282080999 522533305 179094487 111372825 650208411 866716713 929644785 771318945 629544539 799930791 763268101 593204977 397861177 123616367 75010617 820668275 652484531 176659547 621567137 893439673 988102321 558781943 445356339 105516159 137179261 468876143 669706195 744753835 315869135 358368667 513878857 774563909 629654723 604317433 110718023 902069887 226146781 475165365 781864039 809145785 673351437 869376921 413873959 608597107 244293797 29176095 158587123 307470937 873709669 170500709 295338013 94523709 708101233 142344499 331257819 31261213 907887703 40878841 252182353 759903769 663367179 753307083 450423943 144107903 655232237 170020717 139179375 655006401 543993021 757454915 826612451 988291963 756860589 864139869 521456033 162730351 334557265 577111153 505354581 354285961 492538023 96557793 989225359 260130011 625350417 409462451 876415691 742530979 219945055 884777109 864645479 186215491 701381575 252264415 169664173 314304069 963793893 729636241 740080077 19952989 211794877 959746387 261522149 202100839 6124477 871271539 298011633 823558757 26386109 278105319 627243997 604512643 877219573 100662351 400526713 100272149 455106831 382374133 297482367 941722005 343285015 94142149 891712145 188562341 470385025 188528727 773654071 966562581 342879787 141318633 529909731 560100051 452474203 523665511 544545005 963549437 927747259 997027931 885158039 240295893 270080101 752588031 138816267 784095433 680676819 467092785 771524697 500731239 860287725 824904825 160567675 833481841 536154365 432283653 42745171 44408515 262868409 649851823 110066089 98223727 664450623 509650677 567018029 491133347 977754133 417028091 720330619 248057789 468773417 343597717 684477459 719943745 793214925 133896505 763199839 801777111 109635519 193522181 532740783 313964885 503760679 285137343 521103421 167856823 295414929 180055257 407432235 773058589 167521519 634845803 129447809 478030547 794899107 964292913 500718383 968954959 563487345 993897107 760429329 155191081 171205251 120861603 382350567 2653735 177786227 51447317 36416859 146712881 102489915 299082059 813283581 972808799 61469761 689740617 315879751 387993831 836154451 822753729 911154073 971889711 53254565 825540361 744697407 253469891 449596373 168385825 754768231 352416085 345699049 346396335 989973549 611651007 373484109 712611843 868110737 738839559 504074711 792539157 200616317 488279895 577345219 764186499 907246017 831269121 871572665 66065813 132895509 642274691 584235203 756331833 266009119 627595645 282084953 174933001 314850403 598164669 201432151 924242755 664422231 889052981 991875073 236182731 208847695 573823487 915778565 408372277 209788561 833384545 139467131 623287223 303402565 375302853 184754395 603261741 804254587 586304447 300392719 567628579 726024235 151938313 192499811 433451973 69455931 692096645 81248651 769037293 27325039 394530113 853880485 513933335 340225403 178777199 939765303 333555563 917412089 411082859 517434925 130967739 431560809 432235959 121111771 474083195 206785587 792449023 442168835 842846923 995403947 811425047 472009157 475490421 780964615 833350649 805248945 21497315 264819309 121854407 259986875 804297521 720359137 335533265 861730627 34728989 185005655 898775429 497256459 81764109 159274921 677185921 656996673 105966609 759742357 696878727 54080635 788086753 358671817 672672131 807249591 573235419 922465745 476116361 401887577 474138119 161433643 557172947 446235949 287415829 518330677 824683461 928458091 478875737 954606137 835420137 213634223 599868375 778755177 996952309 392712189 224439859 94704095 343833025 808062405 291889339 231529113 941560145 975505627 415793515 651184003 262575059 12388219 819008991 914603375 740647831 326680651 982477405 336466963 128244761 988796249 516941015 271694099 941312765 175360793 682630629 17566457 691283725 71869289 62980035 75048499 847983935 673001103 869974361 504749083 472646059 487124023 748039481 708668403 188730519 683007095 637370519 350932965 724344683 348013259 459011667 438397955 385118141 39703323 459838453 734178627 786111561 86462129 788413101 697898121 448409071 347541317 895317073 93712285 254113467 657012723 179683937 965349425 76746467 234523199 228946691 205871837 428528577 142624023 292783111 548579365 704282837 537339859 524529125 302012783 761436879 248395565 776309435 534119437 985090687 720289867 357030225 642391609 36051939 745077177 631677461 732693525 792964379 987051631 297793569 958269609 821003125 604168393 251561009 155741927 982842467 723363213 819206575 201242791 821003903 241070311 546905513 185982379 882605711 221088109 1137109 169934493 781207165 332708123 518869397 155243535 439167581 957732439 143060717 909198199 496405863 138931951 733059473 912913463 534483203 150808345 272206803 389589659 785111993 20596335 248590773 931307219 315827773 901510905 702858205 227039223 917645417 956023333 17019037 134519049 374770243 792595909 319570665 367110643 369965301 702508313 341952865 634848901 524564435 790633411 954579789 584155513 741652311 195816149 273688477 268133233 327057955 667337665 100121063 961459701 878129671 802776933 12929387 583625333 979023089 772072709 730507279 103811405 307903999 325626193 759867747 400562877 850953331 903816539 237930911 940063215 384190649 211755941 464754337 165839347 377369957 194248975 873883889 749626051 290442801 382140905 14411965 215342657 297334015 827335911 963146463 24320819 572409055 299925031 668783059 993157711 253082879 762610223 490809027 142075691 22190013 280241899 817673851 721060681 379021723 823229617 627176055 740167443 138150983 655841599 123957713 417084121 984855953 656436407 667849813 593126867 77777525 189462187 194815343 453618471 50685975 210148107 352745271 441226457 148699841 94459193 589964653 598481631 742940905 520739575 791823993 405077007 79096359 778895221 769737831 980355883 987772479 145096261 919472625 442527195 944347167 669815911 842285429 881972659 797404375 934357823 865869309 646610219 242081443 737608603 135768115 888922787 531550695 173371055 751172979 395216231 212760623 344941337 79127227 178742949 760160045 998941151 860963249 672415865 122999739 249987949 110545317 426941665 125970143 612306071 812969103 448245963 980557505 597730719 210779661 617184517 250943415 154084645 980263527 468948295 848664893 821013305 662100875 926790455 460757235 939654225 157889043 196689753 921873319 905196103 972569659 682185249 247902283 606884707 368964333 674459369 522054393 485494099 549195445 9831153 203611639 905198121 612580559 991905889 800156335 52218213 357421589 151052621 127590067 974354153 231391763 487198891 357112513 205443079 992587253 358850911 782781881 337587313 3706771 291737907 839218089 499431749 862090349 48653781 5384899 750606343 327337641 85207007 735545955 42511271 718007321 726978005 252808203 94393721 973926193 262871837 238322279 592799801 197604881 869507339 730398281 357448973 719864193 86142933 263403439 809897603 82167793 94819743 686100153 57207183 477133943 228297587 924166325 189047441 28517841 707625023 223873303 751624777 791767913 785940445 400722037 287198955 192663117 188830225 447962009 399491335 743670325 184045441 686135401 715731611 485777023 46182079 711306489 531996175 181776691 51535175 118070919 305837357 805392895 539539063 260437109 51348013 136023869 625319065 973577549 619169451 753942761 831864287 767489475 56506027 302180781 889989985 831813555 766203803 410809813 39053347 906466081 182744915 93324381 484080139 172754741 760384269 96038879 439239915 846983493 485448815 601115047 270664573 258700747 447938695 64550561 494562403 823518059 830312137 766611045 417318693 453311471 925649939 36215347 114740533 293114189 647385515 154103281 555380459 905907869 640462397 610861873 888985739 461052707 637230813 251133991 884075323 909762893 893063181 319932595 751745549 667593131 34451629 584163165 932471035 217068025 884204301 165028949 33864167 741350427 115391971 983111793 895848857 199847195 849935689 359444527 223954115 408565807 401275849 269884089 109013757 53375919 547145035 601747165 924256201 407153697 408737319 393634323 361710993 246813997 710889499 370324857 515927717 372458155 209755979 260230357 940670015 822537105 737115459 244018587 57736577 366884613 651172859 508875741 642514035 60762963 68182735 19518303 129622279 762376429 128800133 339273859 9057813 71442797 593267015 302807389 63410271 498532505 107074991 578494625 495835535 572704089 794466743 548414641 344443189 787549893 775814853 999847569 983089099 828231443 291112871 453955315 558363569 815106731 939508115 474374957 410772531 427649299 755354403 94672959 246470273 855170051 23877983 719884239 802197683 725637717 367375539 100465967 493112523 632267019 847513077 297423443 742650801 711210577 724839779 68190939 236755003 911137913 833843617 114537231 803200027 265718017 397779643 993207519 102302457 964076937 953293097 317528801 159255899 754846431 663051461 990046547 493444017 476239349 636181465 101425439 602769239 874901223 244697613 580048083 165422989 344825335 518955899 507541927 298819197 594091665 44101533 542240375 988290101 224105545 994614361 572884175 443299251 630985689 510122749 968944605 895100375 482193957 799024957 545098101 433127015 864286519 395287095 659532569 404887833 245563715 925818737 841218801 379622529 770536357 755552727 372967113 804555045 158398431 457934015 334032157 817840237 654800541 651404005 856181255 758027177 762269363 969466223 900375635 812513553 877265947 57629933 347371117 367442635 407117561 561356879 418764141 827665883 793843351 765602295 710141971 109703991 610194537 538288807 810428869 448193203 842665741 712756877 458278291 393875989 654860097 848448065 842075445 975796739 503610099 117278139 305895945 525856017 447782967 934132069 608036375 181265079 363902535 244329739 136282383 896868437 902785671 74111713 709610311 409678901 209741187 623611525 372572349 215346827 287744491 128525307 381888027 855007339 799112607 370927283 98468783 493314267 534663837 221228673 109514865 622784961 139332629 975978145 340297471 781907697 472993111 647305913 242011807 558244641 726542559 438911447 716125253 944689911 757883729 357783409 184130947 910837239 188627065 960833633 926144411 373016981 412515911 596687343 163624053 471737899 91283419 252274887 761959325 64122871 917986421 447414783 729433423 872317989 704897663 160656405 360799077 254161351 628830863 928061421 698611307 67385043 677150305 86376915 642614411 457133357 984968149 437865087 696475811 658567583 867975673 987634701 791113515 3761879 837397503 32263937 596820305 257967215 204081217 155278667 659992031 979093481 655796549 567425853 691784271 42760625 531252917 317683351 211909055 295275539 401231971 172434301 276903927 433288267 465370957 137324413 647293543 193290619 278884499 582280331 46247715 781440941 837409923 979623941 131349999 225533645 970230671 237300657 539600175 324230075 571904851 872911547 366633203 885596467 10937745 181767865 625646577 334542049 19471669 769379495 789667979 843403863 969915731 340322285 65177031 96989195 515512867 6914901 599819859 626703969 801785357 712658455 750172551 7508641 920773273 684208845 907486819 114997245 247775611 313778305 586589327 308368013 155998095 779198875 488215897 284641363 486829015 453749491 982467255 893333049 866648191 9442503 747376713 156714255 900765147 833931195 299043417 372657807 932213093 238251997 349744337 510426203 627372737 859024289 989387853 531928315 796408505 947070693 89735435 767143137 499634753 295293421 521032691 95671653 822966645 107252841 72460177 737704905 871298713 148349549 847163167 586674743 917879061 5216629 598452091 255685311 369664127 292755303 751799853 114133595 22940561 440259985 17521251 873234413 51698479 970863017 813153783 633305405 260710755 219023049 580253285 388389371 683428451 114376313 963968983 547173573 612365191 9161125 806360091 722507799 44196947 534629795 931217833 156646747 892602229 243890481 484532381 885696485 841939901 733233011 300754883 80735725 945254183 358116597 696470407 499099029 229326295 314570415 773717763 381650917 245533977 31856893 18019571 363106765 720274013 75390627 717893823 387609385 513229379 250111953 726915449 30875065 290589577 164280089 214190293 298994727 104910879 534322811 69225013 441692419 275999253 613087325 818031005 592634311 932832423 694526599 45398207 377764819 943286587 151962933 690721265 847670131 274550871 184624639 938311475 418136277 955463347 929417965 404771115 904471829 263470633 49249643 729668137 54779187 249075897 197034319 727703845 292141337 851242387 313562581 704227005 600273559 215848969 991182501 187009081 659551847 966832275 859580105 568444039 273710889 201187289 887330745 177610561 5652583 750019489 822357583 169639843 170794901 458234339 9394643 710280087 497321737 474983353 154626291 217943723 823224067 836005477 355184833 24885527 677411505 340687443 266680253 984422583 541721377 179739157 862111947 392313367 923570251 234240361 549779513 358331747 465054741 136836145 969231547 44179827 56352579 567036791 379215983 793155273 651006089 871425647 574356441 462018183 475370881 324585843 234828009 631588737 650151851 1876235 970600435 785723691 490915695 632562397 46365875 603354277 704718625 107284157 166311761 617596343 997827577 872421801 210462039 336164817 102517015 133908675 814259899 972725001 120771205 413242965 37145819 468168479 570020405 979720915 444131711 383229561 627881217 317263833 471558607 887104295 979407271 505808169 11543395 446175713 170071509 795676593 101868345 808904453 199406871 306139777 384083635 554556827 291833323 373244373 584700579 956401235 729292463 859237903 309938747 462319745 149071533 121865407 432807447 632915753 393316631 830438291 484291393 89667565 360397831 48526697 23568419 636135969 2518395 924113221 715722129 874940859 747210337 327385423 626664395 588378711 679598469 718016989 834918773 520925761 57591461 758781033 983806621 964280677 961476447 305141911 759577017 544133211 506794045 70839091 831809187 289233765 169130929 842620205 349296035 786083685 336563475 407842467 418280549 343743725 516598695 531448281 49149183 469872951 556028819 153189433 449775341 384509725 324680425 688502613 512880151 449797161 756648611 176466409 516543943 421373835 114615203 775399129 253493685 335841561 154019249 787135025 737107195 394357331 470577791 86603811 790589219 123272031 773132455 560027145 473986837 790025741 999507623 31874409 530226217 95962837 504761323 301859051 732151581 738807765 105941443 220135271 585996565 327301077 494306923 823514835 72195743 13780291 375538175 44180311 763618479 736744761 71914893 913839673 5999523 504888947 363997189 501564657 746545217 900583515 291780415 49263641 104552117 356609023 95963903 529500787 856420755 182989077 223710187 50876905 487087837 830707967 997434005 953108627 751051507 281350593 128124535 43407785 297606565 697738509 210762483 823504525 466514217 490772283 19782737 306776525 113850649 617825863 944022721 859650587 441454461 146254041 276495711 238758227 280774081 167296835 508586283 349034871 48925629 371814009 506236943 598549939 329947305 399318811 589102043 78809945 291898415 621299825 182721867 499821799 200310107 806866283 705256699 782353151 978682783 235313055 402684537 860880235 694088669 895870029 787309365 819606559 136821081 449904475 422890375 358407223 233102527 317319769 608761777 746991349 791012643 152879999 167969499 437522629 875947269 160827051 779123737 9873979 27196745 733884003 835652451 322204945 455183421 266617051 932568731 795092779 695537815 30638821 859782793 285356435 11037809 468403973 549979101 441679229 868484691 850949215 314624563 521450311 774862889 61297601 108653323 51042159 101136457 432052391 569133775 310424995 118981743 833025579 100490703 785127351 135518403 375049241 896361285 69709477 848793807 456261085 664491089 59117969 369611403 249953167 761065215 772162247 640620883 325506799 433399101 792012471 98501867 353090661 155599335 982132479 946054273 824344573 104108989 163004771 750854061 199241841 240552039 871708875 772167529 952507935 409450873 657414733 54882075 135626257 316950891 888818725 546889103 369114865 319072925 681924275 300670975 29249051 314204763 459629443 682869507 489831565 908156883 607295051 593860513 502078445 896264481 105042915 512542281 28167563 435132997 616851793 318755279 55083359 716623911 14197439 694868591 186631943 781821339 999874175 158116561 292081355 825226329 815929869 185918719 873424537 110476801 562529551 21492591 817820425 772961053 942164043 241669121 811205213 370870815 219730617 535741175 529302391 193882209 959652467 13897215 394745067 818285859 691834809 868704561 978087407 404458637 458618875 613181445 452325727 324060851 974216395 230279269 643091655 64559755 734023393 151687069 27476307 9041147 795665189 47786337 816069339 864614855 602202013 317582029 597660383 588880035 858934401 410281835 760845701 757868073 550862123 80592421 180365471 578944215 971824925 443962959 941697185 644039705 563411203 917861033 539588011 927990081 346621873 497732697 869777541 554773127 226016543 862794217 226888095 989665803 453781365 636272207 557030927 226440407 12342267 769073129 200040083 56330717 930616357 336872317 919858837 63908085 914871439 672874807 859245347 112425955 787161595 724341677 513620981 386324813 541579861 945501917 278495849 462690759 854408625 461401385 753104519 135388871 313286985 406902371 190994941 321486769 252447871 572882109 645792037 84424397 784934371 364113875 22968827 380739149 297389603 98737071 386756905 867118409 617312541 137640889 428983035 885610181 922848979 969553355 299045485 656563367 241263729 243769117 492317209 628641985 383792971 467581273 42709835 402855375 245761499 654583179 729314031 247415405 491140293 951924007 29479581 718977065 995299797 301216525 70293397 286252147 135337723 682112125 591084477 655840165 980786005 384929833 963396775 740168701 543660071 568799013 722849927 460467367 374643161 614583277 304336701 469306547 247066369 203433833 206112081 27268123 432359257 396027875 338065651 192472769 457431237 883830801 775843063 575692141 172024913 342378515 894563809 730850001 337452845 275814507 361203925 724607621 572719033 989101321 237665443 292200971 539582067 423423551 502058179 918803917 304531211 709851085 103905875 15271963 689081169 614596053 236047641 118179889 671272001 785394153 827707529 285435179 320462081 442143227 23555765 317979927 417683415 381431145 614029663 672498149 939049275 61703671 37762287 289292909 811953349 472895189 541489011 426497905 591625787 485339543 997786529 220880539 506490503 71637817 250396635 236915579 784488123 80987425 839871781 49916043 699580693 266633757 888442417 384286765 274811893 474925409 154912341 589252007 462394089 699613581 662050961 211338287 269917091 452246947 691712139 949938651 588270845 568277521 804672917 615723693 128293885 989939629 717821859 111963535 265046221 362134197 779816533 828363601 462741441 636031435 377675251 498659757 933017169 988600577 558084205 599990339 361666597 900323015 549072471 575923103 122306053 283524351 561847797 920786479 903392997 113302507 747259947 323534671 797566177 631280443 739900809 375515711 139218491 245804801 748135239 646693161 314434143 571647677 138888257 148993053 859703519 591691859 971232259 519051795 737182841 299724561 367224249 951925745 684103183 837665963 629116221 89282939 733983147 49681985 609633803 867094631 935043457 60979539 672329805 329994059 692012269 702778067 928267727 282054823 964697969 256593941 687501069 803031529 955154875 116901847 312006177 207460959 639123609 908324667 292373975 320066115 308015627 174282961 297616027 400254901 858244659 292003727 797282181 559651775 223024731 832864207 715643221 500257109 882646521 23071323 460806513 163579979 324854693 483134811 720693481 548907623 456135203 370046823 606567797 680119889 245492577 821844093 425422963 94612119 964303215 318383361 480904171 818839735 418464137 456677055 648056205 102457871 120090387 657884143 225600431 295108843 766520983 240654381 388875855 875416953 995001035 266555263 970173463 668372691 930703239 182986065 446085461 383246845 727297745 271662455 1790721 990484189 517858769 515501363 963697079 347447623 70859229 786649125 114967235 271943155 113947503 787259741 409747219 186262913 823985453 791091279 766142523 179174267 975265501 722233819 190034301 290713427 243174007 279600451 448057537 400074595 571283731 178199349 982252435 243006441 915853815 792483015 758402607 297056273 50904461 530419831 804145775 899664621 38319207 194631975 125951197 766832757 626848321 217513769 775452585 343945353 879950593 423820589 302350249 97356275 843646381 972811605 362555741 802149221 477792125 139913253 816527339 722191991 904706763 950145927 722708005 314844333 111489049 33552341 341455231 226094189 293290257 133589193 601998617 697796617 502702475 700497545 771868347 149594813 981594237 235295395 254537171 856542119 673380111 556991243 434227323 535417041 491667337 982215967 287674481 210013229 879443551 75002533 99222043 446611603 990000427 984265 186748295 418471621 309362101 572602145 78477169 983488621 708755169 593728681 817937973 621627165 595934153 403267273 532057307 482371915 630752933 640334923 538848273 140836187 191722455 434342501 934222127 96298133 536954605 547777975 856018741 132668971 49692059 680782147 598970315 710749237 819270327 934636921 919090749 26348213 229767499 438767403 421930631 578846357 279171965 590235801 220744259 250073253 842195363 793123431 837429691 808075425 578633013 787626145 653019871 138447397 135210459 794928063 121770053 957681087 184466013 136141213 311650349 133682655 476541873 792485505 679870333 998065629 710041583 600144919 858592455 37231867 158886747 510304883 101089085 312557923 797957985 54176023 884710341 400772389 775875477 666006499 77876705 47116093 37579953 346322471 826378945 575381127 621426073 867413399 845846079 640197329 199595609 914664787 12638679 876952011 98781985 572487901 487528883 533734413 28451151 64190755 327379873 387046425 608782951 418780539 575526425 406933849 795246353 504928931 943571255 866727197 56068131 400963517 262875079 653662623 112272791 582290267 632086581 962141951 377371027 302882927 254509467 452938313 567616349 481565527 637851317 471980139 201717357 502963415 461781227 547404609 551463771 844831007 590599503 991136907 469688557 616288449 525644693 85332211 410068235 280155069 28110109 216214793 166751179 749103223 707431921 750368327 665128041 712964797 944635325 712577037 934550085 267666115 783481561 43519655 888013293 369763881 404907843 769709637 458743315 881647343 975589799 818611709 999031953 811716743 543936079 675712213 478967661 69642949 215785013 833280693 216107985 285520103 888420343 978660717 850969871 149221007 593274589 178744759 191628709 704522959 624623061 763163187 578795059 199288087 946778745 933082221 31800967 646245961 358310917 798174675 709585043 425515943 237628515 226975937 467727217 602707937 985927457 259918199 453856871 598732297 527375477 326973725 593441759 752218783 152086081 575328455 319610989 864441991 934080779 648951405 495583177 306164749 866114817 491780079 197660123 675124713 627789051 754819607 26375083 564765239 318039929 677508505 280269933 256180093 412662179 779981321 412129405 793453991 762862661 757527789 969535581 659314443 249739483 604903595 944157113 67152229 898242687 853768599 237244005 771176155 798018299 623237865 542478683 75356923 343934399 657571777 201007037 811627451 106126561 672374825 545011161 417376373 735641121 426497043 953286691 313420017 443677669 242739801 338780211 781313115 122437181 539467195 963655629 822075979 852921313 265717729 495245277 252053945 933389103 380372063 370199415 4355599 902073647 24654763 68462805 73464343 319666831 690621481 305135707 642459913 369796265 975093537 909207955 114834305 614469755 507572165 446338609 702442629 920091561 146456623 587502355 897693311 487749511 583707743 822351671 125161545 790544907 669975869 313263307 610785309 336209617 773861787 782405155 126328993 735175717 510360373 740095675 49774563 587992562 131369385 464532531 445420119 453585107 687453057 538134871 708515803 154897669 671641903 130330909 744665269 982109041 755957259 234461085 151266449 223147171 939403609 174915867 614722949 371168213 89805631 736324869 400381199 754474471 438037455 693460203 922729233 961492061 602447365 194485129 739114205 13843561 807582909 798480837 593907235 430652385 475852231 553847717 564653061 405195333 505209037 392406881 355099141 660487099 260147311 235347025 131201299 226228755 307283241 462176251 764613249 82230213 967899239 570756873 859172111 748016879 285131641 113775181 199579105 213940313 436704923 320781253 443888517 380208753 138207209 39553937 761214191 499636305 964579441 347340543 319534205 766921397 674990883 921894273 336266995 556722439 18824663 377526705 258971777 732853845 721932881 729046101 268220347 338775637 28005175 802375511 145415325 997029993 907858715 774948553 411340175 919600277 597859191 947485673 403113051 391707787 487191981 232154647 963026743 347145891 106894853 904476129 149253059 854025433 453062319 223084537 913480193 914341845 482891975 572081211 260436319 82101737 663995727 922654889 989968819 100862985 375143979 882633839 987252283 204852437 323859251 112595169 137443995 919381397 667377947 786183289 63803871 885147449 497468037 350601689 852094335 325245783 797471997 675423951 603167319 780978991 973526003 770399055 487023531 702242983 873209791 766792815 941303339 48838479 160320675 356172665 294635755 951014237 825133001 59071187 530961511 335504051 597865537 636026643 118281093 836054999 276856837 857641971 419883155 171745529 677982965 735572309 21051461 543700717 844577757 85597769 271663291 530472503 497333099 582658557 820631669 341309433 276778299 559645391 256057703 339315463 668090573 137721153 429118945 650132695 85255307 683436289 79519649 657176709 895908037 264793055 606089935 903029725 797416629 226436311 543891701 668915787 223058299 876994829 994589707 446362599 244751139 587975371 493084523 279822961 998565787 418300549 712333535 750362191 29116863 200414681 85551503 113881491 375041103 350662277 573354773 626256113 481799411 32655225 903465065 319307465 276186943 515481541 857438453 113350691 122842027 106472869 965058437 341907887 12503191 96637821 424712525 325530819 401129807 204162265 369184491 421870175 228300545 148691305 751775077 203554857 499796425 842305037 114010919 523519857 951921575 485521859 781894919 860974127 784889731 143624379 837866305 757045761 354301489 647225669 662744187 798077741 688591209 694142687 493586629 665204647 810910923 950176041 933164175 415971329 750067425 504408817 673012667 640099967 432558111 614693159 413179531 662873603 393478617 137374187 817509549 561285409 224502613 981254525 681998391 297728269 762182329 125584201 312218791 786845865 745546265 962095841 403702241 163374459 54864493 927045891 75953457 793914545 735077525 33296527 234381903 711775779 60800603 622004115 483540567 318517585 335713649 176833089 211572431 718647393 86218865 627100659 1437857 678407461 623538137 102146095 528800039 278112785 144400663 818055583 899211547 681321797 788267383 518567703 749736867 881824137 586076471 895028369 118752589 905995597 46245493 592872495 861320463 868460967 479044155 631308095 354757443 167541589 759030651 216031539 124466865 282137025 776762383 54272679 528654213 796282361 610626485 34987101 292379733 169207733 781016345 588594241 75263773 927076947 965070541 70936167 944387653 967281627 64938055 619107337 996305815 223904763 467779307 910066315 603840843 299113229 358465793 661561463 48825085 424769293 320535227 551216257 91876529 233471653 622777139 688165509 717136343 864449569 725019495 112775815 290815041 751678077 114379075 643039151 245634351 236294227 439395479 503498579 564138565 907922159 69429791 23203821 874949265 155864381 794527353 164562465 867883911 650472149 855939375 696146361 365636101 929212663 388300211 30429353 514203473 66923401 272089181 785286159 575839255 339889179 259880815 71559977 699366253 835943653 494178323 853392997 608625103 205149639 5168473 961888343 594808867 939995461 478430013 392493755 37763257 228020625 351202715 137357681 434433601 555286911 929951041 896391557 267607773 223534995 698979039 439846957 302134543 336999153 558724109 160697281 86629573 945955433 689921615 336517319 154290261 559900019 433427465 867113191 290031485 698078507 652615571 335459831 67752545 970879325 238552609 144183027 319881359 85004663 365523669 403718907 235668475 258143117 735782331 439997021 386891265 207058273 378254531 961444233 548373099 104532315 483371717 444791839 376878691 411996553 27971715 635523039 659153277 887596705 584275367 786136499 65753275 903316741 188302785 67160243 508038013 813669817 839649099 657647381 205149331 83441007 851722919 656921407 517077809 840262013 576601883 275992765 171253749 898462435 543422429 156092225 634775013 453302599 681356547 471735207 363260783 911713787 502125199 748635377 731264869 273608947 948801387 305408843 346502149 447806927 71196775 299038983 581810679 38819543 752034109 826174371 139691845 801990139 935486349 630959295 910974055 764874191 677700579 591374633 961908537 519946391 730892973 338995155 933319167 754133303 682387783 824562905 631772265 763617343 971325681 109612669 987416201 463327461 439623637 301531691 92331999 644659211 564512771 241040759 362478159 340395319 1403509 72997659 187492647 963581847 938419723 504736761 379575835 731117317 296364177 578113567 218075721 257801981 529787829 883361729 935218999 73944489 246862355 815682615 74617297 499371221 613675051 305001733 868198253 597521661 280839013 661529815 485809863 605044795 177660181 184847489 828329735 896310619 326774643 435734013 646460087 317246663 912095391 703036271 548842701 9414557 946225061 598179873 454994345 298373269 849773427 994744711 510814221 529341213 268001765 112425021 58550313 182535231 832537273 387331847 526238863 862886325 764450973 283688397 167120703 207258845 641233949 714777765 209174685 705344447 573409975 373309641 803423349 710092299 103345609 542956445 262580991 675311639 389643167 551650221 849309655 567542241 994849383 776716201 68808451 803233299 747178813 835924847 860804077 148184827 463366431 532984067 630974063 525189521 184004603 852093837 816860099 818749553 889805725 801194597 975367569 497257191 443704515 718729729 178409187 426514911 715492875 944502023 904228143 505551091 739428095 302054211 17417043 77337439 560280337 824100005 966791317 741557517 495096987 257199693 881734051 522610569 350198235 906155897 194507663 651234573 252364287 661501593 499592919 535428473 772342291 770045501 231760995 229477713 218834453 556532771 411305597 494271687 897300451 715158059 690636253 411979441 430131783 581076323 549434015 603929487 716379635 617371901 279724359 79005319 888084095 787577171 234389445 411279979 694070639 116660459 46770283 941050543 903681321 319574383 880882425 352928883 709635071 168199345 438258067 838438271 438229293 105032111 135237063 772407617 672908753 691633545 227065225 17046995 194128373 509418637 518183993 387065587 56352139 349100845 840448919 23694597 719902059 562956549 771263189 380260381 786521687 182419927 83494791 70802161 579504123 790783119 107443883 784968159 633676771 541066815 653134755 304220653 563980939 204793125 465213247 304642511 839520341 746037667 38075061 187131095 90146441 557855043 683556001 597182471 99111001 675075001 498690567 986797319 286765533 53409249 685026133 281429795 611069207 939062973 609707875 23649367 154262769 613264505 163991657 637478461 52143677 439529833 44484369 253035295 717555377 980954375 738949479 69534957 90143217 555834615 363878367 969899581 218139267 868023811 40652375 650650959 877685469 852279583 721375509 333255433 900501589 400406631 620517315 396136957 614985263 392282655 917317755 574249821 659796111 77402031 535247031 794787855 262270349 636866221 283283039 692255125 65803805 509448659 566211261 345032479 446983457 69174277 929228679 995966599 700502629 884756813 754788315 703115081 623144857 270989793 471695679 903187855 82022229 563902745 840424609 640351527 510845979 875262073 819638099 769361545 268963157 445696175 311500819 253186001 302627411 866318987 674007561 532441547 638127439 131636233 880284097 157023971 557145193 216720205 212215853 565999155 205025453 166503331 610223535 771929719 350881035 409866875 719046923 133507863 334806363 210332787 744327787 327497509 549636959 284427855 139484777 99921493 23182783 460957689 221522687 449725447 426431247 727371651 808910483 522448453 880307399 81361961 967117043 282026171 788260425 365817169 463551571 354871745 947195867 758224257 993363537 748906325 924471731 970923377 777248499 968307233 290170599 50728185 313664421 404616821 18916985 755395103 181322301 764389701 615087697 434510349 948119031 343989041 964718147 691790357 207232123 860939137 893785351 516052661 187180243 730112803 309055805 873538189 172071543 606339505 123660913 100344683 653915201 663455847 654013457 273923393 447830395 900020527 127925369 657299755 434953421 953993111 90794985 116866667 631551313 630832597 975358857 226827117 969122687 715877835 290172525 953546947 760367681 461989887 669806221 956992555 632819683 754513567 306724809 40408453 426921753 397001347 371912427 182615007 545608193 894517291 689597095 259680363 664651553 79879359 903640209 172454277 711411813 758927627 317081135 338507183 540136481 349636747 324739559 973869205 705132053 859288665 9026061 492100619 91794023 877256255 315761113 548491531 863052449 125435309 430245483 361840825 951907001 903275705 976563149 133376351 857597967 285732131 247852019 896507761 888471653 670613329 829481905 883131019 755164905 347095891 936418253 665155183 71150897 562626017 833172461 669707275 510243899 370420569 434367397 472204397 930821483 61132995 1894251 109183445 958049165 159861965 64992163 313153701 147989977 883509457 197365143 352333417 688255723 805714891 796313717 932232401 822984647 655292773 280018007 923793083 481231069 56767213 532464449 984244009 823054079 281235547 538649 410492489 99077743 359084363 960923057 739227755 212198349 360085001 928210885 531899659 695008041 163194497 386188787 742599117 627196151 684631371 726770373 240525179 703895317 803045543 351383213 372060427 345985481 910744445 453881603 608517269 600689343 16896601 48450827 399318111 950137869 682550901 295593707 527848401 87392047 678087857 74074805 607940227 572492301 483015313 967798117 582795563 374566385 94174535 894730201 653367983 156584083 916180649 937496027 344260891 972231439 527609397 190251805 48596127 988294889 405371415 769439287 172262043 491661071 865656345 826190763 447710863 324023513 706515123 146842339 914182437 559813889 85456393 248297777 276493621 617513645 198022363 987445963 502181557 883082857 200569247 909939669 488164299 239464749 15881577 438613847 323086787 941680981 465155319 441434177 290740239 74921383 824226739 186918513 96932171 202846287 282185897 290138019 464952887 232991715 794728341 731217539 254606531 319583 52589523 235463073 747760385 927290921 581165929 59814519 774410793 950202639 567490569 435002471 641850275 601992007 382826507 864848313 173287927 635797611 958051691 794567839 334927833 482384003 437221073 293426225 329876773 77471485 830765709 939081585 952192989 744437163 5286807 585015881 202505517 428810701 306420879 761431177 171013223 377721093 895218873 301687019 269555721 854413925 843458311 509905423 624278197 753293663 14465807 762278273 28923445 681662161 140942351 470885553 282349693 270392831 140286963 714567159 578940585 404000153 435327557 36229013 228042235 74586289 303240509 114178741 342097631 333720009 418541757 955947111 913006569 782794177 108680523 149401765 669507795 217208041 356678423 18743631 874547073 861039093 28767989 587630385 373277949 645022467 960404841 695906041 769625211 290315929 27112853 391382083 524936791 900262563 654782029 843147919 780044565 220311927 64409349 13307975 154007645 686845139 87925983 198976955 363948549 795014873 283122593 125689893 612666631 926781723 922446521 749199013 543007879 724648329 451840063 374060359 168621775 387408773 431180787 386370553 297812565 384818897 451395643 389981079 63358641 366291613 95151401 929909985 145479081 358977147 395079537 815111041 975702053 255893867 118143347 750673157 723271995 121611473 523356215 595700715 961258789 148217723 708141677 802719379 46085193 246819485 930232683 950366787 790151725 841465045 546492977 924545071 753338505 248503593 74917477 780466801 247492149 276019205 405611863 576851209 19696695 219927613 358309117 833073887 729953463 801312275 799500537 226809543 707964941 320403495 924586385 292480121 652565935 243287177 812559029 752525717 647324995 769488815 687266553 295235751 406148501 730815347 422458529 815918109 794248087 16524829 821344399 263685969 951356259 810938715 200107863 59727751 660579647 675367743 982087725 417445093 684318357 267087689 650033139 950348671 598663927 318509403 861229103 393570381 867714851 958374087 939871247 544309807 802221049 95241535 367005035 339476719 517802375 701233633 99952067 451452479 663708159 813692465 945391421 172782265 741400253 302058271 605052329 265371357 215911235 321848319 395263871 629435923 48821309 6815629 784708831 986685357 797354109 220264687 766247053 868744679 954320897 789607091 179031291 25143007 641621227 991977932 370519871 728207263 333345413 522878109 828836887 357343001 726000195 577184227 95075053 899877671 280008897 224399315 790189263 910567815 55532737 999727357 336148341 576770277 165699119 396618591 115573821 312332243 143709983 550544225 518495535 512305095 652517577 269312717 656645625 441020965 243363989 294777307 757103349 532710709 387442955 71717927 969244191 466749737 919047393 200720309 862359071 124808987 686831087 806768627 915196231 597016585 332809273 625054905 258315403 887814623 598490859 930432833 294940301 733558895 152221017 226599217 371801235 644530287 140229629 476639639 448931723 660260995 17155963 11661799 624835853 854727219 802621341 279595775 16369241 528336625 959907929 710989349 303674197 244821781 544270023 687606789 802139537 489363681 654549547 269729715 450229061 777767807 780049139 732623793 691361873 794755073 939555247 952009951 124162361 772184669 528562715 169481613 162288685 367660663 536904219 303718001 138327559 97232663 22251195 598909861 811512645 408130797 629483307 690220977 861465357 462601621 504958409 196035203 850176047 732024977 699711257 134089325 119956001 202216519 310738117 992810287 644357637 274953993 260727455 595575533 325225377 20605969 964316067 803695923 335773285 148077185 664384245 252210681 620962917 796800607 940307681 811083931 76357987 30756257 86465497 602354911 606313415 836028701 350588279 55018991 440422815 824720277 635023745 435147109 493703585 663002803 550092513 738802235 930906157 757545479 158064809 596429783 645555277 994284555 870187799 442629895 172300973 93664033 1632907 578382081 152375973 847066769 502686355 889264223 774643509 848224651 592236769 287028777 54815747 823588907 809381455 563885259 589449311 641281649 601138659 519887643 382900801 493446983 662843847 102718807 179837769 857439101 54614607 673430563 994621371 677143245 54200051 299109259 380426119 303540951 385517915 259935239 639606599 931301415 18957903 229792625 656715577 581986093 964634819 693687315 874225731 88869183 321458385 570846101 42610421 784099235 545230529 954461201 302937221 541585537 28584953 322884353 228987349 249044457 585104397 430345803 749362283 406708437 569077691 383755069 576818037 83090469 370256869 281846667 826766541 813038501 315341973 903880787 550672367 523013891 43417599 27882267 790711557 942301915 790031231 967053519 700355035 863251885 931318423 146073285 816960235 587061473 820491251 158802361 187648085 135680971 489279591 905574609 483194589 341461667 234751469 667920029 346186997 953996681 69674665 821696013 424322483 310380937 812365797 328387459 937043415 31608721 463715607 293461953 983346377 36319101 796002007 108351733 860414869 351396619 312544233 453267383 596487157 566095081 136587323 674905599 634943303 505629093 182541275 65516087 574517139 835687607 854462475 360216619 664848521 11435397 881969193 721193487 899729021 727334995 750140609 138440577 729564531 909785941 151622793 990529157 200587791 298502565 696843609 647094923 992688289 123221569 808285493 837940583 657635871 533119767 943344459 565151829 633191211 630778867 558905579 185584379 435276043 456709011 200670353 380990055 281223853 577387157 412421857 351822351 765492651 147802755 526342567 827201229 487745 870066383 837326549 225589737 466691927 25640403 484472197 427229711 163423615 648098255 728886013 493258325 497939437 171063275 560660389 275424057 684917379 786973497 472150549 64292255 518371269 670384053 417939459 737375187 767615461 564739901 246365013 56240269 961864633 675884187 310466327 460592103 381416897 546887297 50254971 781299307 338898211 427012743 641881565 535145987 779976881 380678705 384155581 959962371 453431773 90746341 695835083 400428843 596476365 118421495 218201049 412065951 37627459 308457885 840141023 710333677 871468719 911568891 192466949 292319753 322648875 939864857 53080979 14562641 227921779 386621673 465275389 85906571 80261105 697359939 501459165 352653027 703458483 776691179 224845305 350245359 267503217 361364871 864398395 733793963 216031113 968175785 737877687 878547071 345214721 582784971 935072167 107968565 749141901 556262223 196404589 966982917 909693055 283428989 548425623 110018441 410238169 569498247 492914135 372490953 399202883 863554437 102858505 81160499 904887305 278609787 492366383 544511897 726384165 500126541 349657975 326316603 464993335 105296851 207735599 668591037 741997699 514404033 17991383 890978349 83959035 380394939 92742673 439536639 627552309 369950537 644622759 961996561 139231857 477504987 278754447 490512295 242406037 383351501 619367137 493043057 196123441 473042785 450643681 289610883 967678333 91336637 330953211 275738713 728314967 674505203 220837827 909106393 493092679 456354557 950090995 319292241 212413309 725587387 821105263 543083383 358797519 282440697 746465345 263450725 316907195 337911143 383147167 872241571 554567019 585008285 226942177 664042013 129156269 968835613 116287629 820725033 265589495 488598865 300582987 354728837 165213803 660453257 123297009 138523733 590014927 132887295 79216249 745343013 690561937 214637013 654397703 532391405 838113993 389048593 884924903 643908105 9545273 53034409 101183115 485903165 60125507 24675187 790013325 147633081 484790523 62166065 880312241 759533071 622990613 440813707 116744421 931437631 368825073 540904213 330616121 371136175 975343769 492780359 208585195 62313767 160794551 887550083 408952923 410816995 527287463 182686479 471223063 915118203 671682919 218564385 240932559 370951927 582826653 706094543 292101475 866208963 500659355 714063387 806266067 550204853 761507923 667849709 307756105 576391433 627838059 550046489 804048157 87011943 45434917 829002839 300399045 495285465 929391217 486078535 19554025 160823255 390773993 364676213 714027601 706566203 308601545 357369935 653412847 473723725 419510267 989649969 319776995 305648059 192978957 767161435 554449005 464242839 886546741 944808949 854749433 14061153 934722901 490453523 439239451 865181181 314389747 960755885 680783499 360133049 931819581 758457763 830921009 171205705 578766347 166742465 136415253 304069067 748507869 538920373 432943723 300204227 588257755 748800283 182629007 284754721 503221201 242904945 839711491 837294393 347763257 255582501 568194419 869573831 498651699 77738627 641118129 845991409 177089923 204280521 834664635 516022855 120147867 390230293 894335411 464598457 874038929 105046899 750821091 494396839 686643749 416922577 895456959 191870935 711662781 641879817 40497891 622270839 188714601 246766047 34209555 685016089 231133665 170576889 97774647 898679485 534692227 961622763 143691109 763196613 424310871 764006699 962648791 754294531 669701387 284882717 794834673 228366505 694701305 700196363 666379581 982640211 357256477 35874595 238006127 860970251 165562145 288733311 80684131 396834619 690918995 738780707 706544413 506957751 713914537 979181301 90767301 806765247 534482373 31425481 813003441 804327671 992818669 434000981 763848027 247945837 755452687 441329725 872521575 870042517 211430851 791972873 795681697 939470927 77264969 755998251 519201529 151740125 333207945 959494141 144737167 800773869 936535567 85052093 673746849 146448021 123129621 926788759 291409055 748182353 25297787 356679581 529312793 747335433 493421253 839372485 562493643 214125319 438990885 83920627 356157337 447915779 989249905 168963567 58963087 834599959 7720999 697041771 298519007 390680013 692508275 693979647 728807651 770966285 142516767 679431213 441000737 411596591 671356835 967323999 88253251 4554993 793411873 292551911 678512155 135510391 460621663 416118523 632494501 772444495 115299533 91581375 407614471 448958317 654641791 65285179 443687049 167807023 778815801 186869601 724301469 715732571 311558751 361370889 37339363 536234013 90506495 266949365 942978075 716146697 955406549 80717775 865707569 453981217 390991675 80920615 483533623 228231365 799328829 724833143 71878763 595420101 627796871 987115809 472728365 635504471 779574641 147827053 187644427 151768341 750897659 74484877 294810039 303923975 743963597 915175321 624921101 513313433 21340979 262999955 764529423 200920995 652944679 756074597 940368361 860364637 269966921 593932255 738905071 865235825 714823645 468829371 499141017 930705131 298135765 78024603 477267855 286582077 836940487 793942533 458597273 610904905 969090801 557671279 926911915 404959315 845828925 616825391 429777633 796122887 948652859 798372999 801565821 772689017 82717 467927969 421152493 961788713 139182791 238465165 78889151 63655419 710240447 598739781 658323891 727873853 909576501 812457385 907539371 623363493 773042429 988313733 687121841 394850125 923869339 356197513 206762747 546887357 622882097 800122701 694906849 534100449 2601363 487666259 690857191 228625679 227678517 428768259 927485881 200927235 777694521 387262641 22689323 609026277 666276197 719615893 112352567 741993279 126651175 913119183 505913857 669670153 375224471 450899819 626191573 989862303 757847925 500295255 217135139 839056069 522920487 363309423 482164105 598328233 994760895 94380403 671871691 992679907 631873521 547665933 709757651 441629805 892363805 552756429 494760627 985836717 808545867 865916459 500428455 731823471 969055019 721172109 261939987 979922413 165820435 735646519 653894019 519214271 903726083 482775391 389198759 628781291 346195617 685030169 513833567 40323297 132752701 148699755 695999657 141504373 375269837 741720637 954430645 770747619 721158131 831137629 987507411 381615571 867744757 340647817 910789247 71983183 270474691 121033823 326904159 735865549 75295217 465113707 974606393 836086573 661093057 68594203 299722757 173429169 987091227 734689483 886782685 618343943 882494349 925011385 300443395 709670471 561367373 533708051 787891169 74900969 31452477 293438693 562187535 628643031 634813153 947732013 878667587 529921629 2736491 144601545 238152549 786943535 858963635 749759363 370054525 264522089 847309877 775694607 203168703 617659285 775661081 120081153 192431493 488502173 864825903 687897055 184746069 496564949 696203503 144495887 721377497 470516221 840820345 50552293 392436709 855213115 174438289 920638103 968159091 880209433 395984553 865924425 198527397 988384397 731855061 725065987 430614473 269316085 251684569 185903287 157618001 576903447 676686873 827731519 371612377 668692511 807250341 247536473 874686243 401730979 709450549 520957107 311928859 482578337 698871335 614187225 445485525 738881147 59644547 458136391 790381963 601057283 301992951 634526047 253374625 708878953 441644251 60315499 557655969 601011023 247190321 975655319 748784447 991091897 72294811 59646211 76786007 367840785 120872557 490122411 900791787 220601649 907461275 887540347 429570089 683775825 695477959 203246661 704222047 906441755 771189813 400757951 146040847 698602139 823825367 760081549 42422997 438913605 85510469 331796791 722401155 314361847 325093819 924392495 374722567 190500087 784156961 953452493 713682815 664966129 831051527 110120531 321529135 930751995 876874661 214374635 657938303 143500689 312346843 232200871 947824901 889815451 96961837 634881405 792301947 962347107 229030603 928621905 112359109 719677599 452428431 456265451 710514671 360785519 344809719 469832443 999966251 871217237 460218153 269402911 403729363 544968769 115175413 802034387 931943275 886534789 854639313 839367811 651845793 976615135 894650591 739207807 866259269 745059703 800734693 242522625 476902997 59695065 259615057 183684651 670831857 81008121 101237053 273259269 790584165 910212405 80579429 542523007 100699687 775915857 10862643 62315893 679776465 736472957 374018995 432856743 594927395 338541389 480988833 746166207 217332237 523091389 337792855 844359757 570662559 724719667 658814177 234146507 573360919 33635197 476391915 722457499 570302421 171254991 953327565 985470469 767678055 102316745 851264903 381433657 947340415 834126445 486159551 895249235 273794297 322486313 527272133 51840083 752361687 343814355 694009745 865678627 878335555 346007721 92622531 858116755 115780501 401533517 680452255 687293533 307001413 274646993 957930773 649745443 59036149 332474789 677110975 683821675 82979699 807672235 286060507 661970859 612087729 632124453 150165839 653033273 893940939 953044163 497975211 824951895 435808515 537480087 267483685 304946989 259242949 90613793 881437599 488268751 270675109 969881669 215907743 140741429 557985371 799353681 103173971 753026111 296760271 332280569 993270421 98487481 136705289 221088861 803656417 197977681 469651517 329921277 857728095 399218595 213214919 278125003 615614177 34369327 706235947 464189979 347842267 467563101 68539665 435012267 751401071 617869441 633220687 16666269 644165729 343267283 679398367 441459329 443978019 765011059 736528867 79741261 291550155 472545645 357611947 448924507 579795225 868791727 405758117 295070069 739808373 863009557 316024175 942149059 840233707 452238687 676763341 526609629 433088053 823384885 782971559 217696961 563361201 156359979 920218387 55969235 842861927 466702007 759431499 612770271 435679495 690359103 318031539 225563933 311696613 752302855 136938453 506461993 175291141 136237635 758070631 187475465 301888011 470055949 847394113 852974889 929310791 531202405 290147689 670573149 966988975 948500019 942730503 35408615 793095653 902743115 479019889 578329703 205614383 574519907 178261283 762605037 898734971 867280159 401116349 489016045 361345123 781520393 526124555 713301063 353843491 258233487 503606531 264474429 696215459 832399115 308018877 579550845 556426613 7116737 583775871 210942749 559358669 435647447 832604339 185665945 511537549 38206559 101299179 735145177 750084153 87064917 522542565 247269673 931916547 904384151 749990529 996898107 239207617 443538159 201765069 80599857 210499571 905199375 570559481 785333135 891625407 881692305 515006053 438917183 182553845 989275379 106174609 186263451 431395085 563279521 737998377 431552861 635248935 720824301 583765247 109551019 700253447 658080269 430611473 783442451 871583773 892915237 43740287 982254729 331217027 493636669 54875287 847172203 857800693 865069639 604488395 124408191 565847261 84999451 125886135 674824433 443201353 474523517 621306909 488008791 315386353 516632851 528443881 315151021 304661811 875540847 999313709 798836571 158194709 660135691 947169831 323674411 885192009 202895433 583020857 102259027 203215399 449876593 23290349 485902451 436753323 849846453 282264567 308198285 706477951 977805101 410006579 36141329 427641583 757168605 306048931 452344273 777419765 676851115 549981299 441733645 230067761 891651945 661779703 377244265 620071399 312441553 499268265 991254769 351792905 835176837 709310763 346918941 359335469 589379597 661616973 551379401 321494419 10467033 716397053 697351739 380660769 966735175 912359257 431815967 50992231 101875347 614154659 418752137 230679453 660061417 101102153 573277691 264791201 411550809 445291225 137166677 668995323 735122397 931303445 926472679 205145563 769243223 902353625 496779621 781349143 16024461 284282167 444064495 169426477 902138165 430329693 355012103 587342663 564318693 555474089 612950427 228002355 764599327 673802911 805050113 347646311 410677581 5445095 343811319 251622661 766999231 27419991 671119007 256931283 236699311 708184811 961160331 573652031 3725631 689930947 2390957 329436001 627489141 564723755 159396963 307877369 700955207 801930393 376887153 978751343 122067851 811840677 535188231 908258513 865552131 420922133 842872759 789859797 376043865 15435219 931697537 879527899 189989661 639688433 595304137 426731 619647945 423661995 834968925 923398325 592667325 783580517 62070641 961844623 493596229 110480043 542480549 302754681 167998607 257821231 519029497 548733721 34226359 66124235 122129375 320498879 979868605 197694853 774432555 774998883 312302473 286451335 855434779 886806947 596704239 442388003 359656017 13287111 777642919 222524631 167272671 428729791 150331731 719896387 40757 953666593 392201337 349816117 365913653 356368683 716209805 539123871 471553313 398534855 362395625 269955229 698245799 354620035 560455373 966335599 858248671 273948821 428911201 91114629 325366083 537863903 210567609 134380913 451998137 710012391 948663501 277916397 898503053 204783067 713623421 145103067 734942583 588940691 158299797 16435273 94844819 105044879 445015747 64495721 303533159 182889719 387858339 411711895 220488671 529367703 918522547 75414101 553857617 206980585 293039713 572741199 880698745 828491277 856574715 205288793 479221629 28336839 246847929 4426861 78283755 58888073 968498111 837182125 989267129 836806761 359733015 919500905 54293825 506578215 837190575 626141711 356781387 863751721 505564769 551249213 132432387 293003135 377072113 956001205 889405697 874026465 755941381 848607843 780377405 20766637 50761265 17737307 409720353 245603307 22278381 454952407 807208567 811703625 843023513 430637883 985940855 715772193 847252607 186101265 426528701 239830639 892008913 852266511 241517647 150359261 889160871 960956429 276194711 309793721 161051397 986520847 275458159 207211769 606065105 305137475 388819217 98734143 347871199 99596025 974256163 658682833 551616229 24306605 926447539 139884957 422252679 997545219 37695541 828273211 658297677 10183109 665420679 830181355 363840425 514109161 49833455 582576533 382849269 319266951 555548441 202645445 350771311 987938533 414324507 914581941 865441347 680076651 500509555 85155397 590495363 845396399 49986563 890867449 152627749 876207213 587736093 516392707 861859341 512880261 726022001 505908281 749053443 26683907 684853537 580044825 275242425 256868125 32561839 847443149 435777479 802626861 97351435 629598245 861550769 433288627 171107207 199939219 594311645 738507615 312659171 383599163 705080989 529286401 31203907 2943459 650648363 105153687 305732149 363809787 982436777 105955905 598106541 375012759 176626463 491619149 984755465 255016827 964522111 868459309 140579597 884490505 346724769 899952763 347586537 243716949 828288583 847346685 674059313 686649365 285156123 854582173 788963809 747504293 322859181 525855087 183236961 858211089 154458233 106174635 534030459 624636165 75566555 606205625 426237797 549206745 750650145 243136545 676476863 832397965 748572283 331015575 312699787 854603465 495851265 621204725 49909815 313094105 914720181 907702849 377552793 850929847 508542081 846314661 155918575 233292291 973869365 352326005 940887517 544207105 13265035 15103275 189962607 773013155 306197797 202559081 636270365 506506367 329051787 842439423 961648067 497989075 682110509 735931611 167604389 711754377 720164967 775249179 481508467 839521839 77928825 976988929 219675713 20971773 678940301 688983289 563051147 46800593 69750451 610983831 805839415 859466803 991481829 596844181 901886355 567899987 797113861 880772055 134990675 952259333 65617881 598105703 665264021 517244363 89734679 868058489 731040991 903391949 746228309 457717097 854652189 565697241 925804053 771910843 867195045 393250149 637308863 720824599 471669557 337614227 77564327 471559251 903642865 263691049 947311877 499754345 231486821 472738197 744763131 753189757 939538057 25868527 957045647 943232729 326452151 888278775 304073911 142724083 277498553 962376211 664153927 957078115 660117687 278550613 124827141 413994989 801738569 711071345 567539865 723085695 413624173 937045191 822274195 241866793 49829511 873102431 755354733 610327591 531201381 308324841 191301767 194465245 845989691 903405243 931727403 319050967 61169319 754754003 859193997 416223943 967913135 896718045 331072449 74679943 448679359 513952035 976562637 511698717 124566189 329972381 571243417 588236465 110695349 228666605 879601139 410885529 28498813 62924377 66531481 347626833 898048021 933686481 460998953 363242361 415507437 324019945 25900591 126940383 290218727 19721955 189584409 783023733 361731397 673060263 815002179 139276373 154332853 349670851 642562027 369937605 696091469 856217197 463339327 600979247 263481483 400024199 138824779 779205413 858503251 492863381 362358285 720607589 924145 279779017 423685475 656673999 216907037 154278907 41278489 908517745 116566259 806712487 950093277 508879741 503845625 774235893 39676233 928164431 168359449 961226421 304764641 461173097 666154925 284498527 734930955 942542199 879894639 822651923 156475931 264999243 641768325 517668501 310831431 320938723 782263165 607358549 218594739 161577055 459979085 492459117 792615527 226237711 700531535 94665115 597422679 566831713 876848715 764089669 655315287 80614641 351012973 864076923 488930091 365579655 864830027 394187509 61461119 665290249 145389025 540892177 510029279 229401227 148277655 584402389 583592137 589433931 997897527 502404597 930002075 531066539 217857273 714365635 675847071 237595189 906464377 669535299 552169991 849608605 98104763 694405911 395131627 90423487 283328047 499596179 863175501 382837663 735849383 87105707 733778199 766752101 670116195 404877569 369741851 815173991 645079303 981650905 892124431 589839391 668318113 25537061 19379351 713221169 103753893 386594173 484501051 873087335 860817649 738137883 195526509 136775095 511027659 529912045 247713413 808834617 691885023 668294781 863906759 382809649 222716483 685245957 646885465 511031821 219335539 968178531 711640397 524258909 262237781 606808353 442168989 486147805 776430905 55127401 942907435 559244657 38960847 913446167 717515455 200420643 646138169 518777001 394069771 635862313 704407801 626621765 641459367 485293019 429483517 984129467 634173717 464647615 345406107 546942337 530937023 386231421 782825617 461116857 72241653 621833197 611845123 257907241 33185777 285372677 251511423 167355455 211842005 162266859 771691511 28962837 176616873 333112811 829900749 197990247 996905821 90219639 151892421 914591903 526584783 812986409 290659083 747915721 579073467 699902663 885518643 505296289 730879179 866053947 662020415 8987777 818779285 947069079 22305423 176732533 500717453 464605463 895032307 949194537 990712341 693575969 407085727 754489589 65030009 405722685 238952241 979445721 919382761 60710429 51886767 96980347 31999101 708389793 450623879 354322731 392709175 310151625 2144395 224024289 706806527 944222913 210695673 773192251 316114857 416606939 477920377 582898051 425987565 993075093 95257621 309621923 288467309 94245521 942001989 441480759 521591471 230280343 517584357 371185789 620032041 651849889 286721593 43685467 185448241 736746179 411563505 50806881 985382153 241400645 117975327 407813061 782589913 757154705 274043715 891061097 535614901 514740027 164710465 809020627 719856533 251778813 354168167 660936497 595838043 480212923 37269097 197256285 782724045 131699071 173112421 262875603 324987295 695859325 311643361 438746043 729173099 152820753 923945673 868263911 950742193 791828413 25687923 584182987 267180507 580895789 715113883 278337161 82243895 586892341 38211689 970363877 320369411 333939663 460322919 251057489 515788127 241846559 402735243 160127971 285396817 426461551 803448629 534508635 175313357 757201971 927200039 116741151 253129901 263116809 938842257 608920641 951246769 224466351 112705029 657631349 754008449 211548435 197675395 266500635 463903921 719667785 340057965 692959547 677295801 824819339 756349333 664529285 722338041 561728829 498104365 991433549 558852027 16672491 822106323 905584279 609318705 986137669 114891661 896971783 349298805 760090923 840774597 566104557 846661255 535647131 257583445 780986687 870498127 361110213 502662519 436264607 807878305 746892281 784951251 163190611 470765875 541479859 91884403 904422985 630179241 194536087 449792973 836113691 667102605 958235761 66599871 729707781 823195725 325103409 531158159 451668463 184208451 763794423 2020585 353354603 399205299 729922051 417526757 335567789 359321027 40025023 326987771 445045399 920176007 305632193 679228949 74058413 724908789 342722501 591508605 895466529 773839857 981809067 800855531 479995849 812335939 604790401 152547451 146266661 661040029 271889785 732007089 931064923 914454169 734860013 882905213 682317627 83253173 534282595 770032177 67998269 926439773 813204613 464419725 20126335 903446499 923576869 915914421 747068361 975718013 880899905 817682231 862419851 56957519 284144891 936435463 681272795 517089121 377732507 332468101 254969975 694664101 143261081 568472689 358275529 657237493 766540431 966934269 774881247 897159439 205772863 593864381 68240241 463066271 451052437 583307951 576132827 84656693 377555877 543401013 946829609 336488013 228973223 38235679 204993799 32028995 466728707 656833955 40350671 63733861 17717825 530197341 827333245 486292707 301536789 919837777 377885881 37551831 57503579 481145581 179346901 945775679 257761557 850893833 4937669 864466951 805545839 114887133 639349803 782748927 8105149 172693267 963776843 755170529 4113017 548086711 247126807 59304783 28139591 890396733 438894117 343139537 306481905 520258691 349550261 596073945 927693163 819732685 389620653 769744831 405715921 351443659 121072541 33243077 351907431 285216401 474351549 119366165 82207893 255173019 693267691 238443199 407596529 962181585 348316847 427499197 964630325 358846589 90815545 815496945 329016133 177091925 640314207 659921699 407833643 555895 686663583 556451587 886081053 689800809 45649699 182728493 677337715 132946201 90574777 201207329 239564465 565687513 547239895 191128905 16913797 799039591 614063007 559639029 378078143 148400363 603685847 408058975 813003099 550663409 985452269 915191465 750988413 812550507 819191801 671483355 278826097 152571067 855188923 629278949 328821415 564326309 626502555 791265699 995094975 995444819 34503333 195968981 60800119 995177311 516695189 866692133 85485247 795314371 426653381 82371363 36381863 829845221 771240255 881818185 283325805 539712403 441977779 476795639 71630449 79472385 610107511 84809593 441903679 555275981 633945995 998337021 360453005 156080893 886062485 951960479 845311029 572411133 53084389 164591967 657589303 392782499 722535027 468154151 872416451 60281131 87866077 506357445 262482219 296773693 110376299 712820471 882845671 911519971 751961869 765925981 677619103 643838613 999816025 113140861 484676633 22840877 500601741 59143373 142771533 889031925 439531411 215511457 963779669 557480341 620333817 921983807 312136819 644300581 463945717 450421455 849314835 290155043 185253481 425546079 166467527 725531507 456637147 709691629 101154637 778832227 191247225 610725207 558859911 756191399 474604827 365574505 103202943 71091037 830310465 309858769 68071529 294688779 697914899 663014955 547350687 215694491 891636061 787709431 758459817 743222631 60981657 332718493 363687725 698989609 399687143 432651121 124708095 299245321 881431563 572346537 582879261 192823185 500753271 904544873 348689321 225730487 481314881 931949243 912412141 613623003 843420201 592007053 866110813 295208127 894123413 964757435 496528789 805254801 416250517 883197443 324750423 380371431 95933921 657210899 649704593 477065151 362954199 71816567 497224531 760556413 618100095 137295021 103663833 452761581 778583431 102602771 841657733 753260615 527384905 932909299 656318695 158013735 783911873 30470783 614320813 860062609 429648025 309465809 177829813 930871285 551569695 288241127 120927491 337720101 708925769 351668909 174596799 440846177 929319097 862696949 113972543 143336271 733684149 984811381 413247997 768503545 280516139 233259729 551363741 456058581 218868915 663803025 321831915 353968321 495316877 533646119 137344727 227655939 940712865 543553005 447346559 779620679 197601147 446658593 801947175 315138979 776016469 745330159 978144825 941486483 847225613 70240617 764140359 535415551 504221485 13852549 745032205 696688945 863770081 756540711 378867567 377677281 543362303 906750999 438460281 636983851 661533707 156441607 106738781 794313107 623862569 97355663 42203509 447182599 761109033 376133427 467031623 105181151 404866947 73155673 312539003 474735317 17920853 902614099 790000105 361070351 895482983 850044763 655255431 685742361 996603177 343090067 172650621 937497579 136090287 703643139 368977937 388407265 192600509 597420445 530888635 623331265 331353525 127392313 634248725 416831415 929259947 781301145 222022113 482206809 323726165 681837671 969816331 287830947 506694671 370476341 666583461 781000187 530328037 149467001 844097261 961298735 600980099 743855765 342801987 636351861 352838721 416922325 713682997 668590183 493863199 632327273 372342645 894665741 969043909 712848489 961186271 759142869 664777855 173211607 8079733 462409105 867615303 573219485 832230243 880952961 52788157 311946379 86051579 346603079 549380645 617660507 555551419 871134197 303530609 939946159 674037061 46921469 257644597 573996815 537799267 295606333 481733813 62234347 990413833 997003001 50052053 404000415 720599891 225021409 109482789 975502955 483725699 656343559 917197533 350868345 989692165 704494059 571151579 843937497 927235181 752779379 945035687 583659653 556421493 200858089 608716655 830319711 489767425 572699907 734003469 608336685 635916571 130064351 915236093 996437925 547630585 462827267 583165033 191516509 261781235 389054555 988273183 541084631 155153549 959220285 523985813 834023291 509174387 759041127 300489197 237381789 650653817 876046075 235353323 527595637 129141657 968960395 649347075 684140581 733592311 883368967 692480327 793377203 231835359 54409169 629909625 300160789 271231425 542861483 656623103 776483105 339048251 62227397 62547947 628325529 487227665 790728881 639217393 942677797 204463659 194118255 675918705 48877145 717285279 631894627 639284339 924087469 817563561 412004187 517638311 55651969 874820777 246858891 354873699 12854049 521404971 785291921 369799077 949751227 323020773 571400307 6841111 836179563 782485167 902581917 477836551 198703919 53996431 788343267 819514733 382055669 812616879 716248199 729187815 803992203 83000929 332592425 886131901 173885865 302285345 639855065 867760605 77750773 138818965 714327309 928244193 854374899 591401347 334352031 350970629 316466711 315160803 59270359 280731187 425771451 894535119 513382243 522732537 403364383 268864135 905554005 516455821 779865451 896269435 130455853 855892433 850515379 218432829 251966925 453154377 214055405 896041349 171644295 128519719 798976765 193499195 62354957 929129793 972701869 632752997 141161597 293571351 864573611 754898747 532493403 566147537 794856337 256307479 958257815 807817531 110520291 326883451 564327557 511987663 146605319 818246163 926073569 191592363 122212945 923983539 866602705 686563737 138081783 576924755 809144035 52563459 423747613 649914651 436191755 320979461 691029965 802179155 222470823 715985501 295312885 180419439 580057469 803952241 247424111 186547979 461353659 346056529 520221951 83783145 644884723 666263733 116484171 674883061 667614243 616138235 519635173 107446595 878005427 736629545 569832521 726023949 834967661 600338419 80501717 376959669 364255113 416252587 293741523 321823947 96044451 57272147 532435573 321149437 96620223 57250451 218725075 720902697 224085067 300568249 704696817 686723921 299509791 484724923 747263925 941025953 164486005 869464891 265934321 850300781 423672819 579261309 202323807 20827183 633773223 859310707 12844193 313501067 250745605 53016499 348399423 371907917 771126251 248832125 629059755 577397605 419771039 843890361 207532861 225418481 242779595 384707571 621132601 387936053 257765513 426632805 867859909 432591001 817563477 37399021 378049011 436615091 402644753 922760979 740527549 561836093 962766349 548870663 396778757 633335323 678468351 47816607 678814355 71983193 479468545 499082843 562173721 630775847 980674459 416861537 540588591 377044965 376716219 220858753 852087639 10669073 923838131 630044209 352400635 710203995 270383171 765981331 951106923 647413907 443440271 27560557 231030241 324891573 441236259 148661549 82624383 716100839 254274551 402399981 988649549 311207535 997183591 296278889 767704125 721994949 453382713 895837451 234335783 610203521 246220439 779681759 819231437 373852265 592261403 291759777 565469657 95100519 887382207 307969963 769427163 100231309 508005609 112530953 624900685 669501209 261250151 603554407 211289743 641847403 88739439 247104029 970055405 452088849 137777051 489660459 367060119 950635965 664914163 57055287 342386597 375687241 169923299 418331025 443301913 460683451 312052801 141901361 487309531 120079677 932650827 227681205 542721215 642892323 904840355 137330279 477363069 511879909 278286939 501065777 695867575 514774315 994429669 906874799 91193077 668466109 669959197 534520607 3813031 436341647 784617037 717030245 514757929 446524605 441908509 732779797 207215547 140650377 906618023 143547749 847527045 576417631 119586405 657488179 335988123 115183057 9549885 366606343 610080757 231292317 249488765 427757327 499258997 885497253 654931929 884706851 333967585 850211315 173429359 252779205 725565167 665902267 562972869 149759255 34688307 796940121 811591623 252250861 376720435 59721551 273828043 458717883 141843287 284508491 408819341 340424355 65150447 969815579 727200819 352415081 961459763 463154111 927307341 826966399 496594505 893679193 640238539 588124155 90005301 921009461 797906191 749325213 243632619 573993923 943076059 450234315 370961477 987783841 408041309 662442391 24342531 639878289 176965421 485769397 805850061 700586369 888366659 189181061 597337143 354672513 676278537 178735887 909395129 316911053 986218827 164173313 279528115 204029385 611040061 171914677 300652655 224541183 64685181 630857769 135488545 183725349 228022031 595807747 913111773 367841043 391927907 382466963 177736105 42495439 547813965 377039823 209784427 939538049 131366409 9023833 97663735 317681279 837824317 174529911 699458563 789200963 556561655 693466391 731222581 385155699 179229869 424279505 121519377 290604757 628681529 531476711 483497995 693401441 182905315 335488059 741893499 487613231 980148055 744662881 865605541 76607877 234190507 796959885 374905263 447015117 137721437 214683553 167791789 733290393 50042191 538194721 130395797 779888037 540228563 455977791 510069067 227277527 124247195 321244369 501781401 689490997 50748867 875031127 656132653 247850231 412202965 162701559 957433505 339791735 923929273 513406337 226004599 450614327 13824201 505972077 75834395 767062241 229316031 583398873 684114905 49076557 498655169 439599757 30515949 545276017 156554845 744737017 954284665 482054517 854679431 362038067 312129157 843294369 726653597 688145657 958756099 868180073 731132773 934340789 428612301 504565865 688335627 35683957 370263713 153874019 603097893 472357105 148993067 760749379 311346863 334558341 325295357 975999515 900862737 674667069 23641997 136258345 186595093 662027973 766589503 468622541 972293107 642023287 709824603 456397463 961892421 262265679 563694353 30299701 913938195 873652213 459866751 179213957 47864011 567985339 793788065 234193033 719129151 66288021 823901283 486504557 581645231 279870501 670772373 950585989 545580479 28616367 435766513 761153099 189399165 946106149 657594649 183436641 925555805 480648733 978326421 726571669 170026813 767500759 951913175 43904731 574728033 901848889 602948663 63976523 585636985 977646291 278261495 944086825 980057753 638961629 761366849 807723233 738668349 703823157 989508389 315703047 157710411 309597795 700025757 502251093 766489873 397775511 342015883 817703343 551691589 12899237 373827767 17708321 636851201 704674577 541477073 993748699 286662861 665099007 662377589 711334459 481805973 160119615 383784997 565580997 946925743 258385479 55172421 860910369 190377945 114951225 804914987 555558437 216778551 392249819 275405839 68515277 896517973 737231771 358918163 145621561 632561451 446346385 853064255 929326773 909759765 69939069 199754627 28251319 921061847 330430919 836811707 151559895 248078241 179622523 570113703 945450971 242110725 208056149 241025777 476508075 394786307 284189615 78601513 593965663 644348673 290495891 439806665 53861677 12958151 999625905 532221745 753491835 125182097 304023391 930127533 590253525 531788535 85222301 755273067 947943661 787677441 914333201 735663751 853017245 519132699 837037835 948230401 632446699 243517979 992106371 156654275 106192129 175514173 557724183 491765149 339106353 410095657 322844687 598612551 659732729 386078441 934527579 718644071 946476537 147872755 362675855 434399361 176472319 418931751 153734639 493622539 855940093 943676103 444423263 99243353 27139597 878412419 60958575 123184561 911201397 473261165 956612949 92347707 42742175 646246149 76451827 759719687 3770911 839279919 653379021 799358221 461972397 771257145 278859031 726473011 537517617 771469783 822446755 858771005 216853683 786990887 29720819 523818207 118172263 423403949 788491053 236601523 457062313 626677593 943781411 875137849 910217467 228589695 231479113 159646937 957473801 183387867 35491777 3663847 49023143 751515795 648088399 719724953 694095311 921732407 586624869 48445717 407296163 283871415 215888409 414050911 850682737 907943027 915558697 944592235 923309 730249265 99703553 144575251 736322031 519194399 904680363 491834389 674939131 793712847 612952033 882078239 151122109 941694017 455303681 514439357 634333769 73757399 676180243 110791277 504680409 736475491 942924741 274940301 597774289 402480919 341426033 431411047 292169659 716215439 960236307 466827565 602710349 321592533 112953429 966720249 694337375 513199699 515704965 959127753 286901493 690787805 756789657 96536971 240129595 216789939 322819891 67059723 781165445 322855033 464287127 967023621 219551823 581908029 353491641 110390555 857091641 758671731 177507627 804884439 938234383 485488123 925296943 103507111 930235591 393242647 40180139 851145957 774925945 507215221 491797297 904474067 114547049 359048747 458793205 328888733 719066373 598935989 600559575 40306767 382914781 317957115 1444705 889073893 740765101 460863559 359288509 245632065 440533595 310300753 777790919 801751595 503404781 284337971 687216125 401395797 962823579 975409781 757377413 790274905 165311421 146639109 510864943 697080757 524434649 288303157 808810099 739654869 464923545 610047173 678410351 642655753 960557263 10754521 139445483 122102667 196877945 115271679 953603671 283938685 744918711 735795243 486904775 208564455 148689623 485222587 539708415 839303355 656957003 815670389 389264993 379261649 411749293 53578629 532523009 191329517 212509123 806514815 151579283 9095091 840378999 53277029 831971705 324445627 978987995 950848663 390250169 570888825 432314669 653386725 899286529 693821777 273485773 817427333 22417833 590762121 894874697 646140177 565324209 831695447 808869203 95000721 406805185 662664657 227959495 533025649 675406629 907378169 622736551 464584585 620673495 750197945 348721183 430116881 575807861 820922337 895240323 764057267 785776457 656158251 190331981 281570427 284866621 664538681 774624799 343995099 154004973 546261395 141260231 303149237 332758935 976326057 431756089 110671693 172710689 637680857 661522827 91012429 180074523 813747551 871321095 733555151 188835517 506467941 296923411 764197197 270647013 475805439 795401029 228805293 194716955 221239589 959109207 164729405 760448909 769681593 900365355 233774771 473879317 96739971 500185553 942406697 693578287 167189811 159214199 943193383 847041541 978187877 614877819 493612953 153766757 948114841 32785503 558097877 702364101 914518841 9488849 793328535 97582151 603131285 90003105 962651399 603556527 418519013 304457163 187336623 266789487 581326671 605429875 21111175 594477983 432632793 354930403 798712811 841391099 682486131 569112977 948177567 253287403 295731961 898125333 162469073 94004095 570801963 375724595 996477977 20941167 381286321 932603609 625484145 694509083 551384607 323897623 451364415 941984391 664297709 819575081 890071375 849962341 226056315 573400435 284881371 501916171 462308885 485131649 111085179 189914999 19173609 658448131 684491829 325697363 617423635 710861529 254880121 653546733 824732819 329198593 650524443 142395965 464767057 578621611 122760535 699173601 86429985 509782823 244931285 583831841 186596539 704793331 625843103 437749483 806301375 566683055 436696619 461099225 297632695 474054185 569365081 498426663 628108309 257592145 794211947 622536383 156407091 767285063 849333775 313736751 628599377 346697803 138663773 833050797 835654551 317793737 503133133 688108315 73929497 497884499 222854985 285188861 728729037 276251559 63503133 487376261 867759769 454659493 299996411 740078217 883594049 853414235 862365189 853494153 230078841 645852923 3078591 485979309 317312987 534896097 945142549 309125057 408234213 533885839 804287835 662106943 14803971 54279855 27802961 869422917 894174855 150704153 475613213 452133021 390567081 419999173 334479945 662485425 131388041 861012437 816910027 766446493 333239089 470599063 301332481 713974047 862481299 234197117 509043889 114288541 408600967 440943907 788679943 440631847 328426705 663194699 227951513 860948595 14293527 859097059 741882981 369428963 991950315 922694649 276495309 929102973 687952329 47333837 597981091 528186865 308507919 971956929 519783959 489831571 657603591 175223135 738997451 10235493 432463075 801756763 142396353 360731663 687176379 661896593 782638697 832354783 584104083 779592453 809211029 78243531 368350289 274342879 262048133 936593269 293490119 764760949 454466781 380219169 594919345 278654529 773663147 250007233 835810475 136251111 705348451 798613995 530910275 465633073 735657187 970124255 74247145 88174355 654891377 217949829 682642935 838482859 971935161 452155753 644198059 246191671 635547345 780979909 70885169 566204197 915236661 830147703 685813401 512903433 156010957 272589575 905605853 680654238 701555427 807458981 429253087 320601799 456128301 142741543 50628199 264954765 543614667 681591819 714326311 368759591 259815487 554497915 808991159 236950509 554065271 179118405 949878681 771245669 564648139 66806497 139113783 230137911 989705203 240506733 52855009 583610681 565681433 551091377 674490835 198888551 143202761 403779611 816938281 490642145 827547127 620835781 191133425 546510069 377815809 234095979 647820571 791650067 523101867 140945781 959985791 452057819 643406885 354260981 170471391 912024077 163859203 205774751 958144229 392735635 921931841 119750357 886467873 962713221 491087173 600588443 138113293 175935257 578838237 962467 406602507 736724919 28119101 643057477 165753441 831465957 227332101 472262269 740920389 336807259 269158199 126096115 363100877 119102707 42785345 48951287 162013179 81608111 183218169 174281089 506835129 988179387 706452123 444148015 960690135 420182889 762870479 830334793 904025871 442743863 562239137 136548799 536126977 463867845 653867651 867582759 559853369 544891105 206450775 439783359 411284261 626507389 714228831 622894193 340951329 278263989 787855435 525241291 271371373 114256331 764266029 585786117 253154099 899783979 35447685 350152957 363976067 759308905 577445431 68233019 567002197 298518591 105708945 880774381 641470095 289475983 991146823 363024875 382231029 971672167 216414329 600385463 879571005 733707003 254730919 744454259 8221693 913673891 737559747 151456243 136018869 82054883 821815329 383537835 136901843 345560679 515775359 509630653 803448997 162277379 489923071 270879981 74847077 870540721 745722929 102590893 707248435 871423381 392652555 46241299 628469529 324247289 838243559 882825439 367095819 253743441 805473933 168881015 12009437 260519737 839225387 787214061 958026837 838307701 205447251 82827507 597625371 349371885 581372165 186287343 785988029 377857207 634220197 3416291 382880441 492953869 958923519 806751871 45692013 955518547 756213323 403676701 592654629 295369493 632613413 471590843 469992207 330846211 101727891 247598591 838889285 663803643 98961665 226571575 154096843 487386113 28827459 724035167 877029255 769769021 7645339 948661267 464213837 146545415 837726889 175447451 763395285 401336533 814687869 830987749 855679167 556411981 152085899 540192905 60713109 119814971 200494771 222798537 466209225 948870543 957877047 950111367 474803381 114402409 177256389 202217303 558138263 754275079 311796595 913928045 855856539 897676761 475302077 959760041 175188435 631386991 171914891 711038357 859043893 785774983 264593705 830265949 491323045 62301185 314683721 469258201 1182189 805684715 928359693 972526729 50649787 873455735 804822265 370347923 373475497 837579775 208743159 29575111 32136507 687631625 261484385 827795101 317136087 865170239 875631601 807543603 629301711 609911411 3740365 408151377 250843487 198000035 152599939 198136935 734458021 95263727 256934919 72286347 360532907 724557221 875866551 315464571 40182883 865318199 754589785 61286305 344372133 199947841 777736985 571833099 731107891 188999301 331378061 372487791 172040631 586947311 991826609 823800367 317303747 907077777 300105707 844862289 82183373 16650665 95685131 167598723 309372729 269161625 211240001 989923615 751814223 784663275 448762671 182604321 968963905 726963795 904524759 773619505 892018215 627591597 478566569 923211169 909787395 112994299 685318263 789652325 735184575 765065577 976334721 738660895 688028203 815282251 498155115 10727443 698245891 340678683 243630913 822821171 165572323 207868029 496001659 638627349 491335769 719427131 41310197 17905913 506011093 255658569 251269621 318825157 465821871 312960195 219834919 352901641 839008297 269850093 184264863 844645885 109262957 451362607 431969503 295060351 848885643 557429279 727508679 151509527 188673149 55710071 240113575 612201205 475766821 693036059 126970163 464703981 386728011 433597973 356362891 68553347 738101921 568539035 316419377 789311707 695723455 794341381 805839891 521031877 675654695 924505815 41325191 713304759 458223939 233300159 217986891 335293139 320583779 521044621 983056769 522287071 117366209 928407101 902034363 307634761 805041533 762778611 431601387 580060969 513302691 298703611 127357805 490203967 747017761 136036037 200317963 818615795 934594003 290963951 671988463 130031185 163907961 118838077 659664045 849398803 246415293 416445081 841845573 196442265 297429295 95260693 27506971 902567911 675287369 582451437 569588221 348865967 341166955 69432455 41228831 585091143 594172897 399765865 870433055 127763375 844238555 658643019 818736387 243514509 643627375 672336645 504493879 681439025 918277283 739595677 985033105 151572115 408090207 609215805 766614351 963865425 184789619 327932727 971231251 885993651 288517017 392836105 78167791 662053801 763044977 939074131 526509907 216475079 792563847 312234979 535004193 309098065 408509769 719513259 903329435 605582123 683454227 634569671 614813551 627715555 615364643 373326457 475348405 312278197 907128231 695367981 670177767 880449405 136905389 773787253 937704171 868783297 354077997 21657103 226811149 615144117 499370253 357495259 488126725 688584747 75982609 57018599 215830767 339261861 707459053 428019301 530887505 459589193 360884027 639587505 561471511 629493481 154265723 543018061 943738263 442100473 489563157 29763813 174759309 936971673 255702109 499226189 332700703 598872723 236969611 282279295 599475419 166048595 430144959 240600991 332937655 960459249 587300355 998271223 483905549 230943787 627596617 697548795 385002917 948249195 699818091 950745159 793856427 865282241 229161513 481684381 645612471 380410847 199002155 670292715 196505281 532639273 638084099 532460351 128907827 162232997 773670445 295188697 584255191 326610947 13672711 721109531 275187173 19968921 406937051 428408977 529674745 39026277 456767963 306041835 931608601 20239377 98127137 183063815 244805295 370060267 892872107 481710823 244339861 768919529 80951911 383495609 431874053 276332973 323461665 906590157 994417061 756180859 202007703 252742303 395613571 433415495 957947239 57974227 450420243 148665763 27610395 776548403 831690035 254157521 791010853 245202101 733984041 162841015 996579293 146927473 952425889 57543399 915202439 385792173 38135473 672982933 489129801 486621137 480036311 35236001 454636853 200117365 470656757 801339285 114776645 845267791 491615581 549375899 857127771 133078341 680470719 56204431 192723007 122105955 441421373 493148143 960282275 179049177 37121369 112253409 907506465 410369031 683693827 313074229 648107575 357506413 992902797 105270115 639159633 762871733 299138231 116904841 281682879 720731063 967442597 505839983 556541373 773641577 198144229 695379843 104287079 2156785 473783915 386552031 613358027 963045275 861016981 194155071 513199577 883507929 991465767 325024525 505848169 882444615 756345169 480182871 865519167 392453541 312908967 676309459 604233473 924407779 376903461 458603235 772946497 135310355 681474867 911006605 99883897 247691117 105045659 922265471 678517259 698776921 742203283 919573777 776540223 741527135 588438459 38605379 802435653 578431283 958883605 187921341 603590969 534300593 742926607 833415627 105740829 779067355 281707391 378477415 889895637 77477085 839208355 248677167 423107897 555181577 414532383 590237293 982256125 938964445 369770751 761499147 524982723 497824507 11288251 490320805 161787927 591068461 126888239 634329721 163061353 212308583 776454047 682167405 261900561 583645637 263449275 942266129 283203665 49058441 282042263 216344221 758429521 463816991 198568111 155940079 179619623 753042971 977350377 757952655 160253383 56129335 494346899 829846955 62740755 568854103 55760481 869154077 968921047 310534277 656474225 538583905 513003713 266731253 261620041 760244641 358508397 384523779 335725781 66119851 419838811 536754739 247794027 891246581 64851189 717563181 133987017 31500961 322181771 20150983 890322707 818735219 149992791 960867323 239155157 106208477 47162489 407393773 352068359 660831223 185757181 244738791 36724739 90925437 124335569 822955359 105965715 569939415 996317393 604873965 701606367 198498069 978435005 84285271 534140799 581376495 840731197 506348421 370224753 946229957 59568613 284716173 107954201 113526427 926505773 322838697 600859461 27694115 946086005 731429439 882539305 855905459 864915721 356078805 406837859 75258697 843794455 791495715 271913465 723577743 142203835 182580481 317133911 379774675 172782581 95339125 690078291 135835405 170239405 7244455 464559145 955851227 918585271 915749871 537568383 352161669 937073099 313460675 903040357 308191737 242428809 781042121 566856011 827453905 942004091 793598157 637425683 785033033 82218005 442093505 814198783 680852299 536066731 703989951 957178045 123134053 29896323 302726669 16157283 865886157 384102339 158883605 978626159 296302181 463523967 723968361 65371333 6741425 482985391 663230919 476763313 312841955 448477235 165803279 837250539 74396113 352753621 369548623 873524111 612985339 927496263 954772153 607066915 278379913 299503651 362087081 335575953 448002631 372321767 645281953 239362099 847461039 914559745 927405389 585757123 668232927 939417789 334485887 165537639 705002399 466530649 995323701 971132845 906730847 341334259 623566481 861759881 898535221 589996181 603909853 863707483 516127713 412405041 535839629 356780005 791954121 413706399 33400125 352153429 533190397 789979811 488553135 169376833 263184435 211811299 667032015 240693413 664687053 557330675 868031665 793719529 506196945 38214985 110097039 892268247 328921583 546942537 727157451 226986663 186153083 972317755 512486899 413607413 529287543 187366737 220228795 990163653 505266571 468842147 445284603 449974407 934091525 370301237 287809719 564496141 665716955 397128429 277561115 127255447 753102255 494336925 333843835 599005129 199835333 632960513 912523345 455590577 122487567 123220151 55356481 951359427 276971043 528872777 732770581 205545949 185793345 228475175 889858243 963587653 554013777 752971951 154300003 763833255 531412191 683896349 507121465 238008089 658428197 159100061 586029491 660238615 785218817 199012159 700750945 445638791 515287803 954201599 34459391 224214457 457773379 496909497 257201521 548719965 74470063 40854075 359349443 683208085 821906877 1662261 464062501 972974307 924884887 989381439 153684981 617322293 802598155 850677723 578839223 902129377 349773201 266039155 441828373 610826149 716983367 814415961 370519009 885301669 458803445 312581571 962147095 829567599 22376713 564345043 635161307 532102133 493622941 385461653 21568377 698318233 699260781 430157817 786285411 153437983 417160161 598456023 69879859 830992307 279156747 898205937 328255407 227073769 322288287 686399473 828119745 838237633 448956927 138907495 57013371 580303265 263677231 760679373 220066587 192804691 154264289 119708037 428471553 37127693 804423277 665088981 998225851 927120493 958239437 586213363 707831035 179157881 883945391 211727861 311734683 880769951 55193181 157424605 879745185 783516081 259924177 706179733 319702583 187070957 719175337 291374829 562931889 883428603 977666093 580562079 885639559 54394597 341889357 584892747 965154401 364949027 417380511 693771645 426899975 727937681 700365409 261434275 763674477 963461235 693326717 474596633 76886701 543881081 468903553 599030559 340861967 901590453 384346789 61390815 661734137 28805799 368685767 863970153 355580671 273180211 965231 47610039 905637087 543222183 967443147 269055145 947479931 714098871 488258483 215864587 216800989 715545217 150788263 138209675 13966137 686393483 78058959 752296133 400665067 18991553 590022905 112604473 20902517 334069113 171761307 7258191 119142275 436656239 947858647 464709467 424947689 272275403 717926001 759288469 590682017 118366231 317341147 438016541 312299215 518575689 92547627 942374141 837756093 501238465 293216289 419058729 151883489 207365697 608770851 861199733 841893843 21359865 69136961 739314343 384362583 633879931 903692083 996321895 436173403 969320903 950910809 369764163 991145965 672892991 930478263 949743289 729812047 108962485 105554173 202023463 287547615 955522395 338797701 178462681 773907497 694109647 9542477 18261501 365336291 952019479 342695929 393960365 931586277 632730525 397946589 174329837 496685619 709718587 39131375 202006181 832091643 125120811 812081869 539390883 598708621 886324243 972216255 276839845 115995493 164575747 311137971 758107977 582190119 382727787 247503681 211719193 384112543 233175083 335724201 860705671 63991743 713851529 487910099 933183981 100107169 948144689 566659917 167344521 492337803 181590587 956351565 534482313 784757477 846464287 229648307 37014265 947548999 488794055 401255945 277464023 491988327 714609789 926622587 755077633 652719915 79514105 330856161 39080001 593637791 809880663 134104251 285287241 71479285 101774363 319740975 304266929 676637833 614296885 994644493 175620605 147086299 156343799 466646477 324793747 234547611 663335457 63571085 765871557 836625307 687716311 974502933 4817871 13472467 268936359 422865877 598253263 392660075 902384261 142014947 263693519 133611179 745861841 124232189 842426305 801645063 532773195 856168589 948737661 233316377 975901989 208907681 14908357 196331175 175270387 244606959 420284739 58171547 406867123 809252825 149304969 633037065 340845255 771663461 522884621 626953771 119551743 85252161 32604723 489440355 125325457 185359045 193629763 526177087 590180377 448506099 257276271 50967153 777995419 136985709 161143759 365669589 704430213 2819719 432037733 310536559 737467567 3212085 769309467 711895655 604113745 132434455 26187203 416647185 341190421 516312951 135784211 561251819 338706951 53417281 598119085 945192855 166871707 416671245 118684445 432402399 845566639 534287899 437234899 975627193 926168711 854009425 177970471 808682301 6851539 467419967 436150619 498802863 108508839 792437277 626001817 486326651 342254719 217310153 761480179 520593717 256228675 652592587 179599199 786738327 990045757 373024083 215061695 81690245 990215971 372421173 277421023 334932745 392699667 384159733 156755567 682968153 249377683 273515703 94840583 155739085 781927825 86875209 430213673 658282219 42987615 725116199 146147647 950452827 111709371 427953517 992804761 603609331 33393613 396030433 32697201 187139757 770009121 917995767 654407399 730641837 289427113 769365953 684745479 399630655 330928583 124377345 393583297 49785045 685001279 897464351 368510957 54259465 457168443 791761447 144235597 855121057 733893717 656375507 390997129 63947653 410017927 838427011 258631477 802443211 208133943 610167867 568906697 126342319 575698995 131642029 947132327 781251985 719968687 814940463 350232853 456479999 730390345 411730881 891823689 592180649 934698247 783061257 772349017 236176239 130059349 664657751 404916293 655729745 685787401 588922275 142170107 712476537 527716959 632998539 286583113 13288511 431659007 76413783 866227945 331871513 46866675 98635511 464780667 409680047 374126259 445881599 804090507 539762377 761941529 250471091 961584007 715009883 215704687 55127541 937493195 292342143 950651485 382405209 140279447 248056955 112517883 791782933 148602387 190901945 30478023 916423431 822582867 543760589 234555045 150750645 450013519 492710511 325696227 477170257 676444391 774567303 82941493 249641395 386899941 153384733 501728441 864349783 541598461 381665381 6993653 725218149 467997635 842826171 25681107 832209839 958289341 968678817 711868589 245641897 808009041 417128387 523007549 346482547 506078931 5347317 589794731 244471255 782646139 121691439 878078081 209074497 710810729 347687577 543064245 533417927 933473703 476305531 187648423 648226093 895202599 161677129 51857177 207003607 935472579 691259551 259425337 63382999 52067387 49271873 931608221 653126623 385479223 276376855 194450243 189523539 52018507 124168247 64443279 860824121 486518253 241917403 931043405 883122753 221595777 371478119 473730741 194003391 153862735 809856869 137511779 341718455 255980683 674201737 995611995 671096269 120758601 487425199 167444237 324672847 817672847 882492635 516065099 522282553 185457987 85426997 91770453 316637223 584339511 295662099 750206161 515054431 103069991 92147439 846582985 295405523 491324849 477125997 506506931 755801627 499207775 454445657 334228077 924458611 715659683 333123235 428232765 411576259 808496853 809301099 500177871 824972445 190473017 785288175 341911865 538721845 689000693 343944351 702544887 739792235 368715291 612604427 697783793 272380359 396221863 450467567 589207665 192580729 188312183 882663983 805671727 284978007 829295189 323807191 411132743 514358241 303922931 998763033 569372221 903456829 731442409 204701775 273946879 441038907 523246265 837872639 592951013 526468691 227085773 621725651 541655209 435054755 236424567 270939293 287610735 585806323 441025005 470455897 317025737 170893489 495429459 671519533 530706601 204193271 849029297 954261089 212185197 984465025 381885687 437319527 32596443 936001465 772974595 47025375 894993183 508327597 680305553 87229321 957763279 302476051 906099277 440806225 532236007 480708173 406587079 798754377 132402637 975691873 127164025 727343023 792951119 721926397 100294341 500092131 962260387 175740025 708823539 848717427 364217443 223092949 240428083 490210065 351624087 631912631 512508067 283434137 571307181 97557617 227138111 624083213 153068407 948120311 492917491 289234841 332045109 328814825 229720719 610968465 749506953 368008593 569069005 880333165 733534085 239185881 506033485 17007573 763681435 330241885 327480987 184321169 756679081 789842267 729892135 82506645 151614451 770793913 946522441 481633789 806682665 757344263 835178307 446865675 772798301 269602941 189761087 164530989 266069519 75890425 340476749 157853425 843389221 272578051 357246567 149918231 139716329 434753993 276655469 490242177 805370897 856328997 4635947 637939001 536001723 145603731 424248399 484430709 798923629 336783165 875192437 949842829 861633043 599732209 100545821 379906053 201322243 643429413 899217073 829706377 31947771 653125371 130949505 500809965 275344669 801641527 279041223 111866411 168431611 86439755 581022627 126960999 506768005 60631117 944591905 653612269 803489821 536649469 718097967 418317613 29772421 972794819 473674409 19793351 917833965 542384299 458299983 36812409 390217447 156236399 499536587 884279347 330964339 906026863 2827691 831791109 629520373 58093231 951680365 853961771 179824955 423417569 648219249 679553801 741156473 398531929 165236733 657908267 691025485 167397659 499433285 620835649 159811005 259680203 477779043 280292139 840651061 55464633 901761879 178854631 125207433 148659165 388054793 339983525 866932987 205868757 543343181 396765877 401659947 986231273 120032475 998063765 560651561 74336007 290435155 105010661 609690731 890887881 724519743 176742769 558515659 173994347 627466771 230123055 656434577 88242135 965253155 549572153 350495083 572533401 208305333 7070161 569723755 25546477 597707759 943954017 785271569 739328941 502924261 275465089 843523647 986287205 121833359 509158887 211687495 73016897 728348109 633475707 531209435 788131609 600128105 611427141 698695449 896494189 487899925 796349049 3672709 388511845 733372011 976298865 446699535 128976077 236563177 131669939 363138315 701299231 361540605 673095657 479965749 800252025 785250035 556129511 812982963 736825507 165243401 815948967 511833875 135289101 163983709 715945803 650498121 275313869 673717241 214785569 85345971 651484835 288757455 440779931 996107031 214327797 767797177 604868949 411057059 520726483 610485365 65101585 425534697 678558195 618201519 446246331 566226151 886479799 454142457 205633895 598239749 60557605 882677449 471046991 673860109 114804203 608223107 233529559 267640119 337164387 981488751 578879113 218802973 905738889 723222975 856064281 795680201 49609479 959706253 55188067 878871203 623896107 522126807 349348969 52927877 754752235 564399497 691735129 26102185 576410601 380719989 282511747 18318005 255335529 690589777 591252579 567802807 692061021 440725185 253226395 703659043 13017179 898490957 420090619 853086423 778590883 480606311 775061105 374469399 94780955 448121191 928301339 272759187 94342741 11665295 370457149 135113567 319819141 574363657 815524415 910004473 862051211 183124965 67401655 715475267 698756335 681066783 395118175 719983245 288488417 157868435 258273819 553013133 429690167 719696399 294919671 461469789 25444207 155325763 899709733 749239173 422414259 624473799 994765311 614268659 145566929 399287839 35715337 58968313 31740481 329297841 361715185 753453399 507056929 793224143 247720583 539230257 72476473 693288883 98479049 253898003 495147511 174919807 906939095 777308661 539665779 873541177 848472573 334511155 730293103 18197719 262291377 477554579 602303053 804546351 673468301 328581951 909630497 899958787 388111697 597573841 767461791 347862781 95725 778157891 129386281 606331309 896592497 494986235 715531715 434081421 388754715 29054407 316426783 82570751 277929547 628181981 251612051 293007179 47889295 375234775 37945119 218879905 22631577 400928189 209931883 125470493 276354629 606016251 374721219 439145407 442297237 31662951 236049953 965887601 304933043 499796287 879028259 667081219 876554743 149146917 895078673 39895087 958615257 74154283 11822299 497307797 871430907 172166595 820875287 369726401 982491435 355943113 399088387 271850529 909814875 719704711 620255881 34786065 669239463 34658469 65758519 602336209 810203729 110159165 69431365 136212107 155599557 926969801 882520721 80361807 591303063 570827311 984632737 696913175 854640513 652739517 626181289 440578243 175092069 501010983 517483387 464881183 265027921 904430731 509847449 212424409 869644153 909164655 665025835 668920717 606911283 152897727 781000703 899995835 738852361 83018959 516889739 969094091 232715937 581174113 756758767 765147153 368309713 471509397 63534581 883344837 828104595 828930557 341851145 569100039 814806537 678661513 276073539 663238371 474209923 492323483 407994723 803446855 85126767 381330933 797469391 22561551 32083051 853989317 405205399 544126713 441623355 238768289 104650611 390459059 479380679 44328071 508767681 48311499 857742629 550793179 603782283 695481 354022799 682815083 292458875 432285153 500636521 391771755 579028717 562447501 665297725 228485497 554098909 816952043 916507585 883440537 20750837 255719447 113133773 876209723 564896387 406825231 908880999 778563891 590701439 915516353 688578487 339721661 275807623 125888505 629329427 545674111 800137697 443103349 293472759 554724743 340188545 4160979 345413123 226297675 840945145 661311389 970529283 698502565 324864139 705149253 960031725 668345309 970424607 206001445 370103001 767229087 10370371 725428091 319696397 383855873 115781933 604369781 952359411 459343745 334487741 78113823 30431005 34561281 587458173 531108727 140712265 360927187 842246297 569004891 164373591 65835177 842539497 104782485 642402133 317897631 935497451 741375959 806870387 871895359 845020363 2073785 364744465 377278833 172435027 399718591 251374767 111537295 615583997 515059279 841307129 23227987 244023783 471389629 669313729 927633635 469471961 11256895 765953541 319383501 738787139 45044985 421972709 670714117 569483577 503387123 642938799 233991657 263547519 329220383 763233493 97305151 846996857 657274709 755105267 820511539 993645111 169515865 590734539 890191451 813848431 781801169 552106569 578709683 124712323 661650255 437141887 50937763 197459833 987742029 152999595 884613621 317254655 429015853 570683951 816900833 320599149 680347191 117235093 335331073 791473093 624067997 490916497 549402973 723462569 974763895 356481023 228490851 906269037 660596679 294405345 674676453 364317445 696241015 918306147 709888291 278418449 757303129 440479193 666870209 750548187 272267043 412265917 572869837 601919311 670630009 598908593 152602811 489453061 617533923 842907525 294253927 579337531 403807185 804502823 597908763 88750557 969065887 165868981 322574209 242296437 661700751 620681585 843843759 251771453 885109957 257161161 596319265 289306131 971683417 832248909 517429693 650752383 198195775 497328569 37707473 866933679 157184857 299248881 109100307 283574909 385471347 262562815 920105373 487549799 788904509 152242455 385013751 742742673 142121039 112273815 727211277 651596239 702260267 458666749 514790965 406424471 873845563 879065079 461126701 84517383 938820815 764436315 304648217 83975141 9576737 588847391 694200965 337407397 915871825 237645673 986309225 793487961 118528875 904006531 97249825 280339139 372545375 945062115 846925425 234803787 344133125 921492513 392583561 421545981 327279903 889739267 601042939 24507795 942786389 227853939 211035591 894197357 421732667 788782467 866398035 347604623 211890249 71436399 636620903 390925739 872087009 779404955 892851519 125004823 403191881 663997075 800523635 117856211 423077303 967803145 291321099 672624517 499736897 8012759 177262963 856025981 926350825 288625923 184044161 221829299 850461079 627346359 314750833 651710917 650166303 401546565 422726635 60116475 484729401 505396267 69843193 339964995 688989317 770899721 705088529 414031415 846201487 36534701 951906835 270670613 422090693 344593417 208897601 694982849 711092355 755888441 121108299 805931215 499049225 854741631 395370563 604754293 78760063 792549445 3685289 134774927 560699897 961831715 583844961 538143913 52748143 126354641 299328697 183294447 225881281 783742257 373842277 663276347 220578491 85966161 207904899 890269961 236736011 773228643 821586071 351114881 510722123 694173891 956508561 376003189 542077183 609596147 946115525 544712793 310078095 85680287 377522415 695287117 132359497 217033627 249661749 616215323 485637739 96283873 921173029 505883437 519359763 656668051 673433525 804369311 464029515 438164993 155757887 35094063 659929863 760791705 393657995 582957891 625955611 227916025 794357447 135654635 286216781 502118115 988013445 86943199 559781443 568217411 667321795 730070653 425762449 521890605 950396649 924408269 661134765 392118491 932941251 404147327 340225531 400170673 100462981 135668199 736367301 651651129 558202059 659179785 460929849 965600553 938720927 595039625 562265969 340258393 383124843 497076405 743139185 196066509 74866691 836022409 290599455 527169715 860488359 30763681 870532685 762834523 311060987 227493699 194096055 966394689 434086413 14065761 835983867 658819849 141368657 553970835 96455075 299149437 303532455 599918613 254265633 85139603 303640913 307482575 807018445 77286755 4826621 116207187 851980523 12323123 352394177 586211541 861766305 755198827 863574553 874624565 446036737 828325281 173925101 952987131 130146567 247777937 83584903 65527127 836469649 705387291 842482079 901056543 760584297 898517837 597912143 467285459 663905601 66340183 42469663 175122585 74157233 667111065 815436541 98771009 616529211 118569617 582035771 175972675 958849097 18761199 567441049 785724861 84516141 991468931 557417531 680035959 993927709 851585867 494843567 601479135 936539453 52020583 346058473 898924303 67742101 74758949 235121991 808452803 259352599 434590711 392800399 549247589 395249307 435864695 779132653 753185539 401544931 451379051 116554997 126114387 841932185 548225725 220941481 52657591 984378189 461692545 942511209 638231861 624337785 957686255 621919749 221623931 532336511 507633775 430206899 152546273 311085991 410495113 961826573 110611303 900917795 173517553 138531867 348747699 656744971 878584705 209666633 947229975 430922337 894729791 216417135 187909767 589550863 785301077 354490565 373125795 683716069 427824919 40590325 45867699 90225565 743509247 321359881 52853159 763277529 915610801 546251385 977539349 479927583 868302327 754236449 382561853 885811685 724382917 854697031 750578949 370447233 742142519 785063317 687109373 621492277 204222351 387255589 199387741 523732267 542653753 943753585 989936899 992772979 957459401 750224223 16690039 487354119 21380345 152384829 962816999 259994567 411266221 489441215 842222893 632940159 431189999 144210181 270240709 512451039 495851507 114902417 581628121 79992189 887903509 128153937 117396789 23945951 883094489 831817371 622287957 304185965 251779047 465769259 555511635 287382647 762523925 554132777 883092987 635061303 701658717 618154015 878047161 973617357 503336675 133813253 423361189 780847685 513771761 526042679 866382463 67768973 722683133 161285241 220059055 801706113 403896479 851401721 471886401 685874913 819002267 200507471 931047151 365395287 314538719 170205813 108210201 341130099 888648571 496161233 688905411 861173165 119420843 82555183 409716637 825186411 568550355 663598023 111485953 486815985 126402431 383151159 446105837 771461237 866158177 243620223 333978119 681483019 437347155 47056913 138925727 901662905 47330651 353983681 137703597 998757479 467636385 45105611 326705615 931216099 467797883 959072215 22953549 558846443 867613029 645704943 391683093 305977117 391385599 959506825 146204609 641575173 831094295 624989573 98832781 451759633 692690591 499271973 426054755 964086173 549981617 764023319 283543759 695586535 338885523 129651313 842233357 409735709 675888047 759416241 117332727 17418571 369361815 261581243 462759193 512327535 744683017 819379165 245039007 714722151 2428389 879226825 257977441 504002301 548928313 341291681 240590559 861467107 353678903 183847913 270575423 421954739 624987707 485075597 675674451 364280813 556151495 259139041 635712399 41358585 277664391 649823397 136934419 78596905 195921997 884490751 728676775 474883257 317485079 740276343 878018747 769985991 966846471 152302345 436775013 155669341 675638631 662642701 17859939 24118893 355665323 189286987 298395935 335668433 745975661 565449199 489141417 657340999 786616693 781967759 502591411 690386299 816671145 1044777 69561249 372993791 718322205 969196831 526493817 612051529 507047951 548087107 228292585 365019325 91079393 893838789 193915979 129235107 379542301 732868167 789751195 966108205 458192249 714704075 184625795 418059893 784252363 380445377 441418063 438167161 410707485 223348731 203656955 190899237 437788565 62789049 562395681 354305355 735867273 753818527 841385997 621304993 924296307 648733883 174036907 892697803 133428471 727454849 959822995 16986961 525204191 258068943 741847557 988419493 264022049 44801003 802426855 258084383 795413973 563063681 391654859 78811905 385743679 968688551 624966629 510263157 398277325 51651801 190915093 861454989 141379343 810494975 562371811 33709119 364553153 120791907 336550527 269736559 370041543 816618427 324772287 225762277 121997099 851686183 278002977 275237201 460781603 310201897 821860815 795702865 848866823 901209775 681396887 449549921 863756637 259392785 366018289 224497133 665462733 497686791 32952315 905564997 436721455 853303483 543058813 765626787 662667897 649116601 441441509 379120681 574863057 792666613 867803211 317017311 300219011 602849997 835143025 965608885 715806209 928101381 583234745 523505031 593126117 415659725 582868023 330563349 635112693 91028153 266429087 710992905 106478875 754896069 46049363 598520819 713500777 433823831 809120343 689736525 909120795 603426877 680164701 608051833 316258711 903633323 67855547 53435071 135341925 230412097 332302193 64552783 760777783 249008129 744150311 401783877 796126445 559766617 337189673 555505057 946401415 265478431 631353713 166502989 415565105 368889487 211251613 159863065 576532285 460733265 308392437 515462079 351578153 668546415 631017065 878188001 386194839 810601825 761777551 344879109 198113361 921541891 858895269 571073185 725872971 810611353 36244885 422022411 319347871 183833043 356518381 591890051 862718611 370447043 342072805 419920695 324898449 437631721 710391387 307869493 674425389 773628457 806813909 501583223 726363169 345102801 633612935 812688605 868792145 268340117 836430147 887948595 956689351 547249301 342787723 102719527 945116087 42651217 480199815 450552917 139607165 935775163 218850053 612356157 287399323 442635815 61210235 896928583 271567805 538910289 388681993 572845767 971622839 263718241 9424761 665390325 36494211 80212449 415531063 510382577 88024389 371770057 666494043 242712263 486404167 498855539 115937445 172457573 280251391 610276263 942411387 651338407 532291845 416527507 937709 69030221 745529373 395589577 619944883 637986559 518028083 489984841 73593899 290192465 350402651 837510007 546684509 216897209 862067407 576260127 709923833 199081373 715436019 496925049 425747285 889241409 334421075 634155809 336318575 391112665 494055071 821552925 961021937 392009343 372436663 209805529 326435369 711449137 469955737 893757481 476286991 928230109 319518069 225966159 956995649 155055183 13697179 506489067 406119941 525749061 252774023 472354573 672169039 869041757 839583197 346461737 93718705 846076705 236414569 876781343 132334701 577309445 738126363 89201969 110671211 313819229 499952147 108925709 903673143 102799215 956727185 680034249 671136269 387760993 374126847 521188833 652820423 402173253 836697845 133546557 907480305 687102743 453486377 554579241 904531893 261029045 173167489 630295383 821192433 978045673 592243977 357294313 661991709 809284709 292850419 16646241 720960871 9610435 649799577 964573615 396057241 848719745 312314241 531161895 417338413 963409163 830543445 44446853 300809025 722393523 757623783 279524847 753558429 219174575 809712949 186163441 115950769 985160483 332472161 201489797 164044945 381520663 184761011 725114115 601099009 532701821 536670115 461732147 450313829 424269357 735879115 462394689 272269005 529633003 856364269 642510531 445607663 914469469 658557429 930623157 184872237 583224341 781638647 140677757 726947981 787014285 522423083 26327275 826124733 41663527 82772473 978252079 86885909 925445163 782012905 301662699 11410069 845672395 296184495 233800225 933023461 450464543 623311143 811094081 972251219 623149099 771420243 14633757 291084501 986458069 454963807 8881909 533447691 723233519 221876127 486481517 130729023 931066163 883114381 394175377 533893469 397986371 141429197 248528601 250234877 984279719 217913641 218446881 466959965 363436751 463482005 274011055 955097961 419480089 450601005 620330799 769457579 646391233 805091893 251127477 633232989 828890099 536552981 892817347 90547805 954083007 580727139 625446457 625043251 341713695 759277273 892912999 331833869 129616885 71360347 160846081 993961157 170060551 904956147 471674919 223817433 354529803 159457239 184597083 651192941 940087703 722494815 438187147 718693205 794864685 77668111 830706189 160282631 977116471 964161429 556333983 287018145 395491845 392850369 83492963 476747241 856313553 338056591 57275627 386176593 640467389 711458595 970780713 671774961 266302927 234570697 712650873 86100101 557259773 108897521 729762981 337555061 735293469 353746235 668226775 455099347 888962545 676721509 346140579 358355027 999854115 66815327 527462153 287928151 785865027 136585529 359767917 527655139 875332809 564401713 828001949 529427113 459018267 184542119 33130189 876913919 487616895 788225575 778733979 657066981 893758245 723346535 233270029 402555905 563437609 339856449 119014543 214296483 941419403 785295287 838711287 618152387 392419123 94879731 112299651 637159679 566626037 216781901 805978069 182982303 928229257 102873915 35344637 720968593 10360719 76487525 874538865 116171631 65035411 579004561 675652621 662513525 837229571 829016759 920555541 708481933 964563003 360649457 429768759 960094021 322850171 213243009 974769035 302482133 771571435 354337747 438196875 863718937 625773983 975627641 130034717 599508381 888631183 344642865 336948365 950332301 894708379 541822173 487281299 234767043 66325903 674898311 478477899 103335355 994333465 986761827 995742779 531157405 151388885 112361931 291156047 24694075 648890945 777587271 400389341 182557705 891377611 761410941 108852129 106124071 530184639 774894401 527558849 975632477 594444635 680830609 371748299 666787099 876698557 855533199 543479989 522413943 250678513 645239173 533858009 959749937 885512421 760834535 493241855 552906927 486319219 531279185 508192595 718769153 658302047 905274759 519917675 936676831 269209167 34078065 747940421 688591015 958518231 358705189 44820549 376785249 427909485 931623901 695722807 372847805 493516151 547898619 377352275 65887759 748312377 698611983 40417333 330922587 156472807 369358791 836240353 371912003 249786777 815175681 53220295 626990619 918114387 890017985 848498875 436779225 866855163 369325103 333634297 595677977 895243877 924615841 568651559 738935591 8009287 625643409 205152083 535345391 887188549 935208099 629694449 56052491 175486183 227817635 271191775 902966711 876144287 213409921 727468131 64019931 102198471 136582237 979952169 32211977 800261277 526951029 870188103 866298229 179925581 373454393 610565179 258466559 152151017 235098425 82705383 921186351 132391015 99443761 56420509 516698165 620042923 216317445 869152269 700236007 745258109 456378049 714723673 197023685 879828367 206024855 156917251 602609397 747725433 344539361 224276731 19964999 811923389 780774693 523035027 875938355 469734599 899002891 957039243 869538007 533135075 142989931 943918343 439920891 74772557 10978875 105225619 465781005 8332071 562290595 939344169 19775527 311081081 876820457 626222113 724839173 788759861 811651205 543891265 12459281 947019059 639587857 787663545 471489369 836382773 58548559 45144349 252297619 739999461 55504427 135648873 619270945 735648211 967197879 510558469 482234887 982116985 675323441 667599547 883432953 736734265 492239353 927819713 861808969 727959899 192768669 770642871 830677497 299915793 147086543 74337439 367498415 243378547 22463083 319821799 170354109 115679875 327952755 240726885 305966615 500531499 896664851 10745431 708318813 896311611 781040285 619644001 388798423 99737453 188273807 731047055 717296501 161853027 786108811 543308889 187338957 816480677 350174555 501405851 815884575 258916515 59204083 513283737 44090449 374369209 650285679 553390339 101885939 913583399 230411793 15510765 616353341 82585111 101512005 89055443 687574285 830129049 509553311 432250779 610048235 977439143 263400409 892423571 331365381 469337123 207317719 746030447 62823221 813458899 680366755 625217357 898294007 877532013 505177203 230634419 970068085 626201223 996932767 773004429 553765499 154459299 639547819 662993457 500235397 884916777 880603971 746634845 109670317 417318253 215705915 453550899 615065535 466553255 615083661 60479045 800893991 374508025 404380765 103852933 567411965 586366057 688148215 870651983 819158017 436568813 822124747 394433643 608657819 96492121 146851191 261148935 93993943 678300531 334112959 600810421 41007983 916317667 516473739 730321269 147342529 743995705 277273329 375994795 849893591 375308269 816654637 824889637 769240667 558765157 959261343 982411543 326271145 483767269 276185299 31372831 352436927 26146211 16070015 547431747 176500803 580453299 317292411 849452783 439167621 499656731 707072973 474992633 221598589 943143875 41766559 543469213 435075273 665864569 763429955 101475201 667503793 786438395 791884853 367022259 334837027 73739751 663795227 702086313 166535353 749818057 904006843 497090877 112687535 913832975 661571853 230615225 916787951 241592597 430523691 821921989 177260293 973173017 467778389 786994041 726531373 513329737 588652283 779583571 9813057 71529137 93990831 913234231 804632525 999990607 223010345 279970161 357260541 525528321 579206481 678142649 450560937 224071569 911809327 385622059 80302929 809468083 31902709 737516877 259153947 767260923 316375811 418032393 181530585 390282479 790352345 490242233 44715775 649550837 27798819 265808151 250248109 466383713 53253557 256667977 50537643 494207337 602917255 799004637 595488361 758131761 393871553 27826119 51566077 847240897 999143083 582440807 452815397 671714315 36956345 509674879 371210315 921863145 987093383 723912253 634915709 816019993 688024023 195050039 130805619 166698313 826378645 947329897 487919499 12643333 479365845 545470011 316782541 497432011 954702545 180531831 302292967 279935479 591289067 58190933 108999731 500824281 288395187 935114609 541925037 321454237 434766295 391386575 238873599 820783709 274936117 607475935 994709621 577260827 208830927 33639027 409458955 905887425 256775889 102282699 848859227 867086113 999769487 367564427 884764081 218351857 691052675 5734337 22958585 694976725 159782481 866282209 112635595 210368597 995395269 272656585 778445671 440263395 739287503 832360639 988940211 32593623 331200141 818714479 305279809 447222389 282395203 868951023 654842949 869937379 307932505 233064123 980408479 849295155 699479653 363551929 863586519 747515743 894500129 25945657 579541277 459924297 168409969 396698091 687179845 48359353 310016609 698488817 35699923 742727521 950434081 695016141 828709355 225652185 882992657 124899437 234160733 454277283 665228719 216023847 25019809 446216745 779576235 283364537 246576853 349134523 596206549 144319815 611433407 547899283 839039273 478342237 651439571 27022803 797241549 508189683 167770915 137414019 488897799 169603429 351816561 885424787 223864911 587914873 947329317 188973535 320062525 911317083 534513741 137870377 244889239 813553823 833885087 663865621 626495047 320375877 733256573 554799673 440302175 116148403 329008875 948482575 787127581 790612659 447230619 649274099 403787489 675384699 363498979 540234291 595338553 801576361 812046787 788986109 890231767 319347267 656377825 687936365 603886997 364673975 571739023 106047363 98877305 643800279 812737217 368439337 12713901 919639521 302876439 251839535 878345349 709857661 404707033 591400783 643856249 46392757 854974455 622797611 472822321 674560769 743928581 684915273 921633653 546257213 213822023 227390239 273820729 184337581 693473953 165463299 264124057 196460801 612978851 979835191 616797911 303190603 322407301 665912291 633793631 978035211 602628643 970753819 702317763 346618917 66180105 567908823 613246145 240705511 757324389 264081143 283910971 283243781 812753675 234696775 680767035 296712861 255468925 930103669 184243189 437543477 439060963 499201821 356788165 274699961 586938377 723587007 58813741 325610879 327392875 707457221 462132955 10025283 825661731 723637629 315687837 995826477 925577981 674499621 600246643 75008455 178818661 142065371 739490431 737910279 402774131 722380459 6629901 935818829 365186023 279829635 383138701 177108315 10910247 252587071 582444957 908005217 403514947 900011935 160174847 950138609 135544819 76209483 890636193 307444235 740395669 315697623 141367699 111670545 702531633 989060283 691062289 583535061 281303671 204250455 702783615 343207561 600321469 82318325 675840871 480366795 827381249 256754375 506132351 922114721 533356525 198813927 941888159 806941557 641316303 196339541 617369293 483497249 383364255 569921017 816665393 879017183 412550907 959266983 706970401 160882773 255660585 497891861 662718231 96160913 632967965 397757671 238071737 978745097 591006057 672919719 359248589 739791511 401653327 745544387 199925323 714582659 699994039 456182677 475282251 627519865 718434093 971923297 722778899 781240465 874218221 488308557 484096525 889434691 794271953 624485485 604424907 759379321 220316003 190384823 971981065 356150909 731322579 107859983 844941485 770692103 383185399 797476669 903560381 20974131 470217551 109578483 613985905 275694469 542468099 579142859 859712547 903317997 120807647 966399555 461852757 297782717 244836701 685067719 859845297 637147829 425955483 246261673 212482319 650123001 448028257 586622751 858758759 212778007 574733853 559123277 701570011 125238787 324986345 969804859 801877945 756843037 815668099 997501403 498476147 648638501 433362769 194969861 436650917 549811533 681451363 812914301 408085265 487130409 685149295 945599465 165274019 134148279 293846743 463930075 359857261 108239193 102517153 981800911 31635373 290728415 214642555 12577569 757379523 711730559 995592125 463420447 675396159 548939989 429753703 477264377 545312463 316557541 585632289 535000263 658875473 365341213 129392951 559500429 918718407 556438866 551442597 110439473 793562973 335935173 424301061 636293765 156188007 871563543 981647779 226001731 82807647 730034775 214392169 795069453 177279719 328310521 254072307 566017899 235344591 449220315 989528447 204542415 125115909 141866049 16324851 758884497 507800743 224794331 380063969 281720563 931191031 361161917 167537277 330354975 198730337 658030435 20665511 773201189 863398521 234221235 473622759 905348607 383614969 466504189 715180139 310538895 414121413 241779441 470207245 970753181 273280489 451848367 728504905 324453337 409239701 947603645 623898185 10366687 584558887 531483145 492178139 232255535 377874211 903424485 509360759 911376179 952821553 208070927 906910009 820836155 979717671 956086447 635804141 842496129 178901505 582674255 54554367 58208551 451094239 723625959 893005193 639969845 653156365 292629715 960119367 941586587 597238017 736037593 942835361 627945525 711449683 492166691 29537193 406232771 71124169 745691467 753952531 420149999 99221579 522244171 694635071 630683977 509056241 138215817 204245303 240394571 152933873 815424723 9221031 520343637 177566385 692385373 792035815 646598835 493532605 114650565 739777013 290195091 248888775 326368529 711478909 179565841 985632425 36234157 347521481 609474349 2300521 907155311 575946963 678714577 916383281 195395475 146249785 658786763 875432787 853022657 790891843 169842393 323693133 781291267 346376415 174416027 29497279 947171025 325503655 777562263 626062711 324062213 119844311 715480129 559864167 28587497 6585945 957702643 862056617 111814949 505666491 883120109 463040643 211127505 684528181 258830169 839986015 490934123 233525667 162780485 122709969 206492119 263127697 33825199 398797201 780550755 575996203 950597749 214646919 360803779 481511497 353197667 619812283 987247637 259148909 324376615 816383073 739448799 270316729 941750109 134851285 795994379 12420609 833085315 484983193 897890291 541141433 857580295 820498521 156834897 890639105 298277943 909473513 850863693 132895649 947501643 819535939 163240305 901069577 282201703 863357321 843983283 266708303 5393045 20711177 578152051 990395955 65366723 68009271 483772275 285121563 761297869 751782827 270349281 48370967 14632561 92709929 34465619 328488927 102351963 743119261 389257415 360160977 310767901 866662171 947430305 532203253 318259503 788068573 974461613 161808123 122983665 845821767 406749987 137183799 663942573 174915043 12698527 908579757 298812053 434335335 703223077 581555967 300906947 884247979 390318117 942528385 840600885 970652851 345612657 493509929 94255575 604232107 756114249 538158995 149630075 484880103 824713299 655582987 949078231 828203491 368601751 463530877 899054223 30432831 185921169 407036801 903527979 268187335 248150041 677190487 539004445 908561009 407749495 442406375 983960511 892362069 630610519 904147389 447458383 618394553 285833935 969435669 516491257 72939269 531591771 581396937 330421967 40873167 837945571 176676963 398664647 517009363 547211185 203100947 726250949 542130417 212204669 409909679 413329553 787397173 875559009 129563575 533092317 190846933 392060135 990818129 34539073 646236457 587412727 588502093 232629825 687075767 619088363 619353379 95541059 309016617 120161915 839358961 58375321 464640337 33271761 285769599 201419901 393282861 60520057 985133627 650373393 399801821 450572647 115777343 620630877 82671279 90918137 811307847 912753235 914896149 178841077 533071293 403658187 8698793 529682055 389402031 870292359 344690993 229587781 76547283 638119985 420779927 849370155 754022539 770108505 337325293 355806623 390795483 881661819 957632625 296086895 409549685 525905139 155456389 997641681 194840241 763302159 979522225 668436575 375115915 953433087 810032813 195181857 408712619 300503771 118293843 383720325 836261987 150314661 771276965 183877981 699318695 555632967 244763599 746673129 10915863 969687185 625773093 237632715 83456763 390850365 533632545 30712085 447825219 976963565 612965989 649603641 383028869 843017257 748053183 458360597 682113537 247106913 188106019 924900589 733120925 927637489 131438759 885566065 353922793 872310297 365427349 889323187 499930653 59906819 745460051 259924019 247858455 348220863 342658935 153546711 929721949 203150407 246817467 420417513 158242339 163317373 163853569 521721631 924948795 394350887 85987673 832692631 725114409 900822267 486395121 475721687 695981071 954992527 24830503 92237771 382210497 825282149 200317309 218564553 120516277 836503013 921527969 254130575 798078471 598835299 330133859 889369919 337414531 22017303 505897151 599674473 235095701 863965987 688915417 295686403 182519125 962540173 408448763 982941801 501898627 847596363 212780699 760839775 725965191 611804723 390053457 76746261 174033773 171307013 987971553 467047197 31383535 630314095 738226745 443617399 677351275 120178431 220677737 518923143 163829995 426530351 62205101 862415643 404256025 42199647 472781161 288341607 315026257 330848987 262142505 764745225 557640849 48859345 559177885 547578119 76642431 882210397 72068005 298632653 405461611 225997181 916115519 116502319 117946445 511823647 72788635 487312751 707943363 8249361 969460489 20025133 816533267 797011467 409572103 53042297 388467249 129248947 355933237 60903881 327066543 515961485 492507489 176725751 837987793 441713165 27907453 747406411 653397369 27443853 146699939 909116275 235030331 171797325 383485209 812675201 738324557 141240949 855961161 682120435 235503499 849395225 546722245 272555697 29681793 460914991 644592203 914367751 596371035 638433947 89458363 485562793 742574833 869704231 310210339 364781493 251687363 982593921 193984949 425435311 799409911 171299651 998433229 511497095 141004895 677890545 286794989 430418833 460017263 761150193 738981311 147697545 712161095 895021975 909438747 216187029 224257967 211393561 407341817 361132867 407491095 819715227 185455483 75415687 488848277 191044135 976814575 669789887 255193319 455600043 301365703 9981105 340719479 801241857 448529823 256308363 744464467 193154029 223352377 630193375 787890995 555274005 813889411 388158891 996439413 543054603 41389451 315751767 895415073 630044491 190875025 287103917 798880229 45772083 325126903 422856421 632952347 258964237 891477063 104340121 102870463 245019915 995995189 801616595 112769915 964889157 691229853 760499963 763168155 218377149 591244163 723089643 280792859 431127391 240452111 710063581 172575381 901625079 148993943 490903415 81163605 335228225 30658197 407434437 634004551 242382559 505659821 56180033 834590979 615736665 717695657 988246467 701846729 754682913 421610365 245113233 367337343 31446415 221801287 684959067 795476663 987306983 260143429 486763573 209009827 856011343 807695333 431293597 890484009 831228377 860160955 809555317 341777099 198135423 116564099 367374605 635303867 226299939 819218973 890021915 52386509 676795277 909309845 155033273 993885829 588427119 453233697 924759919 46903303 867101537 185818137 452736043 277230627 548721381 572079619 682771775 672120401 300129381 80233863 660904043 49510831 690404913 537616507 959273939 907904003 108737411 101479899 384562947 795705537 558635901 912252103 923181555 668024827 696890407 696543117 761292287 549029747 980613491 462474909 9261805 51764625 36648505 304197527 864841703 401239651 527927611 641344059 990884999 185925791 684491299 748921715 607417799 614739111 494500993 180392023 380909325 427651967 750774479 420727581 806965031 280656857 708005741 571675693 45787467 120232715 398480807 942503181 217782291 627784213 528251565 70431605 507381383 936522397 520617111 72734783 71532307 605968373 528522599 76862061 384831117 608381969 751727109 807307819 277335347 270616209 724616005 186381771 18386343 508814781 30830815 644973771 135104507 48746885 386279541 744876235 38732449 732449405 257575565 950593177 241033077 26045673 309089693 684920103 258470081 344123309 555032315 827845777 816317997 695982937 76773353 532495641 649630675 480384291 456751247 854971947 546320685 788031469 543602433 182415707 413171233 651851069 11216439 796637539 840324093 55350337 571909395 616414501 923458677 712567507 973345115 157980337 27579047 83947119 54819525 821335093 683765785 295295807 207838693 557124879 196365239 618960143 467468609 685487297 166167253 188808283 394816065 850977271 694679605 939152189 855410229 310474117 664058103 214227073 838598485 784140645 7077291 571637907 574545863 777769915 796586823 854075019 314658959 706785745 670439463 53554985 948591777 911015195 844089103 509886931 810719703 183233077 108349997 758203289 503441905 540616163 388471831 457037363 33395095 636239373 770232011 432460543 764220765 713972425 302602413 244866565 878727867 217871697 471763851 648542453 610910481 164226825 122461593 934698533 876245161 754951805 465019509 557831571 459570615 582051421 759987235 818040809 814807375 814647431 158603283 587908981 90138743 88067327 906691097 400437039 451773205 921074925 163841393 199378355 350255357 954756009 190529985 334901837 614057189 183086505 674129431 216736233 985129329 833867155 777776105 516074017 168362027 106446131 148733969 655833137 778585729 856629881 172069335 451409411 72758477 110889605 686848487 815939875 673528147 876948117 347374935 824075723 228254521 495146777 711964837 188598747 139185043 691304609 706707123 864314327 997500503 528315115 535778771 300199921 368131945 345535447 433608375 345402623 932766097 225655411 333437819 175142785 733139841 863881201 89221289 793868445 962937043 913214635 780013609 8965413 196533509 892190503 995365973 60940429 875128453 664241935 881430759 870856693 899914655 384050229 475843589 703829797 952036239 737678231 512532797 794738059 617008503 97640021 450302595 861660481 160081247 136062141 774288693 894560261 525559609 25172801 680608537 383517757 573849055 247088509 712946523 866902007 575220751 259734835 931195793 487803375 524032885 961547599 82871479 396011649 793418145 694296293 963402805 638415541 163771151 87626797 202694357 864429881 954105373 335216527 768987087 318856549 708265493 192391827 95638461 26277945 115308071 897738477 342410151 380748637 935891569 785945465 822409211 306320925 78232303 733567801 997649803 862994037 948729485 295218777 415309463 948075007 748406811 578512685 943982531 80338693 570380115 410804527 489783579 358281079 277788119 858743299 127030039 594741227 838499375 342040691 698032019 931265697 645598925 929704307 199957205 443714687 687268105 344184095 820376201 704762391 99448869 869098427 145384133 445138075 852451915 896763055 710229765 659158769 853298571 68081553 757574959 385096859 405454559 523034907 669322897 604689609 297235241 53180465 959833313 969388885 665834033 867096797 163524409 718051259 340328359 264554325 135302945 225637925 626312231 355987697 495072133 885614689 78268979 230910773 757103547 676842727 21461295 900649167 835087489 806609363 760237681 204811407 508587259 92033521 75919409 905843313 772679605 932651437 348782737 174669465 624087975 296657441 101245081 283016787 704412461 320856073 817984825 346413327 918459659 78210253 716053069 464723821 934779249 290125695 285208469 526976043 525873393 606821843 421362107 303854905 127244683 978240809 946283855 108118695 600499619 260469643 697787339 103317937 724864263 343596709 928732815 759511485 532776941 342579407 375470567 195126097 736370671 657296903 957567489 482265893 325347093 610389753 606412793 997864723 410869451 25546735 508971215 556970267 329180903 372623843 30083181 952528493 839070373 735886195 558510755 871378009 785142701 690118119 63066665 357317469 725612809 71759405 276489637 213365785 937351727 866443231 190172827 663713371 638719487 465162297 745191041 748850709 340444603 302311205 479991211 595550819 240635411 214000689 331679839 213931655 516074521 191603091 614506437 813073133 249528397 793568557 865340141 170836519 838060947 567864709 214679503 411384819 109824057 88194761 421987409 387159601 351058163 519880145 630753591 450395119 997948894 753575197 198130997 475313761 22567809 163498453 604389349 389924829 347973577 342237381 538435783 744114923 142201611 634539881 993714243 689448245 371374339 770543323 832280237 450287247 946440151 649018597 793308987 106790899 357740309 759677687 406962451 958065797 343163571 675773735 389818425 26484367 835291659 985682741 112012449 349285509 687319781 436265863 285560613 680122371 309984367 581262893 81900675 69223115 176494651 456943583 776454249 713287115 32617287 578577147 161069155 559222289 156399867 722986121 43471087 557349853 994548771 792911671 421872235 564333969 291007475 980546143 247950881 516856505 484483335 662373629 373832515 939585285 75366505 274131643 362894827 570760531 915529857 363278567 40852503 725687461 545176617 23303033 323662515 781912873 552703387 445237773 406258833 69173551 970916221 763507951 840674663 324234291 962425821 44057611 757807321 87739353 614420271 110765049 927162737 517285613 355930451 176242937 601582493 292816991 52520073 185784307 391527607 410707021 580960901 943556979 804687361 575876347 980834135 545442483 804728231 207237073 163515005 611822227 36334005 343019623 204167135 806523543 735769895 662205811 47695559 482256369 752378079 118026203 199048941 756583543 53148837 740949419 784344427 990381993 744706091 545564435 209167817 793949101 327569417 409593203 341603061 897815123 463129283 589481547 714484289 159084051 411301311 4919877 56455789 976707339 298124367 387921465 582467741 689104899 353009837 92445213 554485599 629143401 393051387 393250327 959500711 666670167 37976129 765237619 906501587 896383369 385071473 150972835 521191593 267304041 869195875 133822787 785115731 63142405 490288345 63321365 515680107 703936531 684691837 273021187 944155117 422376437 837732065 705596197 877013563 127391151 594067067 250768049 232329253 543459571 62967215 387739407 891767263 163456537 561745091 356795079 924967689 573957405 497097709 800706189 485991845 681331367 924618307 868787773 473244449 843454215 993665223 551582681 884133717 746918199 246422371 160586381 666474361 598587857 236218855 327247275 166165815 766171679 107510541 558983601 578919833 288917265 373233527 869039937 339894807 98576445 696638125 359035429 297394573 675093219 178993183 203186769 187447105 830172905 110180393 530967777 256006621 214571999 239428365 629131543 138910843 991344123 68387823 806993247 613280661 980928799 180416997 122992717 837414417 775339985 10454247 573554075 207017021 70328897 678897367 147227437 523863757 356063043 855885949 57235469 440436193 26949467 612952201 353240431 700410875 234655659 839276695 470337455 202925321 546421511 710386215 338499921 851413345 685226213 234421155 980925437 428094655 752512609 38667611 635837833 288967499 961854279 139888263 669004015 938093199 201029379 532187725 114221395 289514115 377521581 91659953 127538943 289946755 63703301 854520233 151555177 684115539 48776049 62695947 113105705 646967585 639126275 711717529 974284549 725465733 857503855 985394939 528313573 152466297 763116565 429646533 651425759 593064291 654514429 564332143 972614191 10458895 687346647 818547289 789569077 494832565 478544889 211857359 8963453 11809267 401229923 795803135 625237437 198859977 973983931 704340229 365220813 316735657 146303569 689265889 791343283 847415911 714293533 585341051 622331543 591859775 381640381 440489639 301370321 546139865 375731063 943619867 590451159 520597055 88457535 487385981 500465743 720713959 841191079 877036113 624333317 674838193 348517363 163053067 503856107 868259807 457353221 602525701 833881115 769382431 317696881 703602559 546059995 707814279 578645867 465968289 241463701 165681045 553772757 775277439 935505371 223684141 616961333 411454735 691804267 342965405 610339769 290985013 258832421 508392599 810198073 139315899 243692311 982696253 360603701 920956495 74235251 247592979 516374995 27042187 269316757 23246341 57595621 640754419 917105151 983322215 985183711 421507053 817516125 585586681 795155169 412464589 153802369 119010273 610781363 15647433 935285353 620419751 603764165 544489223 50677303 955724615 588100397 647766923 501710133 201981465 663583657 27973449 675157719 272598501 63657635 769309721 541041081 361668311 613240617 545561535 538106525 43771781 749752051 893932257 408172399 196029933 869109087 543369233 16382531 319948913 325355125 400600779 481850451 242937571 1147363 654815853 302664449 359546739 478104067 309053249 562706651 938445763 943767249 252816249 79714965 810703829 826348791 698602029 855461383 492296473 5032641 50550881 884827445 959132513 685004075 156644859 249488715 870715373 210066127 918953165 668381597 985379425 66913529 346076561 782763173 921950667 932035733 519670505 583665927 960814495 240553275 729930333 40416909 275077307 275185195 149709151 112640301 260453989 258644811 924505671 752331263 235185993 34625067 961465689 569047111 463950973 248822531 191754683 452106867 204289149 60449715 141137023 690667283 302003761 454909631 632562079 982480867 624766947 130719319 76656893 197860039 54265929 408107861 830573921 979246283 775502723 27780663 792639357 182401823 559231507 251217443 271803113 325373985 651090407 335193065 185695527 486061141 892902231 569667841 972290721 883361637 369629723 154427527 366306215 320663843 94319709 754250311 286575987 933801611 711280553 903654319 413969703 308399297 677207539 58300627 596839627 26207249 643157657 824153461 394778193 927774445 86071647 193466365 191647377 216609519 615969653 349400185 56596045 9145821 139204207 577367455 669983535 261508769 458393929 865956303 787658439 575885901 897111913 599166995 508412303 935500575 877875101 963092759 27817959 261148535 356427033 430326323 521522459 32235235 736739453 160316007 297916507 670366997 247266507 233716569 598308799 345572071 363246705 59980379 943119177 168072031 116838981 726852449 77293539 511162535 276817539 988171 420050013 716122387 167410131 816853153 7824495 353361947 853055039 987452179 653832639 345601895 408002111 10022901 128545491 321766847 127392687 139153803 474394139 30180887 741043923 970569401 110849267 367042187 428329819 877326351 774203035 479931229 30503769 106971331 845319485 332979193 568769613 316416951 90937577 493499889 327741467 291153009 228243095 958913027 473903633 65080863 383784749 882399505 985824739 912564379 434420335 358207781 862877359 963764577 238137363 99739251 481821691 84001435 98089647 988073559 197781683 989244949 317902531 449111123 167444525 578191947 55569853 203256083 822716197 711186775 734705899 806586219 255599299 655418883 316696197 742375765 788767121 354043583 457829041 801362677 867677831 278978723 710431859 599545749 408150015 599503465 522417345 99696811 774508225 586524031 720213871 275094735 626658043 612183791 396017219 811199685 376514879 279430259 128259043 982779003 580014989 175504745 335407843 330393089 398998089 646718425 686677179 179098259 855314751 154098035 411348171 699771797 147033767 790508173 595523421 585934225 567425565 127504165 404993189 830479677 89900967 844146661 336487351 393939057 926607537 645610779 602526105 319509297 821733135 625046975 903560241 263221931 535340033 164831341 139751763 951446575 936330029 289210481 146846133 132884537 214124445 749362359 376677885 500854637 167986887 163655897 829242799 954973591 964809611 478139411 193950783 800338089 28991787 737158223 243474951 973298621 281972309 856963353 479051589 909414937 720776223 892129451 981055269 431248933 555766021 504791269 750471865 455029369 539093999 878338123 364481527 664158923 743982377 238044943 378806979 660920065 376720229 943831559 402904039 18926119 977523397 942435763 180916753 426589039 597921739 180646713 413258971 327122229 651479655 405247851 213093321 25723897 976794349 948128189 129712449 619911531 627199257 57737551 829834133 921974621 893615889 322098153 444298241 570544839 377715297 976209657 188760481 439756497 807208707 592457881 263294597 50244547 914037327 876295303 11320471 202832913 870674957 68022055 335323831 488457045 890508137 55227533 543244705 997009237 560179193 218965359 247397121 416024827 567950521 556247083 70377065 837136731 964221199 547349959 693510735 627070127 98195403 959163639 400266519 676611929 312625181 858500365 724159497 897950951 79850663 242036491 844660823 141555469 377625195 78084249 890341401 368581793 104437207 422624003 197991761 983040173 957496771 53920323 561741545 670859607 363255913 401352185 901430193 183686387 424577133 571724905 898152293 856498431 780702177 100416389 280126881 909962013 619889975 776082915 849334003 446122007 975825997 973965763 395155915 759349987 225609577 279896075 733788545 43907481 731749431 125927757 700626263 908036733 584269003 935984827 328445815 385262331 466658981 765396283 779542001 402725543 489711531 368202319 657871807 689081403 711697191 947817767 617700291 714185883 61520591 868198813 594867653 715648467 421208515 217419565 241752951 950672915 166787973 380930049 899485041 925386425 954619651 103014887 447068213 208917321 304434579 245650773 343684395 854210155 718440947 558084205 962163113 268549365 788433733 206378997 655340515 382633185 111498779 310205019 92904955 70618707 521727335 551379129 572096253 206115991 473562501 5872587 180314583 463584543 449356607 70731513 684542053 794128517 15226045 194111317 462577255 899333519 1911449 432101523 151888519 669422629 95344845 403695635 671544661 67294301 675946943 340188639 809054283 792418163 521389373 174498211 736724681 111280327 216464763 659978167 537453851 967438567 393009687 829592089 232017263 633686659 975898391 718294899 111307489 549581691 605251047 626228245 918879345 596315599 481771613 506752241 947129865 414687401 437973431 373039277 667464057 150738273 164395927 115962507 571979131 822238829 816808717 181716859 370626735 801464437 200223119 153340695 619837087 749819713 300956153 752050331 75103423 787560645 4353423 497581041 261543781 196946459 401225471 326766247 829387985 314947209 70155105 733847795 980973105 946869881 751284015 273090231 819063443 358082687 477726029 791816313 926459887 223562323 675801613 464509543 175521835 216162269 455841825 286374233 37600779 37109285 663737255 171385807 646227011 928503391 46047013 985477361 211703405 495940327 474230407 308534667 798652425 576351295 896271393 194531095 15517567 163541523 602374069 697744053 919822115 157561911 140124515 25650217 790432301 606416803 409329339 682091749 750355389 7518591 321735091 209149695 825478621 175676435 151414693 43494967 399249023 571119061 707365465 123396339 594290301 176283227 966833915 843537731 5901973 609417583 642056481 448202207 530292341 13742071 511354313 528336677 229268905 668435721 91575383 443251229 374195375 167102687 202533783 399508341 462921701 324529629 961644737 987730567 393685141 248098189 533612145 443423311 756839921 254098339 327461803 628454007 622626323 538260219 781190879 57101901 956619513 451875993 785010401 973957063 25554833 723874981 848690669 433627783 36670119 773359989 18547369 899109587 96104953 632811651 794418467 581725849 777815333 430242163 300459983 961526897 242785973 822980369 425607819 552235675 841718043 727636045 319487901 576016383 315337135 6857031 745610929 951918889 293129141 739833405 55280605 4903251 37266259 539996831 803961503 330269533 43960987 529356285 364994777 220490443 669098631 337025811 887818715 711685327 636484089 139970759 566272859 186240319 4280505 577361695 854557813 325086617 695043193 214038611 18295469 756651017 738377171 172514235 454175987 852429913 96940357 769683165 12362393 778566401 633197115 332764771 466081375 554064933 788728325 241905951 297281897 241066629 47402719 553113869 379853379 517603479 286511333 611453523 845371367 110905197 485084453 236679737 778405037 108076491 208612495 276341809 272952667 413554453 609454843 545332955 43443745 398742617 872292397 189113079 269860755 940052307 396889291 360814193 52380589 778703711 766819687 863869275 233703127 745947779 800492923 931593971 722805979 636658289 810524777 199159961 92487151 129287551 37724793 818122971 238137267 197867951 746406875 628801643 872329257 675706275 203181995 497300261 890472639 731580333 334766315 815880971 700401995 25662149 22290303 975122249 335629579 258435979 37320511 430555955 737104803 201926979 932384479 702949697 862890015 746330335 215801089 847319067 388427767 268976629 583734065 250022281 298811911 968023491 862541023 325199231 568766867 827104307 361664611 64696601 729062731 874288853 696440831 50424729 415136323 590669275 11166939 480914285 356373751 145710377 2262539 489657635 209211469 954681669 355896199 895859835 612293267 36168799 574197553 323279191 219684477 71508811 806988753 824310977 712182825 679019149 404290583 370148847 815200797 120745287 301123487 500456761 982017093 690602061 424378345 485529891 555571447 328058131 914026335 845039961 528496113 514814651 713352785 653810095 88759125 639333131 179245561 467711777 189040821 558165873 749892983 120017613 24387585 961772037 754987735 487191301 646842523 252643463 549729287 425034807 76266053 344333661 103965667 867469315 311548974 545046681 206093611 408430631 841034219 294829807 288739207 596156307 989688441 528883391 281667723 92015959 378002749 115550481 901027503 954872239 724606725 811227285 619772499 411102463 413787397 208582817 601036995 551916755 201105883 554454069 171965741 121958619 756451469 969012471 113214381 929587703 945517959 299871799 437792323 518931237 475870623 719204331 413016535 461575829 991437073 333645749 624573757 983678103 631741571 891047899 810401325 153084073 618769923 149673549 453480519 941151851 357233159 153385375 829437461 507090603 112951401 967219221 377224201 280044633 840818035 191414929 85930365 447568789 907262669 517186471 759573425 253763231 273016975 957566091 830842061 808295137 946995255 244634143 24277221 947644915 590505897 575207911 257384687 226891403 656474161 346622231 960848849 103425425 423854983 200954753 252854095 322395405 652844231 662211239 795891485 26580275 383848821 274314927 446049237 76996445 979973249 554418025 273420277 133805329 11316543 552950605 376485611 130099961 579122283 370684539 845506051 576696809 362389291 100733879 14763899 349985243 489213453 705128307 632785777 716691697 227865093 607904451 839890671 65859193 474382707 285352555 22956263 504727525 990499097 867076559 520030513 265317841 649088293 18621439 279360401 496380671 511776301 642106547 220491949 67365211 892740653 80430409 123298585 247418105 436174733 600276425 80195659 375324435 824194583 781234657 450054055 695766797 410804739 835253225 104247669 187609457 707191533 595160035 750275047 785555187 934144729 818747505 998802965 760789871 404430135 909252071 592872707 937105639 280544729 710596409 642409623 85192329 978887167 518236425 602146979 93987749 302470989 307511453 104394723 796055735 737016529 422809827 742679283 857620577 115196927 274555251 759340387 679759475 985312181 201343373 433307805 614026971 26609465 846196503 262017281 138613943 934773559 563880865 590809291 537492811 230217413 634094947 199409447 393793279 119037535 339165245 164117797 548691049 755161835 361463987 196248255 94172995 149156023 264527605 107835863 580752243 126461561 699882973 418106165 980222975 123118157 823697385 556825995 402374175 98864311 36557375 392536689 99887147 956650917 1037231 919554409 239635113 849484653 970972079 777411293 385268545 190155213 112206689 934272797 65313225 395938025 10972299 620363621 681236285 811034701 175532187 443099345 323860669 290215921 567054251 28589423 759924373 652299569 916221303 860569391 167116091 260031955 250257001 317807849 327349321 103409411 495022735 450568031 353094015 74180181 134371487 208931899 754061261 305610953 320704761 403278093 849796163 503705541 986970791 872430159 438950687 458930195 806870101 340675171 42086081 470420713 395087195 793669263 88710327 68399333 919985849 63221257 768579251 15335181 127802901 47635175 675880337 930872781 871439551 967456555 378813011 408727037 654667439 525169087 74440483 522730453 11733381 930839923 272982617 458664447 455669637 465370625 988610413 528683141 155759775 440338185 598113793 697320415 361900909 755500311 533209315 335897065 576603181 501143193 371575045 999318759 94796229 62585579 906504835 776272521 427917509 13949773 47813535 946929377 851987043 585012713 361146821 564167023 886901633 737533647 562109065 393571351 753588645 34829049 381420709 342734375 964167677 886926151 337196795 147564883 969306211 676076419 540888985 916599481 740015187 610103649 73896115 891953119 549826551 452346743 777473439 955829169 21421851 568921159 921824743 302386053 428279353 974303033 975600689 274164759 423285105 478767521 423545171 425898639 840293255 327166903 98581831 793705847 876025069 21929371 938450991 30940101 337094841 891918935 467387739 665476057 541107627 234400479 175961657 550758517 328639275 656957703 38589799 661960135 581040197 44107925 66215849 760062567 588179635 937340465 498971879 719870543 653581779 907886697 473964343 560381411 892723117 684003003 951606227 390732533 311259633 768681605 900386847 489149367 119314675 753561619 414052005 656317383 528223415 129677715 590280731 947996971 221642721 851313695 792539225 122584397 302856897 782274747 758192485 776438279 744670285 536466253 45440615 618358419 165301031 950580649 233097397 550275223 275560085 880466567 171893451 254580001 865258885 557158535 241574217 923622823 597401489 682083635 253142523 279415555 562416629 140380669 661868247 724024957 808977049 818064191 347623157 247045825 493239567 659931447 79275931 630634725 57810315 589597459 385664307 218021223 52988911 483704287 723609167 110552363 540484287 547359641 810603693 151925885 863214637 407557151 666486829 196797461 285804815 816815163 342741981 507414031 48344037 73474207 215844589 601715439 777063893 472823011 480559037 44852901 663410097 639723659 174270157 56230275 749644523 233847805 443807689 14805321 708309161 593454475 937182339 999079963 573398701 422488177 361815033 442275719 319394919 534519757 415910219 895774593 207114225 871800233 66580679 842357607 739140871 137107447 698426079 831356671 664184339 894960015 780620591 242363253 2716963 42650931 223680377 129497183 13834479 183637133 956717225 303102651 308863445 545223471 891773905 770661867 373764827 692371343 126245679 22753471 170913973 972446225 222790949 974678637 724868789 985347069 597145917 621593489 928148445 501908101 816584491 146807087 137864661 806384065 558724555 663246773 116480489 167622067 903637535 304369145 601702419 129506117 871535187 433718329 601359859 807679303 187189947 675334937 352457677 922110837 999217361 460911783 506364307 98377579 773667385 500682583 652639195 774786487 174298045 814190855 952178405 710408393 745314897 926858235 866983831 8500217 913173009 412241891 274206849 686302857 217611583 478422227 760213723 460518051 846980425 814879303 978242435 805360727 374766015 785087013 440713729 358823585 342971741 214020539 811637125 168704605 703682823 864325823 552367589 97418585 899393223 527799371 763179679 610128197 240625361 683197415 945002461 632921785 60855939 817201793 818708333 342237239 354350939 329453931 858072005 632947497 159556615 857778019 852919559 962958559 141153117 791849873 159915001 859385747 993666899 101414527 7522057 999945061 267124239 436048677 26331471 923276641 614997211 66278367 613497229 971221623 295146797 192531825 657516325 38469245 340616093 112407051 237460779 284204857 232159985 899983425 334864723 538968915 764641555 828725263 244987645 855925595 998572565 533119451 146627635 785038027 546771763 690713459 664514207 166802181 63075281 405608715 285730973 927367759 875864699 893047873 787207211 108910815 230921699 852883739 354714607 671130569 454073315 220943621 628963387 827719699 677412993 604218325 965294593 289310629 514232039 857071303 264800741 437639759 668672103 32195459 815333165 370208459 78752127 533060883 711688905 722993081 787295439 510030575 839780431 973459621 942244901 881524721 383904509 992538365 306812275 997709155 604897981 681774877 591619029 367487469 854549277 57747781 76398221 764353191 281655379 560855197 95403525 383318543 341081153 657318969 931561685 150331145 683396973 715646481 667448501 248620003 741886981 888938501 696663431 732317009 597877985 763560671 909641817 128730481 198893697 59033427 389173341 959619273 220579853 605892853 500283887 641649475 495263825 587193163 994023313 564196665 825125575 708018363 729535727 519868517 684400783 177702809 732158941 158780655 533355885 247623965 622356309 550930017 748941011 923221607 750920827 9197745 26002135 384084353 459873177 253041983 801324857 309913693 349265187 276045261 523821663 641773013 201792181 880120201 591484505 623908009 128158225 237782025 856567263 371559041 542813219 667840587 743749967 954690801 7249407 181840819 656546225 321204847 503672799 943424781 3481523 448414047 396802599 991330705 140427439 865838345 224039521 469008859 992268705 224167585 46350403 175075567 985131571 308266555 929649317 618991933 183708595 777380317 736421003 933503383 464101911 909645421 851485731 778402877 90360065 403366077 821958077 568828373 977114807 239254665 632749781 193018471 911905575 904669551 201186575 928794735 113350377 197493753 282298677 578705349 529139261 507568281 993579581 506622641 664769035 284546727 636313663 48206047 559879903 214347623 929170817 591189605 288084979 327239423 544419179 160623295 555472423 597694337 517384083 725211605 26286847 185322473 412752053 568357105 769553325 446170899 444191665 571996107 656469511 16354511 146008213 670508413 559668107 214663879 140130705 879685009 614534755 369485211 943221765 951824623 75461727 248226247 270137711 776114417 299956721 815616695 339117183 49199183 562502973 877626299 287263749 815087155 602084617 33542415 988853247 260064553 820634053 681272017 302210701 367810597 817643653 823671307 869410045 813088645 574397965 957245869 697650369 306965519 538108353 138529685 243919987 213248495 592683183 302805375 227309273 987223995 590481555 102979607 432744925 636479343 216609479 298306541 885413779 184371569 359756119 301716603 146778419 381885327 22565871 170929955 171648549 31764991 223766759 234332205 719348977 706873947 367326783 37502409 402986571 48672427 351619231 283906837 766794253 716324957 408178771 222391053 711182909 291076931 153736789 904486301 609294855 619105435 206589765 945489557 411502265 991862797 547696231 530063023 915760339 941701285 334859949 770832011 421688567 390466007 437234605 411209653 888942319 733878913 493982885 96678301 346755247 106507239 556548479 941887643 128318291 69598905 164677577 994140913 768786461 949758985 678364603 911000009 390166905 107404375 761894195 557705267 399318523 841539721 276413625 205059625 345339741 97858791 682643069 416376203 567400323 616018989 588684115 746004773 847611255 91536499 667122621 775785381 570472557 140655681 308893923 703378087 613929153 785818499 168507283 420071851 773355255 393473167 721425219 831178011 239862967 585107747 507209493 530138439 623632343 494964065 410220239 457879401 77308241 935253209 27396063 556063905 403332681 130834305 454174813 963982075 230719753 300794549 576669193 656836197 119292423 241286201 490460489 860731323 42812123 161085 708336175 620361661 484116297 150953299 358943599 599254035 609887807 207721339 799410537 336724049 645843661 183005465 920551205 977071343 5904175 520698619 848995667 468288077 317326793 447043669 597409609 792763319 815691815 281820613 48301575 423998043 879610875 166115409 420412211 397250133 838780959 697053283 785755165 71120293 677044121 40199893 89515195 276421939 361702033 101781987 561055919 512938451 112247647 108248111 439004223 340344637 257695609 445803465 826588507 452479249 291554437 14066983 767490711 429813209 878068047 31691811 537680949 511365641 888762569 82667781 727379741 527460085 3516685 647430011 54080477 581021667 957611105 189271959 755100075 108875001 311066671 553885911 827335017 250851403 201155593 907346211 212644507 104993489 180501165 885352903 282356339 655375211 348885755 618724471 591023817 789117411 746394369 369600081 582500633 437959147 465198833 415089369 587682187 411226653 549311527 178174719 416380911 169406711 808521253 178821143 746240189 671436263 31822743 238530269 130334229 670240313 258922831 892221047 465124539 478331435 326285643 50693491 950993697 674357723 772960685 262042309 28000859 518551635 681935807 293967563 248510765 263577221 196722421 686710859 68990203 918199371 861284843 898495857 576190677 980537699 543165795 119235795 49383027 572771961 10371401 350789231 665157427 512171039 927382447 114401449 364039453 939923915 727516627 935691597 361982943 243904225 44187927 238790291 117243857 139880361 250683397 288347669 177528053 603220565 341800275 276483037 999420909 662503423 930056921 978848595 135093005 183676837 83996827 456299601 164663113 679474995 898682821 660311569 414757187 882555001 500587947 483591225 968968767 292849203 730316999 801131477 970935599 835911935 30577597 173955679 770050475 20936807 634221655 219386031 764100335 814472157 556588683 641479179 921336547 722881977 555183985 386792739 983764759 796075069 586370637 837453067 864902595 363011219 827557261 733487681 626704581 704370635 262242241 903424935 980685991 84973537 933058725 591061389 142965139 758340273 433221661 523509417 445109861 629213449 561543987 871679765 76986779 501552025 317334301 393904985 997828699 370989049 266295347 827264355 508901237 604138925 734553339 486298501 958511711 491481369 192328991 152253311 336035387 301552277 412173937 890478965 299335887 538469717 647726573 27327219 871837577 376482939 116944567 581641201 584535171 174429715 710298395 814725067 102987129 632169485 796255115 844175431 698931413 830695745 606981537 487027855 474779299 265704561 267922723 901930045 51501983 959215943 894712059 811571787 983612451 941589843 114555963 920022559 324414779 263665935 227489055 476035207 774507411 79055581 236096525 438905529 406271107 979614213 27580045 60406095 697660683 301012919 314954833 236705617 258876113 105799183 916113465 756801835 370000165 841340173 886222149 478697907 210970623 856280987 208957345 670045479 779303679 98843273 781994911 313501737 339991145 517289361 10430141 789913803 738852909 400939091 55722653 190414207 881859301 904639323 322209289 278517793 601084623 38521623 250429941 441843451 289114833 999651043 512314491 954622901 508972923 986998271 815813601 969316969 6398979 28199061 882993041 548728977 489050443 377081525 66510111 895826963 937315545 426683737 866153285 357658171 700066267 79645537 176772327 85902019 379102763 858008729 675902479 72540867 309007173 42567855 277601521 794532803 257550673 663581247 753677545 616817839 808923681 634173897 855636857 645476571 732058153 367197365 394446157 48672009 48442763 444072023 122534713 452590681 420242187 738571495 767724343 44820827 77506331 736982661 787534699 605364485 577453777 840452669 502854943 318681523 476695789 317635325 76139465 515998761 122649301 314914977 704605185 293670037 741635995 734214887 220973195 615105933 128620275 549672573 993656147 771848463 910483517 172265457 816927853 425631615 464947585 842313915 801680659 683347627 471522927 375711295 767105705 340650695 52551515 785440455 244447675 130109809 590020169 748607617 551018745 609650349 970563037 506998409 713158723 989247467 628979303 917391837 132024727 830228223 318128349 680264811 427888677 158246181 347626977 304025087 173970237 603461123 349382841 967902551 448287579 393295015 779735123 682157841 810294051 280209029 411530313 163471543 597536353 543687293 210519511 76027835 832804615 184237009 739620581 346772087 159238703 176102191 25803013 847343913 286776607 419289005 872408171 846440703 82878015 316931529 271985913 622437637 154222631 515215973 659419443 921783609 910347405 820194259 272907595 602437497 408458583 771133125 197244439 73872527 956986257 776779095 487704599 561946925 615700589 360914451 588090993 402932971 830976581 546634977 436693493 440844621 59711903 766425627 18285595 83141817 631725605 313255803 654861825 687957889 79320491 39744295 369445745 913947873 765244713 759267501 324026325 274165239 483895751 774668801 344150857 946729677 347487691 875704961 461364617 806402389 8090541 695817203 169444095 87426663 444844295 587603331 525911481 320776389 944547739 445780679 708123759 340445723 832654421 729672379 778105727 946842101 500323401 521160391 330366959 700807887 922853809 611825077 812012657 333318923 304399599 567050429 591128157 376138225 154413969 278062713 764901551 812168883 1366857 365522417 738904849 930260329 19920627 720463251 316517071 176601621 843328401 85638193 514391011 703398817 78491473 632368651 725063661 428628703 103990401 707542981 328226097 456589701 477654177 38720363 470859681 456973111 353870675 564741493 437802963 782083707 144240481 343687615 18015239 120924103 249057215 311224463 67737379 321971313 317547657 127161745 480760247 878687165 377494019 439542491 618857723 762830287 925949333 701816809 637962701 285725375 81573077 946943137 962068405 204533121 987212413 147386961 434051555 358625527 46805873 925854895 569419309 752285421 438536635 887737045 499911697 976528147 548590481 684521035 141859257 707986945 959525451 460212221 775427315 357294649 948902765 984974145 737290293 45180197 692423077 782427861 673148833 709035541 612975043 284863453 843267581 496363843 474040771 235671781 904274359 531001039 662172105 96995557 150927847 777267653 711241505 118702649 152123725 354510101 666850619 29864357 165616465 822498967 994298039 6249817 916140799 96844301 81025619 296080359 890502163 141066783 517966847 310463311 836357095 19203425 155091915 151671797 263394949 76702539 272925429 128615335 806289309 852400959 676182237 52817051 761336709 399396227 814967823 105217643 881705021 454072397 74114369 402509599 10000491 492958899 414050381 449446435 992504927 685292983 7525685 534784333 537268497 958257985 701768483 661844441 797244191 561152293 499955055 840019823 373344721 550486555 565480079 241971993 176471063 198726851 643716395 291206221 40626567 577048233 717955337 762270699 363093343 116554555 398703649 127962933 996502921 290930389 474747789 374603483 739533203 468066231 937250447 69662191 95867315 957805321 521879443 404094705 897615307 585334239 949479723 709888709 461338721 308588593 284713749 179312567 128104867 590675423 165334323 306935937 160696425 537174963 357558415 66728763 411832627 48077409 651441757 493914219 103973161 329672061 611247865 206536193 855152407 928730253 9461989 88794705 437970551 847206905 993805261 153630487 332607593 462842895 643856259 618693241 92887729 233515021 380224261 725016581 759444161 374608657 765684085 455182257 705487535 547411749 281613085 405414615 638467643 627871293 231076465 816971071 695233483 433509165 916120845 99130903 231578991 441452731 929730741 309022449 508713951 77750925 79212625 934382795 929958777 57181751 208741111 916332301 866026309 706364975 503732961 32547459 677928945 630958297 222378097 422164575 950009559 548720511 549239095 120241987 288683763 741055823 676293345 923708979 343110127 486187107 537129549 530941337 611473177 461529791 466011263 909371983 680770151 907692873 285738911 347511951 292914043 287952083 20383235 923494655 594688667 93495577 953703717 786150829 519266229 33634233 543817897 423413005 70076769 257999165 632529243 125653247 959579103 77486615 33002539 151128003 375053847 699659167 844513081 283736845 679497365 459841305 783811779 688653037 625703059 667277483 274601529 770361057 46799601 642439271 694921515 767928529 122070323 989702473 691377237 299638791 492736651 418984495 346271899 902479417 553001679 27907811 997664265 884908167 9537917 364324631 267701969 83774579 531352255 323416419 669685837 631045869 651305573 800953929 73050115 798814535 536373473 524555059 489646237 805455937 454372439 211743603 724412653 251724543 3560333 939868479 844311279 167719439 768607475 876637883 64021705 307088997 626364317 685255919 385654209 886816351 893676111 163551947 650714447 966388931 848400491 21729325 759957005 74457531 21313797 768841937 981751997 393947617 940166611 660912483 887586123 269463343 651230769 260493427 732919753 68411917 912162859 249215867 563634037 686242885 403378541 16852445 605725103 901443085 98972239 766517217 365101829 490358533 193775313 6012345 752572969 641097007 618525083 263290493 610176759 423711225 643095289 465191215 974434161 904487225 109066725 402653113 974990019 911551021 410019583 532336107 234282561 202049145 978528651 873661055 516421219 712638761 979367035 801923095 295202257 120254901 718214501 496034873 43210323 44693241 725657479 518539355 87580125 128763963 210877131 221226195 596881291 351003685 557604031 694414819 384976031 992613841 814757787 970512053 148657029 253490105 678339901 531328089 790564561 819495107 189464109 694359241 763150397 613719357 217529497 652974565 335879085 60477915 844090203 563269241 485991979 141718205 566993647 228384563 808581869 56704613 103558783 307344303 558654539 841980097 863574745 772466029 684624585 769215527 528702835 291548887 421955603 378543187 750894447 396272189 305530877 943997805 6360721 634355417 271166337 990549759 707424845 381672395 293306307 317709569 963568821 610484511 589831439 807492301 484365707 319444163 320400853 30928941 903699253 577727379 190595507 61577801 295349189 681214031 496589421 239808187 5175279 514566817 287967979 709189245 878812179 572859415 365089859 556573429 162606393 913815343 361868977 854321903 891825169 197599817 359532693 226635171 455884273 441150123 545108859 981980589 682677207 456888201 686287129 212708371 488922477 973519613 535189063 912584001 532580355 607896839 972501515 408793101 824238987 945522319 623573135 57221299 770518953 707319913 911597605 986946523 754457763 937718349 842464841 929108879 774703209 789711835 404470433 145773637 477796751 144876447 834292723 432965597 322593367 574400519 700505911 11395737 697810857 396907629 157740167 93399079 250501651 59445781 66443299 547633309 552663755 763014439 642082171 583465849 761757875 289326001 673790497 707643039 607297871 650504369 295261389 410761051 176090577 902558469 601244775 470737765 66649617 677604983 425315575 845927897 957527947 907915961 273700015 811621949 131835495 734648933 634232047 524926845 146982517 442876923 923457847 808592621 207339565 941644003 269764147 674036557 936520623 404937839 880253623 815308737 115223999 223696603 428451515 618235607 101415117 839854661 647152743 257630085 577289203 15782839 902221571 836486181 851900399 102547491 507602947 353692031 706001959 169386851 850277379 308921791 952746411 696360245 132490693 292841851 187233843 689104965 686290741 843701425 487212829 459959589 18965607 232742339 319869551 361459531 624842901 943524995 385336285 498970651 289596707 625280289 694743481 869107677 347005595 481356607 461537287 97467587 258145201 53728991 559234409 427349991 56935489 287434097 401186867 342053959 163988045 624146631 135707993 417745359 81201411 249385505 756019581 92553297 142826929 800349475 507745251 396161667 314618071 302029019 861012349 724758793 156291351 791719101 141389283 541241195 140648509 9331111 785955407 220784923 502741049 492523743 726763695 147794033 798762025 706808593 826394765 669718959 334515537 415875923 612152355 894222847 85894169 315140129 592058191 206357107 778947863 19908707 779579547 905470209 981443589 540750435 264258097 655580557 621621959 593020119 469710573 482885855 593671785 874856927 833700173 487503783 730438171 764917757 439488631 570005377 23853117 918722335 212540219 563607535 273595213 147188637 495148303 719659863 99824379 225444655 556662549 974364683 711406871 775123967 60737811 109525317 367411357 413211545 21985399 654130215 256024755 71431665 408489307 926202039 749298079 796702821 662204795 32163563 191712729 441983161 417312065 975045529 906453753 585916445 344445113 809594755 177534661 147674149 874023583 928528467 521538087 699031501 799055181 380637593 3243057 934685307 114654159 923088335 938302241 274198269 358205649 256334167 113573719 244615815 684802475 263153529 593664609 722197433 643945821 96148837 97586673 225916821 326395789 890386743 319752929 2407049 373709707 763286255 567950391 15271787 822915919 660725111 745258525 724434551 420412535 115730847 48574695 503974997 656917325 807083297 527831565 444541199 871587771 901217181 331991351 682617117 133991517 452741023 195859245 675750491 646120305 343724439 28203747 965560077 895640029 142679259 209262709 288053987 562232367 404977841 534433829 889234415 339642787 748405057 662166879 221109681 932559125 244934811 924203959 317619213 560622093 920161209 284393445 738040913 749914553 969292667 117736657 417806897 279412723 29333421 783453827 564310219 626413623 375128061 125034287 890064293 302523053 843353863 334973489 848589739 256276263 987562315 523200781 588762675 602133017 108771889 36040811 546912249 637983141 88637709 113010463 811254821 926153359 59732503 373433127 744908609 889373513 422937967 246599845 21408325 369216745 187552289 608042213 64161163 534278703 525860635 916429143 662687195 466437249 669460025 103000217 711780707 589937905 52325179 259182957 718149813 476142899 413139657 915931585 248708561 621225639 297620343 321973669 983441179 408279893 851807931 456886357 928425055 558242541 704079355 890896693 423949781 832231363 324185467 442002127 267600665 23308251 717541743 641491929 129077809 410427865 690487537 729853483 837713033 292282381 867743487 597054923 240469493 972645229 655691655 801807329 549652405 439545499 532461141 130251203 308132207 496820957 783296551 322361837 108451373 528231201 916300187 209554175 781794661 70719745 240563259 345504453 858059767 406740921 269250425 114796853 267406115 550629169 209013167 163576679 133492125 106388731 423306013 380948129 447153269 545550155 474854635 616151373 829549097 121221123 602095659 805075965 17162657 513240487 914616537 274864237 108858663 674901609 120540883 582357635 397010803 195548447 783000803 911990597 639287969 126699593 916199355 10209771 196082997 687989005 856882421 877115599 803579679 898983995 650166287 694380147 451225267 656660811 102884213 269395075 243799469 89424219 320078201 288484561 631893555 570739251 978270545 75738715 151547857 780284739 487968289 92469825 954801793 693303457 490503665 705569489 389899675 201103371 982939315 807833725 76575463 60596203 157458239 690926817 685067665 500717135 703285849 164410815 214119215 77294063 785767847 462810115 680993981 558536487 415070395 65666751 524983713 731404547 540685839 202726449 381249707 135426607 676128773 892345531 192091915 567623685 80329189 374827495 759209827 82770305 791897825 184509289 109076149 931364939 670004497 194558493 198225775 532257205 773259897 808418565 271234665 440298419 583067135 472974413 93533661 479111655 306649717 29951561 643067503 925363861 324960661 161585267 552118321 769020335 661243137 622985837 146120597 276564427 346976577 563555591 856670841 604998441 233711301 221969711 736930083 53440175 682714859 982336771 910733631 137000685 468763887 967355077 927460065 452183835 826984701 385818081 416060297 263804439 985671973 611479019 89614621 950040937 10840673 493086109 482003175 283161153 75195795 169717211 632882333 185467507 488967297 542191281 504434015 673737091 590616289 228494927 461196975 236793749 47334217 380458003 209830267 647501433 486786619 154646913 174648601 756676261 515153697 269179201 953316935 770609211 538795339 483405353 844595239 257641985 844901107 746870837 127132491 701151845 625638971 374906757 584324773 294329471 56036905 678354277 387482257 450276623 153208755 505987915 5026777 913045885 951753391 105678287 715915941 307014869 597061855 199445431 676258703 844348627 236122347 968432875 242225809 262885073 91220327 909607811 880034833 633837273 185338827 288378549 910743005 352346779 85293945 481317351 419222057 448425069 877013175 260208037 598765203 943116367 963382203 691035297 388544289 233869031 604887451 123185845 653090111 25418885 959475545 553795559 751994563 799570977 164128477 479117153 546428139 398619737 550246907 599745653 158964569 246456949 957273451 942203809 831789341 321055077 962452429 774294917 898892205 708949693 747572909 374048239 394329573 793526721 784800121 164370641 63985929 514067029 758873229 122408773 615579079 232425481 802098729 917366417 346496311 565979923 374448501 310521119 970533843 82000725 997243781 949398403 489766527 284121427 901065809 87346039 118398861 121389377 617694649 617183453 527309231 201779185 728134281 431190723 331401475 975870949 303213935 689295963 858916879 590301253 754924039 277245953 806606527 433431517 206787023 634998327 293265767 756693543 858372917 571762345 763629001 893758019 502620805 303066923 656791557 325511669 466923261 193001143 205800875 614361263 945553851 201078895 368543921 356444807 27433163 623444129 855698033 422611771 265641499 12177345 832082611 524492087 743915653 400413031 263088291 49792645 945107149 18934615 141764055 308757983 237457561 221783165 153353037 100628899 386130813 795409389 313868393 505556697 360579055 754142689 215937527 915051567 323415635 832415933 66049327 688615679 506510835 369544715 924890285 174749765 613520381 821440897 588414837 162615211 43777675 964882935 678412279 858956927 908097953 218811505 520753415 512395447 798700069 567618845 510475489 987171829 942351083 473537097 264664619 837389439 72134057 354870647 82123507 588991043 69011459 362147397 169583021 215930329 900053121 961661311 888488503 977591169 910209429 387232283 201160407 398798881 380280473 467339825 195979577 231866443 980473547 703558151 148276595 317762867 810776151 793679109 631315203 24012217 772400463 859852481 967218635 867278183 478975657 744697847 992505627 58887017 152209225 161794439 55076521 833426325 608701175 511386493 962449297 510752111 495230309 130548239 400357719 12518171 592114475 69680277 808981227 613142121 348641995 340494485 343854495 300935121 275680175 420852409 255142963 211706737 438005545 233125843 544053195 396371985 455072623 794332129 706642163 831130145 273454757 794872579 632384163 316293813 111422931 747759239 995469113 193921681 351073259 62825951 243681141 72510231 63596741 803686309 526615433 291180379 155875363 367749791 266536457 94180627 288375983 704119991 473130225 176686491 463605497 898759679 985095849 576710911 33702523 328828853 831143675 531619563 921475735 801909563 244064285 5954487 958781333 120262425 286492079 687113571 57368487 495779849 814398899 975813271 809689573 730158559 383999895 224251295 812453713 633028771 199026993 459511157 837526485 223327615 77932991 126144185 960292161 434952135 708563173 241332399 226741839 993882101 534267311 715291721 395370913 231166123 232422805 235818267 574282941 599858103 631176051 536760937 516986649 40799501 612932237 162331159 758963979 276144069 338141587 243523509 68700373 757062435 775460249 499924347 793355681 259711379 942514459 25317703 427844735 730639785 936837887 271416225 899957609 681924383 40590739 558157495 842113087 324237783 909709707 544032099 987323853 199850209 117424901 73983009 152456899 998211947 243650183 800159259 826567865 842411475 737003517 899363359 704177969 60837531 206512573 721790371 19914899 236926321 58192261 958542793 168674611 109918757 572789623 58058325 538070601 814508467 997918501 489974457 486858997 657798463 395410047 359558925 56654147 17391891 13073639 142907661 270203683 395843493 938096159 112059169 389109099 470291085 655666007 422113113 714315489 869752719 974481953 607958127 222239533 879426457 395829117 891333309 590303711 62701499 577777359 455450445 661779823 310139953 540802277 123392719 719541315 748749151 735296243 56145561 430507423 835688657 721088919 659400617 226838713 611490871 201731543 533227433 198842789 272293489 915276831 289104871 416582249 881926781 799852869 110408283 300861933 78621835 393109381 258617507 49575679 477591787 339376005 24508167 725380445 477681947 807190355 179200885 9741989 303528123 367817573 438331527 321723235 933184153 447333781 345413241 44682245 657629607 275672109 264953909 214392807 54647807 389973717 207414345 86344263 929734631 148706725 599048171 436076883 616205001 273109531 345991677 143971095 283050551 46366235 177970179 9243793 672650991 682260721 864701231 479552159 586150865 776734805 4524887 497115403 559233771 896333155 402190843 556966793 866262639 163370911 241358147 408259757 810297785 636857337 959272699 986835709 640689227 224274885 39815581 753103839 779910865 475222463 771277127 996010151 940593181 478576909 232106691 520447883 40878637 275019325 796830331 658777263 527702305 773740611 334482315 373168923 269072967 208398719 43663025 584054209 143502611 564797619 395611987 847939707 421893147 250228237 644255361 72179975 418897959 228202531 921498099 197244435 323064611 192761073 221612293 675348011 604474653 421038815 530730435 35000523 384802645 743473591 774649307 497988437 962709293 702752177 579568545 206365715 311774511 864502377 567666967 398326577 463388175 840743907 646876901 500419535 733557161 812134287 145641817 577169641 333128193 442479935 781524841 767891051 493419583 901524019 508993975 633807911 786956217 584607247 799403911 337119955 217777897 127956449 828993995 94488851 937815667 802984733 443183641 936709743 326193185 156096161 140622257 451173977 83302375 617390515 44784251 35785001 744396515 198405887 392805379 842029857 921407059 906796955 555788931 806762347 253027493 430981635 664982489 534529305 576117357 719391517 608100493 733900833 720745831 529125687 75418319 596911207 21344627 461445895 171466101 648300211 16358813 866701993 908805375 664928693 16700699 242018465 726246547 831786251 830011973 988357853 55643905 70904369 288194977 254327731 543743423 357554067 705091287 550081249 196313071 920209793 82976701 315457163 515416407 761899829 844747087 21741117 296539493 536181713 899409581 399152623 488530995 594851165 99592741 563987709 742973309 733837257 610393127 495142701 181680045 295077873 905882195 149876651 270374607 527520407 86729321 728622603 728097695 885328223 174017363 810362189 840950903 901547999 747907625 677091543 381488739 681600655 338118945 779324275 331576335 14540753 586060451 399968343 973137619 938662637 421205045 422062113 909446575 994766099 365847439 869366743 380522057 818469983 149318027 470210533 212222449 572072657 840368939 536137507 728750239 588849491 215290523 230289865 222604785 173173429 177623597 160988289 722202671 808310961 59890527 231069525 439661385 186249961 160099793 678814397 92456405 46387683 591961681 349632149 264849425 5684245 656289233 748821281 187196647 610762453 533747821 520342033 98725605 689069413 612513895 507287415 843199811 508064237 872382763 827721427 866217183 405615745 403392077 243600393 812114241 501933081 318516871 385686631 171747223 563217301 894775995 880754593 55966649 239166657 63617785 685768405 417711401 249437515 909868911 247827337 258561033 94187471 768817531 686875817 166464045 862866637 685563039 796663691 971239433 235339183 725792135 888149227 883491263 128679875 365193991 788563441 838587411 988379463 240739097 267597095 790270839 840379480 144342497 248249219 141797121 555699205 565427369 598309733 431801713 391656761 153805029 154113423 276989485 234687441 934979377 414809135 612874823 284939661 916284497 924026845 26269043 984663829 493739565 912369809 940179217 103214333 181988059 983268533 495235369 393645243 533321621 791547413 323941737 27483061 982345151 401206501 119470123 95325743 311344101 937522371 709332845 22808669 679919287 952485811 860757461 79175513 194633747 30311717 191266739 211785251 881190909 956004589 686145533 82968739 18830239 957029959 417064789 37554861 766650443 235384025 653689601 180146423 703056509 468165553 514963439 235302949 432856793 373456453 297844151 649432001 255423787 365144431 153449371 707883321 19046243 531824247 134888317 664584935 986526369 474014729 276152561 138610959 271073827 425342267 47629355 267398871 719007321 843505291 210320141 116299091 213730771 760853213 140810267 781890169 975507023 779017853 576460679 519987757 943958445 721527331 696573479 723956023 967638267 59189227 361193595 987880009 193490283 727271513 192308137 856741117 785979223 43337565 164802689 421015761 90605893 703633225 97949307 368551473 193386719 895573981 673455285 166866799 495732215 511429437 978414327 343311809 237501323 611918071 478351025 676190795 100454587 734963455 953345529 284384533 832925653 701397171 116493965 459620881 875204427 996215769 395332311 939723799 139619513 985071517 743675109 856619499 478003681 471339925 376161645 817744691 105251759 999439551 64849105 439559041 220881719 91398781 319266839 342394705 893498545 196680095 633356781 23288575 17788549 772285275 156690349 153061337 293655099 613192779 852490835 576279311 905832839 212651897 995601287 672884921 446698821 847842125 401879195 266692315 676558967 88399007 806578563 529438299 6033737 942502317 151048673 333926923 599657487 143382299 929943033 940530085 570086467 99348215 945767869 246713547 895089545 989826485 792381891 107009541 759466667 193253171 556715595 877823941 726024349 921047989 157169211 191747427 273107323 506733803 274602531 107910177 156800393 254387433 910010683 577208361 519918127 793956651 734753377 39012747 471919363 567557527 413368093 473969473 662585535 898514811 135590047 35316781 678448199 192313485 597335739 476197399 110945701 201433575 360833269 914176687 924713743 663401745 154323825 633869457 930848221 973132025 49008127 734297149 424105875 862382833 268068629 378666781 466073311 489708983 827847893 518266497 123693201 347652211 874561029 294203043 137188005 849938351 987377939 343929253 893248831 687344739 125183767 220272269 418430379 979077355 55069905 190346321 757926233 409963531 346473385 410644679 265382121 620305395 726180523 80396209 442475801 476247863 352691601 801702329 754046425 726707155 978428859 130473327 634875705 877732397 841562925 271462477 679546997 822296083 645144473 378412467 129701107 978076601 589008725 975168493 995569465 481657021 501985889 562916649 1444863 547642661 935775075 393862275 403807519 903756893 976906411 449881339 233037465 803663931 960322865 646761081 886818717 776816635 634870163 566468305 33781627 320891205 190615833 743553211 357097649 661077795 950684851 699438809 232785375 577651469 250062325 502517425 438704339 468070877 147890723 566006711 115014527 32332509 50475809 54952517 229781247 846240949 805091965 40834715 746160277 476801661 63413875 534054371 374720685 350136499 443610847 508340523 878944729 104742971 720290375 518913649 736632791 246080867 528490719 177416083 918564487 920916703 247562105 654914909 70291191 776417997 996424855 615839357 706919515 605387697 573955935 313783951 305542921 37399931 592894115 634942737 892001161 811903103 683903959 526544497 130033543 900281465 790076957 93704957 59951825 8977297 202306873 615452141 295339623 235243345 403359389 486132325 104834411 440062383 378161247 605410927 477839399 339450891 721959485 597023737 769602831 454543399 308523171 467913693 395037119 421280049 743049627 221301983 409607161 961740991 972795357 38240933 339171499 47506383 670453709 140740291 589239011 803333059 958675565 234367409 482023137 829565293 677367917 257750479 677179143 205205503 577170215 333070951 208618209 422073879 220175255 396736171 132193311 774180537 493806951 209203379 714662815 863926869 84982757 66441859 300613733 866233277 316841735 864238849 408053913 162386225 341061231 258747649 507479697 313176919 71298657 579438649 765391815 238543927 186646225 656906317 218523615 861097037 815518289 871779269 246217637 288220529 555417891 553380115 127278601 664241131 958501933 735951249 939650857 109607271 317951489 548125821 867053385 821880315 124662227 110103555 975880145 41112355 126861955 411838517 220126297 137930439 509881243 879047689 554575767 267351089 705908293 413960803 726986865 997458713 182960221 927467787 127370995 436226713 318469985 848006579 902726989 529937979 332363639 868036851 381623519 282127591 815170159 5453647 534031145 314887671 116311745 233959469 598404821 987841571 116025483 203337439 603755707 388810901 781724821 567332767 412218577 789180889 828509007 461475471 613907773 423452899 445500365 254336183 498081611 655572497 893593809 453417737 289417837 892066345 546527171 128927069 605994815 658173783 78118833 450920309 249396867 100084785 968689745 604085755 990670883 410426547 827730693 76718975 755689015 872788803 56625619 455953789 118713333 482170287 749746793 176572753 351170245 311723053 776660767 674346313 579907887 954969175 138652149 527712661 142302183 134401589 144031635 79853901 230478025 79138613 220978757 432568691 833977815 722511145 823256325 939907569 754586685 803348815 501803121 211033239 908417357 363910991 921222099 143317023 367662469 184255029 766981141 186117419 813016967 561467253 344144083 142793027 796618013 46004203 860371787 830695895 17100859 477042401 72712547 224963907 741668861 505428737 164619435 457725383 485804965 248647007 884126555 582155917 157366687 861081211 951173457 171072165 347040383 587188027 441515797 967307273 532752895 618927079 612818645 431333019 578699267 751446331 915459435 507476257 629452181 581877583 344721235 869081169 933480937 551739051 592573367 342483393 33230683 998025531 620590437 470076147 914325103 177864021 844446163 681687119 351401677 764406965 671996451 874210345 386956875 878007171 6709785 127076793 480707555 540095305 63684391 790988833 355631289 123118079 100797285 613435751 385369881 934507777 931590287 763297153 431693171 506016787 532082957 530573123 373108069 721134181 665047791 967002995 779237043 700325769 404032749 490730937 402209349 751161983 431536487 58576805 261177137 965949611 942500193 632764849 377324467 736240859 326347661 397300797 755370027 904546883 909566273 944631443 261420069 457368961 77862779 109155303 323698007 968368539 534197221 190805581 312613529 645346555 163824589 866524107 402587889 422543995 366139179 992788809 847841929 534221399 543092637 431890327 444814259 287402801 274461547 227216493 391974379 887842073 524750979 588730735 131972821 74504837 152936319 256235303 442600765 196319567 868831387 110115843 421078037 712186815 890540737 799521631 230637943 631630723 845913727 313094265 947286953 263415469 705865483 591009663 936832021 620957371 970628935 529495679 416754253 226757525 403715767 988014193 294531855 191590535 935905421 204799033 849383227 803873093 721977503 177147809 587457759 823714541 752545389 634775127 306364973 350708995 840768031 825030389 264712833 190846071 638160257 86277631 302158685 149652123 356272909 340073179 848062829 342248497 95992545 910513373 110676867 587801177 296333255 886445627 27318173 633906595 506845737 601261337 423174621 60962051 848610595 42359937 744837005 995520727 721613171 830612321 151330337 791841253 404619903 758400915 917598261 750614617 437132631 454749915 556930187 471626441 707062193 724943839 369792783 970980147 732278511 608823089 757178837 197665787 161127191 641707085 503877143 710671597 462314457 643309713 953980215 842917441 543414153 296286791 389366725 126648209 906844713 602705313 66196591 912902887 162765409 439489463 883791123 43934635 958434431 57414027 909259699 389824439 319272313 640582409 227092347 191245381 820519921 548246525 397172159 177263867 480273707 19548963 569895161 116834021 689162265 400174877 958587341 452315517 799335505 114247027 778401285 820368283 120917779 433222039 99922327 344175237 777321543 407418337 197845915 515869931 523638649 935146133 776973141 371144161 956653795 413833945 472545587 938447333 984785507 423797183 772209093 445820377 104084097 535848769 342822599 436902925 955054957 619808065 208294941 476397367 385336317 964577415 709105363 640632177 168484527 5092293 389343257 564874563 863073453 998532243 192550479 272859291 502546629 851215475 500235251 322392011 947541615 10322895 512962741 266515091 677211849 576017655 757427301 409173781 224385435 744093477 733489663 615520995 724914771 232450939 205407399 564107759 694265099 252087809 333664937 723483543 152728959 410476199 548434551 897583519 689988631 206358603 755700651 527682359 129361125 556239273 470623755 59416563 278605981 607111787 570609793 987935951 514955169 182878759 451944991 755994417 268335349 361068369 192780579 36935143 486306635 76601931 633502189 836483111 722397179 959741537 835918347 878989451 874964479 12432067 198278447 891659803 480452869 537317257 658290227 501454659 523716695 986860213 581128733 950973657 995889135 221712175 919916311 202321179 12145515 283859915 384622453 356080811 381284115 754409537 66317999 76909979 107612375 980470323 383807085 462732891 81226061 562357799 607543671 430723789 600345779 452427411 496144577 799148341 805385715 103889613 150823015 36412221 39547803 140836887 929211051 214016255 466374883 650506905 867224313 837022197 99720361 813067367 131127011 677526021 290463349 996877433 369488679 510923387 502954357 269796785 523987111 91715857 785971073 656241621 545637741 850393311 818442779 435804313 165901229 739156845 570827109 518604951 63431875 509069735 563629875 434502223 905825329 242122977 532878841 972118827 330396837 362478045 57448921 441320059 79503085 252085691 629067159 204166263 583206665 225748235 1532837 989125445 788814107 185774787 93524761 106095081 97236077 626559807 288237747 968248663 494400629 462091075 111554009 276419945 620336587 592748285 725516699 718559199 945792819 9241859 593623473 763343713 586245275 976105811 141332347 989207171 359661075 3740753 129553149 849499837 237906647 869007307 180368359 637695343 812288587 754711541 156280467 731886819 807289081 358420589 648956159 9588043 996126615 945184055 931520465 649942977 981041661 758542787 685712727 938038085 840995375 635227621 846619277 282831807 179750235 56438489 247155215 32065283 38326481 956312133 396065573 541632455 779835149 540554039 65820349 803790511 533956275 419374371 27898479 527178565 813298575 345245417 144489339 190854391 347202451 784942539 804386761 383350303 93070809 262020727 15998183 674761985 497660839 714270211 49552651 947343043 714903397 806169837 908787221 550144633 327814059 259524631 700608655 608804889 314712111 481191379 595428005 428188551 769680089 682227923 927269167 325793675 183298735 309255475 656341165 577423063 669211881 505240445 294926405 774392069 355794401 741831065 827138759 897682323 269757975 277559777 305012651 365685485 959747899 888286735 419114511 255188325 650196767 285598793 273101755 368151089 554475195 253683741 328023071 979356277 675196215 164784511 933629777 749896249 132094683 476466125 305421071 259545967 595761691 177836237 180129731 678957809 991683217 16257963 900495227 977787261 899163651 392849917 30374125 794769599 888504667 236932799 310709371 929061959 488466861 538710361 698650411 927799953 1132851 993058965 908583339 37472763 720926287 8954283 639504725 197234127 955203215 148935477 925182245 421002045 243878823 691302459 110428867 125777507 808664685 61769003 84205953 795162941 154569195 225651415 381160787 902411959 89111623 304563583 977205211 471934881 208458197 449970631 777335133 417118133 462354963 427952059 596350923 117686421 612913315 130426835 839797179 947998921 59197007 885023211 606175085 531615427 131717133 862061641 430590919 968161243 95033845 710152857 404595545 867493715 235052619 290220273 283305819 605103445 152150651 543197901 630309035 330400753 50712601 273948179 540655825 409759777 777058783 307763729 49372925 237300423 418264241 281371261 771651331 933923243 644360859 92727409 935976551 77255805 470528973 111255925 49163597 169087961 259179941 127511157 73380229 983793215 748522407 21120199 375034245 501200665 919605883 911895337 15805295 474243511 33742583 970127551 64006151 71681619 268622101 436054549 283773377 566073103 755446009 956129827 602586543 12072179 423499247 8985925 735663251 339278575 230340457 707450431 83399125 174547167 294231041 499345729 439408257 414244995 554593917 891655901 349772881 166073989 913841861 516788499 957490341 417505141 413202671 723391559 60114817 536878285 593098807 759053383 197971607 374229997 451535869 870895945 314521149 317849889 26194639 32690919 439558771 597855383 524075869 864731433 435238879 246829419 249074567 392946043 865085137 795218077 12393293 929083315 407514177 726891543 836759003 927528205 763414221 772248487 347156099 67726639 551701949 403085323 640774081 217057065 280669697 454693347 431793211 161981547 27100461 937693365 918572473 245723095 120029829 318467063 462350383 881743023 97587181 729414141 192558263 729912227 237922547 515964173 853559959 60226501 977665491 938734159 328384057 400337813 831305321 521796817 505876529 528447479 698129211 348873873 654627383 613905719 266738299 68081517 944868915 614210573 704864001 617917489 564425517 665513111 929611081 606518667 797916761 472994133 469973627 959031575 554617875 596884537 567678313 767552085 792801501 357327767 362332551 447842733 214741091 823556907 33723893 793529715 564158073 752814875 233960061 628115677 691696151 566911221 326684811 616222993 865455205 249050799 109671991 353055763 237412267 583194019 634395455 705369047 589425759 117003161 395466765 379920183 810305559 913442239 896807601 936477425 277379229 105266599 456156125 958111411 449323735 398962767 233995765 691043849 214269915 583414047 608033791 269212529 693337059 517925091 567658155 967982409 317509971 762115277 597363535 912710875 802241973 740847487 866013929 157484889 396643517 376441853 515500323 519153373 390651209 838792881 978943307 725012325 999134295 44397173 931328343 173760477 338990613 248663939 770781929 779513111 116533463 960701569 262357573 148332745 764595223 353654653 276256605 701620887 837088633 403867883 672168137 58993931 634439625 36307115 306450629 895417489 905048057 948919037 746091065 876725897 327526947 119096725 559361463 694558255 434865291 859883137 46920307 728720815 764722847 66295621 174082381 325789467 172599279 233492417 828420047 886141801 923003703 214886215 321003811 851850621 357432157 825952135 669772069 93575967 805571175 190035875 448616787 782896129 288865421 643336477 115920339 73837243 733354791 427878629 991084149 954842065 635865019 855688781 274977201 145257129 248738547 994160661 439810469 35047573 626654625 962090849 230114073 665854415 782880195 908580543 520798843 440518265 718599545 939921187 844424933 634935707 769799697 443904235 710637843 233361959 138164987 83871965 588465263 842394101 757507799 659125539 578609671 650029255 781235813 30835799 258701713 475029319 315955601 893598323 818099311 499993607 556846189 10631647 696281255 367961213 490020919 244653157 280601063 535196171 844475471 176644667 482272391 998479612 818470723 313307905 258804871 762224515 920424389 945770169 442700429 571308725 403780529 991075025 292544235 715084693 604675337 124295967 67647637 919952909 420400889 362830561 863705131 566608365 909322965 508991931 534909687 306053103 716646679 431232185 520575971 458404021 743808609 752978771 867607691 518535111 930587265 689098853 869689901 857567381 117620073 878358837 314262191 468958075 508765749 797598829 981664673 243506873 10169385 943419687 458402107 69220217 815267245 567139293 286691163 966237899 817589589 325071733 858242697 263019177 557820127 109827133 77683955 577727221 94272045 61953257 664677235 23099509 773915209 978680217 83596933 59074527 297927785 831217871 66668883 397805257 519273701 100968569 210179755 924001461 137801281 857170669 979148803 992603661 491373099 646577127 612966525 899482399 666675313 5617551 183132637 649874217 864154645 439937391 448931733 664781643 135047733 380520319 877019581 283250059 96303901 247101209 188419601 891113439 103957313 527078919 221462265 246853917 639414847 187652977 140180613 55389703 358496725 223970545 357767021 917668421 36056307 446728577 324180497 467329387 483015337 440422535 357107061 657673713 449768243 375580367 882311755 433160247 820620533 127186833 117453801 748215177 37440891 209296233 669565773 700302101 781832821 468307293 260581409 656928503 499565251 425959897 76328371 206565677 121687395 854807475 539230203 311912613 591834757 905332519 399882391 106186797 909128825 722696925 930651599 736915837 634987709 909568223 176405905 780793403 212919025 360655267 296283767 585957099 919962083 391380745 206752957 198727681 762374787 679161683 617199949 852283095 120567537 852594735 787608755 520615085 288705901 503458227 112868907 100825515 257033059 634187613 805103759 330552805 582337125 243534609 302309227 992590417 672448303 448564763 636644843 675583443 467290791 49506355 364616679 886435381 470828245 442577525 144133855 893573413 118765037 74139751 674713851 207100733 176530761 914099957 516312071 454338305 590584943 737536883 969830013 849443799 590075913 684826785 712831099 565176595 300474091 489906083 78912713 600316139 472679695 188142343 342216663 658087299 461751959 438285251 189349051 535258085 342187729 124443185 894144565 595960575 647285039 78495513 410778027 466079403 937055821 880456871 937924141 241150125 282026733 808656241 709251441 130152875 754930427 760408437 583647961 199264823 739254411 81885461 684088939 153187789 128734423 561028643 90275797 867856331 563929411 108963535 418227569 233176187 414980697 136526523 889998139 244690447 875751629 785702377 725906397 221440415 509834363 336127945 337037733 532074031 48431461 774761005 837454217 66106789 142891193 393581653 837436971 348114387 919595463 550442469 15852239 997460339 219657995 267488235 887022695 216506663 391977769 795367387 743812233 390823031 555135979 563862163 720172661 564829397 63802181 530656089 526812691 642108569 563841107 424065241 271657199 109926407 511010905 819518505 614308675 217548869 128158143 805551557 690775277 678360677 144018715 412946069 426010229 567345761 619540521 914601699 709918219 462260763 758378185 165354341 619681413 510959707 192560647 520634427 598536801 419007955 822353177 865143271 444874953 732574747 559882327 768793687 206489739 887036597 802430023 413815779 489535263 163508235 530840721 53818435 541200803 798708845 204536587 91661729 218976223 304606485 738609329 8370569 977675073 113657637 212709539 496310767 434016737 490267301 854053167 240945201 109860737 666076039 91909829 90993171 299415683 663173795 656669957 178686661 797310715 742060731 633503661 946686939 771326877 511637369 669896621 664059473 484033227 304215149 457984535 190212493 388928393 211498001 550426403 972935773 15111305 874995909 287058743 536894453 794654497 201662421 472045535 111454965 341291601 404835441 664383181 778166367 316609985 454962865 289058013 547960993 117202109 316744343 676918545 256824465 42448703 38829835 519737237 585948267 966000357 869657313 474986683 91501783 300616695 579330001 185806849 190884319 470689381 879656317 445844743 649837051 544776901 467364461 860276891 220417799 385617749 691989777 789610927 4445511 202901247 142180549 375728223 460423787 296756305 771395785 235027693 390923397 320266371 638680391 700788933 905489685 212568179 531811917 905292667 803020799 184275367 92179673 410132937 914013841 921187667 985801675 721980561 437465215 735539529 910571241 899906017 172176615 254598411 174854121 717375469 364042575 573904577 988932959 166786571 42378403 301972537 5539281 765164997 828793913 809721321 894143655 905458625 550442189 851441137 853352753 226159317 386952583 368087835 695270823 845483771 232223985 292252115 279059503 368449111 683545603 63878449 470259149 866329139 135754519 121018357 69627255 575059459 860488949 587630981 788107521 680407139 334049739 175558385 229619249 903278103 939206699 974755313 906615213 11324679 611900949 79569893 834226697 937299785 794316269 74710737 200018109 648019479 535938943 871007845 517965097 791826133 326493955 783647483 848818583 934979599 689476117 381760657 14021691 288715893 861903035 762367947 71146537 201853413 684223073 973607165 496302695 93796963 116401883 21925661 285568219 136200983 832461673 427356873 566957913 720568663 973609393 69829449 541383319 581255071 393733309 405149067 76835643 215906447 754045955 85298471 260062921 187571187 479694433 963126109 55811765 310980545 114735389 751496213 215041367 989482259 980964069 507343069 73000691 89609513 374865099 821199339 417825967 688063091 275491661 715668767 348093855 214569857 777254739 530984707 232289209 953766929 395581223 358684611 642497761 934914051 115116417 114585143 667756001 19369061 123539069 408006879 125524327 821427303 449526431 770618593 152549645 34974825 656393175 513293 934006869 534615787 406270585 650777819 699445163 114600857 2551359 458178409 262094171 862805061 800882517 546385023 891223201 560799213 129898305 529547149 486773919 555899825 54661631 153060519 249197917 175559135 151178983 806404497 645934797 46540521 233955777 173193903 500277705 987486315 118363065 308363281 512070927 432690215 24514147 815392365 24021579 352046857 116228801 120876069 133995791 390920739 876699187 611944511 367038929 633133491 277187979 333690217 40580341 263114779 995412473 698270971 88119747 574609637 25175071 161001463 692333931 157571525 320846591 915942399 376464395 653554583 701893383 858564711 658729375 539203421 892156687 582161187 582532371 972744003 493913425 314416083 493241143 71834525 933857905 73743041 578096581 878111205 746751617 675756505 399622239 90533823 252676083 102520755 327619981 670352885 823307941 16067727 562859969 561272187 337296093 856081747 532076115 214710893 145150023 38009487 168695429 72231181 946143479 811822459 364579457 456230089 661924461 230484725 104227415 265359665 314083471 520510085 924500225 518881537 920077991 852348251 398048097 995196701 867726955 854910795 270112063 872193935 62110971 415092185 370806347 629932683 454936025 136279337 165578017 553544559 118764019 634181385 58989635 870867385 264065695 70560757 518040341 394932249 99905691 837159433 44613869 893326687 588628233 347827211 626794499 56138631 259108987 940327535 522084985 149932725 479474659 446399559 763469655 296169523 353471901 739684437 3931021 159046519 880907891 160426497 347490039 902467353 252581517 343692375 304212309 390856159 468791429 410983185 956990801 786339763 134267477 644888975 241009019 27409575 465956963 873101269 552167245 995832823 206728317 362323861 55995431 738303751 759839959 876012837 349175893 477730403 821113103 765735045 584209413 777661117 684475691 522098267 131631699 62211567 893053591 819539191 103623743 218743295 615815465 418555729 315190195 489095703 393211935 700895239 439711359 24710025 970566427 606305889 199433051 351472851 558805805 654973775 793868013 425072789 716576203 744862821 79622329 51384989 887973329 712312551 30016053 298476253 179547267 787520695 341541815 586302065 741009039 293231465 28607359 558914203 798847757 159510835 602205883 204520391 208769141 845671923 943353977 77307015 675144625 376117807 306202801 502617241 701561613 244423705 87045449 152384989 835184445 809672329 825039109 24177505 852356191 590397435 956069017 756405847 782300409 53129111 532867487 122183963 481627383 531670063 168007575 59281967 273384621 455354679 116847337 791997759 682845149 166540751 928445929 926612511 153888423 861867969 514180045 736340425 724175515 474004599 715583419 411053409 974682031 540198925 101957047 133869873 363775293 378308673 683066293 138615725 902298381 911417209 895500943 266969713 378797131 207990725 817325827 926536511 157813389 304104925 184630975 911848707 110346449 325565471 945795407 202038481 364405883 648262547 946204465 495588579 87304791 958506217 665431235 374502813 958747037 841465205 600058191 784657033 899686633 262871099 390689287 983781213 110765375 807537887 800765189 485563633 115084047 59399855 132652615 491510345 863382317 414232999 188705979 780908947 313700821 273430371 405869869 336310047 98908589 956516905 602188121 871556713 755894467 623902187 328615649 130891541 81622411 50487105 108279375 803363821 263309283 484342375 474927121 971419623 132005393 163933253 322724225 536142619 139055553 467126125 439924193 696216527 593460489 315252499 429061469 453538667 175322983 745173015 288327169 805603717 77790909 11500545 25649865 721264345 566083675 441563649 243032215 368713287 328358903 39330797 95889715 515865565 157999277 36734789 941552207 651928011 219898369 227453999 81842309 133096305 212675299 934830715 721035859 278387789 468883621 820246177 54923557 948101903 683812359 755029695 109743691 272044167 730434605 742744989 439329281 770068147 558086051 257989033 81746531 527578547 261545825 711397373 285768319 704242389 655831493 63512917 924000069 434817931 102004623 55058715 949175949 498149999 608884465 579067997 809506843 117809223 134780543 249158865 519922323 78746877 795143733 652863961 791926413 794603685 438531193 387810171 869988221 699998839 604305691 466640229 219828935 282858971 800475211 544671215 974272177 131541849 511651243 467537177 37681009 639327653 404262717 310956937 961448477 362842265 491177583 346486161 418326455 921301053 182392599 400805925 98398249 612011447 441475699 178820581 539262787 383789659 295798311 778088985 89092545 940737191 462932287 849722801 178910271 487360829 470623539 49728067 428544587 649563623 592492255 447466767 115118421 964137625 255556487 489417211 570874805 152996975 997592027 175562903 57221037 469635243 920706287 193144091 738584165 787066809 508058431 770151269 87859441 850680365 4501425 569497597 222994249 478665665 403044499 971624209 129864527 27758169 949607065 428700539 143118283 333757695 391698401 857306039 633450349 586184423 283033841 715810031 834734033 338888813 93614005 602783215 809215607 872251925 588277379 88759859 438206409 742570375 75250969 93098711 852252183 179617945 392036249 328209825 825280667 199502405 271142805 316280323 18564725 273973167 217247485 976933907 907611569 432228129 87440179 720831889 557134397 199222545 724380665 477122789 262041333 649841431 394958463 774631963 355467417 82648825 250505815 595322349 981062353 568717215 615349377 873379515 605698353 651742239 909435489 902940041 276961329 865171635 675174085 684513545 550046257 804829119 215119073 362012303 734606461 609085135 806439251 114797343 145388611 465464213 955834657 52988509 133900703 95667947 368162999 374346137 865419409 626427863 724911339 47797451 728712193 482808449 922180089 936662417 144518851 975437121 836414599 369084979 897981071 255480205 270097571 789666463 891259653 980060427 620574915 252598127 606770351 581912199 863592129 441999583 899450367 812781811 294697189 17242585 602348623 380451945 557407965 543529193 121049823 713531695 448282299 931156811 608340951 40970927 140109311 258084313 791533899 868131451 169742989 242225695 428747313 848514385 483642289 725467977 198741359 814821393 310474531 249770287 665056457 768271049 645755391 122563921 882511347 546810283 573774281 307975125 426797447 912824851 13181297 968571533 564919299 557462915 661386315 292577773 455220947 573160615 203117843 664078357 127569737 70141009 881629423 281564109 51264925 121097343 430971501 72035717 128559599 831868755 635653761 495662675 833195849 23472151 61364619 509398775 822744733 977761855 126770253 680885975 65966531 1601127 18654965 232531203 316853887 167833425 85086745 434166577 331073399 227063529 954188725 220540099 855870783 34036035 942773297 392775615 960154445 816107927 550061911 111570387 684559621 374487373 941891935 164610905 290321071 693245165 583000549 107924045 351899773 230916909 444069101 56847705 113601415 595808229 889251303 641232075 809801425 768999705 75814565 724060569 664686145 332571125 484078695 997033059 135591337 138553293 745556177 802347123 953520581 826847515 657073393 117239989 519201585 941040771 385227323 810581185 382893947 543429071 777461133 521652183 575633939 776591605 924032045 305760221 999653203 408906509 577277127 536867941 47873913 972551515 722913393 80043427 531111345 363453517 9346471 802642807 282288907 220070003 294911823 912227945 674358145 562887561 732358583 257337513 802006773 427368819 654769045 529592077 186820143 465841979 180508931 74182163 297044449 519914007 481464459 776108261 166562723 320169055 293746197 521228369 83422967 326727321 813079033 551689167 302651975 554006639 932726261 570243197 205082595 834717619 790298669 710389283 982387463 283665761 372960301 255066671 919297743 609306781 715709933 747334841 90651977 532726195 663024329 412767107 892511845 907788565 678852743 896821487 200706299 529027677 502877779 320960785 991546317 409337169 26233281 580693661 957298309 600403163 971553233 804027381 165273267 878459405 989526505 946936861 525072593 766832419 522268883 581022663 842200897 107572355 22656965 881151561 267324745 664341429 68644189 218911907 837730335 22572141 244453025 247677565 287965145 405682053 301672445 151501603 229671545 125006339 543237703 286545039 211195113 306578449 276263869 781779551 772423161 83300353 498155267 735702747 286313315 878068049 610982949 483879411 718820039 959775651 924881307 286436413 818055345 207067073 959854401 464252919 262976911 317249695 372234075 431409675 545241277 274544215 706984345 680867079 292375419 819186479 248679949 345141283 824952819 965894291 911647287 14456381 916820021 404155921 614802427 101259483 22783289 311732329 35482279 783968049 709543909 513890941 885673967 281364753 461337085 266245207 244465393 161206781 227857207 508152875 592791859 712955933 436863017 87103829 792850337 824738111 570523987 596487511 410002833 914371545 337212451 787991773 391436223 717818891 712217063 305066683 240602451 876985503 680067289 121517803 250586839 183249409 880831257 11429777 821318465 601888585 689776049 184866807 711709425 348602679 228372885 631597459 581886633 741823793 445638297 714854141 939285655 878069831 224237699 533217529 550678355 574223921 922614779 918591347 922449621 319328333 158049679 578108031 523556743 94185637 716294845 739496793 987607349 37804259 840448227 221477727 188779027 534032227 480174157 768848163 919038399 489505313 441541417 486485331 858400829 733072327 209087633 440162767 699365629 13702819 764520841 196672149 467986899 539802541 1848311 698526933 329935355 44257155 34860975 358470111 867409179 251058027 733410665 767097391 505885249 448772697 149772741 771695721 23061731 713563103 275634253 35077209 809561563 201662783 401169523 311002609 918588529 108336225 119969425 550809163 686157649 811987665 485147877 656716973 998624657 443541707 471407259 81560959 938074543 469033 494215877 402521945 338887311 970287479 797795673 494594033 582772349 424708833 191353403 605500205 538634801 854247231 68319285 415601689 466288583 72307471 783318517 444254695 700824515 914804093 533928213 331299057 843843093 867850067 674278681 607061949 802386703 807657995 965951591 333609973 558589041 802806467 864635729 893783405 263499871 368315715 340897555 371509021 404194407 172590331 288640203 20490797 523515517 720476671 973617283 195026149 691290623 717328915 292073005 613099961 357990067 381002139 58483361 217210435 50226117 23054503 706807457 553700425 2132171 396098029 393576407 923889845 889765059 499977167 963114453 270872731 304053007 663845715 841715473 205528629 813178495 990812967 926369263 385065445 372731465 963978915 779318199 716825401 969938695 821133001 475132315 135517667 235954115 282432827 252083123 234849983 879261413 482750797 295141889 298047183 785472837 647826675 740792175 948756033 566550817 389973965 889002701 414305123 7358749 15304229 947350999 286103989 863541063 369167847 807916073 180747993 41328659 665290667 602006609 330223001 539695967 749598127 219714751 786213097 54786415 66204895 293032651 366481637 325305331 676836293 133210039 137427921 603659519 136341403 88387501 15936277 276931599 764079423 715463357 503679047 650429705 960640057 423965665 49784865 765916475 731205559 515871739 544959367 457772123 933358483 585094355 584454275 933127555 334750027 206285339 927682891 685393979 100067587 196180075 291594551 24798065 225872015 433787973 953214923 324928631 407000677 884601619 229066677 873517579 223616675 295406117 783246277 669695829 386454031 177915829 823881207 931963615 136198429 972549091 384760431 328098209 265018079 516049339 408853625 999378423 485592599 656631851 890439557 162915493 305634859 614399247 620464179 788595163 345065005 917181991 815356737 873580077 452488657 502720029 120126111 152156055 194995833 1144705 440186461 675017855 933420585 288937933 324865465 240968883 771107475 125547105 179945491 417647719 335627277 983582601 894039545 245338425 181890711 37989749 571381787 453081903 856648919 725663547 955994713 484999605 448320797 234964449 289546931 462889633 782465121 31878991 815966803 739348271 824348993 270009173 312050321 660758279 529476869 686608045 439423459 583609139 869803163 411269623 325743345 896063787 466999197 945788095 14622081 486218697 28648777 799067763 733565835 23644759 193031043 261712239 926322729 54461309 931277791 620005873 591637149 762631251 109025427 727094567 796904787 522286423 574804347 406380575 412208349 698333037 793119011 287193811 873487097 159568099 669324727 861718307 117017993 60103789 79385105 576680409 858729879 10747433 434900653 695120807 966439511 443805339 918327987 817240103 866720293 338382259 138110709 860981465 994221955 673722309 815252711 830193189 767664157 618498189 209724841 995635807 497476037 349127219 6782725 351314111 613598073 879706689 275761253 574923877 720068187 546969773 69029349 394143067 799946933 126304983 752097603 424559507 913310971 353657985 674832101 148811239 555725001 166118617 552505051 189511959 780981731 45629301 591588829 896323787 35140913 134608723 949790793 155411605 655940041 174164949 591554855 35994353 475637221 403357133 461730087 303219773 819065321 487386733 410782621 288460739 601197407 856814675 381482893 52551861 142979067 282652291 710528155 52007725 31723161 324491117 194726933 598458153 775009853 131325923 773606391 388592023 975307023 543037989 436037597 90254659 152094053 559215831 119717901 635721707 956052665 73188359 13738617 723603245 63308463 809311275 334699449 186862483 140465683 910881053 941718537 479814031 798430677 331600677 724087377 372907641 631578645 212746223 482985251 666684309 820712721 643348881 468898227 554455817 866228793 494989703 649829601 834291431 36640541 435347385 777411125 164626475 751350393 531271537 535687903 816013745 477440817 771836519 898525365 273973577 988011345 343529397 688683831 983703709 46355211 840510181 762313867 3612749 938883513 903332063 970038913 777936597 853869793 818891517 155171729 307795361 222416173 176060407 642688985 134603265 449893743 270962935 620309025 705103921 48626595 820876937 390068951 684464717 49410031 767569825 185382677 77587299 374335897 517431453 670164375 339322979 235323417 999174723 854256071 253815589 529125897 646229183 395591347 155601773 114173483 377330855 266292753 366518241 557313131 397626359 426143555 172807955 841716955 154217749 766035021 933643389 604866745 927224271 240256739 163392897 676392293 426271323 205869911 626739303 482974573 137321043 166738859 228944223 928323971 785254335 239152773 407022981 801336195 291590157 742584887 231328731 392145775 914933519 690076597 215082565 10220659 203737091 294502815 290541211 697041379 885360273 406705981 465550225 528883767 937406405 20945279 521298377 336662039 839347475 304855547 968633039 550130507 557133143 697612273 512856083 238686151 236217307 200614727 670894573 70055591 271300425 808114573 990436511 473999661 191107765 67783419 322555219 166026695 61918367 241375599 689949977 932659971 138714093 434274161 513329643 537473697 319930087 511455023 544324009 254549123 660477001 323899779 766905631 418676147 965049899 660685545 811746043 301920615 356406037 125864587 905535705 529537015 32781043 451642165 270007865 130008039 433618459 16523875 914102661 121433315 370649673 645197103 709057293 275945663 114827685 182824293 21413387 491207285 566120377 165462641 1899423 811098921 563313277 919444587 27661269 496194855 182045517 797543187 434645659 504075487 650188781 356756177 341514445 554821615 691824525 333728689 773797675 956492827 116244927 491132013 158923101 889483339 979779459 903892323 733138167 708959637 92320829 493219741 22044785 809366581 390095547 405023173 710119467 739155595 689798193 334483767 779077489 670845987 386890557 444545777 40878961 222937267 317348579 320429721 29756487 764468499 743908243 387532159 332049907 93946441 721375777 249704859 303600989 181364351 428642507 860080779 439071065 278323207 639842867 315581591 833270175 713162845 827551337 849202093 515907535 576642343 478766051 415141479 956219507 336571179 213832315 777897217 580058111 44336481 746183801 432783461 459258823 145661923 960164233 325218591 245131025 621566195 880417731 699968619 986568707 941715451 966031519 609583907 156830385 81058963 100359 462398163 283156499 334274417 88047943 859381927 883163913 258772349 144383507 873748087 981230429 620496063 247753609 994209219 353821377 644941163 259667757 656031921 415812047 481817307 985100783 618053907 352314629 184997525 234919201 248213853 253969361 152406851 486702981 940805551 134038911 30160825 528998971 214016721 757152333 66518511 274742227 336740659 473776217 371258893 732824385 136712683 38010029 40598363 502679779 465190327 624441915 669025101 980338047 532957697 252026075 120962687 884884289 107368919 558296657 659341235 197039807 995918577 245907267 5095637 954501623 327008429 619062341 433382393 469535565 341113107 333701837 532796505 573550221 518842833 445444671 395725657 934572527 605473601 262540515 999106435 454419725 280074079 48354539 650425227 43761137 184661205 323049327 853461325 475700739 239835631 819752307 637078731 70996253 256502185 167121629 656803635 746806393 856213149 252091263 166355 214083517 946404887 441741333 539638059 934602741 5188867 943201597 369082333 157934235 824058105 706915969 391078325 313328263 458434873 462508369 39940259 552912639 426152873 149915147 727707589 689155763 971005915 80678635 771392095 202508983 853933571 958173981 562141401 287650183 869761537 671005617 127859145 5982219 421730909 693814435 133637353 651272333 505604423 266456527 791172125 292252101 692718485 11148803 349084785 773411277 871668165 849701359 575630101 135429933 931034369 82444587 571123817 24153043 90966039 413832505 675392747 582616081 857630847 143492227 69217867 992376231 126311767 172704091 588065881 121369271 149059175 496254199 893760017 52792019 766373661 379829369 733376665 751291373 213375889 175279597 122035767 725279587 929136517 574162243 782657379 503877369 479645531 243559763 274048439 378712031 935955751 680687839 973755123 994107305 422802333 422104977 910645255 872406355 428351263 145124601 526316547 652110403 684750001 551798673 248988965 131483975 975727877 701143483 716137421 506701205 903326577 502318269 148588425 888649671 838299893 617132493 752414219 15124197 434394935 974040833 750037039 914924379 615494025 795503195 102529269 737967615 325276127 389156037 941041293 108108559 756065753 474276623 604913481 647580461 233380287 989179635 72242849 555065451 631851905 692711953 68845117 391723321 271325621 200760565 325838053 650939769 98942105 413545997 21415821 80866671 763735831 602995381 162510929 519870149 813489085 5339693 261358451 58209173 251070403 782850719 186955359 691841881 444622855 212483099 254769321 766813175 750666255 475873691 585831177 666553531 448816399 567990271 35432039 933695839 560905433 366693139 144216267 591316731 664772335 544990853 892160105 715842837 211985273 135749361 182419101 547944605 225359427 722974935 681484011 778823911 659947977 227058591 333086203 175555249 237588005 664838301 986960547 219324701 516703779 437181961 855956701 893698747 144131119 794258947 316255947 678850177 76716385 797192599 134813117 870950091 688936057 727906739 300858145 738359389 482080989 344003635 65143701 906973029 730045341 869298389 289639899 449330297 787550833 378843719 236500449 780250007 604913335 770901269 64906679 940920611 361520759 899621053 359520409 119791339 313663841 358197405 401763307 183595811 769064395 660006657 194420279 616353641 92669363 337840663 808681523 799987137 983284675 851739899 38942135 585404315 695462473 841792683 886566601 638825163 968109117 641828629 898230929 173704845 125078589 477702149 727320165 190731399 986145679 90829369 766947009 355191751 831103783 947992143 955592261 180536257 446659735 489834961 233810621 126757717 964009249 265089585 849432095 574924741 546633901 657418185 582809987 852017599 471087815 892192983 38976559 356028505 896010667 651487369 689172109 941802001 782879027 313355243 548848943 277790153 877510635 671935227 709060049 864115667 240512509 121269143 947278425 429048545 893849671 717304969 541945293 900725007 874276161 290987651 631298405 289250535 621874713 179831581 693180795 950934609 363800985 271824859 798913681 390649767 28963131 69849891 214111827 235472035 174709789 790191431 572648083 810380139 761187335 785805187 529781327 19046285 747847273 46123253 936829095 501359869 735679319 225061287 343875049 404218649 486779541 801956235 662923399 631888295 451180679 368113017 941868573 31966163 861110077 588175411 96162413 492073267 78521709 381444451 562614883 690362051 452640633 786451611 411587345 69786603 776612455 2863697 415756981 927962997 953049317 776617193 827489713 123645593 708767307 565204907 366792079 222860273 945602969 836178889 127603715 212443781 798780535 460154203 704490985 36656835 166801459 124075107 18303043 234381693 415376579 557221835 677749053 136157939 500461511 492039269 622182187 681760201 327838601 528122343 905922951 636441611 751188979 947383797 206670323 120886833 331434403 58002709 426282815 284365335 300540625 91112381 177035865 22053891 112626795 771150659 206361439 566253985 481405179 362087657 830444691 952794887 667447227 769157337 74273635 916042161 870844809 228630821 563554653 388283781 570296301 14444739 930113 226438609 34427925 888569493 964031985 309626441 84200923 867734119 391282041 409703437 429464763 243421673 607127049 512171167 565560031 192585651 71486719 761727213 172081173 812286023 576742367 996783181 557210837 936683279 477612881 112760701 686892861 864507739 793339947 500002721 181091859 413737317 205404777 947863365 272589769 917283661 878559787 61112673 897920887 20947487 893842621 62203473 691333081 820923595 950783893 545931481 436010583 241097513 858977611 186800425 819875843 839141115 162507429 182012883 288914065 550632169 134104459 853017815 411481443 636792199 314737173 109070489 935260285 437388365 786229625 57040103 647163281 925872285 478008605 395899893 705180917 964674749 220899725 883650915 398439593 714441443 714419067 44897587 118149459 595740197 513517761 761310931 820761923 238013315 961749861 68447767 195756401 907245291 797660817 540455489 870549627 65835563 283952535 409911537 367609257 666893821 52800245 530414905 260084201 342867713 307176267 825390217 787729109 452133059 695315559 782043075 541724585 483914929 970296379 681879081 446237775 749722919 497734113 34105963 914375765 441980517 791722143 72757147 87050739 216539027 419956959 189286969 209224965 176356293 996927797 622856489 407098903 18196211 317945179 629406903 467808597 950220541 714159411 876700571 929858969 961121453 478152651 174225393 38854495 504491191 931687509 127886399 139831247 415115951 176388397 223968369 321652155 119417883 618990293 210709725 635084439 792011617 858693881 300550463 875949443 372664533 516330349 134685117 229718087 858335663 977225003 966941157 881874003 684581135 831190869 895927725 514553789 61203199 278443579 417434735 623450693 202106737 589518923 383087091 811805777 204716351 946622243 315656551 37340145 9924393 135962757 404513885 444769245 870686423 487333213 323159507 120337523 228646365 628155583 202341169 682868923 249868465 399324389 101538627 321258853 903760823 691395123 279554363 406623173 562742329 356421683 322183099 192585439 338509157 243226779 386510791 813351509 39766357 102742083 619349449 603999611 551141389 445873199 237261979 76864071 644925043 223047821 301198455 665765461 785104217 488917933 293545475 707976689 901473915 127093515 813844301 331462919 140698999 957453899 861623497 738198065 471007959 383033910 460283991 112101291 568300813 517343173 905926711 649051229 837844337 48691981 425607707 887772375 796019527 507641941 810154007 319469651 977916597 706190085 143053225 237355435 28204493 843462835 190300339 195140713 538015115 764927515 620264071 140766653 57500365 708749341 953224917 213983101 676943709 302466245 750038719 770202409 371134701 476260425 205675463 114448103 642185237 48359425 996859613 660459143 9511255 704254323 707824467 281779329 760315933 57995081 751962089 665718515 986747833 420873301 169834435 804646565 732766817 772755093 129945967 737345541 658556473 592145449 418132961 806373421 222808649 382688863 75799415 658602969 951658881 347356329 648223477 912081523 851304383 970743201 611339403 874846985 735580863 814291981 5309133 304597329 762187565 261006295 803740599 582757549 871966617 660876049 77981105 653798177 539573117 871937273 118225541 533843039 178305595 906492145 835809897 716918975 579868699 458808195 100338941 546179133 31894349 486015331 23344707 136742785 995492079 541590123 54129577 379341021 313443837 173258401 90892037 844094277 180676195 476587311 625160597 776694617 392941041 223339881 19604733 176706657 869820769 800092105 332836425 198338381 641154899 755532017 923844337 987088307 865835859 570534063 444222417 323008723 568297681 162018551 97222703 579974291 558497317 835503841 102177973 941120131 84394897 43125169 106000509 573357787 613692991 685669843 95192065 720055161 47027007 292565979 863132711 790921443 390057099 575400835 160302909 904954189 489805315 530419373 132108279 466645385 503386227 438740585 851890293 769983003 146123913 9058277 892543289 601289767 862476257 839118207 864709681 110511739 750153723 803783609 387225523 964536467 735002945 294588481 801780091 410076041 557014531 195240167 259706801 778307369 367155579 393025191 368885727 726407391 284991689 24350373 7955965 334035139 415623673 270752043 906737509 756559509 136680697 275420335 968236513 456774333 380194469 444537033 537604249 154656583 627007421 403931453 636856615 991488237 339326443 786104569 792456325 609253901 159430333 638445837 298345497 672390577 14275761 919539637 565866671 347134595 226241063 654759765 464668543 836689375 954845285 907291513 259574053 929033411 471630495 533820881 747771047 113065173 291250415 828738365 945652337 814316901 675431253 350679741 62403417 982171755 216609465 278813819 130905499 757168517 421635567 614164685 135230943 495961339 237500079 937176879 680172079 130130619 199300761 325779265 790814465 638455645 810569273 400583121 793820725 477136675 78642685 588300753 631077389 205937391 413451071 551568219 95088183 53772117 374291779 481901237 19573449 940468107 288390703 833494857 289963841 148653677 430712343 719517353 28810627 331301767 191789043 701524883 472109787 805972997 625621667 764026087 758138625 673494975 464970225 697008307 72115473 313715253 967232399 246439721 122772113 882636173 37433367 531991973 36420715 848640409 290425863 515645865 901396473 949342925 820721869 374380513 756387317 516008265 812406197 450241311 308621701 108559317 876987645 693338977 203661623 596900065 342854851 849253575 929170945 251464067 11416081 526744735 563886653 290557561 164856281 947852893 931143347 303082797 409697781 526027415 268110223 648338605 72110115 911092759 580244839 780991153 331576591 957229763 43910713 937806999 727205707 70814895 480920679 412195943 365055565 536047385 826758595 774168015 783059833 808547171 108903549 701417769 773822231 517576215 320030263 398272625 661158745 823840745 339508979 599698513 287944537 206662837 987489313 330835221 80130069 680062591 658821523 822769081 783569785 216381551 747245193 91499223 500307799 759079387 407503015 152757179 725685861 188642109 116978427 475730257 293392711 960053049 657537273 728275761 679859077 284601753 161319295 883589787 664642193 365049427 275076051 379848565 942626499 146133631 584817825 525292369 889843805 457077601 499102463 385727587 120465033 167296359 147197289 740991115 828579929 574891809 990104263 412485201 710915011 924674635 731927907 372048357 652964523 425693385 314834931 345048091 592870359 832368549 263590039 276280183 398057469 74067989 746576337 85455645 792738483 60646513 196702607 568944093 31592317 869795135 426010153 489838895 180608705 101952039 543951703 640669233 207793361 695125249 111223619 95999657 333940967 582386371 400405369 592225291 935262245 563358355 123003373 351044201 295216273 254716605 974362621 218133381 93864481 392523697 648903533 695514055 446534059 641138447 436373869 278967613 416560625 340594839 785594769 73113757 503684765 310044979 379822293 951567433 904251199 863802363 7875743 27195205 643224145 993820965 855140797 212072515 884301877 973082393 100416355 842869913 509542451 738896733 580909105 460640071 469048187 112319913 276064041 935960051 459944489 96249047 318893753 377553903 272120381 606755305 529534391 337524015 863322273 304885515 35939935 125189459 637206053 135689871 841512793 578834083 921366147 647145459 941505199 570107663 746923355 506233047 845696729 302772011 253024569 363943945 133786547 723207483 32115853 152988283 727799169 541994531 135048877 995129929 583492595 205652083 41021151 440700853 910565147 978320739 274807627 366855211 64344697 432380367 602940417 434885951 672873969 620587843 746646523 804225963 727107281 863188205 739321881 773018193 148174541 489574561 187362343 614276929 96526083 900837345 247263699 103706793 212540665 626734293 607218105 640823783 924288923 108876105 577055321 592294013 719293503 278672313 848266523 697886999 192894369 793809471 828459347 481296521 379595497 177868711 774923577 962878669 184487073 995204189 309609197 291492871 815252929 147971449 663262075 19290497 489740451 270029243 562088913 989488815 83131407 665136777 767101899 920873517 316525619 697769203 50274599 27601599 370378145 309743793 193503891 722675789 587482713 730957601 141343901 69937389 35100351 460324427 200960701 355272153 298587295 220913631 293695575 94482549 973104177 39280691 422369205 166511437 479322897 81535813 628995845 64485649 621261637 533039039 565918563 171219871 225314361 687190511 947722701 490360571 176731585 694835405 55927345 656236623 228736797 465960183 997661275 72725741 293513203 450141619 577716489 839557457 309255501 66937845 866314457 479687711 471032481 698938703 809569621 850672419 711587021 542982403 36434415 727918669 420877591 599536377 317381377 960533181 551932461 675098813 335377611 974840241 978322209 259578507 340560501 534867865 554174577 312785981 609711889 11243269 858041093 710620253 820291227 498573747 949495591 723425051 511010033 946219395 374089615 939697485 633703133 457769347 280517721 859964275 739414289 586741989 535368713 486736053 43039525 628398595 34486927 961738207 170420893 242119011 233494077 277554795 906747359 260939439 583617747 525795703 195168063 830456761 767359607 64855243 944763891 210903935 27507377 464602069 618336031 924502817 217694589 606993583 784792267 144261357 674821171 272893207 567459561 692149077 18869915 680655219 374414929 311894517 531974113 578819025 301970375 945258639 540202393 347675885 346019057 977644047 360391877 992532259 863461729 275310985 543419077 204240763 681386897 89912117 556484203 122665635 374502883 741164411 470123239 33943539 920024479 89460707 392349915 795595883 970910199 511857185 384985417 224697267 947432195 426538257 105256607 258446615 574241477 116342197 987655605 832609427 682169383 751034425 318985923 463105985 194535419 629535985 618536051 27614445 963913207 616382295 573761233 477320705 353551295 302508303 355974225 955493785 342190555 515951843 529539793 341651443 724696251 556478407 187254935 268172277 555839931 49590231 791641421 834091057 566957597 500756311 84603661 525276123 750219271 915535791 176368977 249897427 187607435 952422005 121335809 837570977 392160675 824496739 922037863 239153267 822977327 687614557 639233081 453934627 347016699 792238189 495251095 5610029 243485623 22191817 875892483 47209147 27121403 251256521 826562155 156176283 198067785 604037617 473731109 974571333 429187339 597202159 337926383 978825173 698330257 423511699 546090475 92684311 732502293 396198105 389987755 118594167 766172343 229830629 758274849 484072975 900645507 713483523 528790185 365299611 610283369 857306019 722927885 408287875 41165633 28763749 47255669 854026201 766655949 287364615 359501691 786098513 428994485 576860793 228967961 320062027 487859085 852985803 927638709 642097873 789257933 697424697 841169181 452566159 679453911 813396009 356756357 55855069 907402225 62425889 5810571 416243897 309444689 255188185 496063797 146764751 829321485 77753131 793869807 425297769 630973735 972297751 680818575 156998785 552473223 115867341 481631059 506981301 279183617 305640605 370018525 466583629 275198797 141832709 6059837 50164023 573417483 952808357 868735465 471216141 915627207 151328587 465815997 364487691 362840815 528906985 12028413 628933403 774922975 867060635 744293719 612849867 475520727 778004131 80601827 183596883 683229695 286555245 716505369 417924239 287677291 650437515 72531171 256920331 755241747 488241083 831629 608419059 919710423 519714525 342137035 878491935 697866115 282590719 426655675 507675153 184614341 446267989 344014819 952806123 407929655 628256821 785139503 735535743 378054493 236366375 988957683 758094407 8489119 40237527 758774769 296991069 975817547 213719315 647491401 451426187 513941151 122126043 338418571 902654529 963920313 22346833 550541995 386638741 764782755 441328575 553619977 851018567 29769041 534722969 713683815 490609085 658651287 290609019 766119411 427822855 894676283 176148263 110388035 238079453 106373859 977847691 979650645 542347421 125467939 521566645 287883917 844463183 529309297 24340965 107754167 448396707 70363953 723165821 728049675 810677229 77016749 905729289 553501477 326139441 24894483 482682681 248486665 166168081 651430781 721905643 110705191 96227553 419414767 791816739 519010131 332056727 27156303 765629449 602891977 669262031 801706353 861748723 252932399 917430741 693134091 83624283 725404307 711931285 175680961 836956133 743444329 995907751 427428891 38160989 862209935 138564427 988544651 489615283 862504779 400556649 656757353 33432581 521416265 422713485 958662393 396927383 65312927 226337011 162391137 207389139 536757195 317446261 234074803 844085323 645891503 402080925 243066603 93670843 734865307 554068635 265290215 898866439 369877829 12583493 464495473 198025275 781967305 596701979 233891643 825252743 974608555 899850563 989503453 229624907 930016473 149851277 649540057 820784135 979970987 123766641 646742681 570694501 710650331 815189517 903037295 394438461 193076879 306000681 31140497 156018053 158407251 769425203 875185187 754284643 292992031 542503237 882634029 221330723 266564175 917605403 574998689 6732599 332057513 67193631 606437463 533244219 232928345 332932447 554534417 663155697 923875061 460107921 325645945 647963971 715153273 516311063 528796191 34901833 617616971 404511733 78489213 647878459 73088315 390370781 427685109 154061435 580671609 849513511 277778895 253092247 868409767 717299407 192738621 941713729 274291911 553443453 694698583 576763221 141126471 505955715 542613535 292032981 78213885 430718165 315914879 982362093 690329895 463711507 597941575 618357487 859561833 844036997 214766897 533760345 127404239 597211419 104131807 156576205 558611665 510776683 27057623 888254485 405409355 616473013 909539727 835270693 867182209 999736799 673349725 964651801 434958371 354969465 499954819 726556723 145415749 860129465 916163883 430219743 866342243 875180417 184448869 177511601 160424547 387853911 109208363 424565859 565644691 539768683 12822109 251405017 302046119 964269969 952446919 683516701 315954365 350866765 496383001 441463395 400916827 36477377 957821675 946242311 466349933 933147073 633176511 615461261 972812617 66490563 266832125 817195933 739190445 690343395 713436921 458493709 913275835 735924973 221586667 499347159 31978501 849547597 68617203 952418847 600806267 799862043 852761117 167476017 398102399 986213911 917421911 718946941 940342227 65065129 742432893 469421473 332285863 62994653 291088463 310147169 98327181 941141869 119899767 848385957 785172869 924802231 144029317 611998851 136262643 362710981 84557553 82036535 308261541 482404161 411272225 822035489 420923087 969936519 137182041 704390861 612909327 419379349 393845711 186207985 381771883 780541201 326416791 481706853 434254671 813523275 684014263 154661679 137028241 363828027 638730263 255889017 872847469 35087487 104013957 387349397 513735049 106361693 643594175 686719487 156398579 698018249 246768995 661164891 190260257 536961109 936018941 502198901 204435949 793370949 574071291 925749823 418178975 319080827 404148409 143606995 466722021 650284939 450357621 164656247 427121105 182856873 566688861 69892757 648766947 864858551 618337149 470811329 619367679 157159483 449840595 342193075 136604273 512696675 723912765 227062355 718383601 854872327 584495237 967686311 712188059 387455655 253818461 696194791 112750067 903267945 223352927 550926445 664151785 564856863 562706187 540650683 744340689 98504253 200828873 465516669 601752167 970692323 48830957 530800261 797618385 95051993 39210413 155758289 429564061 271793295 376762669 403072899 364702399 328695067 675381621 623240165 112211351 2932027 856951159 41023339 612793319 189658201 343524621 217486001 247746525 42882947 25178101 667565177 601141263 14074481 907310811 712434863 804465785 557120129 511170641 558323047 666134915 70015419 325310413 981566427 795400439 100386765 920775347 613985645 947175693 104521489 968798539 433666221 168181601 993064323 125426631 799578697 666939895 741096909 694719297 127927327 795985471 983562811 40735415 634896945 137946123 220916681 424700949 743321515 580557979 909982993 102037805 310198753 367227795 758246751 889048245 622547789 733596673 564304287 725361489 716492947 538664793 647136105 208627849 281862525 173597305 320130045 169870287 853054977 17590439 179349825 457715579 299999031 738679439 381144773 226162639 229339749 563042629 576528577 502020085 963655667 496637259 546601749 789407999 278598775 990711169 103222853 981691619 417417643 334396471 73484931 579903365 796258675 139418147 123595939 121806253 445380315 624331615 983369001 802799115 228449043 865664117 372997945 669327421 407094907 688344909 829562275 961374655 922265489 396657727 821240287 600057085 138966533 676590345 296306443 918111815 506056615 606342607 642794221 624330967 584197491 349236765 752998649 726119887 727877773 760859627 440010049 452882743 862989633 956925077 156483975 534969599 934039553 256132577 550904371 934746627 1889895 204506363 286154579 234381059 395038777 387195767 786444189 799665065 885838433 455790165 788369267 650893189 584246769 665575675 597044697 100569873 408318759 89461811 833471873 824154287 319632483 196602163 792051137 754204071 290665779 283515033 236537753 238213417 171792713 332773739 742280879 213962577 776127359 726168085 836625493 959580703 233924827 726075245 510321279 403658877 468777863 65429937 647013069 923199803 19765207 791753093 28453767 496179219 112813891 578096373 73764509 76204711 705633139 271042169 764999843 270729085 418411823 235501 70057437 76395275 363873643 910487445 227917615 371073191 608285763 632590111 889030441 581366675 227333113 725970595 757607681 934602231 440074233 916716955 856714649 623031783 152455125 926674925 309695607 462035035 768909387 538050791 204735177 51019315 981980221 736015421 324447849 460854075 525801397 703253773 894364883 625628449 796205799 954220253 710889521 133661313 239456559 418893977 868207183 316218331 200543247 794289559 754494377 827083415 527932469 263231123 847872089 909370377 159323759 598021811 152133931 962880617 656735421 86514311 26205835 717148631 245192001 600731903 664170385 680269663 330328389 674540669 800789755 383116783 753436223 489043907 908491317 219989859 632547527 67487999 507404361 574311803 611196833 500392137 467034353 694862559 586983099 746328345 151318411 969023523 965955621 145488985 154074143 241221821 522719515 428811861 392459869 819098643 839389441 749146433 877142171 271632489 519432801 487257787 867032279 10887155 482182129 708178631 291790267 729531851 60351369 589436629 587901333 720131313 556092717 30548665 287840605 454301005 704560651 60511663 854890415 116021425 469462387 908643677 800019415 167186905 414513633 256323793 72097985 769877859 508315641 549178753 114946567 261359833 63142791 416212551 51529957 232721327 167215229 194608235 49349957 419908665 309868021 431149721 776269491 196718781 65067317 815854567 94572905 151317089 711909543 513010387 508339527 768382519 437845725 173773889 98413777 379278395 45067155 489431677 551541817 287472715 358097583 730406463 227778133 597269809 623470903 569915299 724722597 809415583 284572771 178846509 703266127 256201007 4469389 561384653 785220645 924421471 829391927 624437461 815780763 372251291 780981003 42864389 458158289 217009461 906791137 151750529 601099151 595956323 598315183 63527895 813549379 915605833 680540573 962271739 844285959 364782575 468153843 220581195 883106201 773475399 257167397 652098445 947248221 621609769 707918285 360303597 821891175 275398489 995209393 962188289 39273581 594479229 256213435 41712837 644924621 213477927 384542207 572937633 440848013 408702161 925432759 924133215 282311265 682186973 276866373 924581175 220684187 318021523 399455287 137144771 641334077 135014949 947716161 759593997 310856943 831503019 723763257 7199869 677275133 963774249 59750185 793179627 547837539 406244485 529727287 249361557 634742203 257451921 942295735 768721183 900703823 958478343 927520039 12976535 912615439 221169033 620545065 661541489 741823889 40900255 286191751 225911179 306452757 368623545 824719159 497658665 464890753 867734069 552183377 506009851 545409895 169000783 257716249 910270741 949581305 794006835 663110139 175669491 710933021 767494641 58099595 623145083 241518421 783019139 912412035 182659323 472706257 26958795 441355463 114777129 239383147 892189071 217593699 13313823 728410527 566719877 706673031 477061477 929925271 742058051 728546961 536444391 972103969 295231051 77557765 318650365 541490613 107977991 523821195 138595935 192026223 324181959 344496889 684566071 532502043 822902469 269050185 691329551 605097765 869733923 156689825 499341535 802700967 906279655 470384967 395019523 635502941 898066951 255887283 806867263 720349871 810108761 549616509 748860867 344510383 576161951 464087915 952355107 869245969 56008835 786915685 92252507 793698101 664056725 598519169 709349585 236514085 325193037 144866555 88107347 880474509 438830865 486627635 842759957 929148613 145304359 364395703 719783861 765848267 159141311 592804921 381441849 741370443 574119413 702112147 364110093 921194895 43515593 578780875 428713735 823986065 416953379 631257867 718290019 359838959 192102359 503104421 352296137 812542193 484637853 735078165 770136387 455351941 147926293 436011009 851559241 51427653 243175115 39496753 919382965 370651757 474007341 202009497 641674703 163685863 477492887 669229395 949889093 199079745 52316489 270859429 206831657 668543153 559987819 130222585 841759739 520079385 134478097 149533155 431051935 800549375 574492979 695848987 214810211 538167953 508177585 109588617 402996219 751206055 395839063 272048693 92025221 707544769 936952019 184682067 523334021 311896583 628843969 311000895 779228651 844095813 970087583 987336059 951283467 156182007 145036763 148865715 253140129 604626231 772594625 820186811 204344533 523369167 216817551 112122507 157771569 247900719 143399523 742292811 620695467 794123117 396723273 400692035 201129379 712555081 589869871 544547561 68546267 487523113 994584559 857736149 447177857 770690589 390590797 735506379 619182123 97680861 680368879 884368823 775622871 340065479 45078633 379316397 629480935 980520419 295154737 877294311 356946477 916241375 64676013 774705865 525158619 424765973 425145633 353678813 569245327 743843201 966368961 991102423 63501901 58372045 833755557 681415573 540828293 600037447 212887505 989977621 135408137 897048295 5764651 23531909 863855897 743109961 391984007 366450233 98850393 653769145 124522395 925617581 316176343 49878563 843430411 554612097 378762249 21735199 993155935 133584001 528630473 164181741 919412745 486770595 208856159 311680629 999953251 430722815 4714103 589800515 336559787 7987929 209431335 360850833 750695949 253091999 84307435 179153215 806872987 725812705 796838571 167734481 104659019 779694427 495468721 723049337 257826049 953309683 878887349 20832525 284717445 455659951 562344657 594173197 632731017 507510983 838775183 462142367 148090277 80836755 670130903 112544915 471410781 236878489 538984449 793738337 703901975 627211139 572416459 654032167 710266149 451389987 618324825 125576621 477823681 523446391 929188153 126745697 223589901 253944479 241707615 583064157 679544849 792356329 846372649 104864861 852501951 739716551 103387229 655681995 733823215 447515859 880858151 265814451 889925475 635438035 859206427 137383889 804263877 646641329 995324731 552006529 372625061 336549759 693415143 191718601 632579455 19106171 747843567 332167003 383173551 949816325 903913097 495852943 224840579 931221419 10779727 100065121 236525867 814151967 933088073 279092601 71457727 900014653 453631717 730481191 488255553 595994375 125227765 667106917 360637595 218272425 674277047 400851661 118301853 537766519 557223891 394839209 234269441 339342571 389226325 322294505 74853481 123231399 688726193 119439651 68754525 99875193 131063491 161270421 335510093 461119827 874191573 181956395 565697685 33061713 744057745 291332207 909581685 143129271 781234187 428173977 261761559 133199341 241841859 316376971 915453323 355254663 705620125 563420619 926815179 216573763 896026599 452844937 141812409 173280515 587191127 172378009 202367771 92756945 620976903 508753023 13658023 163057891 312670079 206202205 734286323 128491665 475417771 93434119 533683073 996475231 252814049 704350963 815262905 236265211 503101917 437906493 154862063 5801779 511950279 506111665 902496859 754377481 608452137 564298171 912402719 573743515 152260859 425764211 341494337 168914741 801764249 644643225 988875191 501624907 289604039 948871827 553347157 1067131 364391093 105480307 672602337 269874051 247035381 885357549 568588035 454011987 320945799 624969057 586651211 733014011 325404623 587980759 473858867 224492215 662802075 584443391 517821979 981694187 181557791 536046383 809370189 226067491 636203257 886319719 293409533 309854223 105749037 202186573 381496383 926528399 12237355 903712561 307155993 102132641 462939079 872154635 339928435 584284277 70205757 699971959 738129179 223423579 196707637 163050945 165372623 181380305 593707449 926955223 673193517 25530743 652306241 974237517 380178369 148511003 567201191 160122215 24052729 8076461 354243891 814842375 541405233 868241997 989673361 616748993 373864871 959053883 313731801 957336521 284410505 414558179 450646659 628146433 903844067 662507223 176554617 838128879 564627379 947692499 522055687 857718465 295966167 373529533 513434337 375469647 789949211 162287261 572411429 350972697 974849837 947105447 49722199 291744581 255962791 716786997 894987111 509435555 813001229 712534477 257339815 918881709 439640773 711615257 842575065 987404925 840939043 942573037 351951389 935465949 112381533 838172227 846722051 821988925 694934935 622178877 828727167 908398259 191108313 693459241 382768879 610707453 463503125 594417785 727297817 169035141 798684709 135776969 133403177 206071897 892908487 83301083 754823349 971073073 609901225 79549083 629309627 109122667 209323351 849559069 304319135 607731471 15243599 827114651 854609965 250022347 560429551 522626425 821100445 946218233 181008769 112257345 807353993 835115157 846590007 976754855 121559803 509273415 741412649 250675591 673585243 566836577 169444697 349106659 936567939 838934999 530867889 458033385 111711405 688700235 808760579 779514345 544736383 928884995 904943365 920239455 681742597 375641069 583601499 102221807 746393527 815120289 619230093 260854627 621428595 231703903 896737549 596054959 338747769 717542157 425297459 824230895 44259963 899849787 951007555 227658087 36154253 396729633 655277411 693780095 552256299 605770655 648138149 887120845 852777533 652423737 933007363 513275149 690094349 988523295 794300511 589352479 113612371 25115435 386750337 768134159 589688361 679247579 385005083 593657363 522809111 559398229 254925765 538238083 735768331 996379497 57020417 665265637 308721239 814696589 707510073 676056545 830130363 874299363 570645437 260441677 983776857 649942833 496307399 313715237 362405059 817716199 722094457 914925705 963650027 238411801 549158363 399720391 938208047 303352713 510511069 963595343 749176403 804021919 542866523 925839809 253041799 303740265 81999895 560989661 24644447 398506653 958887605 227830669 532616663 242870939 635467213 620213737 943514965 717584493 164804563 908510503 290034343 341164735 534075689 616116141 427292419 741598441 719585563 318519559 655204611 436215275 641596631 599308519 909857711 203003755 302466681 563798057 597606771 441980091 885569027 562202575 126689573 441653197 771093081 24029701 621353731 737736263 523928657 643451677 689457583 308059243 237504419 758127765 733025595 328005673 96464881 690673677 582710295 512550939 190904769 337109587 191940645 983079551 315186057 725081689 217349545 864133691 301505695 256966203 881256525 844971487 867688005 910477883 946180139 409581217 644285091 879813061 315501757 288087395 927214029 504846957 702802921 596530091 917234875 641612525 70478075 420912807 980749901 858284071 775468973 912535601 337825871 549181993 405874455 771859397 100579951 793901351 940871359 89482637 527153481 157371001 238322069 416916309 644561757 839137187 677269229 619122071 918411285 869788497 266595205 91360883 204683455 410367063 571341439 330125485 998268825 381287599 922194027 237312183 16695491 895470205 234660927 584409001 419482435 970021643 130783317 589097533 944729101 409413069 418872695 949261793 267976443 781753183 948825549 5618079 907780045 485416581 214849519 843851057 630290219 697625383 710181851 310815221 413978537 125716827 440648181 915799027 761816767 179361883 577075211 880312027 977907661 808349067 934648401 414082307 532298013 378831223 218442339 569637993 358376673 870952143 405403211 869506999 29012019 588916593 970811763 946282299 378622995 829746529 388352945 194479595 738582121 853547463 833482305 88008297 455607049 582240249 197152969 91211259 242420905 980765299 965026903 181510543 404203501 334464469 539920991 938202303 572240991 528057323 520938433 833683143 772495213 849354411 643315647 807035793 464031601 976180527 793254151 545951913 227009711 158688951 220001967 491003977 687409741 363885491 735109429 730006097 413697887 956152499 899131771 318988101 724545499 420780405 535471059 872388439 128394661 758818265 845609711 45293405 46098309 679316205 922073323 334733271 941687341 228460515 60892753 857332715 481647415 500003093 58764553 708648043 567536673 282615049 497259373 426633417 951903575 560480105 163629367 103574059 832253227 151812103 699454605 410288211 338583251 867302881 189199101 174804657 198073203 243633687 604852859 265946975 327191315 538221815 896674405 346900505 221944229 674247411 973261441 137819977 644880387 989925287 796438523 517446909 124572907 780496597 163634281 527748077 715414537 278576489 157593799 603352695 805506285 252741749 458571389 408692641 315198995 628795447 187011157 214635551 422596055 465755409 888856965 591455043 942992263 451661453 475720365 624385039 703798867 103656543 711060687 236074539 819887189 88881507 374177371 941848291 412861835 435729563 869156387 278663217 909477601 605138995 762125415 422532021 153870119 665363071 194816971 972412851 215572503 427702009 752843867 71425053 385249107 765305669 551511695 143938953 791676259 584870445 84937283 867700791 21892281 984365221 311486909 984644877 235990701 849511625 453135529 236970651 940098689 441761499 171036957 871591961 944364127 430458953 621635733 132937317 512170071 798088355 478363895 209978631 63112547 546024101 500041617 322804015 208377445 941865267 123033111 886529203 252881189 346778711 958266281 23856913 34646867 304945733 495537097 428674675 380553611 442290267 277805413 353558695 577677389 689059351 204998099 600769571 428471043 133204521 514416081 377819401 209118973 346647905 91522691 571040287 83181173 489767355 414423669 611772371 457982861 557123419 543938719 402835261 779948365 357090187 66837853 219888415 806789285 553174977 610338675 638996187 302142833 652422805 900712209 787295109 673777009 317537485 566246601 343943377 409241935 393238099 15883419 387788319 924395931 753261369 503147755 62883193 196671439 865157819 454399367 982897801 777186635 618354237 635687587 977139627 2882651 850541131 894303199 927470301 608710957 946515863 746210619 152196805 156827869 439118843 364044843 796888501 583776875 407565693 90144381 114390687 172122049 435587399 354633077 396092969 556071085 780288171 38419123 451879317 678391277 902383143 199285065 101022675 871280161 750286427 437527719 233162365 51232975 647879445 303431087 673164495 915828589 680674375 18530723 952418483 646912591 659671821 134346035 223259063 563422651 999702185 221926257 503244817 810204377 445247879 422485213 355512227 341089463 31776313 792552539 187428083 621402451 3083901 331927607 755281455 692845707 530004531 57075497 364885551 834796331 265774697 553685837 103617907 271490017 659637329 815576873 231111459 330124873 382585927 272092841 10125323 270002659 465127117 510821923 193236389 626944279 150691215 453680979 811014417 969729593 685893729 541146207 665785363 925016703 721474621 67988181 827410461 483159309 448823367 626336427 726228805 678034925 429530313 915652411 66710859 546657037 405579319 650127949 680370325 807951177 729147437 527736591 882484531 233398111 879088749 216882451 388968925 181261051 506253283 433831255 518119665 67063727 903772579 536399171 414326647 497925107 784277991 304702883 216993821 609623591 996792083 422532009 350196797 491438997 974772913 609048567 895788243 459910511 957606519 846609297 540123529 285223375 705070909 831857889 454121389 369309875 747175431 714724033 719637301 571873543 348832515 808351595 584919491 798822301 637606529 953165701 113129373 839141419 651504637 914599197 820936369 389024853 834563867 332714663 499390871 164584611 876909221 470489603 32540815 618100103 340584849 832885105 783902849 917234267 366895607 790108835 199549433 51406429 980746781 923497901 82381361 915329977 777779051 391854605 812041225 401055873 996080503 6635429 800324357 989846955 334542589 1823175 295678039 641430043 597727453 687158819 265609685 297304985 104613669 675480027 898158333 918857687 996578821 978034289 545972219 930020205 549965021 953447637 171655321 879735007 243266347 657294425 404299087 396247443 873083295 37420989 763252287 576004315 271501065 921157669 34383407 991704305 379052903 525468191 868848015 814168055 99690201 583270559 237852531 74228981 869205677 750853635 528261279 136879837 892703317 835053839 295046775 508322183 423800427 463711219 869973513 327741109 655485365 6911299 132974353 116243217 296072733 755987195 664345835 333295405 648126903 713171331 778896285 952294015 12671419 157887141 992137945 557702249 364080529 296862871 256801013 574723895 387759041 335929081 695338481 559650073 331614463 395612621 43275893 913743143 444251429 764041345 302118605 429339235 711509051 651093739 411568115 396346039 745503591 142482505 426430599 655174131 646277117 624321599 55376845 12022481 996236923 596484569 409027767 828523507 709251971 378881679 927941339 717961953 443128543 592964925 241180023 834043659 149739651 395132201 319004789 734572749 436426635 393313021 521560421 363554919 423284537 604066259 128267385 143559427 588383737 189705253 883466645 505520049 773422175 472348889 176615231 799423083 783543333 622099005 432857511 674130707 171437359 934126341 78685089 382718063 126858375 321141073 409310129 429093173 967959905 777535905 115435257 153687803 474541593 547704809 705893965 485383491 249604915 511709817 11810593 105071221 987339351 63035151 434728599 198602981 486811483 483107795 829750389 68451787 752507193 151360079 831671337 76488777 226501909 490792059 550776779 372637285 378120505 544757681 710115099 544970773 999975451 98858427 285503103 57671727 198945619 563590593 628337161 27923827 707014823 198136157 300109933 573467023 611890943 422016391 483298827 456302097 113924465 474524585 842317291 13082995 233252407 495141007 855004861 457723925 164895669 387644269 987026903 855719747 277393783 877613793 250263609 955693099 983300911 533727729 658357641 154971881 775535543 11804937 414539031 443886459 600426005 19104511 515202265 790682831 44217969 677437967 449432177 276417971 637354275 255687905 161652773 626207199 530169761 910472063 882507749 604034809 143018897 271772255 744574533 438929285 486873535 12677473 319436681 607454199 487187229 677876935 334823059 525210537 49750981 997653055 173745655 27274203 34699773 60907999 384043241 194951349 631140143 822398245 257250891 531624523 562806509 413678581 673395105 121793427 790333429 138278299 387466271 648617841 219524391 359233999 210952087 720382895 361268881 775815085 159939467 379990011 523929701 574827195 664059937 947337455 217665023 106320355 536575273 805660943 73754337 3271807 523079963 872956353 48662967 358885705 907917847 74889817 74884435 778937703 229978849 494744333 775163315 427735911 597476331 878086657 643791609 871319615 548641865 600180799 49562223 422654537 241894591 328185525 14683529 848011853 448648369 289272637 760946403 594428535 804703535 191998363 13356863 467982685 346994673 878194293 46392457 810043645 268830293 341440605 326316245 214221753 968690787 176267471 159107931 481062755 445915593 685271337 715372419 153603627 58455263 914823605 857978325 396728243 164521383 980921509 284167431 518351357 933299907 55091985 457487601 811787897 89736327 855806461 149571991 422632697 483917287 722292559 802085413 915223741 864938885 192973529 241801711 912151913 420617895 27896661 391684975 619467275 834601531 663960933 820293449 534324247 885812697 109018769 587965255 785117291 141324481 772826699 925381471 395812429 725517529 754469099 584839849 736741481 852759473 626264757 181446761 48655317 116210049 843114191 441893133 932255501 177422889 798904907 638533413 379988729 628633133 650062627 984113773 508905955 744044477 383958841 150683849 474449025 875528627 226823509 30830915 423395059 709453453 945109545 92465937 338061755 838534513 391734093 72433803 686240455 243281711 291987523 880930359 994438767 313452349 997547381 29148095 435372139 156611261 671614259 69207285 329241317 148776821 788305079 604564693 492963689 806755027 543064867 872745091 182032875 25919729 176398463 36363851 345246153 936493451 103839933 677843103 40040135 51278603 635245237 374514969 401071637 788527485 584568105 433181567 743805767 454565789 998083011 704668347 743122265 250410437 877306387 203753439 31343537 292997377 76896915 11965735 502380317 628379645 455582115 184141561 74707665 603912209 990510735 567278301 414967149 90660925 584185991 763857031 902751731 897971239 843042723 491584209 735731921 892048159 699956197 187828929 129449181 599962909 555720757 331756161 128486483 804520897 391829351 530754147 135847899 843984207 849096499 982545893 214087039 177238967 241688379 613637801 585072567 49266579 480264711 396933497 839463007 314899233 996645383 478453577 245841339 903336775 45438615 666476595 244099451 114187413 501035255 950189181 601995697 353863745 157251919 449720723 319091677 254783789 699626419 580393731 885396451 19510495 628600091 814262669 184016657 689372805 355994217 947708947 842216731 340082169 286497123 414175903 797735199 788480183 553005503 860785509 822670499 617741543 180665873 462154177 289649299 249463899 266183391 199832373 681951301 386187655 47983505 779058797 723277941 386692237 762351479 614713405 245451339 782338609 90424521 641435295 594836561 918260453 88450989 840827319 566600575 568296895 212933415 421361871 435246127 882580351 950337579 774132061 745458985 994882957 305539219 317966841 150531227 927611125 936152607 984672615 530376471 536229233 208437111 572992403 840861 773884511 475341103 921976465 900232593 619555783 863008959 411615133 357745599 907310937 292091783 601367575 491256159 831861609 358035921 168952459 472318989 190215163 538175953 450042285 749076431 585709491 312584859 689822555 330742801 660834017 911718709 748781459 558725287 563508347 657647493 664382341 762428625 902087971 947766623 57693825 200454197 489728543 647878521 147766531 392902109 499905629 873663607 841057199 807439167 702673271 128473059 233989201 287993145 711941289 574300971 815219931 615740177 286123995 290444457 294911591 463362421 944405151 168005793 575053883 201365367 529844009 681145913 575019199 958289813 596449115 59409541 333921419 657930935 881523641 992507259 816683349 747171111 552967285 481317119 23772931 726534557 148875365 50393049 804291745 600726581 504964105 287364283 502971745 101044083 843327623 271130943 392582045 412614471 385261743 663159011 913605595 495290883 653871097 361442325 624914373 95302503 884267909 418464545 266381103 727270297 343884567 250313539 971109137 867639841 577782815 905747869 882669715 615059195 561712311 162832439 516882429 659817855 951067803 466534659 499779523 466222965 729165365 868830427 538545535 958956553 601644435 225485437 75723511 70788303 229709165 776769941 131969301 670023881 213219873 530225075 992342765 108559703 652219061 932294483 136672953 570509131 591708637 498525907 868673755 174853589 427432683 89312125 51151585 537131415 904391905 273726081 459247229 775082899 990258023 559853053 135112843 538393655 100409801 539123693 951099917 664872027 263333377 833178941 928319281 982566455 62805935 374947005 313705029 617662069 959523607 88249895 216900809 831353633 489633323 561186589 188559455 1087663 186324865 590914087 799463377 818075901 818656089 412015031 636108821 926709329 459997849 660085029 196562755 718457429 239933905 241180083 461731743 316807459 411444281 493407115 41483413 51128373 676306607 596735165 150141369 690747763 341622971 458346563 117260229 503616039 736902029 254966015 804213149 341223943 882644731 367630009 610064203 333520947 797295235 827640097 760871173 102140461 997657679 173785811 229877283 957721315 795000877 459056209 900102699 36427691 25778835 205820671 532170181 686191937 928303523 179935795 109737927 754146509 209504291 492478501 931138603 683738843 258411137 710606583 259827477 91440221 243571669 743105457 985245649 531088309 237428961 790702915 505629647 596117927 371661575 603221385 927807919 282737245 558730075 816319555 412321327 927353969 495133073 176699419 153451839 282424285 786386185 788653473 279902447 468557063 234495949 614535759 55293565 844861885 512359303 96873349 269861705 397699123 331261587 804638607 167153633 398100999 12551407 234416795 835053813 455679807 759016257 905028037 51736165 335873863 540813787 1044493 896111665 913439221 416202671 497566045 389527427 956140679 463096673 583848837 373760947 999483039 149578807 230601533 962753335 352584525 322102561 779448619 778557623 981783047 559425461 656770771 633312251 470123433 555804977 86204843 5785333 700888439 888016767 833427975 644146373 532846623 567319085 750594605 813563563 657131193 307394417 276766021 734957843 136247741 63530797 412225119 645821583 11045397 55391719 852515699 20906205 232899597 66509773 801639015 66419167 771602521 946480055 623662591 784417951 665306903 621441573 979624687 656214097 11625165 476187711 63524561 350790481 191896423 578341585 21061413 691108385 421483321 131605333 119622739 472219245 90683909 47932139 773956271 230290951 675208683 610519895 707169647 4965869 301991035 491616779 423209401 120377665 796964777 701860125 81456017 639933517 833775317 601305165 222715627 374722437 891078593 956011009 163616417 944697477 637980059 229045321 739725169 141377297 838774777 76311517 386546953 802082321 907227097 500241179 860943093 437564571 437522591 699364107 549420467 733179113 167376663 833817179 128647073 10518879 702390393 679239269 630524425 744915335 691386721 162776101 770245661 940091669 493244627 670620485 662140407 465456357 795353919 407236883 598804885 650612731 765608825 807874437 555700195 111684223 791864253 491273277 923443635 70567623 707548337 841462145 540745915 951192653 738532451 99708735 588111519 709477557 700121415 103547407 288810985 5425355 518862139 596267057 553922311 831619455 622495877 39721101 288458579 686873329 211311313 984148399 413804047 604426591 8118325 31709393 819754343 83819577 798314543 975478995 970566503 743221007 680065185 608073529 834087691 919946397 685415131 629475637 704862517 548730311 172428947 542710941 841822637 934895769 534851301 943685871 632383525 997083461 272758613 297016405 617685301 944718117 456846545 711063711 878096737 403049407 409385649 178632767 769129487 354876861 985693615 714817881 36597905 935572465 568116977 213495475 731791649 287102551 730940675 336683709 117055457 189507861 748138205 995646603 279102425 773076849 556784859 486636769 361740283 982919395 699384771 713367331 614860319 872854021 761415105 402142303 864033799 697971097 23877483 560990289 829085277 524713355 279704253 836868691 50201011 932323309 187109917 450166897 248475519 125055485 968801627 12227671 404837669 508466971 182446759 734108765 651930347 807716821 712590241 503981699 27935495 294244573 56857681 866027377 497921679 83015695 853789215 939499379 944320133 605718893 673056995 581774211 462365395 74913827 199146971 516456513 361065289 309113221 161632937 701212913 111075489 943066123 817295455 72720517 640345469 27757149 173127279 290379923 771005285 505560131 62379959 268635737 263433161 403293617 348034427 132936129 20669189 869925827 967719531 526557785 833826139 476305851 444643739 750933593 575275503 238847495 977432967 134860703 518727639 260024117 904557845 685403827 992101643 376696581 94895251 406173637 647252845 522294617 390976181 628730281 572740037 665321275 569602457 448402657 842608835 769904609 415564741 949016725 758740483 151395235 740030245 252936595 461735685 686667525 811934223 891478865 502181939 147110323 969407553 342268657 231262685 722001281 452070877 738172473 668465467 437940585 594138741 800699031 770688883 479067791 246927353 44504611 718414475 786679103 302389195 50317981 848928883 419688425 210820525 141688427 500141063 853752363 859555023 277275039 83745287 216303561 938129603 30149869 22612507 981117867 221205129 855120053 533081047 97359593 602441093 688240639 823581619 344476089 500987013 76737915 474549263 642033793 492234429 483550335 340409911 713769163 56130251 892012555 926833497 395668557 552105909 498700741 183532433 231882719 893816807 873601789 822404319 707061895 553409589 950321065 161986091 98346607 589636833 169985387 611064905 24491497 102990475 938566281 849469679 21967473 204934979 49345267 644108739 456360877 263095167 112579389 749816137 204248163 833219353 815415721 581470709 604923275 106151001 41268511 645487905 344149311 695717101 233332269 361448973 381330369 358676199 574075401 470810337 602904699 881779143 511540629 976266161 798761733 574616431 561115733 646730611 861015573 477010737 450423163 480693517 200246931 693771455 908843743 664146499 3939975 325811511 719702013 931023049 490145829 987541021 183965949 570831161 121147591 214265441 260353455 134203921 726132211 65659223 424731275 665743037 933291091 850844603 423816113 268953743 128152251 734025907 450113509 575504317 426787 725215437 657796503 515970669 237242291 401405181 199483873 115015075 183578547 457945507 24504193 863961683 648215703 917066625 346511837 491176533 844525819 539404997 35258373 679266157 501695905 55844357 477108657 49495105 2699893 329745213 900165695 247429987 361350027 614731477 146567093 728776271 304083485 989640855 800328135 347839587 193257359 436013755 632030919 314875369 445775467 215102173 862528185 814235923 530997605 252306689 742762047 142320377 262167129 282475671 990370221 439042207 892855625 245496689 894554103 619196907 876270435 676192463 4641727 706669743 62284789 400308309 698943049 120443813 705703295 845083409 276112007 310933359 334527651 838495863 153946641 414067093 141188397 926891877 931743267 187000201 942170381 397263137 156413605 55728549 977518945 590026327 601160487 703241255 110568301 361987611 705362913 788800059 941517721 134331631 691314865 976618225 309632123 545974195 250583073 679337539 312239053 141864631 957891675 976288787 56158067 48894129 311850555 721268009 822522489 389186491 769337407 283546679 509955087 42051679 625443213 442597589 877198997 416711301 103893237 289920645 410759305 267972741 399986157 356738481 684998555 171387933 676046231 418714281 282514331 720300401 589730745 868441257 461202309 264283661 800744385 209937613 50092671 714798057 611886537 996248355 875972303 323663457 324622221 578176411 453304045 441756475 880048503 217383181 917452403 107948963 446478227 698974267 606348577 540217645 140147869 266606799 924232167 339744473 304008943 635865177 438261205 878589965 766186389 548133203 15095593 541825427 67700539 541796381 294102595 890498721 959655225 41224195 842014385 281791957 990741647 141801013 444493349 27022389 176829667 953276619 223032699 182299693 935587205 191193031 108071859 362622099 412404333 698338323 282754813 532247973 434398011 718572671 888115627 543238663 131852339 863878853 74947895 230102469 626778437 107653253 198667587 843266391 58857227 15587403 565368477 543681175 28721091 778995845 985447479 3484111 926875731 413440143 783280685 54829735 608735563 372906921 345241281 263826745 411105249 526384637 913446239 164861183 97069303 765557147 6147995 187762655 656663571 882288507 568207917 849760551 837953635 774036611 446220797 125088395 573714881 56497783 210278675 992827689 550087081 523016973 120588707 710186631 630249539 205759195 162028297 189503377 279413601 774601825 744189129 131979677 458744183 200898317 712374667 522346855 305834151 648402989 673294373 607537685 800426933 107908603 351256721 888135223 769740563 222681751 89828593 966756029 284481495 811758859 295995541 993875465 570014913 273297995 313605355 931578589 902089015 17604139 712196753 871635815 931143755 346957937 83638345 762198079 59307441 296290757 662183937 191317341 515028169 903084213 428003785 753056043 558504347 626986175 366147293 837433205 106362839 104638273 809413281 311325807 851848145 372833927 545125791 716592567 319560589 826174655 148250765 724125009 580048815 377261827 826545987 561242797 800888455 418518615 340591559 20190623 262272267 523195041 118241089 883148643 24865757 985128373 569571079 600222111 751517251 766740043 874784661 428196705 362209579 513713923 602492811 706875423 703092783 657091431 17643189 997680819 89700491 625973481 336779017 329398373 688024103 868496355 722006431 745059297 144008853 120313491 744090045 820872765 480972297 916047397 378319821 39986679 58069605 201193387 228331105 184566771 773668909 259326235 125146933 5247613 31252371 203846745 19315247 720791629 535277421 928630319 519046743 160058239 571914811 996693835 911262431 619864727 555642659 876917575 360816167 260650373 869330677 646026151 144759983 31666843 59327785 275316433 341424163 798366617 521950941 301994263 720276053 551996067 732705755 340413365 504124995 502604103 402599309 589218759 345891597 162138489 430355471 284192093 926291201 826466967 374389533 940410977 810798737 273184359 69424417 648773555 794661209 888107541 540324393 484697615 885689627 609898295 519590125 675659041 406196931 601244361 847930313 656126587 245460835 832169523 84647881 791405715 916307769 120149055 306759065 282202573 525819047 405567013 710307475 411094897 352811319 570049663 742539187 399971505 272898717 556648023 93885091 878538149 55686581 721474069 662483119 582365263 902615425 817632401 159198161 357378969 210196525 805777417 843108777 642923091 393250829 518861089 477276795 160648249 994061467 175917031 942358073 644245735 725027705 695023823 23009657 974616811 376810871 85570487 942654075 837476021 611725699 60398819 53195301 950585245 309604283 345238019 765843207 553678053 77167201 899916075 689274457 673886903 79963363 642157015 869326073 265581347 322207951 324304365 414991983 664944419 718561511 685121211 183100395 584139673 864626695 266703351 203394883 105682509 96945729 372686523 704912373 66708209 308758979 596347535 671971371 514725917 809081835 12950623 569732531 353016915 863724093 965751683 569384707 6021883 126135137 542991027 415446589 3174763 543736365 28399897 218903079 449037783 258970269 890978623 895003439 318899297 43171025 871789597 694071405 247400981 718225941 783651855 705556129 972322785 639515615 816915417 125780787 526925217 606658759 683901355 265361199 999842069 902982035 821219865 837953617 806265575 687488043 883990303 24245747 486157735 132094631 884718371 694699039 439815375 332259389 155273715 982148229 159981503 151735379 671337411 122947963 593663171 627899765 150236721 441057025 21700105 477665365 665607491 991928253 196628141 173384909 291227237 922816511 574287791 191429859 137889133 297281215 774273273 294384577 797844887 707689627 976587867 657784505 627601547 62614235 174635663 405138505 118282067 103704687 37056053 694195985 318822759 494894317 496375511 583340767 109829537 320427923 843428841 149823397 205750601 872404043 296836545 608280701 329358605 472929443 65139359 612689069 633626623 111637201 162297777 732875423 250547871 603573943 322916357 828716775 530477521 152854747 814312851 692013887 277797347 679630699 692164161 4289417 673029513 911846207 371362515 6964947 100688609 187450071 981407229 268016719 790894191 171713371 491374425 664028249 724113443 492434327 256973927 378124659 686337105 634664197 458427279 789114185 723604149 37090501 972905253 204566959 51985271 218072731 572542561 976090527 23412769 380513785 104073315 975516219 652528809 649986805 568118069 604384211 981505135 764923215 881265865 247601365 215010101 192267629 785670137 705147103 426168361 917362527 866460547 707040691 111620833 695935453 184302357 490315837 927603291 871954757 35984443 793639313 112435705 39301791 990095731 849577449 580424333 848847001 63262491 786793897 877150537 283004557 436263549 238094939 244800715 575795063 784286923 118640565 129039895 140284673 962475551 985857167 293203357 448262777 929057399 877426669 575555119 49306069 957405889 603912189 419038221 869333175 427836361 880814351 963219931 915287909 642642253 814075039 415901095 841182669 575188715 202981457 815036391 107849863 251651373 26224879 684692085 408499667 684588165 201715567 585209753 531829401 462914635 636605929 182929151 463664997 545447363 578315427 664925885 209354097 696720147 105693957 790220879 889227677 980954701 884735141 180621725 659970925 624052843 747963967 526376433 791514643 575090255 831452851 311406851 109212005 497068993 966711821 374067181 677391073 354709619 982568579 312872505 349344433 604056831 614093679 617086159 754912931 60014563 58170961 477753095 409213231 858860683 948326361 536498079 71659123 909803591 653059799 246902715 143473463 215946067 221925705 167505385 359597547 242649547 352093519 816067357 294897571 275497661 576896055 969598901 108002083 50625817 545666931 560183415 656798669 738363575 914984349 973000591 477904565 485818203 507372411 354872209 397850001 621757867 901279991 139487871 804842941 633053241 672473635 813475001 388111173 792218751 383309373 76365839 324828629 695708127 863364775 342441655 699471301 960830625 555975659 829626443 236408597 936234741 520261309 81619155 947250285 381770743 638635255 85205949 71693849 192550569 596466335 80595163 155649811 699562223 528454367 999685483 928348155 227575969 891498763 201533205 88293397 615122547 309928861 239392485 947785299 555326727 252118327 196408911 40208971 664471529 644519337 110061103 937482043 21578889 732983009 881124815 226187533 983270719 729252349 600917977 778190159 771702349 851738175 133698401 685668921 59021019 468300307 642329319 200829353 819528191 472239117 626063183 838200871 931713963 418086887 384038119 161467873 389103047 981626755 264062053 400163761 81872153 818729457 510478819 672081939 635535953 243393119 67965417 11403825 981579531 657793323 100175459 369727705 726645959 439611095 377715111 486086529 902202351 151121169 371608945 172686155 220340947 351980457 436151785 562195451 840458925 635264923 989841561 731879685 955657373 199301131 300353401 545469051 800349871 87577411 501693413 224416287 923848401 308116409 348588449 334998103 5872607 996304133 891506653 389479733 165731481 92988139 222432299 911190381 394034855 989704281 970949515 984294751 315676573 496266335 718934881 439998995 736258035 546050361 545992827 322740281 776201 144782155 657044493 768072999 28133675 759369249 830489781 81788891 812332679 505881453 415170423 602544639 704380985 189313033 640664259 490938083 392066625 838411515 814626669 296140921 223803271 826374763 342156721 379372645 703544543 309867695 348874807 579349741 538914817 346680643 634703625 193547775 218361997 989184967 900963997 881579573 198655245 558568201 398621907 90619339 185221621 851397627 47614957 207003563 661591193 706938551 7510937 135707235 157308479 758485891 998604271 587317033 754803981 273370057 516350567 491159775 772608791 339088155 64151275 689896713 946241365 662245431 748581063 523727065 688963751 331793917 313886639 675005991 131635927 60179067 917289153 985933421 578126231 789615075 398432641 476494297 947556225 315839889 946029279 594333749 322858771 721163015 938090029 335412731 444247995 600972529 138229291 217646923 669028549 183177249 93822975 187009769 752904815 138479765 403236915 113704773 718984407 240264813 379123645 649188729 896812807 578499831 484522747 257378371 414504945 721792423 507817139 198715145 98360173 285664531 448773905 684151515 760829759 522991621 124969131 346871153 161622541 526226019 660351 387696169 156619883 27929665 315558895 314903305 234313167 339419357 455992269 475848645 480168861 846735769 321452875 669723823 304637981 650595071 250825221 869745611 921909121 646043587 248987653 718459835 671454433 666911169 567596211 277818067 146906945 306865405 243423209 518200327 832765063 532222111 669649633 245610489 452029061 196122109 751132481 750002669 266278903 1430929 307090453 795864789 500236155 527847423 322574549 273106503 141793435 577359633 27570271 476673923 587485383 38005949 910429683 82097777 648238173 406999067 78530627 96274077 162926489 154502255 986752099 364777537 105025447 986428967 24957647 397333819 865861015 138492371 675063919 685791253 276863845 979069231 829424525 427777273 659093229 300783647 184558305 330834627 769456893 73923501 930666629 254764017 601778245 649280783 194577153 985347497 848689245 340695197 993037891 162165435 15239879 857018077 592785053 37159581 809345517 549468535 358398927 573418609 608613921 960075331 12472827 594070525 156047513 528346167 968652467 299416751 692404855 15342201 192473065 695085729 139783623 491028309 420111611 335427471 247067769 965985595 87488941 647509475 833501029 405599691 602830639 33881513 331779917 85290181 810445589 180386717 191255003 775813395 344724571 518873625 700280479 666366413 163297383 571016745 529033747 444507433 453891591 151328377 165831833 276645263 37269105 721227873 235391351 827295877 213902399 176483553 570130403 190076355 357974649 619421599 460305907 20662819 748870027 201737707 787991977 790516903 104663115 407672765 199107055 819037563 146834167 34529459 456595349 529989361 812337713 487418135 276054613 254923399 708483083 631611091 939437007 178942941 571728629 916509315 853520527 520338369 536697553 737936485 260207875 496942373 258565091 157248349 934667911 452300837 398886357 959262719 724614747 555688195 432792769 931638145 214630569 34638635 270053921 924125889 198566273 759862833 664871387 987043655 784588765 705440975 508234043 53344833 233189021 190047207 19896315 990126471 286878605 77312905 814695219 12353179 942715995 627751395 783278697 171141535 875787683 794898003 24829581 710777447 53784037 215178331 59662579 778564967 183272073 315274407 175055449 130306241 689632483 565369355 243759073 975530297 269095211 374503041 594821147 371938113 239336833 651039277 404304893 281993199 838440175 957297241 682935265 189477379 856256105 434480249 559624337 288380131 208714179 725012265 781487669 931285921 726183107 817239341 166174565 398541809 922632209 483589741 983278111 218299699 755704891 435657471 987811015 376505199 923815615 829888029 801337643 418898003 817899259 843585323 416755581 15540793 191641915 811979957 41153887 668088095 636842413 74244971 675214037 52428203 789858155 342059309 443745611 264946221 418113401 752187897 21077655 438640027 844867517 776308991 299843061 542929047 609619979 183609743 207673611 333037159 452503323 711021605 549092583 983731705 300071821 920797541 953110269 703624421 654935275 876630299 801650733 259777645 375740071 745363767 471237049 315687027 748433179 772775129 873526863 805535883 406584965 275594559 429900549 904716521 124421651 268076249 247700569 553661807 62352593 757839927 222472493 94538913 960903357 827589399 541116883 694890673 324421557 911285081 364898555 30421621 870631555 523212299 453737671 940487789 160558553 537899103 877666747 179118015 722104655 682287791 659691457 694479163 669465193 877830017 749718323 836061273 699712397 445038719 242342347 148399671 860407565 453592443 729664431 907569309 387065381 521133939 967276141 139948795 868364787 210710919 646422009 620976999 652401793 748996101 182507441 655385503 787176385 693377887 707178331 985205261 999248011 548967729 52282403 150027967 449032609 924746045 956371359 762786413 590605997 889009263 784589515 442822003 553244481 525556699 758798607 619199709 313370579 733541305 761835829 561539415 856291015 578930289 572769395 241900603 83098981 461199243 413081449 879366789 388550879 614114491 250678041 545901533 73397581 472860381 555109363 966760341 860719793 638244595 237116105 503990689 482238965 692268841 6346715 530340771 670113771 829032915 430345677 422323679 256139337 568708203 995355819 803689543 589055665 287759509 667887853 747769201 930142127 635098395 359644783 853086109 546432435 862608625 771290999 216931249 517031957 263754803 248084913 505597501 888708119 568252709 29492529 825218681 939712995 788903215 632096121 462326595 472651657 112172007 903433833 738308643 498746373 110631431 673988433 498275401 793182771 729137267 466115045 686752137 806603233 708011829 959558469 771671399 932224703 721639043 969110259 196264455 805383013 708770741 756189 411448121 134488661 41483855 187071833 233612659 293528313 21917439 186001445 530833623 607171745 729443989 491403621 190376491 51616135 756116749 229901733 982117853 881651659 325784715 374809053 483234053 744484985 987808347 110857833 632663651 994808449 361480173 846086157 168153439 48628665 408255457 713300729 292576005 920910825 123931381 204218303 878505745 745824691 633353497 222762079 785420509 66367917 221313629 399548733 437166195 173801295 192536573 461282855 34208643 949759995 384626015 708696913 533959267 275354615 298174217 199311963 914363155 256375673 983017907 720658757 880004665 427612055 387158839 601473411 201135653 292027729 30465941 840991459 555681743 742082709 181661693 744712361 276711381 886795057 997582785 724066421 366034815 303739359 249058137 573531993 310437821 38923071 490703723 393723589 633788451 546241757 855314371 493815707 541260789 756232231 43093075 791922973 337186071 6487417 657319479 408363515 540610841 898111763 126492849 331957575 296431665 79490077 642841133 922306945 474688065 526662571 348219709 675178893 638297037 181928885 447498143 698037175 802422025 42158619 680286517 579284663 958251207 387334567 744513289 183817897 436742025 538551565 998714959 764396563 391949431 36771809 120526177 206973665 405644893 232608681 847030983 239162729 264246965 599217355 237432871 22476135 20845215 363244955 557855061 868657409 699644383 479187281 159949647 884279237 173703143 965760781 402743607 311949225 850279117 969610457 545551703 725624327 425253455 716237991 801764899 423348391 455869657 909808977 41313079 932551351 122828405 529203607 880364629 210827721 383039965 163116833 349665899 37845723 176608623 432539011 904560775 109639509 347360307 641816371 240977129 478788611 344218839 16779413 656263155 869294615 492996277 382900977 489580337 637579315 405067465 476312443 461215315 128786267 8314045 132983367 169054263 136966137 616404959 189807451 724371425 54241511 41917477 247469469 776566137 225227871 315168049 84568031 583313749 321402119 479529801 968202205 468779247 275143917 520989787 185268533 868386283 122979973 306587903 100715633 676596501 790016429 783143797 958768643 102779741 489313963 311894179 20974403 351464161 499952939 20474139 337834869 652915685 763816259 846030865 829305535 607051219 15013489 22207589 275584307 398375997 332191383 973791137 475068877 980326367 965231367 249895151 139845995 461991837 191380849 341805611 782477783 699622787 76923127 594554579 506330817 486830019 859131675 148118797 530377927 874837943 221625549 986570409 420034661 900387557 236367711 139355167 129894663 760249845 90508689 354529677 901911549 385146815 322515079 235588027 123821443 337721913 319369423 697644313 370637751 775881609 285918045 905794235 755186083 293337339 266587279 639984997 556247607 798686209 889263401 152906361 973823313 960947511 587946843 174123787 548885165 238231903 306082745 868243665 771313911 824545379 37004863 842256679 250928319 130754139 461342037 646655001 965197695 164297343 565265605 83491667 934207129 139359281 439007429 984835885 945543253 227612671 555770101 893481383 141334243 638976667 95972695 726081897 62815585 104269281 179473241 297716415 342420683 130248659 651719377 811633315 608541453 27048861 819130109 459131829 997147639 639040657 674856321 792695097 668109891 175709485 930892137 129914401 258736273 555706899 333551149 591778817 305265261 447551757 297723049 840022045 317474119 940457487 561733155 381065305 582688631 589968437 407586117 407547973 38555967 868930241 612541225 893828633 497934793 120844319 682091081 400549811 142831653 177824995 71774091 144186779 224105037 329767623 131009341 625107455 697035809 834890671 11573779 568720825 108973677 705817253 347252781 604867397 428439519 781515997 953760779 77371341 894601747 451187379 804576673 829125663 74590345 700635819 622187327 168560561 619842987 255933037 529608355 758271397 902254025 316844495 871766005 333150655 413829149 768039883 511139007 535011185 71403975 246024069 820317945 923274963 690154195 562849609 878228989 519201697 32949551 161397639 304550293 932161603 999470007 417296349 828350185 80978633 111153963 940840463 37544339 898561517 174782261 476614405 403042443 165899273 584187747 243208661 732245307 301261351 692594739 963555003 855549551 794764535 238686723 713338391 164295003 471584719 922818079 329845621 219167901 850580909 158327733 272863883 189188411 319535675 14972641 270084145 233851297 24343239 821707171 872125805 841089189 210011977 446613219 520127593 359772803 973149023 625910645 298898295 875973091 219888465 808362769 203254291 408599759 279140109 742703447 474671073 809881021 726247725 132542673 117178285 471557261 398700525 717191155 49348201 869528449 473629239 453378577 743807025 138090567 673310873 647126641 455388997 191363317 424287305 330010425 807212821 262973193 784645673 104791677 110324531 886038631 367961021 16035125 535623255 692999771 255347255 981292097 630262121 126998685 356449133 1135979 780387951 263212105 854941919 151859813 537030049 338061541 286293685 470483913 159777369 978491739 742528187 734947861 211883033 883955973 469270379 672924855 328469389 511134877 280481507 32618747 329798025 546028873 40845293 835254559 103400453 964083095 844872947 846684481 251359017 944483965 27683601 397224043 845972541 198781013 68527877 33040271 471229621 903170023 263020085 205814919 896146221 641183071 366966705 22676241 112169575 580516691 351803697 833292249 126322767 985735617 946044945 7890289 408362233 604882699 237176925 784103759 121335199 955764995 404869571 305629399 86906787 660987865 132136087 909126737 947897237 192760623 256325851 880204271 438486563 373703943 9082167 909823179 74944299 858648785 201281017 19135971 428033199 493909599 803098135 393284387 280798683 170627313 324619315 360399963 418603011 945785387 800060305 429478983 938648993 193221915 548917027 216624517 103306585 401954613 887838847 88523167 774472951 948353367 299129573 252565511 14537835 83538631 54680125 142496021 268973267 676670513 229069331 866692875 333111155 573811371 64847009 814546195 310149811 42465457 504077765 860767805 363189545 501653291 83699719 108738693 886013071 751787619 960451479 350230983 631297225 597828367 868982091 270763217 254468835 21121871 151532449 700238419 774878733 996585381 812639171 263302629 911336103 933319167 541657215 792103691 642103087 151814323 187834189 421807145 528418645 896635775 561401675 28943767 512303337 813005447 783062081 318727305 409425127 419889497 503018397 430476321 226288245 853595625 204487033 259611755 113239001 480728469 127046033 373734231 412539787 179691041 231483983 428847037 39717667 635518141 896960959 628780639 584357479 10419963 530612379 720355559 927544897 10500061 899632451 260716773 410567619 834994371 800578237 961081043 297126187 394679933 952360887 409466131 572994777 147052607 50189705 747770605 798512731 520222377 88940339 175189905 779661155 730792123 395524187 601333531 437442251 997843689 918612561 29644683 651535257 864223235 542604557 408888779 70636023 387982407 491432493 567371947 671856185 125263453 807332857 438677989 401286615 387733071 667368545 222238489 578092153 984896149 314971131 170328787 118748903 829456139 585619205 978887041 484975637 18605557 867279465 899045503 218973215 729597187 847630005 328040205 161200967 610013255 326047009 684937045 576946937 641848129 315453067 763689831 339935943 619964373 839518331 270958141 797758319 70278993 273964063 150866615 384191955 494311785 675561295 436821153 566053885 147133243 490689933 591448489 625621025 512254029 565963003 831994475 488602523 112769419 226922861 217893223 14108141 599736907 509469015 750006789 924772293 980536649 252207323 344058265 781804529 911105453 788209341 852610651 386018417 217177089 673814895 788421227 131997031 369069373 400310791 44113621 837044253 429016507 458913093 693072007 73086473 792885827 181321871 34112861 246524867 309313795 885284087 69880597 759121423 698679949 479136303 895084125 605926619 949735137 98322333 613232067 907627575 764021347 666204483 545236671 129374559 735172319 468784849 714609845 884786615 879770765 385083041 438447599 334395849 323773193 646725297 477152411 737719883 48549977 612816295 928282069 708877077 750647273 892143059 838771867 430067755 519266701 840340011 173596891 439892667 167926917 782986577 342524513 145416725 704483447 519916683 88348651 615744693 413640813 579781319 106913303 960304961 29940701 947787165 678208623 467786111 500851621 95886415 922014821 321979239 360314123 250905279 309669459 322266129 742284477 990786689 307295863 428664003 628984269 292114377 89790463 986849255 258997433 402402935 318432247 809822735 616622697 642875157 763335773 406316279 424401703 990894031 239368463 985139333 476783531 151705981 604938455 56027071 754537489 886930591 930093159 886551517 374883549 718724699 178575191 745158457 675594751 744144769 587317035 654829141 463607753 417250697 120172105 12450011 747450875 185838993 770755843 286808739 47391417 199292769 519152789 206461603 733812625 699629161 593261085 216332803 186830455 3181759 979433893 387535627 343880907 481874977 739481375 643655215 380723789 833685753 284605283 841319689 261534769 187044181 264286005 787626847 976203269 675394027 409686587 879762971 891600077 601495325 540398087 64680529 386620905 689739761 559288595 346064443 840577579 429147413 703596481 187822139 898429123 243136483 408737625 641780191 375150675 105741655 375535885 151370459 273253341 695953689 381634293 160760325 491121103 531802747 93348115 984424039 510301953 826406257 448041553 675399207 889432491 950767005 298376577 25439131 313075831 700353347 608160345 409589819 327660401 959324757 581329021 729551791 784303373 325724521 394520693 970839231 881439017 342325439 487555249 160281185 75944971 712423741 59414157 254637229 632054109 900936563 778030411 814145511 78001465 870123161 762870543 862662011 557806361 863976333 982982129 737020669 381564645 200692695 66041061 915593511 551890919 270144167 700538061 713327837 846878165 838064081 929573749 182057515 917680077 714011353 74880653 704138561 460539735 605634019 148279981 766334845 776999771 114094271 406027863 5521507 373845297 532094947 574970101 95251611 623907733 316750193 537310679 227016955 438867887 424615983 698456887 507487613 603818507 49612939 859961653 535337031 389807003 800351645 566390493 756339871 209100993 556827685 492281631 427983869 975574593 116279691 853257683 554447097 560928325 827817179 345382075 459908185 451826535 901731791 204027007 149699589 281816993 514729927 638995379 501211667 283151193 815309511 267457487 962662335 658668125 600932993 338878517 619754089 111685345 695728971 593317675 362988703 353806979 622239013 984136935 279909651 776591689 33214133 556784767 515385759 859139231 983823435 493485813 260744777 151457883 998497503 302626865 271768635 311009211 607449871 416650247 638762695 920225377 806748707 171924271 154293353 897029981 627928843 530570825 751517639 861113893 920140635 943470305 507096233 183796629 921185879 862776933 68140803 506090737 55631331 512626481 956759535 424146663 601967501 290753413 494454451 352659599 771918737 631995529 78760889 299408481 627274187 288943441 442405781 889096519 550581441 911909333 239094783 793438093 642661543 188584437 909549791 966633447 842327119 160886395 115797309 708111987 714854971 100791323 112744525 552182711 22249873 781151337 297352811 296268703 782307619 691227371 101120537 133356671 794308197 676834313 73736451 307521049 191224951 622026769 101595901 262154381 796117795 675604033 570037505 808989035 771944917 337702327 859854385 705239719 1510565 947578493 634890971 211756961 970628945 230086279 12706675 349770779 744256579 670188201 43377041 386285891 362497931 94908329 76214009 472708783 323151323 399973165 158844567 670261085 709279129 489043145 882762111 328335537 356891077 754588915 494237675 608505207 93544213 241806863 769703487 970080999 290904797 244167527 603930117 169608605 801198619 793486889 507636977 28181149 324868729 581698159 218202081 368398423 139776325 699188285 479163347 899226015 434020981 896369785 340574453 934694577 226901931 265178613 693032859 194409523 311222059 631245933 84567873 534120499 803668713 14129023 28806535 667557669 83985783 12268469 634464057 375461607 282376471 273920385 195756365 752395199 661778095 901860923 86435803 205645145 985736401 802082087 416936231 386805707 70913713 270392427 471157407 60767377 774049071 439622169 791579091 309361043 258784725 903489837 428064127 912821787 542007245 397441669 866509449 309704673 617184499 866782187 333703415 56897025 941297861 148003601 744177409 211012095 737474409 149358223 255817727 66961609 130692783 961741031 681707895 478303671 362046223 798413187 785998867 647372163 76032679 899968437 50840741 72588627 551296575 862698931 138503979 508946355 991261765 201352097 888540613 297699227 796470227 989948551 594299329 563247975 851745189 102661973 97410193 559465949 699573541 605137897 250668239 505798441 97345889 979997183 45092161 13752289 367692815 315572291 863226321 775463425 513546385 13537605 380434065 60038639 698827501 457610367 324239039 322241915 170282193 472359763 627932603 724238549 251318421 520504329 187508755 289436061 476062265 348152019 759058041 794396635 402425445 398319817 293207753 379304695 405488485 193544429 944011525 454889161 656304179 809525033 611237977 52129935 315011949 771960141 626514457 673342443 860812381 943666195 859413695 840293871 963071981 795581469 231511277 188855309 299187641 600291057 451875953 896632099 960548607 668636165 417301309 188272757 319623589 497823663 557318765 512326835 596048699 495759409 957809989 942100207 944778233 25351861 760058413 954153387 693460925 882772555 905305531 284609991 411140879 365427949 183091623 926076307 705383965 488909947 538374617 649384387 721089473 83100097 317551451 993845877 403389559 312202095 288970589 204608047 151890281 639493915 210187325 389408477 275333989 418774603 11755133 188681941 81631713 131607911 187537355 874206165 604671 244501695 266240501 665646591 501472643 756693389 541235709 971850469 290722783 147873009 247862529 626255479 226509099 869603575 435165005 798778391 493838627 259583373 65604949 331486599 281318959 545798543 276200631 189690871 227677791 775359933 55108401 318751481 657144939 653958081 980438963 760883597 233730227 598069035 860685133 652153111 604351547 412915827 405007931 655048293 446291381 440889855 618096353 116337323 456158839 208259347 589121739 531088519 869638527 689937635 65605545 479147263 630543991 762575753 547808347 65834623 692892333 299917061 104958943 141448155 520115737 710960191 130654821 186877269 939373145 740665355 207064125 405123981 346768309 891250721 401212645 454034579 81240091 531500577 466129917 674600669 740359717 428256919 437497939 712268869 882733071 614443505 859719383 399543571 473708739 660586889 529873321 421166837 656659151 731439779 752224521 88259581 615187817 129694567 567054435 820301227 82077043 397075427 200803145 813837793 604045425 372465941 222889593 691426289 122421653 775093723 411234515 699751309 919800501 141893631 23865957 597189075 991952209 823559475 385803617 515969095 178143633 951688721 670220065 218728921 507921217 714830617 779469611 576714205 358012123 507703219 231637545 379273487 355119229 6649649 538236143 746092181 893208305 691114447 519705975 601512701 381159585 120047531 279090147 6411579 183485097 538216399 178539905 887049647 765832647 252148013 123305411 574938907 336796001 88401311 805316421 785980845 340436615 512072419 13706953 489440251 887427823 102323109 261127739 986637825 369844731 311980151 755786159 52292135 206547889 239177423 616629855 94289463 929848769 936124945 684607919 107740777 551728767 461880965 651348521 909640793 133710317 444366429 717507713 901830667 515046067 543858867 889491091 928029421 778876703 514567813 513949283 646312151 556340775 920976831 863054617 44092163 918190189 354093107 274820619 196511511 15127349 463541911 836363187 281145889 939485041 95040399 934790325 560433045 711980215 810460323 679812315 670059089 982375495 519888709 203098137 544171931 906793993 917916621 429452171 38731295 941729673 436678781 675295349 594158833 665385217 410435711 416006975 163907219 671499343 106313957 640902271 359110117 782657531 610863013 505450993 550435639 874271285 497243299 623604085 926763327 632597971 543663271 4424727 915249175 215245651 379361377 210549517 187743817 591644639 238189933 96900271 713477565 6189125 73325389 77831555 698970827 105319933 508833895 518671665 696254257 361706533 895475469 579807631 267865363 17205381 185877625 39605657 970534397 210768011 274227149 131687535 388945383 539377745 76742929 485918303 61203501 378259347 280760885 349357017 851526293 638449337 428024853 150109309 554785353 971874773 136799601 288219147 315547875 146154907 152049651 208465773 469891421 100212845 876114731 193363387 562686239 8353103 325365139 979942187 59899123 262485235 876008845 453544995 851883023 577530545 291840609 910550575 449423633 399361923 622733631 582237441 160527615 854783767 673814595 316787061 740780613 5800631 934798189 568777869 859505081 465512029 37396391 159431285 800084889 331885991 643600833 418617727 783751305 937033437 935886709 614010153 366094997 988524015 791069795 548398355 357457973 219363699 723173655 47561739 253031747 534973863 892742145 80809219 581575177 108635509 826692729 99051543 141439023 314549611 843598271 741450633 365897679 124533441 580120577 893954757 808066659 380232789 705319245 963354463 757310929 1665967 918002845 827021841 216541031 976949245 414802129 984499645 345174745 656898839 965506997 645492849 813685061 701536383 700802295 468124257 477999153 678979671 827089203 71494885 959371401 441927283 860447977 63818625 964380067 814388039 766583681 716089057 638950971 423374581 148026447 2373081 905287031 539155521 666763659 540002403 469606375 196191645 800463189 361397923 530740859 418660895 760812217 607135203 817934741 677164167 776718501 46136727 393625079 907966011 7894773 917686875 534527951 408721995 954999657 234658547 615574453 175967855 371082409 137518919 902934433 539663367 45769545 797566317 840183293 592107287 471895743 341984927 424136853 897967439 257374321 233537089 182662045 91908361 266921123 297385183 663379123 375951427 102349705 76511529 829059547 290284961 59862589 970485501 673447045 290531191 139332541 811690591 164114053 555876027 899408887 260111991 292114711 301943307 396601015 529767579 712961505 247970991 928801467 198408007 209574897 604901781 89824929 723555099 172891837 849931349 813685235 79170021 246932767 300909103 482828837 388919701 633249375 445929227 521554315 466686283 406645033 890216567 683818603 403030085 299182739 32662185 244975083 909310707 230798619 854180225 303314717 101710309 589805989 945933705 922655229 642232025 236331645 187292397 567060073 406717871 532712027 135117957 911307051 158784885 197537627 106594001 275675893 751337821 671313409 949237495 498595169 117458881 646590013 132848583 543870957 958405927 296021601 885374649 261471493 769649465 983726637 355980011 359389947 40403401 61209541 49272869 165044997 623929301 26098359 171307479 613982791 111000189 3825911 985294871 866681545 713878543 267304419 832125603 51508349 918534909 837049665 492688357 920411195 282543331 975217725 177465835 837019335 778617731 545314925 332360043 200845767 756142537 935479501 849222855 868004045 85844679 725417157 619554053 719801427 990036155 692344607 872101587 906783931 84168199 784383763 276602251 742638413 999112757 4415291 932007465 265914683 954170105 528847521 234463317 330899613 271326511 41583021 696302433 999411063 237907929 136803127 553598785 425779375 811151139 879809917 511549333 419896087 898464097 989431587 37185703 40083049 556426765 91204151 64764515 635947079 193649867 549155629 269754721 253568825 522349669 781514211 194594785 848749487 456136143 673357981 582301385 927020295 177500965 420791051 343273129 703078013 694002857 965665601 234572473 306820669 834692553 297811131 764354007 331412567 755403797 462966111 520432523 63051717 175561801 358325371 736610565 493424489 662463817 86215621 324471833 643327241 300054303 831360599 787091531 615684699 20249599 300821945 473897407 825808885 109613383 9523415 181169219 572246105 37528181 798501641 167370835 134931697 692189753 847318791 165295115 251609869 946424675 627782651 282565169 668186343 257217007 925077103 447478073 783329953 860262401 176409435 194454581 54188353 36494563 603944731 366824935 706874301 365291019 548539507 707276727 335289835 525279761 605684115 256472241 80401293 715641787 520418575 123284111 637794637 754916083 233139427 605779121 253499321 644030411 994535797 122288923 931626575 130080127 122563731 905162111 439240815 387835763 492135537 730652723 461988449 896775731 892519597 376639799 131060309 587587185 228398413 61525297 860513127 132121607 435593149 921108593 987313815 508632827 847299539 594615279 204782541 6273655 942598859 85978697 967819485 946548173 547939917 440188103 572436095 149401467 336761699 510721113 967072083 359560737 265042821 178366611 594965733 425718157 630907789 273664697 971028643 445719473 376863427 459345583 75051241 722424745 30993365 137903107 215015927 35922615 747622869 98426097 22439157 253513031 879549251 619743573 353706743 768453611 26242819 757739445 320538101 78791777 504968035 827230275 980010447 918171273 123321623 979930583 711008081 641466225 997557821 7588077 49457449 233392203 414564697 666558125 267227379 873118067 458883163 386243049 896736301 161762155 261409175 77130261 467268421 434081759 838707913 509174865 656498311 784922787 148247065 248375911 290676017 141520561 859633425 264906179 881066081 505156909 352348583 852781693 504442915 86033505 576489273 149121107 386544741 77078721 717375375 534223279 422121473 271838185 546211281 692146337 179687867 778743707 242615191 950954971 73395513 226246339 667221471 303762881 635782671 361321077 787342347 501759321 30661811 665648875 15096045 708641107 60243851 687957129 101991863 658420485 14952411 436543705 808149767 615307629 760415447 866129297 22146529 969277493 144795287 36081545 610153141 467648171 466809119 148108229 619159637 772387525 964520277 246986867 963175681 610669093 512039437 305835491 953267549 435670799 155659005 171478929 230821239 284468085 76651465 117935905 124486085 123753967 632892153 166798685 742420001 40233657 459097343 432038203 971909331 615071931 685946165 967853779 505061767 400163975 469949145 330431083 864182355 815231825 72862743 342044523 934660787 843868665 7908097 981845353 885689999 3043849 195473549 243870497 459858737 435437227 364264863 660074867 643087441 201462203 499612159 188645485 718428937 862201015 930419039 698471999 649914083 562573765 383651415 884872265 179787463 760068277 278652265 264719881 466952717 489377279 439449087 252008495 907249011 337818561 481609579 611325323 792833565 280711363 411718627 179499035 699798681 120121715 324545419 869467135 931167707 96852715 201238891 82390661 145910337 290396647 752131701 548999967 734080657 863086033 308195457 365733993 805969143 632958391 425393489 372944163 853358087 1270607 53117839 835198781 526847939 673596923 150209483 213372105 598257291 238816193 241065343 530447103 132494383 867405903 413031949 219539271 860294885 510735357 138870205 740292649 9935943 514695883 773212865 809303641 392901213 115931999 775229489 908161459 995816595 164855819 94181135 765662777 627854017 359062979 332800325 312524567 563651615 813659431 483361955 928695711 999170647 758142849 124457955 430888015 975462005 63594939 970748327 563482057 937594349 576785777 695687541 364654551 477540763 600916449 873992899 794332781 447690441 353851121 569370087 907379367 509173281 414530609 594619683 437726151 252593335 30069209 23766433 59213369 905885963 689188295 843550833 611345553 699480065 738178179 551462285 169916041 419758567 610075195 152014549 87087109 815552883 374667721 963876629 63114767 833609919 53447593 87257853 739744219 269726291 129352453 869549605 733020101 722583067 241977003 143609359 445552209 490333805 828423185 871824675 142243111 84474629 851593305 744266165 20646941 963760651 98492743 297421053 488991277 844132617 318877773 855270429 192293499 118497271 144907137 230539547 866940753 819031089 306463907 507231725 978156325 742430075 679395867 479527271 235057551 24816387 56183797 175490127 859694677 582236257 133232875 198993485 49693791 366200463 81836381 966588145 871194307 207028467 893713999 129152179 585923515 100590169 889138803 330312185 471112621 854756859 933681949 829019655 743297567 245119601 178987857 543234067 372713161 419716801 603805363 654710833 874939523 887922011 715660435 606109287 124113491 293644563 764185321 487323037 958819425 419076645 984693075 128900257 139266821 118445881 395360793 610950449 819369909 99446873 75479337 662251 876610583 589942779 368391965 552511067 26619639 242279935 566173745 166425071 643969351 585816743 899170127 863588099 80891169 361281953 997809411 412325589 118084299 19581189 510350985 326355347 136674735 204550731 142822587 644692297 998342495 432201053 176690469 11243253 946027673 954188679 662340339 248549749 220490301 819946621 41239037 363790995 41014873 93463899 2824131 833850883 99927839 213555627 546879597 973048921 376034795 582854743 85487047 625829403 576959039 99887283 985587787 54185647 296790727 442805631 22565911 298298729 718461013 390750689 694977011 529820799 591922919 227873891 773067855 718760981 930995871 935111675 305885249 660860723 649128135 245723399 297434249 705949899 904797907 267310157 866711693 841110711 824958815 73160185 801041757 874370229 792211757 296507041 178433711 306020211 739479081 276892739 412439013 836938109 152508519 706731841 567390469 400311375 672485151 237662061 154010045 944838987 760489913 443488505 299169383 407019195 706726589 620011393 212312831 250023629 831008481 468481295 675488815 951469723 223327741 147106571 140189253 31788839 190980117 838380367 566945847 446129755 379782741 385207059 463611047 825736713 129998865 783958019 561215193 751647975 773457859 339492645 473326527 820752793 195670031 623469555 689563375 385340839 880923327 454915915 109676969 598448259 585205705 449593965 130297299 644362885 403745861 348680715 424710399 683042287 901431159 58395449 537812833 795832811 327971789 66848883 38906585 586568587 619771351 212026017 240630767 739782341 328726353 705056781 676500691 607036285 862647327 117946223 139080283 188043899 613356877 885821153 431702789 550160495 930280459 908747499 557531131 726130935 174970039 90846075 199964683 933904271 176534485 467520227 761516205 846416035 905443599 436326627 106109695 756605571 402169911 164168605 327831753 595933289 722830409 664602787 203808633 544050039 9465449 737573863 509110567 72953269 370455779 178505927 666307477 341947155 263537705 604934407 216545573 776282733 826956245 290302935 715425771 762398341 911226285 652077259 272792731 554282239 757026459 565270751 775429527 446190449 528214449 185322361 98524131 802602581 319049005 24753511 265378353 297424391 539390319 314363871 275902935 102611925 797650437 19981691 267391445 168450285 556729505 132551491 286594515 615465835 211664925 318923171 101480221 112034127 719381887 78515057 184445869 615360899 496865521 508430571 142920993 536177367 985754821 98574515 953040321 710669573 592039033 981045467 489812349 660812207 104452015 194299347 13911275 688319835 855158577 108816765 429588041 590705791 645901299 134864411 43562113 537215601 868168207 549019485 451948065 743684211 175594445 492013911 447233633 183259309 159376531 775887747 578347551 378425139 898319861 140918733 72157921 832011517 484645041 97096059 519821275 741896939 767833001 650735687 541028063 922052297 575956711 227828559 199538031 921468485 269953695 390055443 254840243 783725563 261348909 52608389 269354361 685546091 765617939 228076793 285282103 868287743 26238973 560010541 506224397 628845317 307875775 273742147 289826245 280628923 630916179 144840139 699123147 335533119 117610973 738879931 5690935 739672221 861140903 546084717 391344585 110093507 700026151 935197099 205429735 805948045 628609781 946609309 698080161 147396539 928075733 112466139 105716399 969342709 527466419 5822563 106759279 172066511 606884003 495437721 336794347 974887617 913873377 174075465 458969037 138993195 890870477 47841451 797132657 471881559 885959667 809087067 746049491 618379895 890763271 651856223 395316637 161480357 479782119 574475555 229956381 359530721 634002065 212986235 392341323 753104659 628208181 827821481 656704197 993646351 291820835 813241165 683211475 66593675 358026711 705525111 454271587 524010283 84433141 515947419 533958925 378335097 248000585 610646681 458110993 566661603 346807237 668465587 272999767 515230403 311280259 939997079 625878125 687973981 38686153 980779355 686687625 792600535 589114367 11501437 48301707 521713733 101774269 986996959 853670397 404445085 837772985 926912467 611480587 275682243 341860569 120416009 387476365 988596607 309958441 55510691 175211779 647927683 405731547 87520549 585179027 114299753 777285195 638534265 863645197 572837039 219994617 710421753 673612265 899600833 383263637 391007839 200664645 3875057 893705969 677851857 488840937 102924661 957862661 487121373 635612997 71053425 992769273 446525303 606865261 266238445 651207957 798915837 163760421 935263195 714669005 868544053 148559569 271017235 83324603 132039755 868544129 423607385 192966565 19669 578435307 381841747 107953013 758599887 669987953 145330067 812061503 913622945 731928601 856008597 72446781 422910997 83116689 17948597 418745297 323946849 862708529 559045953 688082569 429930021 439479547 716403561 280923927 23475555 810562961 457882693 348488791 128634251 679334471 7621081 156730187 44373871 743946001 295996683 400387617 102767951 500232591 996146861 553009447 479737807 39023627 845596793 648799197 213398267 904164465 587921937 584064997 886433099 544980825 384065021 506273801 61776539 792201985 758555311 701566271 50406705 689323605 700222335 928482719 708772537 992936415 495097263 778457965 553342791 158319833 914893673 878709269 568840285 332893729 411633853 913990955 31776731 775554879 895553189 521697641 995095825 374812513 888743427 173538739 570901939 992985697 167811231 971628563 823629537 6837181 435524137 913319615 730067997 186852249 60109629 566959375 904889429 517198793 517110363 470409353 535525599 362624195 489081069 859297749 966460537 947922597 867312195 267954121 225203269 55877685 760075415 90214495 857753813 226216423 121892363 719191483 994242331 624638669 539911589 610750249 752549749 429900201 682773595 109731353 847887527 738513891 179651075 790874411 747112673 595152519 301890143 105039645 195537077 418039631 665843225 308168159 589489187 674218907 429656513 432590721 411815823 822095727 437403345 140944193 39196871 109484669 884282537 579325567 733365759 308884251 915420053 195126217 974630615 897017161 102577603 14717903 891061583 874393005 426256975 179311217 693165785 330594967 232350265 322168751 757741897 441576703 940116841 306100403 624064989 739520387 992295859 995714773 998436407 842429803 649221071 603715211 191039849 644441511 443761247 308335229 850073315 361536971 236801257 678081139 165780359 370869531 888953057 97095775 381636247 330635129 73176225 829363553 523450563 620283513 712140905 590890681 877261597 836281425 153959779 601134291 110098981 61721823 815600797 564438593 590816959 179016873 313146389 208773313 893211959 153840609 393660329 221804085 995932229 768842591 236558885 790954919 435507205 1254303 655301687 445224523 441910525 620293577 807518075 5787261 332533017 930944687 292910959 41286847 368192687 75574725 165613185 994133181 465940347 567751211 382945023 538893385 783481763 497815467 572903457 187379297 909396661 442767791 925282571 787407911 72710311 282735187 131017671 70434277 785576147 349062997 208712259 251785231 618036481 994040603 889698649 987709505 341998173 338380213 809720781 103332415 686916223 212743131 781011269 330583281 571612767 725453803 781511509 272801645 385861479 695185645 720041589 812387821 923952225 152028049 895530757 741670101 67892357 516981547 58921039 502045103 853088879 527682239 623748997 76513327 416183589 521382897 750953663 235912497 793407249 118581775 741513217 198791609 132758797 286226197 742530609 967497711 265128787 873631391 836952099 646240297 719842441 279209715 664299405 317878241 753937085 37991939 207847955 458888891 187557475 690499687 539878973 361589635 311901017 319406171 821821565 873597225 215629797 232479943 602901549 250705869 612296627 655169597 822869131 502753709 56804057 609186801 109729219 692913209 993685205 571931843 233871335 937890049 355382153 104726075 867374061 648841409 636801095 407323017 858758329 678915677 159200447 351714435 140149267 464523745 184548371 483768489 504268205 703640447 945631173 368065569 515649567 709971601 647048389 308905147 775379949 521049245 166220389 445045999 388801149 24975437 279851365 531986139 183181089 156439155 530688233 125551431 279703059 333496075 914853759 374848673 730998133 855881275 966594075 185140739 250772559 770285385 181286683 74912297 438264723 389271469 696014147 260943997 187025177 255621121 687489731 267890189 111322787 675816711 191339567 865012367 841900251 890076331 393852803 186330981 851537 702837503 645587239 329584789 586657409 929589569 781222629 397703629 338444999 915213009 209850099 64464229 706039153 660910653 295553777 899665245 171761839 889343031 466347745 356953179 341256601 642803355 981274161 953674417 323300145 161316715 640101047 26489171 909168481 522149843 509110193 922044641 643598329 962022695 232474307 650697891 465010611 918689759 994447609 65895817 410140977 434542243 123817419 368605993 558611451 423619899 602163733 745418435 681257857 163649947 668081949 376633405 287321631 155460319 752924557 334859559 16640021 738606665 656162943 428618681 216448141 692467271 214854765 56722385 640459415 234534247 760331325 993330167 918622765 62107497 963089469 735865945 304722225 637830191 276793121 765443025 889910377 172708035 301111049 549878491 74685579 347058267 59614325 784532641 16903981 186688847 340275033 313006063 752234961 253592099 870987781 731534913 796352735 25910915 181148727 32948403 317832875 220673091 82906647 455028491 574960749 735380061 471487279 299077819 693858119 938139125 116477815 787307993 374355263 89883991 545890889 234831397 158731851 814293235 620217199 833383431 105642817 162890343 263397393 203168651 157853921 949333367 113984969 171576171 407515865 103352587 992075151 525938695 649713335 198262331 586521293 962952291 681244917 494188861 7500879 316021553 629880307 842267255 652736329 304947653 489539835 726100339 969671257 458916643 794036545 323942375 786715781 400059119 928580827 94893739 502635577 21274233 468482505 226343621 806329419 890019257 836115193 246119519 711342327 815756877 853631289 320025035 326712035 561803389 261151297 967764101 152630815 336461879 874621365 840320563 240661787 643868181 681569823 912280475 662469049 11199571 920779245 353490869 965551675 83090395 881988219 52875931 283108943 447025465 110964999 423087759 546699787 110295977 673388479 630423291 644058349 195681285 571389105 420443511 215201497 984053721 448721109 746264249 212259611 343203409 528626959 544443817 874359147 208036677 835561257 511264847 575579877 433165365 833425105 803133151 500100879 187477319 38114977 994995379 977945299 568658509 462490397 65911633 836483979 174153659 297470379 49850211 401891825 665882545 904304543 131142589 236994347 387104503 639037743 183802455 626859975 490204157 232577663 326220633 580144827 943914457 797703833 979962891 570169441 851595593 337091691 341971425 981779841 760715705 738803663 964801911 821368903 654814259 46257289 901712783 188287305 910791279 482202431 540158997 677784197 739805647 683437699 90901789 27211869 621902425 538600401 965251553 871596193 129362875 204441223 905521093 219811719 906918991 129295087 709108563 662922411 322164241 693569851 759001407 819348497 570696619 699470979 949996389 698341673 12887915 439702985 597098951 429022149 821875783 469348089 383130515 178555685 517786847 236361695 759427095 150565613 903821437 967425847 880031701 436378667 895433229 959413667 888485737 545178707 234938663 258789547 974389413 583227971 93467915 595696065 672061815 948031297 327627167 872080701 357351165 251766265 919681141 338500963 40418939 198280577 481691585 283941721 839819353 899173973 335542115 216310833 247423789 573637979 86416867 170631653 537771185 566684387 574917489 178365527 95163593 998343069 744033507 992698959 610952321 957338539 496254647 893452927 847806731 70095247 254877207 159260799 414089921 712178487 596356049 886905809 959580711 870597369 520312157 39712479 225818859 547653267 926387673 58301945 329551069 468013097 455824141 387329113 403303675 974251337 511555175 970403105 308378725 239560167 992328191 610401881 980482919 908969823 140289431 521027057 950706295 273592699 681801617 607775943 331271471 891358565 243641345 471503255 458178383 775424689 865855899 644297741 992200647 139010145 459592897 460594617 57236391 422235093 693863543 394528021 302333741 104568797 752727407 507218561 681821369 286145965 255652095 483497801 905146329 591147493 544148007 417841821 362575423 952364933 151181967 82593429 85108935 235307265 424726403 510709555 109653107 610800937 57270013 313774943 632960877 347860027 212082331 128248301 178682893 71982303 880659621 876846741 144897483 561023263 527248139 546860793 808601673 299791731 211492963 412863391 228501077 347503031 891890923 910869757 951775457 976442927 894557069 320537705 551114761 687077003 710602967 39413541 43303439 199033053 934928385 137169753 136861279 543451813 908400105 856567577 181950093 64991687 940113941 837862237 572620625 392589713 550549433 420911367 289009043 396741559 474445479 466152413 497268059 794003799 521264737 314203541 684522205 778982391 918576399 403398851 416200053 428211331 913216127 577154541 161963175 543639633 845848871 800983163 500760347 734324253 311958823 373188029 907768231 312181007 41426761 622132203 821997125 35609521 532598777 803514667 528818455 192860411 590814287 13240449 390577005 489730375 900296459 737384161 971084469 999994717 810830227 712171045 610180493 744588651 539773687 163768333 464233145 35149827 972427503 727683905 934420513 250514725 364046553 41582165 109363675 659112245 64770749 145437889 631969569 351084543 853985867 121556965 747241303 257085883 922637785 206999051 875065607 569377285 868460901 131188581 998694119 972184291 956983193 611043597 989804751 764849087 88274627 17569795 334461637 905174131 737725915 764971567 994787313 469182521 575005567 945391973 87248809 918080697 282097909 235606107 704054889 969607933 343200049 864542133 216310481 123801211 54481861 398679805 681440429 563773457 500570611 271927201 697805299 563862277 334554019 89215483 21544891 816756741 498805857 480620623 364532555 375851043 35676777 225740227 8942349 287709661 534140821 68277611 57127827 842077211 303406705 635568445 534609561 547691303 471236393 531365661 656921093 297057721 725665429 146245587 670458591 882639853 548900659 777992721 164495449 944069191 991258671 98085745 412285139 408760503 230924883 57738609 861991629 326031 385086745 229653629 288835571 938815119 321986975 910944999 547577879 333733851 677983149 752123365 972596791 289552129 121960627 293903515 80200563 804680693 447049413 599628561 370978841 374787607 35943847 465059129 297999515 788239655 379635645 231344621 153975957 891867735 504961303 750742507 334959049 455472443 769977451 200488671 722944291 912884945 8166427 931316825 355764149 431336571 50663213 379710165 286653 17546505 674010703 460530865 231751069 568255409 564042457 451821879 513762015 190814991 787801035 811859863 320752439 952059431 183964365 760552431 954252673 503582567 110039341 136625211 37644991 801917351 644732641 238723943 103709981 102698783 333016457 389631043 204556015 726878841 722135407 958652553 445017007 322167745 133025407 452134875 454107903 951207787 14982481 423553729 540283311 852787029 278220835 934560173 138412717 795509189 495222241 198626295 882187287 760419429 412170517 165203681 656219695 752217935 231819001 59074709 467912803 608268285 568198251 168551203 771432001 681686615 974796531 379385733 286563467 91633575 132205503 585320605 391304221 559056803 229336233 381310515 815958281 418543977 508790575 364959223 617658237 448781439 138446709 543639685 556660439 489790931 215615823 654270045 995921563 497608375 640525107 622516457 532562289 280465897 646666047 860511609 281443887 346970769 344731193 381405255 579782865 23748411 334789779 986046325 420175735 443707097 520317285 765658635 381201773 479965645 224764779 653073657 358400553 336394459 177304589 661201947 822239299 184244781 100590685 886284081 133344897 912911453 941398543 35543269 208228555 342981477 233271429 106346951 829582649 455281067 387759043 465947985 372118785 603832573 736227707 76355811 665574793 806059919 73463811 987665609 332472669 708106495 884747099 354447665 190613807 620853075 21533737 521345335 940562137 942973431 751932093 387947483 37270625 250730689 406727183 948982535 83134705 630439661 825493693 182193803 31869403 193510947 769419791 785459487 356884893 827467117 483633395 305131881 61660887 81926723 695095043 656264429 22562135 315777 607158653 235608865 584685327 28374123 92067909 647181913 493399833 735672751 290778351 643500763 359090363 162242149 776008625 758864847 95268959 558044421 732778599 68760133 188053145 146382969 981931421 316597301 470196003 608689421 420204927 646879109 456605663 351179125 744536807 807743225 794464219 166077903 280625233 359019845 722228809 604083873 777848037 594037251 903652741 393140695 709915509 323526835 871642641 696010693 162568565 667475901 880909721 568804397 208282117 649249653 603089393 365039919 764674799 480338193 933228563 772098139 625393053 730492343 864915745 685759397 501751339 129209707 810762603 565538413 728591447 549743649 443029855 5048437 899989639 308616371 50976411 232999659 57488587 531830239 243686625 150963045 72883675 590765395 541015837 115227873 337830933 706328731 729636963 552776899 960969857 354145333 400809709 961492439 616419791 180145791 372067615 979171669 138726739 550831811 835702915 143032281 159245329 468344883 926881999 925858919 740896685 296600809 190793435 840299887 901586805 431368419 628481451 317450693 522307941 171197197 392904557 616029605 192754457 671708729 929728113 804907445 517331671 561435677 33803827 560561667 600124049 892917341 604976215 771722499 988578015 208979843 965163431 615493267 733285373 191147005 181377817 892105465 257144531 472333093 360811205 561574369 252745203 991574589 693444337 55724897 453297809 433873775 577860869 886167797 187037581 993127117 876700311 132258437 42885743 34517837 385604707 243911515 105633895 948523987 529063241 475014447 444633931 427444263 361412949 749116189 821925531 930307579 703543997 688087721 78467709 656913383 38824155 375820481 41467585 635377263 22835503 898863293 51208671 991305977 520241769 345722711 119924213 942056663 66469209 171797429 156312011 745278531 385918461 356908131 344666063 10463071 146796661 382193753 421457691 470582579 39433743 724622835 632789099 274538161 665133629 387397623 330778409 217001393 510954905 759456401 88042595 384538101 518317801 283556951 653925839 429290023 665865751 248976197 436315855 794792153 401454903 430842305 25059175 295163777 78399873 864719257 103633227 882034561 605408349 324484867 804704461 555550501 134374483 835152793 631832559 239679133 637526039 170494307 564626263 13029633 499330435 527176655 251341655 159870803 158367389 509762735 926955747 629169021 801299087 103285571 676427931 764914511 40505005 926273325 294423495 348504451 392665457 84984191 955087703 398000827 18063229 282535851 88998625 625649791 335934625 71449743 507002277 368714303 626388683 587608431 879828361 690317399 56993049 316969211 898191389 803062023 889351885 752457285 802295705 216087417 573212243 858111951 225819611 667632829 842115647 210596985 335076715 133006541 171140171 35757203 811178615 223742859 655929945 920323281 419851225 51022781 816279929 788738897 348798989 844723225 195479257 714967193 822915645 453440053 659868887 119434389 22045493 269323667 747692021 153844123 984024689 210864797 444915169 253366121 257343243 932701603 695835243 749948449 602411215 657943517 994410127 197416277 431569193 333842033 524090737 669827829 852485169 492378467 257374043 355178083 547657127 707500201 531433667 337245537 690394099 489010457 431291201 364786975 904276769 338564469 209206937 250310959 317439467 868114789 809548217 250683537 169637551 966263933 954322353 519001769 844904055 181507893 665449149 831367749 689458157 601241069 882337089 151347353 961711725 553485297 392929481 243863619 850992373 338295407 117451527 825393225 488568619 701771651 760638677 780900119 828808799 16262955 879234873 307770753 435350665 637880917 993931867 488449481 429660999 286398415 545716369 622106255 742747361 485355857 434761047 762156003 49370949 758193793 389925965 251259963 711778573 42912227 311124545 204938609 52360309 826177003 349742117 7549389 196752999 535393267 590236179 810807037 976616815 428408123 666009169 179772691 945224393 933227499 871313993 855553935 990984015 352267287 444859277 286211667 154488973 381122741 75778779 975453361 822017967 323188905 937912083 249763419 866176141 315872189 155335235 46949487 8452775 2655647 549859997 76108401 204323875 967999209 594688893 601525073 990616275 48528415 528018533 280092259 856445227 753225383 656998913 546627171 866074955 651461589 686250275 580533367 920468987 527587807 269674953 1267501 643323819 652277993 653198867 730819449 937051505 109947389 133391183 547744699 966392843 489246729 371155697 762020531 165990627 586023143 755218831 699955349 98234631 834879067 197266419 420641265 189573679 249585419 481043459 352258757 224905145 200424329 524618195 292873081 714458029 745270097 521980065 490843095 788299705 297152961 300604367 679767063 805897271 482892579 442478567 256919509 45023523 120184745 840350109 58976021 49872167 46153835 711955661 482785605 227070607 607214189 178803067 486697021 999568983 20919189 273376975 879039287 407426329 98213301 998646815 227168217 208957473 664887175 414838245 229855025 130666075 975133613 177571013 980188851 702204255 918607791 368774281 206644541 807461997 130690815 675381543 957514261 220837739 279970805 96026551 931955687 907545579 453334229 641803645 83780039 877479969 197004485 685072615 117290039 401227757 509292247 181038213 989434391 298626519 740339461 324442643 486351799 666720271 188454705 726226805 505499085 734659435 677132323 457608117 513153139 394700393 730317453 227564041 531071539 508784691 499397127 792356041 343845621 839566743 16367123 20198011 551533329 54120973 103947547 44882631 880137797 244765363 768064367 472877957 376580277 202317647 338247753 795033515 242981869 104057685 642595531 776670303 74077157 438644951 820164349 197006317 988153849 787510681 850137297 377318599 470020079 382357501 577304351 223554183 997174513 902745111 700358313 113744115 851959449 180160667 891068697 992186611 623416289 986499563 888333311 183310751 62046767 818171147 641596373 55376173 45380689 97116333 237355771 40652805 749963645 489430567 899705021 38110637 771331149 80750713 917045323 907485149 45086153 208257865 543483837 669955951 950792285 604679657 209723669 27307877 93668575 211652173 432286011 970121707 623531405 955569685 671736581 221920594 604682507 326094217 257789989 450885915 24401765 705117849 164610627 154793187 649137939 657612763 773582821 314943353 560931311 585600909 921522043 539759055 404280387 763613849 406330465 94354945 69191607 481927053 562032599 924248657 757878373 297688481 904799239 590058027 647619527 60469169 375100159 82446627 413668291 213243209 32805821 842614259 833994663 845757847 288363809 564124543 370994471 543395439 536344305 789370833 515623265 871548755 419119331 65756445 874965979 414836843 369528715 433691327 343956865 757393795 538857327 534545465 404656553 788562199 610020343 715901495 161538831 993442625 88232051 472785805 7789785 274517709 550796571 189116981 344711063 46607911 84609045 193520211 262887481 842678375 632139365 618182961 464883489 742095949 11301633 975510595 521111313 931602239 112003517 162575911 298328119 310152269 180036703 997673371 160130347 872136495 93990285 766191757 449256933 175447875 464541659 157116177 610347727 138486417 664706753 232876129 449915317 826503369 8445343 504197089 472555211 240118849 87223487 278883357 932599215 633468663 925703253 739167685 355867237 465636245 975367541 263516345 196832861 344883305 162222885 60080375 309137259 270468203 435614539 271735215 662061259 332341817 293765563 700378673 418706467 330258713 929598251 195759865 779491457 196548095 96175681 412175531 941529947 535402109 781623937 916708115 796682635 71805397 46852959 252601377 886769241 942580719 264073013 403238645 92236913 759707223 33710145 810497231 673980649 59060553 857598383 303345177 617372223 921323167 866823313 205846377 598993751 564201701 401739485 804094587 168290941 683889221 63062135 637356335 709733993 975607197 403244073 479523987 942659895 632563045 56239777 891037657 390692203 582512843 582602105 410620251 193957109 237742233 912668723 76597151 99513895 872080457 557302587 152991823 57948865 552237305 577781981 61731645 345653991 998731377 361141333 442391911 247210023 420531233 833121989 651219437 307791989 434817053 348628023 796374301 251122991 435981353 23733399 865178473 558468635 372263081 575810245 234865773 364241509 124416941 554154877 628497899 718304163 751737323 954927723 490407631 121089745 48255429 416128801 59581997 716479831 189492289 421295637 480032317 582025215 598264333 846878123 784541543 389464577 712107649 185659179 631036723 605031927 938670237 448233927 912962901 149782763 45089289 185663383 333061801 678501701 336146963 515649693 297023537 157318621 264009393 904309187 503391769 885274353 477314947 381954009 958005429 100992805 881630931 792556697 814856575 916782727 236016779 644494757 836444699 658430347 3731783 257851269 951601491 276068879 77135685 205818027 957302299 215672919 632560493 241838191 754882191 260143123 342201419 604895763 906959091 833214295 326047001 492759489 365952175 414235551 160346293 846556041 954779481 587282641 426380455 321351781 101320619 319546427 656758813 180440375 212240009 86754195 110729969 913838023 143697405 499899379 718942367 174298053 777640509 747400419 834095441 678408143 916107425 441107791 600049365 987309153 665559725 418459277 293547427 631802597 997783311 190009179 534007255 168581807 67694743 229430493 620648509 621895159 520383297 317333407 524215105 546441439 971780401 973336729 370268669 482565743 540392371 63483943 879429421 560420247 577310775 776322317 940635193 695064627 149747549 697007995 978305075 530149379 365165539 568663555 29517519 665096625 32851897 357076645 608139119 623478221 327378671 352858055 283270167 698420689 260720321 482053425 598166649 888130333 767234197 833657631 865376491 712778237 203378417 662193449 230112621 882036895 223942285 702185815 583233701 413107231 118585155 837795093 263489763 852691837 201977107 865043001 808766751 561153187 267338029 826689535 80672759 579440993 129787619 584642063 387169459 244714609 548047021 604608371 833540673 936966771 212012339 274455971 192363579 879876849 645679163 935462777 275348957 528513375 539306429 174855229 235501841 586548243 469965011 962206877 459459941 400150349 899104447 253427115 298066193 30741563 580019181 191399911 12343281 138543083 296475887 427336245 615411345 296474197 814795651 532116195 654231837 237535071 198481291 67242661 133962861 272719821 642073617 453004697 532013827 550980691 978140233 922162755 913996289 58920075 434231437 167842963 247742011 423321589 434964325 238894813 711038757 278529273 69561975 168035037 263057887 601893867 618120087 919271611 310481457 842377219 802628035 620408321 192897419 317601889 895988765 121509541 217641475 570729743 879501039 52962309 855908697 432737791 797137581 80864745 659575283 813029899 252334323 738820985 785629665 782260209 905119619 851451981 477668827 91247455 875490123 541466467 25905215 669688801 245287771 887803933 212332565 54324725 488091631 182276429 884465677 346567161 139991913 647732773 35028859 264415543 71758169 525624129 890798435 360984801 666607981 45580715 387530599 839070481 43626627 792587213 864906971 956049349 33418143 82913915 128945077 550167531 3939561 910083573 565134737 728624719 961714359 681029343 97014971 379991215 317686915 269582151 575150879 787002537 579826161 852183971 591120213 277739207 355957709 664140749 655141279 524782459 887669511 308343821 261376735 284678173 963222973 147885583 233602983 97760241 72108595 481681385 817514289 688112925 880153555 789230871 978237015 129039283 895646255 861223297 945876643 93641901 384807939 892545649 477825349 461042413 645717555 157173151 566465043 940295739 908556491 825610277 21252237 149676617 642043901 577787277 959073497 320031153 400296739 572666047 110553287 682359025 402470339 99104531 120983759 283276149 544252037 634192199 664562959 815227021 251384897 293281919 664646735 916239989 380386541 809655113 259946237 453206857 50264753 719003289 244254771 82122775 483406547 643144909 852803757 433793999 82719947 91137707 169444821 792601673 63136051 391731295 699961529 651157321 225821389 215039101 583663375 203806581 201601411 784847111 48240185 880976735 801596781 942714973 28464699 338193025 763807683 758118479 387904711 685386813 991672807 276424467 982506549 11905755 235116647 617082435 122125441 432723595 863033845 969623015 819237459 228708969 410649709 405920107 136227325 772283253 493760465 724401831 678648947 462837145 250765133 920696019 334228053 598789797 700197939 601336217 145779435 918885717 171820801 896084997 886227749 910045253 427164249 68377993 391548057 213772547 519200261 336534279 358354055 264972543 394264057 363534275 405620949 439182481 656970065 256620137 995495187 225323515 20403535 423422477 130531193 515757669 144522847 573475631 925722597 549401827 971651349 964541619 101766877 750131565 439712043 689308903 523146389 467196901 7740037 503819393 35159519 56138515 523517485 21507995 846073663 829028775 968546135 385517757 147931097 431423805 310525537 587197907 833429627 318520149 820565961 572168499 728623265 10968153 365368637 321861785 665592165 205671577 496808081 700787757 691589267 154607951 201247935 664907641 916598167 215231899 527559915 777850997 969922185 57347465 601118049 392516733 522694953 236887815 515136657 676865365 247867359 464299249 900245529 677759019 325862583 384061959 63218109 225986199 636732011 948221425 57571941 394463123 547243353 756591171 781489959 133867653 973434507 879947637 497656895 207647289 792097963 318021607 502864909 153455081 586178325 725296869 548857373 205789229 505820359 141250973 122230309 200988683 329559399 100907051 245272829 115172339 186507845 378676879 490120619 366871737 937912665 662585265 682988633 55556249 413436481 798741605 630794073 15915579 83115845 696870499 850015783 325751209 349062739 477353803 78737513 195912537 965385219 522354599 831785701 299735851 251832983 780074985 284629651 18817377 462655729 53474667 229370253 748404649 156978085 605966701 597350931 816155 545337833 568819735 982734229 537691695 347464345 351335293 399156133 819818447 457498945 333840021 446115579 445060167 686501133 109902917 707440255 733961547 212480981 254867537 362207799 31629815 274294041 932868717 873904219 112399317 752133375 625990451 363206725 840025551 435755353 157331233 825867639 873973049 136029339 996483491 344671901 996275411 485559525 767591947 63557259 468806083 296275711 944414865 823870777 664472211 591454041 387745621 929533647 757340729 953943817 519559009 951255701 704012563 940668109 985443751 338745855 190425063 119139855 247564287 487348649 898912481 397073373 125708845 713798229 249429143 410302447 56053463 301680623 283393799 603005347 907674769 245516427 552660115 838731009 701480657 249217379 691695373 583857591 915774715 946773465 15196839 468313119 391285591 492875901 860669693 980725301 45879319 303339005 993308697 13432483 207632979 682233911 743151971 210920373 403226383 83103533 149154485 787501671 831644209 492090379 462203719 509565267 393854347 42050597 105505987 223531461 227212249 106948597 727786037 283755177 134078391 65465887 753959697 215262103 990289587 600409199 305983543 65120719 11398205 696300757 45372647 292749111 708727471 24502895 753085907 450104161 819624519 605830785 836073999 465374849 848225329 956992883 209856023 264692343 551123325 68755419 391755475 506057163 414489125 50541939 353812621 689369261 204462091 682442783 576959483 637393905 30137847 913207531 116485949 882642971 160674459 282773767 603202773 573383759 399833487 997416147 803432627 172772701 646446677 499372237 444107561 215225021 815111511 780102309 813366263 663336845 92626661 182311467 335323455 247943059 457955387 423120987 703717011 181562435 351337589 692265563 700820965 546834351 363885985 233657457 262195859 466621849 293011887 620409621 926352481 495521897 690368375 363789791 357552255 38960685 56038843 711891605 807929473 51420059 662026277 355827233 561375075 351739669 509505605 958618517 234155147 614863775 75224725 95745839 72580295 781708267 510248823 347558223 227271499 608228175 544067633 650915203 99652791 446908107 271562745 611662717 896085517 217533957 354957029 868986903 267900347 869452879 577536759 769100375 215638167 715007901 321755929 58370151 170285279 370479503 247733787 211331739 579307317 305612397 147188663 720556139 708657579 448726055 528942989 106402687 756261041 155598161 946742825 621577887 990241833 543212591 810567673 361244863 605767253 873230245 904648281 813128699 609970917 387529283 502526089 278484117 559090155 176294721 539029683 462484985 796082919 24119675 827713767 107244985 780638653 190730877 822617117 506684051 512021947 634312563 402818363 789145449 660782741 415019063 292323333 182022213 396099435 197025349 817616945 647966043 438761917 898335687 913292885 842689543 946155133 305385609 274752241 36401099 894650111 746671367 340749683 787518293 251366401 721616219 241033513 92767091 596913829 580238929 473903181 194999333 675968891 181074517 879148287 530346893 388456313 121406591 218850377 506305781 167938809 105005967 344809247 640596435 311135941 124993771 109474645 926748351 926475525 795631011 773150897 802556029 632688721 909916527 285949915 582459131 884612775 395848109 969759585 643541577 337836651 662194277 393723585 383905699 656794985 317951815 971814233 351678573 946343897 171457705 745580405 923573553 878064471 571617417 458570051 211813541 557635561 770478481 931846621 643889313 352374523 78152207 362907719 137738539 272176737 387596027 325003367 909657963 920723805 356963057 21329937 667265719 835886991 763509053 711619581 382343561 23422983 759307469 75011275 255465095 94079545 100621621 733558277 241863031 751471877 994314679 469208349 513358929 494964653 819134011 829282925 451026989 429760735 991027277 687970355 986377297 577245105 727232041 710930843 856032551 267989665 58708393 712512951 905622337 411245201 974404439 429307519 128533595 549810131 346637667 847995347 449006171 365280023 64765091 548385917 197551687 798791807 822063511 274065199 609672535 747953807 253333349 820114817 810638821 170560305 408683743 691982071 995759219 360868031 687389561 368089591 1210027 8378099 32229971 271371987 957159525 449513971 251333429 67899591 131583127 242317133 201888653 128718577 564648041 295938293 149324661 704564571 569166883 564508233 632588971 514767863 382661689 552515855 774068117 719979933 407137861 308000371 372620865 790733071 839148559 604183563 359427947 242786295 488541307 225586387 144696175 388902887 446013603 668254259 181253461 922247509 38291135 571934453 57630155 839664805 817828145 120121935 878529065 653905695 964596103 912214753 522047855 171662837 845648245 691950509 453135685 850801471 346407889 285082403 747563767 753276159 692899749 978967061 779771009 993427487 559520535 875269827 459906941 635104111 28838525 134898641 934806069 170681003 38159695 454336843 688770201 479369071 455217461 932089257 365770559 644119113 947834615 453145287 50609767 119972265 280459147 189764331 682687223 349977831 502069001 951719873 413675905 636382021 990730165 7002973 40495415 678895341 216859387 993920321 808454399 920236015 851851887 162385741 609360987 307095367 127700171 828910289 126124155 801069521 361994483 301534593 484177209 754257755 924724467 891239037 482386449 505193877 46679291 686166855 257681197 746807063 883718761 785533133 644315227 280577635 632360129 611797093 365005843 921140963 71330475 104802509 780886641 908765671 126610685 859768615 364190273 649592233 826981297 240791557 324350959 811933769 972505325 243784793 834102421 142282963 990416887 498985601 402287855 338421301 882660935 561156929 765622885 325903435 713837685 74367689 715224585 409407701 664595783 709101995 436769167 412452989 701455525 453058535 363258455 390247891 879631013 914257377 511340651 405916241 483099267 689255271 857890167 721958231 475272095 717552813 636186579 295642417 753621127 235306323 754106749 542131727 333949933 60621657 708181793 189002503 227184043 278681649 173833993 384908063 733103047 88241583 634657839 977747519 792427 718042897 771514161 696282679 235590121 33373689 332007767 290549697 846020543 710197113 619024271 794338685 453405581 312485633 617506163 934160119 195229985 832422259 488388159 976659869 882225773 268792337 953308637 731969483 94499979 156824459 948894683 23331265 811692225 92127475 82398831 582280359 448132473 457535177 269920123 718570385 418230599 467558385 708254085 799257207 134943203 433628855 662671547 673421625 32374069 30453715 634387957 1179297 983087173 859508577 220574643 432645987 896497735 905618407 623643933 744880915 985684887 824038225 17796351 45108535 683330743 349727733 863716053 493353013 277043539 233152911 343210425 687732833 703950143 772013125 936370549 506493171 919651189 687249829 755592569 725593355 38935319 199395237 350337499 347419315 679188083 513088927 598703195 111877085 630377469 859031899 629975391 758252899 332151629 28366853 339344631 587189253 391917095 193986357 681914843 179571051 112718199 701738467 913921641 100990249 461869649 299181945 592690601 651483061 720457967 512209089 448366665 827273075 376089013 696571635 76999075 203599275 655544877 710815915 762367669 976460687 664680971 191429359 921510179 376331577 167510573 572408361 518065729 744268457 701318033 356902707 114188293 759985863 742614629 623280199 227102731 439492197 137549053 69046795 813369503 233786175 149883093 98858125 618573229 494919411 416104845 532799553 992929741 42038795 800943601 759235845 117468479 711146745 72519927 942183711 886777579 868580629 774208695 414492731 928903517 913307555 328996725 485979759 992803791 445973193 833757855 889921849 515991841 107157657 493125573 555070075 2304727 40455695 799144355 682452359 291483683 104177159 925358367 403544077 564218075 308716625 186412095 818470703 908766847 403000983 343384379 555354735 643952437 77843321 341331819 854212797 891005645 390226803 761775701 859504491 527741887 139230705 93245091 845420345 156973609 629486659 971856167 361683275 20537043 361662117 221940703 775377455 171192363 349496115 874337003 296013529 313141579 947108603 893719449 112603047 862967023 730023149 688939355 500206429 154322049 188686561 511827659 373279787 180510479 497167515 782038703 642673829 648718927 852568257 425738481 993580743 5643683 69630437 976532387 460346105 103278863 995877761 21901827 947133701 122658373 381937399 674012529 907697953 70079389 818709647 139111035 210588909 491023123 566392441 84599251 309940331 679541071 785306065 540751701 398938377 87728803 840534425 604955395 933374621 858465795 971029941 722181641 407204965 751836175 828300797 905297851 939337733 670263311 268886309 625488531 615483529 664559859 991281615 715599667 845523817 220287057 648987527 90644841 668683649 702869865 288577469 568411945 443572245 616700449 913331401 291719561 345779669 988057609 25179885 160661971 149089749 793783639 548280147 781070957 628446353 295739373 790480139 980833773 986756847 742328913 726543375 718017549 164198717 199164083 72560191 688268975 973864495 437289959 694051431 985013987 272190949 617436273 597840181 280507863 862147807 935381363 83504197 936885737 330067217 580268993 693413143 604161947 239609547 867940049 511373333 333393563 356156363 260816831 813794191 153621689 842157625 352866391 723519679 668873969 636566431 253897221 667458245 687751783 250943989 838392545 89758637 283533157 785455253 318081707 830245733 542951007 961147209 273046473 866178249 540317939 131984185 874401869 610973337 396549343 317959167 974204651 236425341 335687443 855720595 663384067 519383561 193225887 510189663 671829661 598429621 996774847 62244399 816655721 451934177 93861591 531214647 399271869 249022937 528638835 864885781 993109145 688788171 878099779 629068751 511911843 354152147 581119271 846694609 843128875 463792113 655241245 321452017 46017577 671155469 264339541 367120235 883796795 863742203 200804383 399810021 69494695 299963763 562660089 761789807 830785889 927365653 520318083 690083961 198977787 406740843 400459659 239215333 932560569 431657961 528649473 477194485 273240445 16604387 695583493 830640215 140287963 415522207 625952727 699856673 431800071 923495491 539426019 706687697 545135587 103432931 671152571 880029515 800279029 883479159 899388701 241473499 354425963 416763359 459059689 594111033 273830685 411215077 972218925 302837121 246614411 744185659 309061659 378767161 575554523 533714811 649546509 839756875 997508575 603575843 591850633 402162705 715445259 653491873 988603705 861062469 395790463 318724161 343864305 898036493 875468291 637575489 111168683 409205239 85611783 499050943 983921033 218820857 363752609 777674949 976800217 505171565 321535375 878907717 241323789 729769243 938177339 938035481 811181505 916757295 448324787 795182079 24954039 460193599 88116143 238911651 930525659 582921543 558159757 564199831 216286529 385200047 177302101 858196049 883566115 849287233 218232757 112845365 264165349 247999285 325086215 589041035 234219281 573101607 240710983 396729989 837532251 197207835 490449439 502451773 203803551 90043265 402545371 397157297 217777377 655685419 513411703 111679693 960194377 322698073 560977805 874764129 15628333 887244207 302461801 917964329 735760903 998288187 680589047 600872387 15990139 940222833 8593359 491318713 377344083 263090479 749195569 45783933 946534531 69384635 864387843 127699815 709304617 69956033 908643541 368034233 371466115 806538839 556544735 320612253 380065279 333793273 876336897 675686435 148650801 625575821 876226495 739560775 147160277 520100195 320959819 554311909 368885451 929111083 269121145 771219403 447185439 201903111 766012365 155789481 98002439 325642617 974290027 592191255 597300955 497571951 60308259 220919961 699882785 841837887 777578861 368297875 936310913 667559847 723944037 529171037 996919505 361554891 213966295 294438443 10611981 819575609 534250289 476386847 503921237 639739877 896052871 243987525 851825911 568195883 335759771 633515661 176117603 536519381 437837525 721384911 533635897 201648653 699025475 504471245 18186297 698237543 255094939 964863281 451769165 795258597 158913599 113248395 777003405 256864999 997162035 825802581 719853871 112072509 298704169 159403505 52800665 820420891 884183671 172240805 249146199 423756575 374122269 437596583 83331867 810864207 468404417 344150541 175804609 647490841 258251957 923244249 802616139 775809103 566350061 452663541 479979749 822962223 43842825 38872881 71948769 426247009 835482449 299124551 952339389 412547055 353321397 654739159 696096281 826560081 89673417 869374061 466590147 646378595 308827345 6033015 478204845 759256169 685138097 225031761 902171635 224022547 528374009 392654139 104784087 923918707 870752479 912873823 747987397 696534025 268271941 219565773 464294481 870172089 480286129 613070975 316495669 166682065 812454737 711372629 800299347 242815493 475046911 82691867 55166137 249937779 232209207 930191231 84563867 240163745 113721635 897980189 710781777 731816827 581334415 378357877 838642015 986563671 542332663 38521583 282821233 413519089 888578421 478517727 438447451 485842545 29085653 481171325 625067543 702497121 285987969 186950633 437284553 179006135 395132567 225023535 657554107 65094867 236654287 901711165 321774945 12713591 598439575 970407151 912426327 998893011 312307449 349228803 913806689 229329785 481289135 341381671 901612391 129594217 179618327 16760551 540367743 70392839 288792633 543331009 941277923 756923167 362265029 64202515 991233271 631060201 377770257 207085097 532868167 864440065 384283163 424781873 234850691 913116525 481478541 277492295 184334985 12907927 656899509 198079849 124512605 734097241 357482379 814125957 9348391 400585197 624877483 580078183 472750911 432193787 747860321 955812557 813007899 649901965 836722073 855094101 739681377 655181593 694173165 101135241 14254557 289342077 551877529 277669083 991279231 716544255 447033991 44642725 961630567 594192717 33408067 825418277 741203923 446058617 10584327 988362633 819630643 686931713 196183731 520125661 104082711 773992909 282429387 503986719 869727805 872450855 367773313 513575725 967262085 611306439 699444139 771492561 883911165 595153353 573518793 351520189 593873623 336418225 778494977 182506889 940250221 386351471 507569957 258557369 221743429 77906261 494389417 677238963 320247561 59109667 355021229 18579657 473443211 953074429 826859001 120898359 634561481 498758257 375830779 440833819 688346339 178488691 929607373 149214335 552287527 870632803 963772717 731065173 346587399 613096449 112172671 908588149 120712223 182497407 66114263 256459425 800879153 458461809 488127211 422457733 25739817 179326165 661855001 929224365 738071321 595926797 459811943 713469077 962436415 802599913 125205897 760789919 662256893 862578847 464100305 321768211 849194973 370073035 209183809 767517731 478760339 704194673 167815297 463487207 948286203 955015423 392533469 388796257 641644823 775513677 909619793 156426875 683538451 317591187 167309687 921648903 932022339 79117435 206453145 26976443 643040033 33072657 446272679 552535867 753157713 927256521 194874679 348556557 446140573 805025665 922613641 676020903 178893049 614725503 679193219 402903391 968670081 920588653 718520503 869750393 786690169 664124261 605879639 80429593 194348873 884183265 972405065 334496343 260533127 60938185 122409487 562522151 458143213 9922407 197308633 915837547 386346847 581134705 855025537 721489647 418479079 6040837 815048067 897758563 249018811 265070505 504553225 961938527 177268275 430143051 492173281 767855717 887565523 230434365 147374211 886582495 29965897 725006397 360299787 77801757 428413285 414078323 986627141 682870617 533272099 697433195 204803741 63752115 730401959 574042135 350269741 547160887 804201533 602482393 451033265 920684757 911294549 923477877 150150801 477878373 985517965 335485461 627446751 921139113 66561193 709704019 28992591 785748809 962625427 793873705 772617537 566694361 278198365 128171517 416344767 269594833 476372035 591534493 627659893 510761363 680143019 180157501 107262139 889928293 407446555 996691323 167143311 740163965 39369547 91152733 587243419 996743153 448424979 217898319 142231343 844462275 597790329 339486503 152773439 818987483 93842343 58887201 335305835 54001933 433090287 171053541 889563131 707172625 970838735 322929021 465458909 631806599 139081191 500830817 94424747 315953403 668825605 962460523 9410721 97565659 885410587 347832805 787673257 61832579 2819141 904520823 129407057 545247283 945884869 799523387 979782607 316620051 834159367 743567785 935265541 723621175 920047517 591379371 128491129 790529687 501991493 954709133 943750233 751893267 525151455 358226691 71734141 12111733 577388153 939772715 32620645 394384497 381998661 814762891 211248185 314251163 6426783 837648911 963768261 272924793 398876681 962288907 694041221 198516593 589084207 203996223 981543827 44210391 620805861 170772945 912907449 712148451 108885285 25676107 403145575 325186485 571680787 29299363 598612915 761185367 491857913 483532089 926204765 389102013 900167499 71685839 398564043 568889019 81123749 31307923 594539533 202992151 8364745 404300315 111269339 333746551 731925925 19312741 6508179 439556719 901881159 326374101 425329981 386589045 385282031 467129911 381220487 464807149 231135743 707395011 587103179 13458977 101687043 66896405 855268357 911236671 700156075 968392241 222164191 445073249 295282133 110940295 19885991 814672779 809318275 7806441 835901525 621831587 29409763 9563289 646072453 995981947 91816261 860629815 272598147 646706127 348954405 966762963 505508923 202380605 248019751 728519905 348034629 139423055 987082773 671601215 664368353 878780023 968732389 792108595 996106487 735122445 638690735 856900201 610442515 688566101 232686777 869225719 218919535 769374325 432519019 596446553 388839403 581939071 356442973 208516471 700262155 391313263 439644485 164735131 904129793 65147171 913764873 71219325 114071971 881309285 924736949 731109945 218984047 580205799 161492089 30845267 458650001 862041409 570665397 417985209 185809107 463078389 442694889 83716547 443452589 484903021 453020863 568988459 169124163 851891707 437338639 373225495 455384405 709984469 663752911 447833875 727880025 408700703 328092453 142654231 706830947 107124705 573494877 359074431 201355057 105871371 309542377 547697169 82779437 910312827 87916645 714225657 34693987 499517933 811829905 412255949 945127823 54542861 86862941 867292297 273990413 147051 478886363 502997907 132596195 530274945 930060355 917478329 1052611 83590065 243395837 991044401 908408069 590912067 749958801 604021653 919256997 37079657 521468851 56755949 456019531 540084539 122029631 697730727 774150471 832500667 638963255 564878997 845358481 123782611 906276039 667013111 656988617 393833811 302439233 981690991 33886515 772648693 892805155 430913295 744627393 36530521 176357903 29367625 280014345 428133899 997552335 749229563 533880393 436401787 360547415 36201065 354738029 962496257 886617027 468929347 527613695 303237599 620438101 460704667 582576951 396662847 925931129 110655475 765626359 195067697 517803715 200545067 595111877 908208303 119586029 350180243 166626513 717570201 743739611 747359199 263257583 974713787 739494295 94970925 948172195 481274051 395800149 704655619 669592847 72012621 996401009 875179085 846514951 308095705 410297199 209563745 715537151 488070609 315102711 206153469 474279961 254251653 896819935 900921923 318087707 313692719 622903073 165446085 344226419 351689199 282591713 967906163 557697337 652284881 527288681 979103919 91954221 100607427 435759 733319995 353305525 529316513 612521419 776750151 416762851 344963371 223037955 871581029 695252843 629840139 952289215 587407253 522687661 744291791 831645717 76851771 553823921 877408757 979858751 30615589 665397799 16353757 566869923 446342279 673131109 8973517 487159495 179376639 454426219 937109497 292769891 244303251 786299871 178065275 722173263 418250671 368447505 511414099 551733905 449966375 357650679 843621993 149426769 428813373 957455411 332295569 651097319 665459601 718152203 528072835 202349001 637944627 560106607 362344671 157399197 427566489 87228915 633101617 745397295 564003485 48709851 328569319 494474097 500781191 851004937 953940059 354442877 741925125 377324049 278255569 801803161 68462121 844364327 460202095 203497007 890364787 762469677 792699465 238601681 880665797 362397353 136328791 476824893 455404401 593378761 430989177 747587411 216986409 956600421 834030969 254733345 495207691 941339133 728446473 909772761 165650075 829301431 93181379 770454487 678626505 700018787 280267047 637341085 777352425 707297657 188704157 344911831 901401015 988866585 242231927 907458391 44317785 778868999 356013553 114936859 728711517 185338037 806143017 594730053 895530423 5956665 216328233 641802015 177298887 997771345 693181155 835350045 252894285 839575655 513194033 317342683 353548157 448469385 949930449 866173211 419374055 618536303 416875631 116164553 533405577 945253239 160093853 800646137 240465099 74545577 426258897 682273507 149845879 443948467 281679215 314065903 971044293 318743023 990595007 261585829 852882257 244946009 517916403 491345083 946048543 90891673 556790309 740141321 286817693 391922177 586565715 148938899 313983395 915989637 891313001 299126405 35040619 938699719 53187897 404220979 553543835 132404493 590641273 611243031 109477953 545514821 240653773 22645973 73989585 505586183 38151357 816806967 238652457 853017235 262972091 817667123 827963535 529153231 616816159 555162593 767047599 644450379 181094187 659085957 535457949 720355135 927369481 167168141 346536923 974441867 858012875 77902985 15225417 918314931 91203175 146930229 635734071 598438375 915741633 651908469 619116123 566342401 99236257 699808085 623073999 509963135 566423735 57302789 539599899 495316103 148867231 270620387 252886573 445863145 3693275 343612275 917737815 3530267 778730961 700779615 112752985 857849663 344683475 548273529 481624663 431204891 796710939 82607549 934059485 191536159 748201419 369945679 180585955 525849439 241731305 94311803 171395013 193322909 784168299 420963763 152273737 737313601 274826791 192050321 288303001 708518489 71834079 166082523 979701327 46001563 867524669 998472315 56859749 822714727 189212369 580067203 430405441 869248711 125260821 334690609 739061681 140304999 96653419 7670757 861959403 598473631 387123995 287175469 863659401 362811759 89938773 161799867 334157459 421094781 509033269 202741609 592599669 289638169 265493179 134160957 582318597 722515003 415104721 134785889 296785793 792886915 707142215 908673321 618068365 710814261 196194007 135629069 473546805 493507905 667459617 237950645 434210289 433997377 8189617 66624233 650864795 145135987 506916087 261135005 401950845 652031421 187086921 548068843 125440319 55752623 123915245 863202587 303156475 851011199 79213579 390083475 65702699 602621711 845374643 250965223 926145461 150897893 100390623 193658837 589199847 318602031 281628527 742337855 314960245 151386055 67145263 548625199 89588605 804118569 697981645 609859545 979675013 275960959 255282149 815994009 497438841 678673045 553772023 803856113 763919791 279112933 568817259 556900237 339119587 356745615 917927573 129347905 961248315 732842327 970844333 52624391 746709319 1786031 888217299 632450051 594676727 622952109 282178067 974022783 792494253 845948433 214587739 6590193 498685483 388543043 388764807 521328113 534742175 236531279 554509653 485967939 735596193 391841263 408683635 591854549 885868073 911325825 125321327 510798517 377605537 892338189 265006785 281857061 236013269 80742467 499055311 603764099 898415609 280938359 386173661 881713499 819823275 261235117 101115679 728039523 227367663 798539657 450464943 646929011 360894517 970587995 946708619 347282831 302078545 798313497 642821281 712888549 966612095 863821413 781741757 952375749 958591589 149837701 225226653 626889387 846661905 533522023 941823967 628130363 569912825 550537893 261576973 710849089 920793591 447376251 690266265 77946543 879603795 728203985 460398301 109584031 179566009 658201657 77230105 975222615 521218367 699641319 883480949 568811327 671381347 353440189 803412995 39302895 550287113 117073983 61678015 458768413 547498621 374177183 857157767 938860719 94910071 816145587 501619493 409064881 595479313 762148859 379487307 457889877 715883733 752903325 272744849 256905975 907187629 597707627 47132283 185984023 304025069 375558615 560227183 836095845 640943957 772004615 86390977 550678195 601274889 286321853 759600039 605082873 898755479 852155497 679795013 351454047 774877683 764887077 574418851 977443373 425699963 227931053 345910963 714373591 762794741 34202987 275790157 166284279 507337869 670737773 728353333 698358355 148021977 563482731 91569425 871677397 714101973 134042307 6099315 338636689 38960617 818771323 625863637 78561729 20057311 293192519 504011417 288735431 18672879 671670137 672529159 499971121 988044467 450169619 422197329 600392113 381437235 358905277 790605967 281599011 430570717 429878979 150408645 200778889 55609475 481737247 863786199 116943633 927461989 826815857 613128349 592589321 525832999 482644221 544553163 729470193 981428951 993193653 408558853 53379947 558882793 55137583 238904275 884321857 633102395 955838123 311028133 304510569 198591505 793361935 339837911 281018363 799946523 468278763 836761003 284575547 476529005 662980471 750244167 652004245 83164803 351314833 633214653 688258717 987209283 282786753 493406983 673484045 884003835 47963959 361262853 71197641 431946081 241116617 684780675 885288155 428614031 552983285 232879409 148651129 654932493 549556453 324784039 915557371 871948231 407887719 923044967 883698407 648342035 564350193 983543003 408648677 50267567 853252517 853185107 763454923 649349567 968519753 700870409 973324435 180503247 395945803 891649311 373652577 694052311 877866435 157887387 413523585 840172851 504376947 69987187 479924325 265808807 660504765 716298365 324330151 440158051 151573429 950816891 135669771 826329849 731391759 942419989 334751359 482216553 810718251 972080607 485770771 333993497 471311635 680168273 737019909 93707729 70064497 477022669 92432309 413313997 750812065 589941145 410118577 234184101 470084513 1182443 559447721 9789281 249490455 52443865 535345789 77140589 657117013 929427045 832470829 277171871 571234381 935291255 278504419 944385331 328952741 565871587 958857207 269290961 225846943 947053665 591320543 519958403 887640107 245218705 91710019 23802305 737983459 51778303 313236203 896330085 771495171 989644825 179679177 269754807 520902005 527411003 530363389 159067493 592479943 476570277 621031111 445580673 780741423 556002687 130847379 787315851 976856207 948857565 150581237 772428647 624536941 226837175 637480101 164979811 4731895 920491245 432587915 167975987 792568069 324507211 355691183 257018101 552923415 646695807 118181957 80739629 271714645 318783013 713787305 436325579 729861259 311311803 713550173 489713187 763848243 298665135 141740813 340534001 489703789 647864141 898717323 621256539 41227261 707843283 374786773 389254385 515671893 616643167 532916493 250787235 71306635 183224829 540179837 118953681 415653471 278473627 111683737 331345473 732584503 669541907 239619069 386866465 367755555 536230441 639645037 887997187 660810203 732298115 221376977 46112999 607779005 585104309 78783039 347937327 204368081 90545973 599105777 322757037 355097285 42348135 265974347 192619667 556069363 587342485 155004887 492724093 499974999 831066861 31443785 271905141 168821403 282498441 210105213 449939173 658732813 296488557 654173047 663893153 951434915 965034623 405309279 484670185 348822783 461109907 39996811 357513825 790455399 621992031 84163445 210773271 310561993 864015239 817788609 714034047 570341565 156222099 642626107 993077625 328335491 745269749 356868307 755060551 931478275 593330439 922236073 398753431 609380553 895931143 772915195 542604159 906446095 112225825 218927673 445665659 876793013 806812775 103613171 885570163 758037311 141924047 48936165 319525809 83349983 171433021 516454643 666590445 2784875 937386105 913540393 387071297 78408289 383196469 40228281 184117815 156852717 835400457 626202109 770031799 198975705 314563191 427432827 915515417 442000285 66157289 550528221 496019227 563431003 9750449 609016053 974319329 800450009 120216325 81181119 849951737 279998599 91918601 309517153 568878423 384418681 894204101 194631459 668888409 175847795 614563627 871820919 405937349 691934169 941892627 911710717 212572103 629823929 354774847 580316789 18879731 688542415 496848729 523495371 499638347 7651445 901854961 920648209 759876655 50725559 861778817 634951301 454351983 895227713 243911275 290791047 488109889 919374443 952500727 833568421 486243903 817754677 129712727 982823825 554734961 348576071 170438819 737577255 484758595 384441325 907534301 332729705 396926093 326803233 721186287 64747395 565087111 136272771 909175465 385500873 179874523 693108823 164053701 223486387 180294549 401991823 791313125 392875753 394154791 404183489 278247055 707851315 319755891 844716331 848148793 871806341 708750525 991974583 546988345 197093883 280354481 795580917 981121233 958314711 479447395 647173399 903792427 82430087 766958931 4374017 267878231 710057369 340301669 228661049 961223503 84546509 708866023 984012015 730151155 869674245 52297103 509815799 686919439 657420875 163648119 533632213 851623507 237195989 53736231 355536555 829084247 107429115 809035147 456240205 426474141 960854337 775548921 353893167 546218893 36487507 602139693 847823475 434291579 965984517 313496143 807491551 63048095 786381137 885496809 166673633 887803673 470388059 979255539 416544657 936253941 494801775 340245193 642710959 20744737 264112125 76220207 665953185 689410681 686392995 541727571 488076153 243434429 837931813 403034317 635589611 16541591 156406893 911250583 548885335 801349527 390079373 143120919 823086277 428171317 153385153 448731161 890777317 443758551 482732141 881572311 919128845 889458625 819426333 458185705 450442301 671586089 786444673 822510933 211921435 920428579 460636537 350952075 930324471 429610677 757763331 851000415 469909959 761042887 178720847 785027853 982209325 207165479 206191533 943768381 234263663 93990291 57962137 342906617 321180541 788134313 414636729 84076727 23400683 668150005 373691091 695109719 923223803 649676261 492347359 866902555 777298069 565470677 931253751 636101041 379116103 25413123 414124893 907238193 903166791 761503901 430072187 86863379 979993719 834357679 839135209 415417409 571693915 617780791 220538205 527377159 470432037 980060947 349886143 920072217 227417517 272945165 340535831 31257235 23692911 664997081 39002009 883103231 428854163 577744395 374414495 572234567 927167209 181951017 4796079 143316927 864452841 228367513 930479731 757199399 537269683 475488943 963795135 664639909 367421451 318103201 510019469 116235971 10425955 479671443 480077567 286329463 959268815 577617293 318673507 767489823 797900563 780975233 57154347 632641409 371544979 786620745 236719091 998250441 782894687 936706979 391998333 562699917 987019055 927250493 787052469 827474891 38273889 274498467 500005551 176437733 123107581 86829393 792007589 378570925 893910961 423600809 217125883 625333331 290268629 40066037 230304827 918557305 994292587 515384161 364407065 165392675 834793237 808808973 814088817 534012347 257420583 121766133 724112965 22563867 921945749 781728261 959492547 455160187 849822721 150922511 573052473 666462597 59240111 619385545 111765545 419920197 913972625 738691543 677908015 690271279 51300927 837178305 456016413 794384161 369916405 479966201 820899809 418121569 599034011 25808599 367835289 618262939 138428353 309083805 207142281 554076901 37778335 990739061 932207385 515587515 979725845 141536625 804138975 423754501 610933159 605831047 771391381 761299213 319517317 326227099 996837919 285033609 235362697 793944437 430958729 472902041 210873649 843198149 783961605 44994239 141432995 912061993 414573805 536261099 503323311 318925085 742377925 965325167 445875403 822401037 988406843 998849289 597857817 566028617 665889823 602265825 520924767 512759307 643564143 280091267 114432267 196725621 38581835 672476131 434483767 368575887 593849855 498827871 377317279 8190025 321403905 556965819 220558253 586390655 710625259 247699751 114177133 365202673 331211133 407737399 730170523 548534601 244966311 589578215 877453457 116469015 887673 372567453 973513051 804502741 56798001 59321895 379608485 685186789 542814511 523528377 82601671 243858575 99757825 147388403 213768641 525567235 216056409 541270231 134803001 206425181 443400723 444469203 182686591 613892765 341899569 332724669 831815051 269492909 665314269 426596563 504129021 803950941 526920815 55479223 947876121 472861799 669883999 920609403 234337999 581985645 174697295 494162319 572794297 359585013 569034253 834775253 665529877 741243253 242324875 892073103 936155849 191316547 236004325 638897261 361077861 707424929 133410653 18053761 818103839 201510071 562487647 131925579 906154713 368635033 555589503 62893487 31433753 800930111 709970037 989903355 100209933 761197449 802189097 33795298 949384079 294799683 42343331 609940359 647268123 301361691 48097303 127603047 249319385 267590829 635978721 850611061 391348123 95027065 393603717 600689413 249486037 857370087 656321195 327300821 817702825 325805387 426138409 549924871 52452571 931100125 442962425 412429611 88523485 572701117 124408637 194580279 524726981 841964023 357806661 636466309 650833747 917560697 580157567 342406623 813318127 869604383 882799241 493819757 654203813 315755945 673582375 587217351 336580655 705543871 752472129 546577131 44827883 405153269 337654765 128550205 535794657 949462721 432694117 759647881 926421185 927883913 609408013 410569991 772274143 736002449 736018031 783777875 23466303 722171917 509599041 315371635 41182085 837710615 195661915 297385171 807139073 887763375 653574083 455532871 286986409 832338877 121071265 133070609 520120607 438052117 890467403 456493521 725387177 663808109 483769149 981305495 4764469 260591209 213800471 963219159 494131549 950956691 808613029 387410289 674141533 395348569 284562141 671090087 974632733 455964181 700645847 430100519 46825519 244526091 947529945 43521543 764796103 538658657 956714573 839539651 379337415 246957865 488078533 294654019 166500531 178543967 428287999 284837843 454010045 787562465 768875995 822926117 711109051 818008953 892634471 653439067 484332077 858914521 175708627 796849145 481015609 582328731 439215999 960719337 212721071 501482301 191260395 562938501 584207111 322726955 104802243 603784583 705405025 792118967 829473753 111941397 250987905 531991063 517921323 956641981 831109079 405228911 131382745 305567347 764002685 572533447 998013745 836613525 882687023 852721681 991196325 494512617 726505559 766834213 694287825 741874843 823163395 2397127 536385655 18215233 430245355 138197149 933720963 663248087 975951469 920271417 590339079 965847237 111100047 490334485 793657409 569314773 754304771 151106963 728423571 100820797 201518369 171395323 481875591 194669981 625806821 400428159 340299217 439244791 896696569 9995831 428996429 933373627 438413737 637657127 897252349 627391675 443921903 406115125 40982029 249274423 495774059 371530803 696337873 546584531 300292193 657362139 56647363 337396123 694585539 352767695 490091653 221274119 560979751 680333975 769470951 888067315 284319181 314440355 908190679 419201189 657756571 561284177 583522419 614980297 3149089 309295325 653991933 954374515 631420311 741220979 883156963 708622373 934748635 820661027 223360947 124823743 270060917 786935271 866163759 431286417 95863189 426105761 962326067 531191631 668442641 983695383 54908881 982501913 131220583 221499647 869306679 745163377 317208769 638380271 645528515 907445573 305022189 569860201 782832889 188276715 207893857 787055319 364523905 71194913 241778239 941205897 631639601 681423369 71839309 101834937 941599493 183246645 247766521 295443593 90691613 93637527 896632923 417074687 361626821 19030925 690329651 899805713 234431603 50925531 905147113 836668565 21413311 117098673 432870795 365838669 616398703 545035937 229936591 390602979 976484717 100136875 512314645 135221223 575617483 110350387 79980389 318796755 292093893 262385159 997879407 83346439 884005055 369630555 108335241 249864911 185882949 747227087 373344179 661328985 712403465 100944227 714956947 84713409 421740773 108159881 377757561 508706311 754986975 269243413 877003101 126749971 775188513 940017733 189742813 52660921 597218045 189629883 686739777 674783665 846602481 950298505 510942585 979068573 475625629 416411423 791701275 458604803 6455759 896259423 828224357 391573079 857129593 362654091 755432001 987474675 962246583 685328977 690362173 738924823 267058889 851993289 874771599 194529259 62681631 385962349 175149081 27648131 237327947 514905379 525702753 663697623 373527815 705922615 873525141 387522759 339626549 816350049 203708557 188439327 907048163 245810877 877861321 100593293 489100355 213019857 169752689 301190829 966245553 95990665 789447505 313596669 639682223 275845435 146577891 99471339 191574505 193183651 819597639 286324677 358162995 140776167 882343745 921947075 71625351 720458901 823100227 270169353 80950791 683293347 458154339 325510049 986571011 956967531 216148321 923595129 812278761 651557301 219410851 125076843 8398423 434778541 825347129 253344315 119726095 451707883 55671259 562787727 889465853 795342695 252044519 617218299 224625461 313400203 483287141 884705527 178984945 894416161 382842627 222570467 811250837 194344801 76167195 100008201 30636203 946522343 667223721 291126171 138113001 117020857 102090327 296641457 115134247 502506305 302980723 208362831 933664105 423748441 878904563 311288155 572203741 182927675 512319353 386285225 676926931 451368845 83723339 983015663 694716871 39710813 808850263 785152977 140001885 994227231 223943989 858635223 394283103 734609073 363022885 439156083 769217219 718943833 974755599 553259007 230533025 664211651 846812799 486266041 409735999 486589957 815781295 826895821 58174213 735205789 678969215 247328589 421940873 52077 355198323 518193711 967732359 758180039 776599741 891664215 159589855 677973339 786918707 406446221 62448797 490281035 922068051 992346499 923454199 476441881 294302279 630125777 45846599 107877045 544582879 709031163 467998221 147975281 55092877 928343911 560987897 635197197 441544565 459539815 405895643 861702573 467004509 700152629 457593521 654845151 57920437 518585075 946793371 714695063 484869777 649417641 299485671 738439731 315483573 369577033 611590919 477450615 898772611 968351915 983900565 229143443 871932431 948411537 841014359 529498395 873456655 687622309 364604727 481706507 780101087 414147959 435339337 699030219 970957707 441353347 103373509 863598885 438089919 154673957 227297299 650988879 54542803 937528747 464372411 426501865 16547015 711003205 696948593 369700853 676730947 763828747 320301583 421838817 996971155 754670079 833265819 788423811 810407089 485004299 597874751 76972825 106331965 904646655 100603471 865749831 703362427 535833237 466220357 272519193 971579485 710702191 948590019 774382855 237341049 106231573 288442777 480697581 928194573 511653367 313903797 729064207 950978051 636156785 678208053 844405789 42666729 30782403 74537307 385862955 778096887 742611479 564987539 565371061 912056331 513625469 735417969 260039073 571260077 261237743 555596975 480710205 397818637 976947535 812809521 655392061 823017471 259723875 678546177 511761087 120381445 227912161 179710291 418860873 887604295 307498847 898252931 368323783 292882323 492323935 558612757 580896143 155935071 581425481 574239921 624214879 803672269 40003185 702238509 986613339 492670883 920599823 94474627 858809871 621998927 835428421 289832151 163791475 873586665 363189785 818807155 14503137 308357937 664970881 821080525 832562979 277718925 480616017 133524861 185755745 15462159 811920463 255068231 608370739 750545003 344857635 486631193 660584855 327501825 189245277 630259459 727815665 452202201 602265207 744475201 371150863 95574435 286243793 291711287 948293925 708890037 364722869 799942001 69601745 251379725 378102871 967347873 88296217 659067479 768117963 290111905 977003369 337769437 638056471 399252343 562887575 91359895 373252387 754626123 441435615 903940647 39761085 961950835 596723943 454228179 812050083 819406699 504600767 479060107 399485043 743800019 583603159 152483299 978599097 612564345 634440209 348475677 62239203 934941775 163976623 975131425 71829837 381517679 17710175 467786877 18810933 333037343 196659767 18792039 760665801 811969225 312399541 196310465 942229269 749992447 949319613 326326287 434123799 932521343 437523611 863751299 242159789 931352105 740329735 642843893 76560035 28673547 195808797 99535585 605556135 101890391 471751523 537964655 628646995 469648745 418619331 2582895 602660139 155775939 993644183 60281433 937449365 740658961 727590553 92323149 665420517 474058277 165292271 932779279 212536145 40550653 184640551 311892495 519454461 58594233 821675319 243037031 612678385 310537129 920924793 149419989 485963297 903318587 622234805 870174911 434203745 869487627 340343319 468212021 691311989 466523617 495844661 118768367 627985929 511906211 457244683 282041163 607059625 268016997 53155585 487493199 991385299 709249637 730727393 210064303 462494181 564313605 274053859 601292733 241824809 855070415 818728354 199164541 24761297 274937207 430101541 631608977 765070837 8739801 894471641 187989581 470634903 970693625 550400145 680036005 412185249 33047807 277192077 851251771 90278629 477281345 37217393 138400851 686863641 256847929 826900043 480627167 729927649 855661451 452734095 479191159 905883333 292583425 321168923 592709973 376077111 167947665 228206645 386018919 204409231 603267923 568335753 751864119 613375505 325945995 803706669 249011199 114373603 588575143 698380189 450600093 611868183 685051191 756389823 1981851 949541543 382344951 487063011 691974435 53440373 680092875 233184953 93066257 583885641 810586045 185953379 333898467 717256917 542414595 401623907 157733055 424489905 297705717 404514727 356247669 259690335 788893721 627931013 67475835 514532425 576398359 885303995 435483379 160706239 109994695 689576301 343625891 981532155 937172255 620276009 512222713 962482975 488268869 455489505 721756943 986680371 222408837 696118519 165496737 499511079 373576273 593310767 654814745 319914201 239794499 728098997 552673411 470120453 527409441 88462877 612745115 605520469 319776469 235786089 507626939 555500383 732794737 503197177 734782447 694431639 412783409 528440477 688684771 127285599 629139579 838189193 608706543 45857795 602544855 113549915 17346067 599143091 734708215 438217497 189371637 143846791 91011259 535303985 686154725 816258689 141689379 936705909 431983323 67203721 561334875 927618083 884217205 622511219 552237493 270411235 973001725 251985911 954562991 570566847 51443293 413198519 350095339 990656815 890288433 570142521 651744049 388923151 132699831 187367923 783232635 827078819 289691605 766878267 871152605 568421787 245827867 264877907 204630943 639020041 592680383 222066019 618783531 201867117 868949667 614635135 185089045 284171691 499406669 419950495 847291159 698737681 44481771 508129701 4987669 16291411 826630487 404705879 556526105 224470927 68031501 980957033 582372439 273872203 478959413 37429109 59341099 707447411 333437089 886089979 170986519 469815901 796252869 249016677 636687815 787774917 23287235 759141889 828722959 68227027 588094047 460695821 959319017 82323729 375545099 931696297 811146361 878604405 589235421 945966043 471766537 63209567 959190165 953275799 320469517 15690641 28985241 388300215 108109603 604838971 462319355 398823931 631192585 970763503 121094255 970295051 251668141 984219565 435009365 734884219 103243555 81723095 913349557 397476035 300335781 163353663 421628223 273685059 479516311 120131607 154042439 161969733 289831301 864270333 671838929 444223227 798775839 153017335 639505281 826175359 943309893 65093487 116267687 480082641 370266613 92088383 612518713 712452313 385016415 46337953 560745433 881385323 643211987 898022717 119875533 474868029 822269901 933042205 756207107 496664819 490193905 609345975 948342293 76178967 65923339 780589289 524990271 721526295 532392715 889416441 899336553 881072461 600826641 221239955 860052517 658996221 567409245 544213711 586507175 36903757 956984665 997627429 703631825 175604817 978933403 220844415 649441063 401064703 328994783 315884839 234152923 291051323 93465349 553030613 131928771 149716429 444316443 622701989 914774623 301415 250999635 19495707 438120405 534355875 645145607 723382823 697327605 184999935 959455165 267781403 382682679 749766375 672488991 327217591 466868153 932432045 839859967 101358623 752188483 276506247 547477339 144574433 992293189 757659033 886954581 9095409 26755285 343923691 145191989 479193775 316373681 334848367 544538995 61030619 357351235 96772351 675287465 585582759 279680153 44517209 909695129 704841127 34707307 630285865 981544751 878174425 901762069 940232959 425742463 625601439 240980899 538812503 215227585 256660169 881126593 784741517 722032733 40542605 726811337 831331567 779849947 119004295 767083703 478543533 187088367 482604731 549938739 68411361 413763701 385563287 166895247 689319561 88071535 179380467 444486079 733247889 645937417 588186631 710000997 969423817 467786647 862210685 864572357 778709739 254226579 318833761 145696977 220174489 625641377 718801959 276494623 420969307 719259531 571826605 60168431 233900963 761456965 984589623 844688167 886848201 523159787 349587573 705506391 708534287 474610369 188714875 331849143 806755743 711708207 477285829 421823013 602506633 672761547 767985467 802520361 678050503 317530447 912425255 518658035 7136827 665763487 376225087 283500121 197032365 836967621 261051553 676264409 334441165 764912119 997032659 851645085 185119287 195534733 563328195 396626547 182202987 456594699 583947715 121319889 103235795 543129887 496986769 678741721 869172415 3188889 147672661 486698065 694072937 112941429 908459931 810769063 855849971 300149719 741975381 545534195 665793637 199905547 554040805 136902133 643234479 991529089 32052239 630232853 832438957 897588953 26617853 719033695 871808543 663290577 592000073 638738063 278695855 226346073 340263661 561460223 386985965 630045569 26831439 775632313 456575059 928523655 882766397 343497069 612467777 474998219 481070827 901199729 493687299 270451929 584421879 758167493 646680007 417997159 810824039 12714767 600114857 570199375 83352231 792588191 442166185 922415249 854478221 449031789 4547761 25462877 210237269 483618839 547259791 3845125 33735591 318636005 863477505 986400257 511234445 559713479 518625191 763685625 513155711 199610963 33272071 695768243 652618071 993059783 590671511 18897703 74243423 102738189 402334891 574544751 957721407 682799027 423879561 903830733 379175439 633293807 263993433 842540461 687390797 908686243 345089577 247531681 672821981 119123285 57656567 251805031 877356557 356880179 69959329 932751841 240894097 711974421 862132211 871725337 999054471 352971899 26828699 408489027 942233205 730464141 804188981 331832249 744808517 376665111 244199489 489090051 323755089 685474707 676411687 464576711 911334995 872805665 756260411 759369177 875298931 467588229 13025459 683212855 772856891 406059825 435326387 784157443 846765985 688125755 849686341 62738567 733132293 614480995 536472407 908156215 174522665 155968783 240480453 307699375 823304251 373790031 970446925 223211185 141297361 652210139 12777373 395287595 348607977 943932689 325035585 562420781 11385063 884859385 300484791 540947699 227629207 546592065 327373149 718255839 294277169 428573251 735252349 763849601 147280465 807106043 597430345 278574215 809240571 200785939 614126043 913150159 909370271 342536153 979008049 133452637 266340879 156043587 79856695 71077465 520073099 133658611 373244095 918601241 863033529 357577263 544110975 640325655 380986787 655874533 980675099 366942711 373470911 393579949 294272283 740108421 727270379 621055943 28727025 576275121 682241901 459015451 135027959 929148569 858330865 653899829 351069291 132885633 792237197 947444303 786397049 22431699 172758973 194998343 147877939 809823777 316483689 809005991 916859279 528595495 691025883 461016987 62359153 568818889 971497931 133614585 47157409 391667731 44151637 586019397 767898577 45479479 916845053 95002787 118544025 137307279 638083249 16577251 179748733 426978977 864618697 386297213 236430307 120900373 207327487 845750415 138633501 79609539 612495993 645160161 249064293 57768865 65310659 522214115 269415133 838420951 959347157 257728425 405312141 320722091 33926923 407497719 834201959 345565077 395844139 670608175 554999619 834859311 792139105 547434597 737760227 859044411 379841347 595905871 955130865 948711589 87022541 326607177 466868223 925397631 60879205 366321759 60737923 71929607 220867033 331835453 799127007 823752093 432289631 795159867 169983839 237447887 242313617 396879193 835682355 883089743 256384119 879621439 297134963 43230969 700470655 971520313 251849761 877517263 167570043 274094657 343982631 357291773 187253931 124071159 473389397 702391765 430543281 521107103 852064357 460657365 365638303 497868331 599583737 136489119 705063143 723519791 238095257 326872317 383703911 777645807 354498229 787975651 904593251 543737167 489799081 256222317 934985611 450288607 322631349 698520029 481000689 655292119 226324227 466864799 773392405 337532949 146574755 721381703 874021853 481902625 414983311 544725391 555466387 906272553 716593577 568153947 853927661 490064391 182434743 673332661 813110025 813836087 922180975 26499027 641238381 860701667 768560231 286716429 600826373 60896985 359485985 515389671 679001895 794076047 489297669 953837581 11703441 533855015 269082471 644649811 66240613 294377829 314717311 731509171 309270069 620000189 625535343 318335569 511779825 498942017 184672317 260694393 428912379 887293619 945805535 937282971 24932629 296621433 147666987 403837013 638505327 345144485 827440867 60143467 422876059 585383659 32546479 81412549 797399193 222016171 978526499 535964281 849754573 635802861 120014519 519857603 604162565 942821473 207371211 144584195 568989301 664366685 618562475 233778885 23062459 298292191 431965573 384338367 338122461 716618385 478980981 113380297 928095303 749605313 394632569 533721065 454017229 349668199 380925567 427164745 831849649 890577185 782519125 843407675 865809555 454566199 805110195 895179323 50438275 979694487 731922751 159479535 910386423 217552091 150779005 79688733 332686793 108688191 625508321 192753341 519141697 136433069 891595973 131053801 391294733 453852339 738994793 847763169 728294719 242086279 920635125 882640917 495823703 511564043 241088637 760019479 375548727 805862595 691646455 774505375 27395633 490595809 934187079 277885845 704795127 579572283 224701751 629800447 992274855 124540241 500300917 461402389 931584709 72112971 109178011 294575665 723829313 19698677 555016237 653382357 10829167 527005129 61813905 181753773 93631755 46125797 878055195 647703437 483134011 254989331 27490305 620608621 17104781 858830269 335375719 228266101 410493429 166170367 363096151 818973933 804316113 180340375 631174079 540368713 403039719 833348587 149906809 446535205 869305957 761154059 150433097 834226243 765116893 999240367 727732181 689498511 286175309 540477749 797171119 776922141 568862749 350283171 60320851 170602279 392542487 905697709 330393887 946597391 288917363 493828005 49027677 800249701 472454861 740807053 972124223 142695895 895933225 800859149 863736285 966552899 149629429 441868147 22720571 335178155 564924169 227549877 94381887 380463675 476682143 909957237 392539323 72066119 527352157 526860279 757152617 825888329 979430737 990470189 19248107 139343077 417033967 613672621 570274249 863726567 270142229 924794039 818635381 959946559 355230985 262348851 232546375 76256779 801233781 546558125 356369283 565042063 354313075 674260063 500898127 450691123 272994687 406755623 782759101 839097997 585733243 830837645 267787207 881199703 634376375 513522113 835371087 457447797 520732393 75954329 658881309 77928691 325449003 864836757 698585827 246396929 40632325 198486747 647968569 787533055 794849637 768456763 30530465 444276331 839334813 941772331 640153221 600810997 202917485 322633677 455067189 291001197 830158329 221087975 741978091 967888335 118246349 585153767 724717257 57184321 999247329 206059495 817054935 382527241 429535633 236642723 760585735 654515871 283892899 507840133 301028657 869739675 769750593 489847961 173531927 49925315 717929477 709307547 226044259 480970241 727276265 657610981 124612005 127455591 311430739 365763715 335502423 279954739 252191505 370827809 855428057 896778181 626882649 868030231 737683831 139329195 301264069 624663141 907130465 967127959 339538269 634960817 148435631 587961699 796280973 318603851 292265571 291564309 501885739 351201323 227501669 815186647 754307957 340313327 13718409 799076605 334403597 572263137 937834887 688611071 332754693 19427819 577007105 87259269 838644431 70190249 397023615 462107735 75093319 980168025 332681329 544802665 915003063 464818911 904209459 519594455 657790151 451228623 397324293 246469091 257109393 303914847 894277135 732685561 273667727 780057709 468028005 347413163 653987751 674132609 764254207 997549495 207441447 508938441 349905855 896512767 230119875 168855837 676176235 300286093 466275225 141698815 87972537 617825941 298855215 589912721 966806077 34051187 154893169 598372775 50161789 16668073 274952629 22980277 899686625 245079781 121216183 656046045 625628345 7836917 982696349 631420387 248323133 797182937 369253623 733484857 563993491 811807667 496309685 775573237 926217151 448193487 708866617 599542231 554827189 292510621 562210117 54072133 818685263 907501499 537148167 456330833 500279885 393724139 151132695 850455215 130176855 17897755 900462189 646306751 395056897 470768731 696134259 797518217 170589891 91702247 993096181 609335227 469380605 44291363 578681127 677293743 707166457 138230425 220481447 916766819 143018987 524368127 375418233 212515709 503319015 592583725 975135757 685895245 182504947 763988521 160587575 351807433 193831925 135199259 700035635 722470035 513407425 755702617 94396071 139575793 212418061 592621149 189091745 311683281 814669183 921130445 633239191 267268299 954213787 139615599 261017699 873636129 776251349 913536315 511978061 703724981 106099845 735501897 515793665 450131483 481499119 965302239 674157461 434653831 691420473 413723751 284490375 765117659 684002167 459494515 772805305 314310043 165141151 573904319 120327805 802766585 806127765 428281905 821741189 84395979 575984163 474180815 587133677 149854865 774913527 358264017 824004671 228161137 90643883 202604177 841931875 824385595 241974465 392320145 762398643 24295271 557083557 795717243 131464169 598235923 774316195 812380711 715493675 949909767 942159607 477048971 695475463 526916275 767029699 486029519 986306929 781600813 361327887 982422843 499064775 977576243 995259085 50409027 955250639 343282735 629956055 669782403 437562549 36698415 281919723 652254909 83820559 161367275 575528373 503412445 192215257 916102079 555634631 547214581 327490171 241251511 81556375 648721219 247232447 46241919 58551689 129891367 820572637 657380465 887348453 78462257 428822383 434670985 142428379 219300879 526569853 69305711 493503881 908485535 828895861 834398581 623529195 890121443 339843881 620135311 716690925 693952519 479552985 637424479 897964383 412864863 885026089 371622185 842546939 910573669 844115239 481384159 606557283 364040379 846799943 885392663 346626591 950331695 404875879 417421841 727632545 806664373 381633483 815888563 726070593 244339045 558637603 26128269 865724225 35653507 160024963 584916951 828899019 841054843 96847207 272420463 171928559 124792801 620963765 838574813 743358887 709959791 418131387 383421009 632350421 26775305 524652335 753430175 844225345 431539131 198385451 922629451 342012059 779328693 530147127 118672505 777075583 573798229 627055167 287740409 763657327 58020127 619391385 417232961 216668879 110649531 27803651 454700403 463879157 368968959 343807649 333918293 636593689 530970599 148874239 324363605 572686685 310078355 718822677 83152267 826011849 471603535 312428607 262553527 173629261 97611921 671964737 43196737 379497669 372650993 77297995 745262901 345161969 840953397 692512751 754345295 944003707 593687365 185674285 112526057 375806451 21810489 141419115 671558157 894280403 272332615 269733489 739823723 937056379 636249301 639990907 901100633 645909815 678005871 844697121 864650711 482284341 784896199 193645419 923563915 276042641 743684535 903768517 680492485 317300043 781252933 810887429 274282877 308523597 420568731 969823847 348382545 160885863 433383179 602899859 817229449 896315473 859402003 261844883 359841301 609409713 248878419 968663517 666511241 511853323 498401689 317055313 268369961 726643413 286763991 151721777 156219865 441854563 62437159 340081709 332104745 872162299 970312399 738241879 625673551 547916997 784843577 549036335 197158701 226026449 829333241 570508441 204427335 554166551 813982151 90567139 542957777 185145981 848121227 858508737 433736093 125341895 419671373 840735825 784185133 866097833 550849089 238243351 737661607 499146685 318325955 568253187 665400029 436316547 274104661 686838633 762503491 44710499 46477219 335853829 362001147 854339761 512748929 731557885 837329865 229578659 973884393 599501793 944152351 22441567 800844797 560639649 989676819 177277673 922061835 823268253 579881315 11549493 365771911 683591835 189884539 80618013 748348169 592693449 778411109 123782239 65478997 251789753 594663899 551239593 166853719 898981483 688071483 788141447 24732963 751158849 313267597 177824887 382432755 547787277 509377919 899813591 317635371 4833537 825174123 967319537 398951509 224053177 881320269 5668087 522330919 363617087 35712975 762603523 336989817 2735613 945259839 327585043 942282575 239041735 21098899 501985045 322410453 630433245 329554029 83974869 279986783 774626275 218220049 137687567 30000233 563039975 455921267 866490469 222753171 126454109 472511525 639397985 537007785 92584741 946022249 872718961 840013985 541896833 325345061 637598703 153453459 605270303 712502763 91391005 411455939 140534549 541188335 744125223 276376735 585634271 893800721 872469273 783735223 138106725 478897627 923564783 653135303 448008433 75019383 391381387 59724725 745031739 18537665 609149621 990692743 752609373 385673783 830861343 469782389 376662239 414182143 822281315 839516375 677791919 417943273 311196671 176000819 328837407 368348781 625701471 986383155 801991407 767119785 403508435 139099561 882148163 515991397 755129237 35906707 394724009 211776017 643713223 292451345 792656917 191772865 212510065 210762609 191492581 100545593 241532549 830203941 153576159 95258587 215930331 584894663 271421231 442745531 248555831 259267101 654937449 960963213 337193277 434467345 717767055 741288627 699409541 763578549 133602305 590229811 700578947 147680071 601804431 328987579 939360923 500292391 613789039 733938851 384432915 637292771 973242939 79230443 249957409 940363053 370542843 447599163 37686491 129720801 802601755 326206431 258939459 492878081 192758899 396304337 19884611 734239673 470448699 446909103 657331371 556089693 975920157 21905859 376310325 875616359 536806181 777064439 383348099 420392825 660954821 867004647 281256477 770423905 419658207 685886929 585676659 796185363 613760439 962623643 68226531 155998373 607406839 260116181 298937257 260190817 706171577 949665975 377686511 341715629 838392695 120625695 81505225 145258015 335748631 307975573 208174383 832836209 164550887 836768583 986565123 891481989 295000733 977140239 63976717 291084395 921364307 309346921 914733309 862128721 340919185 349089663 455496559 730271125 572399939 763338783 762184163 262619321 662870207 402009023 874994371 551458667 725088193 699830657 328263263 724276091 988793457 543429929 903966191 60792293 819613273 660409897 297106585 405682637 842655089 410487449 403122275 333581181 139162389 7972405 126468925 99819883 556296457 88876389 635811843 288024879 949263995 823346745 496043381 976546445 653181187 505501033 438001467 359724659 164065691 297308501 847750889 159374833 698587561 586595073 512836343 236335939 303867385 753888031 109049285 362959053 546523589 66735365 125222047 566271003 747108773 451336625 199442099 226536669 775949471 434734285 649958941 663278579 716301603 154710951 769200349 867989083 443105797 602698807 314793435 488161861 602203521 768384027 327624171 365529089 412499007 380200859 887504581 684738829 9371721 837435557 390263305 694341385 150208533 243980243 831272001 692222147 91241859 586169185 297192415 37305643 880554197 603317817 425271869 725298273 81527737 429239017 838229147 837459621 712814151 992671911 413910817 806763875 943800311 984609365 684878819 385689645 398374067 207946615 266441175 967586241 986676679 648234303 464520163 935266559 80625893 824360835 126224843 942963701 834133295 4052931 990884675 761913045 142975529 305630247 540963557 576006907 685388991 472974971 24527663 78792681 859291205 958125369 416615309 240077897 384652155 90262655 631663441 865017587 434519943 745322263 271788211 694841311 516938995 1228651 397571027 407723823 483241141 158082199 41286587 626461745 114058539 479952217 859767133 964886615 949438747 937931031 499038865 977590333 784169137 157687521 720188187 350162597 335928451 434021997 863280545 188032381 135550607 788085533 774675125 99990227 242821431 175468791 855179219 843378151 739150413 32820651 79838809 954945563 802401281 808859533 187203729 651881977 928338421 149764767 172970157 195967541 317618219 63091593 611368389 561070251 80919571 208005273 946413277 135408991 305426815 422794949 277708763 273364345 628148655 882330287 560912017 13079119 818541639 809733019 683750331 547957851 774797397 949259387 232557045 702324289 597537613 988712677 737255629 876608459 322635789 658985497 666821043 998546157 708187099 60657151 660465921 883008709 671756131 473731619 588344565 124162193 207459259 574366399 173068475 321368255 285773151 397565873 859436899 453140451 227076919 444887425 927178983 39822265 973375885 821106783 829112105 204294177 85221143 590845729 927342321 513514535 565189109 79936069 758450417 160344321 291621545 918851829 415660737 382796551 473636641 794219519 194837987 481622719 602606005 40664283 94870721 327243729 921210397 271468199 536228267 268621843 160941187 903231787 932018141 679916673 716476531 713340885 564587123 313701947 173511137 397257919 922372475 56753039 716048427 458443685 165213413 840230125 531679509 256429295 253823881 750894581 11876815 922111151 851428905 732726887 461619181 684739481 588630127 27904301 17000043 101837327 74220523 407882591 525638319 599808277 429963543 184919347 805779335 397593949 822736981 777917713 872343079 662393919 23777515 736341631 139071791 895876791 414769679 991856949 140668321 641347693 47329239 307350541 149539307 299109041 650495045 207895561 417298147 426688379 571566147 267340117 502272709 159962217 869757089 953236547 848677945 770966467 63332121 570973265 664266571 93278585 678227275 819882783 432431213 496724001 426558403 507217787 784612737 581204473 296685807 178941527 633684681 803652587 422916139 206121423 812572149 78244485 936010423 248661541 193572119 293101823 920324797 847711941 174636463 218978359 62625869 20314947 176097185 223572917 530064479 741579353 435894331 731483815 3427289 373244137 762569009 523584229 748261503 874725633 509597091 474129905 982650887 927487701 373373201 335865837 38627591 277882813 390472813 99718829 52106239 964067645 758846731 51310757 444664925 716969985 327271337 296985079 811424111 172935901 469426025 953440615 692225391 9212363 56912603 572584295 160886909 614313199 127452917 932257037 123788195 659499923 39635985 289835289 65888213 13507371 504105719 105051377 246713063 811348051 480740309 413615527 787007647 235336655 785212733 330250477 923521957 500260743 688447791 243156521 964812935 112471953 361503759 652291933 539899075 713340199 444140457 721420857 797705655 65532845 858443829 703657751 986542511 236030895 70956879 759112181 94448857 85491677 967501053 660630393 196722767 956773397 389842603 115036145 504195861 32965211 909359149 123038809 486634257 573954007 659644101 82843981 486625303 12266465 436839955 310237717 149059295 942997231 407505191 287529887 370190857 509150119 689527157 685390723 911068959 317749205 90923997 833026819 298199443 119063401 866870689 170104321 280264639 979720067 189205359 187386897 94051809 170109281 674149981 390208359 524964645 719679347 386732263 514195939 396480669 586940489 94997493 439204367 256487487 713724833 168817107 487245847 79819247 409483099 746472243 975329491 705736823 562241669 289824311 654727363 922932869 710723153 411323235 146557197 503458739 739874585 373185697 767780993 116181381 202700131 579542091 591523479 939772001 29647065 276493339 701602413 45149849 396683085 861079607 55352267 367385961 352381885 63426093 943748641 393995247 257747273 475739633 837891973 935690805 331348031 23774945 614366133 327370285 295393041 909308611 41477915 901568175 58402651 526971075 560058821 330717821 829116639 81401463 936386665 152448833 807718537 627611867 23599465 256127117 997898603 270201173 135711691 769600215 21773251 466936501 151917117 414053507 683673075 72944683 76457497 343373017 63167877 603879513 488725595 647771403 96374829 47472705 43677867 702345521 47026375 784482899 489167451 270026061 181053013 977171297 499564895 545512521 255694083 57700267 804823385 289458421 756091173 396121557 837709965 852114701 715595829 541165547 587344109 125769773 138982359 709125733 62346511 924018915 601003733 918803743 798639411 273988511 594178083 489199199 904434751 479454137 292496349 755710417 476044483 971849843 387109959 540255625 330890743 851494903 95098057 685063945 895209145 764280405 496955641 927635505 326708881 798700679 914734481 39115857 448700591 309096303 531775861 72799517 634794727 794521301 38698159 88364469 996820157 74772587 556931445 285131675 222678101 516772041 138354463 895123389 371282815 128900209 168286513 506785137 789134513 753601741 883452505 183936885 542649869 892896045 528370023 846949099 555340377 557836747 990148183 918379109 548604931 855837383 428528973 984319189 169096739 169510189 608498069 409692311 375163769 194401771 78944415 82738293 991735149 171808477 677486345 758618265 648674059 772913603 774247319 453134743 271766029 304728391 656263219 47587183 430462419 211394041 713602287 904085637 1552993 483904339 520515847 669765799 648934249 929781941 898474465 688419849 59602241 330520171 294070275 636019273 283590633 794732197 741898789 695614829 886641671 969760377 285168671 341804769 939971051 583908589 358894071 857117307 851325581 658899433 231242967 844510073 460555915 696232765 541504529 818918781 528400685 617757603 5771811 279284121 426121571 116560315 215154605 548142397 965603521 801253137 541509245 280454475 827354763 796361491 61350533 853894917 646968997 665317405 231682273 597274393 819696797 936107629 76301011 100699807 522817711 359504177 692403911 537885713 700519095 954014071 639911247 951397973 59711803 810286903 72047145 55438775 759152751 581651543 80743221 16804591 6008613 586993051 80573313 854720537 636655583 589666231 129401919 891932091 367147459 219226693 374140363 793975233 488762787 563919557 126674087 188296321 741553395 980358047 654229631 855364023 658194643 897875751 678014759 556033929 912320781 999976085 828479385 843381637 757241101 402234633 879255801 934797217 522860779 790060173 86696337 244344631 270486117 321598227 561647061 910900751 917570021 70093173 370199393 202299221 666844539 550621811 840236023 999881377 239390169 374774197 743642245 228583147 198640483 786634957 14443545 662119325 91797791 629039671 709402867 891374465 53849533 962304593 580297077 248496079 957211795 970968165 270696747 425512227 929892511 821855141 947924421 675586179 375621003 159146027 50200097 4227673 800544421 862675445 845815105 320819583 421869027 167769073 858149203 819166255 806653671 761362667 865985191 197434127 271854581 578079393 972751033 504243757 744874241 346901169 740099373 877679101 135411357 660211621 471942861 251561565 361378571 48457711 982144143 476261267 957148465 281604839 448883851 828675403 63333793 828925905 534669575 32601499 298046351 52448467 353462123 681523713 175006683 895690239 422969679 459638879 612844047 174281295 913148265 230417927 685679445 466977445 58469535 385349289 809342857 851090633 879729405 319580519 977218089 352570477 20607155 916135363 766292827 424757291 289350945 912920749 243141359 286828161 586689479 743770999 404300637 542535387 793936719 119349473 888199875 481986697 75231889 657845263 661600233 907039175 596533635 726264719 587174717 512642737 317449803 64184917 716416473 513623637 821375029 207017663 992955513 705045923 62089395 102843281 328944263 926518387 525145697 866020603 763383569 537102985 905776639 541356945 774215629 871628427 630710141 656503631 178516509 520969483 502506733 556078749 516738567 42036611 247096711 201676101 772004153 678241621 838848691 738029949 361164299 504349897 139367161 128283877 654397565 530091535 207632141 167421311 400698167 543260739 872416459 800114361 490099845 644843111 116807733 52066921 984129377 722866783 879838327 602616781 341302377 977755651 727434979 183555209 371770087 81686023 431130615 255166889 153131973 866881293 793803349 776041637 911314591 151657633 326260167 30658137 756827827 713668147 439668801 253951497 400009191 340788251 363163871 345123429 773183947 350754971 198515427 951472257 221546135 399323355 872735929 557554905 810708009 601972209 125505269 789680211 198920969 187291089 312300369 898231101 166888293 473637469 649147313 335259723 870933015 94171233 701750047 100258715 952451483 6003339 70652111 958084531 758766875 330125431 317592349 630312063 224280421 853745573 393529485 876345941 361698799 224057471 793608391 614272755 903693275 484531541 471147425 241901693 861093101 936846689 787294229 913210495 823857303 101244867 18705735 616113393 408537841 919419015 319501697 281839405 477830583 221022107 403801913 859304189 822754641 669140443 526456839 757254025 386227151 963523591 769842609 704889449 646096361 577953223 399765791 483339419 677623807 696634543 612924263 412750211 738444053 611633975 780255939 114759663 482254813 894073791 516715929 881706771 17303469 358946195 611528559 199964045 262145923 756351969 923184637 227923043 983192329 218768581 193288219 92930049 711909261 130220095 279707343 338290493 798250247 294634295 8284225 647589971 833943829 636550785 923665097 658144745 598100991 882605013 177478621 599260687 7270323 499967187 901696291 227057973 154712267 887818757 657770855 741180221 804375427 145579487 300374427 665800809 418414277 782911925 419238873 422120039 844724511 447246541 52629095 11075917 501264327 993888589 66576559 364021401 425142175 739149641 415849027 782317103 951380523 504030649 784074209 46339419 574570653 319864189 509525609 835493333 823192267 359927903 688882665 544927417 984195125 147101713 947283603 576231309 453482755 906909485 432743875 809346875 575461633 23816241 884529403 922039069 995929257 986951819 441552615 480681453 967533081 872656775 506287705 255795409 465235481 514504547 237579087 297005143 849842969 696820797 195467243 948843891 767802927 518002975 626057591 965650053 185304091 925481211 232819047 323180111 681805379 106273705 983988311 283963647 563844535 216760557 758809865 574718763 827672621 473477485 516859753 168317135 289814791 888517053 439145355 883854931 846144587 647055187 874245289 136647553 814273961 403629459 189364261 186217105 668782965 759696069 373820557 404924703 426899889 963440923 124316309 850914607 746864389 565744557 605581845 870803505 965798335 520682367 347565841 139853815 363312853 163284599 102103733 416689089 615724265 236296807 494712917 422516531 33413439 550350859 262706795 161499483 991407305 474226689 247658907 58938797 548344093 433349075 859409839 339850503 668998011 78413041 495461533 333760175 802484171 47451577 608123773 363870545 424353689 691318375 852337555 133624835 629274911 324471847 814512461 815309121 262852667 945587721 765253947 13788657 113190261 483234825 280266009 384777315 702889213 712400899 316668107 634000199 463662505 989155525 527413597 229160639 683585015 217929471 907543551 65090381 213220113 988870217 130882319 378077919 616459717 896902181 332367121 381206475 617461643 474806013 182201775 890086351 413763457 961623843 153783483 528405775 2285423 620283341 77713713 638851353 36778179 571401757 416130101 977584607 284574103 203512351 767241747 820897987 689550247 916362179 307240253 769320329 487956315 533613537 554337613 503765341 725369029 230503739 940352009 785387475 84305561 470774651 739290715 537264107 784681785 603528241 677471061 275217675 640585129 227821527 834153781 585426429 482342555 821428943 551989851 907118071 503170407 267804255 917243989 345962391 272040711 78263229 468333269 967239651 797412649 778244351 862397621 337348937 966362391 610107943 358268667 200631963 306756811 809110047 218658257 425456151 939232739 843577783 349815179 225548901 875828391 742297769 291556769 64372623 158692615 671488149 580631995 747219981 434496921 595777543 814811297 648042427 438621339 386903405 936528199 400710365 288569079 442090531 877197255 136282403 158549819 62883177 560683113 198686879 270312095 113856873 547642515 732082385 175276545 573530163 821809113 725600669 566529769 832707777 162783993 884872785 479704197 937323507 870381781 590347937 276546221 490208661 378378103 468428203 81250017 196066133 925536531 87350517 862495049 774519759 738806021 859982699 152066483 544806787 4427983 816113763 685324949 749432793 329120541 696035481 218586129 724220453 404820675 695471413 444780779 181608095 81344443 758162625 182580629 21680999 466462249 441725491 419410213 981291399 298229079 161977835 858593883 10001395 710237883 364405419 508974749 485964415 230405357 754263203 949757179 844994289 310572721 428350053 255487789 798214641 807081461 340291569 909612179 853349901 101622471 896580009 941662001 716246211 192300649 412265311 681239735 370563953 843760697 22607173 65081727 153768035 588375235 574877433 909288839 994393031 821010109 965406849 12921203 113463479 29038079 381096263 62956951 383349303 862928013 877180197 784520425 22174255 921690517 610260821 148445191 792639597 769089639 547664253 498386489 539317167 123113855 647361197 498028653 558050451 427624321 432838229 617059899 554162851 376776761 140546901 106044643 856102225 480306073 401807091 541173325 483495159 729174203 605311963 953750023 127830483 492141285 665371429 13498439 440675091 9401983 452236617 270043885 117240259 9412129 101685553 943369859 401453025 871023489 692769063 384789301 490377035 202908805 264768995 151295963 438347467 468382265 985470849 415191285 825690387 392943567 640735877 378148777 315514811 474287011 74477279 642034887 841330759 941646389 832860385 47228871 673821981 621801781 22274123 138940359 311405199 823310965 555428673 210426511 800685529 486456557 490386769 553615759 967986201 189584837 578238575 484336861 839236953 54898501 28116987 444245047 184336779 656012257 936751029 919693831 635698567 581516595 373413583 896498779 566903311 564696833 333383389 324133353 318413005 553558069 146353373 58050835 711230291 300293091 763001393 538095839 134361111 630794821 670845865 861184507 343977341 543192509 669813883 204966847 554032845 598404057 132081475 70815021 600074553 777234507 889534725 223729127 222587609 211522543 695108143 50790721 647457199 847555017 129696153 620507951 971602085 42090497 328300411 98714961 446155917 593329387 697232511 578590193 630784797 598434309 328358065 247732475 304300023 692685041 280982149 901132039 500242343 358237305 825067993 47408725 411574429 775904659 434425073 871544779 385708081 383899223 855413629 437629945 439054245 228267785 779312017 689906711 636976931 177234709 368731305 570202371 34019005 476554767 101821613 344949317 360429929 853464241 925454567 970476301 395424777 726544351 338151181 543520559 97036393 388201891 233887293 34378799 584441401 221450803 381593085 437993009 96666129 196911847 394225979 731648771 641254003 829850949 380865865 358667041 759384777 257917941 554967781 224109735 282503779 742062029 423124791 571272795 326363003 764290759 9705675 713865393 465886257 364580615 208156307 882080443 798125457 273449945 242740465 602743611 58263179 42687663 487914665 512451481 885259511 992654883 269609445 574533345 450602135 446883579 368960319 296073421 509267987 632977183 199528113 669640381 763338751 607858853 4037281 169355957 325710291 520255177 98259165 183090279 702548209 322959595 998069145 98072617 872019871 663395225 297438323 425914875 989455379 688120707 711724401 631533699 649110883 367680137 178894847 700608017 50643599 92798123 762141171 577187741 666859397 139175187 348562057 146847685 904779795 103498521 723205481 498544081 710470387 983749427 742247837 863284401 144449221 665054217 274996893 391621113 808376085 232767331 694464835 773924077 8819025 135269173 287700185 938188655 443100117 547263129 93136391 806348051 896191201 361276117 486188005 115250191 610931613 999258195 32018673 627365441 554410781 207789479 370016783 433391151 91087193 387801225 3387789 803177483 356316721 86906081 722616863 254714029 35879535 844510647 894677987 126378641 7005895 818648639 873163103 222865119 806629581 716605653 888859261 901022313 241615367 538484731 642290583 184458403 798064859 673049949 191114343 944377005 444302749 785196751 965011733 124919889 973745541 20370761 147484459 336020731 203622323 587764211 18869407 516133569 169809969 18545429 432433873 964049255 669586673 991919907 399678339 327426897 744088781 544845241 471213027 684800145 876116613 962347163 611306375 550756825 362419137 844113073 650102637 480267661 879456789 874181905 532888825 663353011 314201079 739941365 312950519 791824891 417641931 546438593 17036959 916955833 229480665 884671487 659553933 333624305 891614805 804727395 460714437 270670151 861087315 375552457 955602615 247081993 943701721 242345781 200194613 486021683 547687629 98773711 561374335 32371553 306629889 302142701 23127099 363917785 979106609 158485257 952140147 7402893 77050107 762740423 132031133 476055317 113874665 683229939 215144855 719750317 795062637 603357821 902921895 406092093 476586975 241258885 553732985 208384855 865237891 663094345 858978339 978416175 994444927 957084729 877670945 908564133 342315237 833935077 935022427 989385793 655680433 290496265 718899995 470648883 476366273 880636297 159608089 481695313 522610399 968404081 278159985 265998363 873137853 641815027 364422823 536245175 37532659 15677801 61638825 405735157 340423427 812081241 253194191 196692045 921703255 9230189 859562195 780958685 140610625 157714295 226259673 981650541 103037431 193335411 672794739 878782571 585573533 631533191 263753363 610885873 530106683 865747195 537662871 742420667 397584065 507233601 107448901 980127539 81241357 596050937 355864777 586212199 410547163 653629411 765277625 21119245 416386007 995577579 604899089 83110279 91586449 44620067 307963191 319390939 356205699 157109193 206709241 994305207 768821775 148978749 766658445 389166451 255263869 228168973 585206669 242859791 550946813 494078187 512329217 178055729 610869165 84607923 174956119 481318187 697567881 315420519 754588769 425559793 73151101 304945971 748211039 14342691 237355865 471072363 94861555 617094155 342333911 385953671 7940143 131828626 505256087 849195311 285848709 500996183 166268709 702431019 26690259 463154581 375607025 939178863 503075421 577947955 157216339 973925655 793382867 530647745 699195277 943421797 808400455 381073527 14504393 374345415 848566329 726957107 433847831 19815883 569184399 903153277 27468401 344919089 287409555 813961091 496697015 417055195 673015803 988326943 881942965 135530451 793397221 839528141 807518233 275355983 932915671 583097527 525095807 326262439 831381949 617607851 598590311 49106015 962760173 746586143 731580475 56464931 119095333 507415605 645134923 534910919 271018631 808381105 542242001 445153861 532535973 200009477 67894509 306675393 711841391 721549127 505787050 441125255 412632903 455004983 911788537 97095431 246988527 274537277 483349427 619379937 402211479 380009317 357601433 393617107 623865809 663013481 801757269 500892621 597592477 777655465 75080309 230204127 181892447 534252841 947824503 378738757 253192677 620122779 174792123 747593827 898048611 18405971 904558727 814885573 981000567 300428629 888066319 372954395 478899751 121704261 722099053 965928517 390185183 820144499 676208033 365116225 418026099 653924823 671309971 578843199 632018213 665249807 601483543 143361935 604995989 663255139 203717861 482409135 627899347 144699585 485981085 395107135 535240789 504803779 685590985 123688971 703511285 837090725 238957533 223800841 582916603 333902673 493673773 339208531 627165461 911852371 687741695 902111275 714134101 358317287 303384953 707138555 173730619 712148199 767909551 657419355 420554153 814704863 681534873 205831169 297094897 746742779 138792727 316245973 885854405 943721491 375954675 957052895 119031875 80892071 500026079 251823699 931855599 790001631 728641909 222822027 822909881 231684487 727297331 942218253 692660725 43469849 399070599 362426243 491945567 788625331 68091325 652314561 934146589 305355037 273499666 522638529 150034365 164728007 942494887 199034021 767441459 954428359 415726723 19342523 636382173 5303517 831214233 570944117 687553409 392023407 126854851 475457647 29000013 876619405 457220799 214710635 737348051 686292973 186076473 544183637 897234705 89457393 658473667 347012161 301673839 826301855 536212179 349619561 720046775 182450085 883987149 761466417 332720929 854331229 210623225 381273379 651329095 582112451 868585353 685709043 541001267 752594561 404259223 102284669 181098061 793617125 614431777 879425731 786851439 616962789 551200531 248885235 407783891 727296291 930938943 642957405 209858591 253333731 620517467 638954109 147401313 742288663 489778187 948718325 865931277 706917205 565459159 818779541 413183489 67779293 451311665 851314763 200307585 150519189 473431665 638257205 822310717 640093967 706532313 179496087 843924553 989247871 277350291 73712089 728075555 321793221 656504495 313000081 910460077 54478185 182948649 914005113 228651831 666133403 223227101 430727029 933783415 502251057 453245593 938874001 401229191 942993321 176943373 752430335 321864687 676497197 320376785 60213529 504740509 529567627 990563945 8840547 878719459 635025979 684604219 951928715 839831937 881295963 877735577 6198625 28192155 387786675 935656893 695418339 468106685 705384881 65553865 642394161 640967647 96463981 552316099 385962135 290735965 207716265 687317665 542646667 899782653 789795271 855449657 140054183 594190057 416676571 516804173 788179371 315996091 383980441 871132807 223010183 130440557 300706915 792120439 287888203 758856549 742090301 961007255 164330805 55757937 477012953 514178377 241116581 722979783 961984653 54587861 537435689 290224641 23377241 913178475 65032819 304622631 443764197 228570663 155883871 761204389 248990589 719433737 739951599 950472785 939205147 581443579 841349197 230044009 495352157 905692877 794227921 955658895 202603403 388038201 959372019 759970261 999825557 622885343 213266005 997447597 96901905 491011147 601532357 487419379 806071613 31360491 289600053 283853553 142066179 62749211 87295937 363659343 383043569 789058075 172270251 474086951 175812671 347886101 895612511 833566707 228451787 364749337 849265777 495160729 11226139 778472737 141483931 465218663 410606691 389140493 694470847 620875793 385331317 11386025 942028267 465798069 218218451 788974755 85516115 440776921 504383653 157388439 14977613 231264873 618652345 172996357 336995 838800313 747179141 739723605 616490555 457351563 992817193 540625115 263647403 537439487 286515311 824266191 176816557 556183207 273201603 616511569 727520611 108818803 495614781 429732205 266475805 661707717 613697949 859494929 618518089 15950431 233155657 392196633 165364101 907448175 911423057 490423107 654357909 386731915 312137069 262391357 917142113 429005489 560810747 580444565 520527359 290055493 668339973 150595267 614999465 272604949 831249717 231456555 389046467 811658837 832746983 3662103 859630551 430144163 658607383 367900341 10422171 833417731 989935983 221383969 922153959 849947621 608027453 29644633 862167745 961678877 733280121 839777099 739594065 416852455 595795649 943695555 280816877 887385321 49902683 176437375 682172945 515496497 98236731 123769117 250952029 817286965 895729395 89886247 674047645 91218127 156337861 787607823 798913991 154434631 189172889 565523503 559426547 418398793 700442109 854272965 489981031 828366827 514151207 231111423 256535949 338438571 881521143 940929257 674536439 655919723 584258807 86265729 596508515 462320253 232857171 374763173 213632945 323214483 429179619 83254559 132355055 827228873 707494181 583106465 199043405 943386025 116813893 779078083 144703531 302112027 510454029 501459721 382255881 165684601 354273015 484009433 16762259 218710141 692213025 300460679 32359835 654059597 165053267 200110153 994308639 840503927 626053885 629526083 20747327 352472303 820736563 83424893 85295177 229573907 616311993 289771241 218339503 60162217 454725363 358492255 439885069 436243165 691728113 187486115 753215781 125752645 450768745 781627483 168942563 581774045 314532541 710081049 267344985 345353997 891306995 6742359 173224645 665248415 605992889 211511415 440123273 63344843 914019687 822741185 608860207 612800555 570778623 665091943 630869611 538126279 198339875 590919297 125773081 962266125 627764263 774469649 476830011 896004047 340828415 594093313 884574461 425680205 635812683 209914403 739032755 799645995 610531157 702442797 908220887 723038583 118050057 456515523 868907531 477319845 495525119 952075373 779451935 544678033 126934389 447912347 242984705 285084549 690557271 725718185 183600847 652737835 251083055 398069977 318667211 908883353 482614839 938740815 501300579 436438091 286965069 165283619 861474087 847791399 482929657 124769865 978328531 48241531 587679593 538947235 926663755 648116989 796935543 210952189 859994265 859524807 871361441 411130375 946944241 571249249 979583499 918766937 987888817 911822007 812084361 944564341 24918359 43745567 750042001 988920005 939836305 131505239 250917185 390206873 920014389 239390083 33107551 160546603 228756281 916098863 580199775 402651547 16219331 69063251 651516755 992676341 898236445 987323211 654200573 518952233 754340029 879952091 513294277 33945359 668660539 270582067 360470199 135045993 594301533 917008101 222789005 194413791 972929037 223546865 403534247 911155717 838101597 969574077 947482377 510923859 418218633 220796177 265646437 589304619 30355445 811995433 668589841 424079059 620291885 748013725 181906445 231764353 662939363 56956789 358143231 410591819 804508913 777369373 280007223 646661171 429462365 193390955 420756141 952625441 304523089 346946459 545059583 888706793 784075295 117051733 603222645 548596291 43050565 428404131 826386941 908915151 352845411 204882939 888596785 969809177 989777479 830352701 400894799 692626319 28759011 541111979 461484603 624934797 925517395 122214645 533728137 904233811 255165657 946596653 373364079 315917321 789629919 188356563 928098761 711799491 600211965 40115659 364328227 353112953 363166955 414102371 2426793 307383307 562132107 152724815 996736565 772401989 941684203 814277549 898378051 430157781 2641981 862238977 190168571 223172949 674518493 619276091 665999151 332282697 632446797 991638703 45042259 93952025 529443385 492494617 361362567 409906195 765352565 865224351 344664981 707911285 904715515 265377487 770158311 558090333 674612973 222225311 188913305 798303189 290091675 763356265 109155945 839379665 33111667 942312693 785670845 646825509 132271123 448722545 888053157 167734423 616481085 782116463 654925273 701736397 256016093 5912045 186880439 496005467 126446599 202416723 752246855 235043767 189562613 618803309 386336313 338565445 357798923 232938351 395648225 917615439 105312979 396008437 713438531 590252803 761215747 213410057 710768387 46265467 215827827 659382549 333116271 68666299 318049575 915500269 571420803 402667945 875716685 641571025 533486555 791830295 992847157 262992229 861378493 53561793 466017115 594906295 18625051 832584517 613790819 634516795 648471437 877165613 267896087 924988625 164211279 9990379 415813741 599203771 604225353 922534103 896145533 174406055 368237325 621507893 385439117 710719147 882303183 683248683 321211141 1385027 503141231 96997323 814515323 978078295 797128821 893154065 776079019 473595953 557252369 657093851 952387189 975227273 702736153 373338867 456791527 212657017 387556877 743768331 687332657 653111689 528940051 353064891 326205363 339546279 519802107 826267013 313736427 350694949 558641469 628686291 978315657 141893315 316850423 86557687 287478365 943353765 417982705 142394919 620773221 607941977 436588953 152772231 123649729 650988243 903566857 713609247 835908543 418543217 717073149 842689505 272797649 459337465 205028831 664511397 397273489 469666967 517777341 634744621 956854213 112242143 336429645 369023267 158038615 836479187 139123441 119944215 643056987 557817299 898479 853928835 614320137 992038063 117190197 912939721 12613065 472413597 179575003 860134961 678644515 203705911 845479329 708917229 318433995 749931653 979575085 97775381 58940571 999009267 249576401 396596907 406558873 78335577 399033985 921155737 160682479 711945967 843065821 187611311 562291185 161317727 103758637 11751847 408904473 153690803 937501537 633928227 460453899 554556003 170016783 231994281 426229905 140300619 917814903 660869551 87327391 518396593 508942463 887887499 162818385 555256127 594308023 726275199 404193257 637370383 288062039 306237621 469487827 328740763 8681021 90883645 485368483 699104969 468573169 155569425 832101139 102222823 105381793 922388241 660531719 784534441 855757863 446281993 881991305 965028399 255862271 419198377 740676045 585976827 707435603 2225287 844956719 642494203 887010799 620363049 122062899 215630725 109467215 403749879 66019713 789973333 292960909 307255617 846624239 623138963 425663093 678203969 628762231 370904777 809243507 166747671 137451581 769404399 338743199 473171151 450803595 668129121 498660025 872053847 795455703 331868387 552242985 212594059 888059321 642975651 441365243 713493291 203369973 995582777 631199465 416592609 630724217 349196959 431200083 2421309 423133781 734384443 468138813 651797431 618643909 174753753 360206679 904327093 685724973 886807473 641667835 245342075 801545241 48441697 716790055 960853055 944835643 244446185 430112641 157919253 824615533 710075323 937725785 946455811 112445877 720646059 407969447 95168497 150888507 851608565 388053257 354728365 129521237 743695169 762762951 84280309 469306751 363474329 854009807 543055463 317819225 49959795 97582267 92329359 187003569 980141231 486613447 825483739 408277113 289609615 221580253 257546407 620577995 192168385 22035337 451213105 845960173 852790619 443845639 514898855 501136713 490685403 535706161 315036181 908284529 427419941 106142611 33897337 104139811 649784967 222785369 288393905 901206847 489828787 981744475 822393735 477231571 149793739 668920089 110414253 209329169 979641939 410536121 288552893 843884373 223088695 535076365 659199543 994830113 24482507 93734793 117425283 819068449 8025807 586787149 335209971 102488359 474835305 156306977 827399875 344480817 560233761 595359349 305242897 537568609 198659827 206736735 776042471 699373569 831687479 367447453 860387383 505526149 325465269 105188505 254746075 383399047 747991449 951717219 197500049 282472911 609358969 114956205 448961797 788393795 194801491 571580635 723938761 187308279 194522249 999035123 604837971 706617385 445379053 590386083 564412935 151641147 853745583 607516997 565000493 39121335 65966449 906713045 814479863 860158291 962739509 690250749 813344639 864468709 732984939 470345225 976948419 467934327 844561637 211996405 992388527 463801135 885502947 303633755 447532053 532588131 443139337 36532871 747748011 106284685 270936933 597081957 734284309 98490961 742433387 707950989 630425051 992449913 993770233 968277055 174379375 978334715 935411285 826816353 378072873 558009071 231044395 311407749 495358795 14921113 809351825 675005407 344908031 363059815 992086787 123760975 95873367 454071273 430328169 136782685 581838409 413419995 146481165 38234169 698552761 541479457 401471397 652150457 808920175 448414149 414419537 622801755 16823067 608739837 571415699 903588681 132763995 98559265 380761177 527560017 919598763 232925623 448027643 466284267 500255607 251836775 850546993 686225205 252063247 56411145 788191781 671963639 716573613 657104019 317548131 739538079 717249395 612082219 794187743 822149445 151073641 306414877 852083191 461526955 971496319 521943003 355716207 929189427 293235345 888674303 913335415 171426033 77284191 290046287 108347811 898832537 456621971 548223157 519284463 64606093 309516989 632977731 576270273 706965201 759910231 642692917 843192551 574319895 213846467 595047153 131831189 250723253 747793737 812054527 870717035 411070891 765138713 561010705 467356267 459731105 755128143 801029127 992544259 366068707 167950827 949184737 765406217 332084075 68597207 505565899 50363065 415351511 529183715 100928023 160874171 366532207 934504393 153747011 489563673 862112803 376468779 450964721 277933899 748546185 989037711 185566443 23239213 946246111 818989675 369419045 290635523 945492751 113536021 962750393 708796797 193465511 945781453 73159405 350060461 710636511 794911425 646233131 306398483 197237653 971123199 490503431 359878035 336202575 174161793 180185659 916942459 402356801 255648807 280711339 420796287 235670077 300657597 535554657 205632959 20577477 412067825 222632849 784342715 596114945 589242719 874498455 120947045 523619263 649810567 413354997 81260305 639926389 290056401 26673495 200800891 491132483 497498001 69450897 581488843 479849459 189274367 680024477 773387915 715081201 346224443 354839199 918041267 119966549 330826065 876400353 55351197 273092831 428359727 674677721 861264401 775477237 889569713 676279839 79073853 734327719 779598743 421234807 686022323 835467693 473488009 819150029 946704755 590357349 195556123 451493685 821071073 185737943 44751043 418553065 211386569 403329459 492287207 693386061 108917091 898852943 279829451 345387757 206003275 247164073 661691811 821760121 727291783 501129579 796851081 338831825 269306499 119065827 791341179 776667891 471436051 467887113 140561511 418905871 653937273 682314107 691272473 203120501 18060885 660480127 503852367 169376417 660924343 773781001 231971239 691224887 668333075 576011179 544760747 378004227 914717769 216471207 130878159 56406005 392596891 545708773 486660967 686300973 213461175 378684401 254368697 63874027 173737139 742942727 499926251 23772825 432455691 778384129 491878415 529940431 602674599 391696235 336761121 713260867 247607251 999993199 581546495 188392155 449288513 515285483 249382771 843725731 779346963 526473047 806708271 522113229 238810315 247906529 855966157 378519731 403357529 726793555 600595915 366028251 691663377 355900455 436773013 872117231 125770415 903262331 689367677 963925185 63705433 241012247 574926009 529694031 765803419 61823083 228690029 328646331 88192879 895677835 620348321 174889805 483321389 178124603 616445511 768961405 182509469 464142815 33273143 963811045 764747499 462801799 47813429 99986759 213925805 801305321 610037223 603415439 665666783 626841191 622713055 421552849 105367527 99527943 98030231 184707909 205217685 519692151 629003121 525242195 245309721 705950991 504125621 719739523 4260117 609539279 388960661 145886857 999262347 17670239 95757865 462362689 447843819 678397197 780289653 66145965 554549767 788193999 54296415 494074361 995773215 584044357 472918457 228812921 5097431 429156537 770843453 394227623 164225083 383480087 7362957 571661095 581865667 110132983 45717297 842057667 908708683 950093975 801990809 117642351 39661081 593007843 729155875 527485767 190945497 538012773 620778507 58110095 849192351 948768343 519220093 471206319 134596589 744613783 402465673 150111293 819487139 237779885 796981545 390806259 848001041 897065415 926882623 857782453 619667691 891349439 595450257 183832461 558624081 832217363 435726805 447076785 42996933 412229095 385083553 229059193 483642421 406536207 803181175 625114473 569908983 965284865 598137025 625072943 622747593 425236443 743313615 442514075 702034381 61666915 339013851 136716713 430289813 377980427 366465287 811113597 757376019 26436075 666092633 436166755 749900707 367097023 279880647 731128011 431177999 321315311 72595751 5680213 199800961 741685389 342942267 960978367 542045325 677630541 89460653 784443129 222337843 777477265 934500365 16320019 489902295 90371933 900574419 591270475 52772679 239060579 1441125 791499521 211461815 722718201 371451401 290407105 446412485 372558367 918053103 74508353 416752503 676438907 632111411 298365787 858410041 738462813 480099285 515897873 689643745 368993213 546484925 929620877 225274541 221134393 570324415 529355559 982505791 8447769 575567763 613260117 106383271 940803915 214844121 871002815 992428891 810628713 81877789 929767723 968422199 411149231 664786893 534431889 412543615 528845575 180170565 951045131 219177441 892806143 821607877 367766747 312657525 156973263 386637941 806079853 744717493 340999507 879679593 354740307 106155399 900423703 732778905 779048779 638615863 454099271 822140389 552644151 125056637 818764221 824588313 551080481 467188597 339480565 429359843 304668733 819985573 283066647 421636575 575788261 922427897 547513845 390276235 839994529 469606343 295204355 653047637 479971095 429539275 31890017 291868297 858063899 213731883 483270359 322318693 955400363 549600373 969451733 734817031 708175849 654747807 239973489 97063803 184256543 783763459 803690859 213814447 61743553 962415721 170124329 193869181 222658667 184115453 674041531 931009193 927054305 857662805 216777177 280801753 749025547 548448879 383358945 596249249 994249983 979969967 861634523 632536439 165770743 264520161 30098551 807740097 345024085 298037821 904661769 99551683 447245225 542772063 869239957 514233265 6509985 759818827 755113661 661435043 594311451 276940657 568170709 537626781 660129051 335125925 805734099 32357509 899906505 705689891 196515923 58821423 734476155 509213329 909159841 735395921 234553259 581111805 263210153 448516495 726944253 428741595 967593989 596666737 373295421 392036873 948414449 522294889 601100891 563590349 123859285 558669265 438335351 605302227 574565571 518916839 981888719 268812593 360039791 521554903 739172819 350292581 119134265 404127923 863108115 182496593 934230697 172860017 162851403 995282247 123141615 196379125 589305183 509429751 439092705 461430023 134901083 946614915 177949695 734770009 981404273 491743341 728260207 63811459 578969083 824550565 268709633 568073735 73859967 538899069 832949805 589217873 157824421 546886325 358291473 316566445 734231877 505865329 621101429 312775767 913429589 563671613 320134855 504505457 811402493 605132563 894330657 225332995 334467715 426436427 856016703 683521791 594597471 621284779 621148299 352216637 560727851 167223907 823849491 205747839 260442025 658241543 175920525 758321263 866679237 343359123 500927067 56529565 670572945 234968687 495570049 866552963 815724619 752927589 884144563 273713539 439823187 996810667 273888835 463595493 85870903 911878881 172670003 529051611 199432361 446052105 534841897 501504637 18769797 873838481 693375095 790703309 836720077 271636047 301579793 357420213 538802861 948722817 384376727 811084805 956249975 244467659 237008977 763568503 510464681 760535353 485973807 467849133 211015909 826726467 632212935 375355951 334361589 771410373 404587865 377421421 404353485 798842115 984336843 801637059 846179721 566439085 35003053 892339569 301206123 789758423 313932343 707344289 472582879 735896317 205253191 847597155 170303865 623388933 934043493 357308337 246226931 513835069 949441983 308831597 485164593 967099225 409727023 156878941 171333437 887924855 896804656 752057143 970282061 246870045 316621295 4742033 921061305 710402615 976178997 772904685 744348165 807971099 413203583 325079987 788385501 485848199 802171111 977113655 645869077 974799517 915101753 353998769 692389031 832070895 741226465 718197059 549725623 718816111 368958967 294309619 280757649 304531321 186035771 705813687 465338533 247107285 722601237 802122595 952359057 409217201 506453137 578022333 323517721 446802079 865722729 900469613 498682661 870973343 813716987 738112003 124277195 379493141 683518801 545418231 736130375 694768591 485155861 695026095 592465401 770465537 697948067 735923823 615813997 711211337 652797689 649504109 478135641 949680557 258063805 883049149 322316949 213973657 873662783 549545061 827488295 815053539 418248055 856819533 725796921 150239431 580347395 797507651 397110045 666426091 101799723 108430085 186929743 784611165 961533149 206716209 693460853 276100243 607720371 164681555 875451733 992079463 126213609 203642329 685578983 23597347 534141033 594649631 338465861 750325871 96368575 48262499 463846831 467772515 758368551 82339795 622285461 732129405 774801787 846079355 675880073 157370529 604234311 137724249 691058243 434354715 420471479 886596683 579991211 453294243 903888547 559454235 919811017 580373333 114904971 628957309 293343695 300476855 709034389 979613701 944414749 806380211 399200915 182845241 33607731 710578595 489524985 648646015 97279165 959278913 62641383 850620459 647161487 805682867 600193317 864896883 447240097 149503111 311857187 194948475 109057051 621742001 954141431 940021067 867731781 837895313 510325855 306346965 673408659 589112297 959445445 875387123 307475617 520351719 395683895 374285923 296508465 266742561 389566829 770269907 399103791 762684307 770938565 194623695 751892399 12372389 537887303 603382741 912037611 917974817 859895201 376941377 950856773 932095551 760287533 156367203 532376141 927634587 111115495 727200871 696079281 271887417 998970233 751805799 175741519 769177737 664287023 716370277 789785129 441696093 15759109 406556747 248671851 825392117 81510805 837041643 819277417 933575669 558060075 135353595 213900445 539970667 600265139 303079455 861310379 744101067 486440389 364319967 378031967 762942451 14008737 695843501 977657257 576718633 253943597 541817313 283717031 64487705 491057659 329235647 608671389 151086809 546361407 729770093 535695603 345160933 808063961 468921853 836608319 127919139 988901201 55552873 979405627 908401891 616903895 516629139 805727435 974609365 20693311 665103939 465216763 172728091 828426509 477750571 270590203 954438455 489400165 917531875 454211883 362445335 853612823 537847533 16953353 83162641 664032667 646536115 859131717 661555939 259813903 881275269 133937327 364437169 775568441 801468317 377292611 769911559 519353229 26750237 22222887 736034781 91114013 200150541 229737377 180246159 548866987 561800797 441781289 450153699 792999071 852471017 651145559 100423685 387055367 117991539 630621425 328811913 113874329 815831711 723837921 956233327 90045111 474537219 654341433 746277405 559009637 745882137 205912887 583186781 847361109 532780605 465072187 466219877 240497373 641797309 375341523 336111315 175661565 120028871 325256625 991137965 715604315 765951095 461380271 833890657 656288841 914054093 453553619 154083265 552809147 860666803 93068103 191571467 106392657 85590265 775844703 793116903 554714451 85451097 803822995 761460831 930737585 467764341 907291019 982984939 73140223 616822483 74006031 966959719 292667009 587882729 657060371 419539735 852056603 285402125 348482995 86302379 571162973 544168833 22890801 157782837 644219263 507814765 452574201 678400565 831965021 867239397 543405981 443125135 840644227 24522209 150171867 31269009 992344607 125094977 354751637 367846127 794189829 817204945 418396885 272242119 794700727 126101823 409402831 118037663 292403037 292222503 215011551 445143139 490082499 379861001 696004487 336567913 476171365 616612943 324824693 916992365 396079197 2530375 382387319 994674839 505343863 375389743 745167757 483918449 747629599 920189477 117749209 709915633 251561325 196475189 81311911 629237623 255237665 539624525 395943271 833440709 462991265 133327177 824095415 929450763 675203837 699535849 475297625 402212315 700356589 50220245 901952827 295569973 263202255 928012961 848173677 418954363 957847211 268780741 279311915 423875199 850516017 316173985 66337241 756410995 864263351 306771583 710013953 890804213 445624891 170620049 534522713 512338699 455956839 217773041 682296249 130158367 195086473 537342879 154467111 585490443 85883033 544749443 700680395 527257353 25157685 838063985 610776059 271552447 265933987 305770015 604243761 451247419 159074007 157860401 802197267 640604915 662190179 235756337 855033703 181798337 630475913 454644877 584114213 624258797 683535665 216256671 984845925 63887651 879445991 659807659 763365229 933241723 780845287 99044055 685784487 882171501 99940875 155184439 933316517 455187171 62882269 229101761 242306339 510242599 22630029 387436889 2577927 880022513 226497777 15974343 713078103 114597725 148375433 886864573 856784971 958152175 366332285 88893397 923635517 554650007 54874009 522262669 794715311 644062375 245168983 556374865 332961355 473741535 313930197 745112179 438485481 101164643 68607195 173633321 276938369 780618433 70207447 94908567 852486965 715413997 578765539 171017413 665968723 36524871 808464317 657776037 684399181 266124943 895058635 485672463 943989951 878531831 966008861 275605191 499230059 174337555 211456105 811335027 464857405 60534497 879987729 348842405 395994439 462888131 785530907 59258841 772748743 216658569 513586485 28930667 658877725 18573673 972516535 602113193 556245209 615384063 567898529 787248067 161593513 287995727 31366555 393409489 774259051 373466567 302147569 273498839 502191649 323535933 790786207 232755643 112088311 652261615 179740479 606708047 928337473 795191425 350220829 189040973 106100089 989394177 118626595 372751191 363294273 210084067 129179885 837815797 513539433 218552325 480092089 251649433 650756575 5162155 741142125 515113371 260476353 675092613 509962651 348491581 496585041 981741479 609530999 661492905 740021755 51281805 702517217 100535791 149388115 430729757 728815969 183867401 662693907 124995751 546603045 267094489 416380191 340091611 913006599 479515943 149725827 35111385 743964803 488790947 485840495 497339687 480578499 888587241 868393025 187594675 189333909 110109305 672896381 641851087 227579505 402190013 10380491 548986169 498904691 407852549 689848065 47403033 17894503 140391051 573081627 275719673 876299961 537014897 338725433 712589777 606195843 868996799 28569767 406736893 339761281 513890405 89250523 185264963 793248795 506267455 114983789 717576653 795042403 959764237 701456675 610511413 245026573 421134457 345787877 367885429 176036729 242570259 985587147 434097395 71053745 765756757 485564939 849705853 565407585 922206623 727042571 739011143 801956577 687937853 508052055 201114863 708284463 983435869 552139681 126738811 726071799 461381659 372092355 254665047 573447811 120375671 669947075 789676633 330533581 478725211 764560843 438447549 842556275 761364117 303535661 710794027 470165437 404761315 953131623 853339565 781583001 517308901 913542425 472132283 461488033 162065697 589956625 370901807 387952657 604611595 873040705 178876499 733670867 69118717 10501571 567992527 654934133 509685815 257662173 235233211 76732463 16680675 132831481 318415253 406403293 733596175 829066923 131700033 200157451 315285433 937883051 438027021 656421093 758194623 44412897 56512941 887494467 972194541 312965717 117145919 444523175 145821681 689678395 896135753 267296307 543707239 57735663 564685493 669125307 149819853 353328115 480290525 8385459 490576017 780306931 442086523 387222075 767240449 3426243 396622775 461488155 775019605 66302557 643141147 724081859 344643505 256826595 366067613 68601417 428250911 393139619 519662493 205790829 405924493 154850577 491609565 777713045 869188311 256890053 17127819 337774545 712764091 488800899 644576317 601707993 467046373 631535927 468209 484396555 739128807 880473589 64236299 605250415 747647801 964976887 185043799 805247157 607457339 368442529 724752141 126200625 779216439 646250621 638964937 942596071 919244895 499534401 175245711 863931513 234247373 653905605 320350671 290937403 18529663 556300557 87339611 427208483 87104353 113355077 777478515 539200717 700301637 161613761 662498237 874230661 138429153 223290877 428102465 687107383 939727321 134866841 10552955 596488827 559221941 96455009 618195779 215433617 229432807 119649867 94051297 417687905 785495241 404226671 263169 928333943 329346201 331600403 743929785 121696783 442628483 744422559 42151045 874763011 217650073 487148969 13312589 819493597 310638545 912030701 374669915 816285901 203113231 807487051 738924647 777009321 536513819 142555343 773894539 482270705 676703143 997573551 461204305 520003275 682360651 372125763 842831009 556983559 859875979 434395153 662095061 312090909 258713805 483743171 364636325 596866859 828262755 698392619 260718907 541884921 293833863 575317319 904573731 169858037 230526043 113422135 795877713 902011449 277693927 33323337 257737251 886234497 853688861 408962799 636963423 845986103 538834645 985563331 647566385 110974569 520636881 718935435 958622255 284926669 151781307 340402993 527719509 23406021 430157091 329092039 738175241 686500181 14986117 677794443 85670425 527046959 843429949 312025823 702523323 213606827 279567769 524280651 168392585 225294021 458070985 65871495 936317835 924142373 978806757 137123949 281391407 771467037 158856431 43363583 873267271 811635617 412231889 889913193 844152851 375049553 449190235 308621055 565593653 644136309 980964167 658939451 716721087 821723389 932409143 983804351 346923043 232644991 212809907 714885465 62630975 626355771 862910763 272803581 920779607 597530391 29607675 779441089 310385691 444215715 459788387 193043183 566613917 728563735 300832397 476891885 927468125 857009233 148449929 321735249 85469505 158557911 359034449 198256853 882317459 332761053 103568327 817559643 867806985 57053237 41761713 883057139 406718145 218472035 187425477 348226763 166869569 125177225 84398233 882485569 382374773 648932987 320121519 108162007 323747507 210591407 501757295 359619131 277781945 457271105 732788013 163189309 992612009 556300285 347809057 939976921 388190995 786139215 42635373 521936691 268931821 31614543 280147223 383852949 167977363 375782845 505456917 483265141 904710345 663434497 86604093 723478891 340158399 41113639 387432527 58346043 912809479 552109545 851015673 473414611 894714529 468554405 71289289 257160515 836550897 973996389 579207225 309019847 858759109 667040467 679881129 798461123 471504977 279516235 380231013 472829635 38112051 378673867 840931995 171012727 550290801 305017337 194943847 131617471 114467703 257095973 905150407 268277401 338554393 222493767 426741929 844552757 943648153 68397309 582771931 161609187 794541207 516764557 39286805 274858273 638851875 191173099 782292989 374828943 727585203 9376937 78912279 926322171 279952417 889927179 91908055 7099223 442587829 203634419 384841623 398046653 916759325 876078069 711163799 634928499 999947115 122536007 477692927 304551395 905240861 829065413 904916707 638472863 614161435 547912955 808855865 828831333 151580593 346621461 350816229 949592597 444435859 557164011 525673137 724100029 695593695 793623037 406860107 328111503 193836313 190911089 323450445 242186983 479860529 908453145 942080059 220625223 244536955 43958889 986868859 13428057 815669171 189183617 441117281 957069301 42530303 126612521 894813219 625377555 291470317 134528465 81747429 922064597 936575601 155738255 59826353 417474185 761465833 802070817 51486581 190790561 51849499 581332209 793320971 769022649 955177013 114551565 693182519 521939091 25611209 624235821 307436703 903741213 284474325 482163887 940118485 703968357 813206721 796270491 443202901 112548267 803416663 923369887 254494333 570212433 229930703 34010901 608711063 225918689 224682947 135929849 422245589 592587791 103558461 989235445 795495759 858430903 190727333 555353685 992049671 52241373 236648917 416240917 704375529 344551849 92418055 318346191 902161345 287352433 662328545 454244303 927280459 40685743 202488175 967147521 540657193 239716615 825048875 166287357 784627683 222295875 881387245 18435843 3538923 650932055 272456187 804141817 823434905 870298721 386991365 848854385 958956081 459964831 819478303 154605725 215458265 94946175 883967175 214524003 989915299 707724437 917497567 888930629 30955145 674277021 985064375 319471989 124997485 808414071 590742533 613670855 741300759 99865647 880524771 126563519 821439801 421520379 911114201 217744257 388226155 404753715 497574357 972060381 289085743 963189341 837520937 310749771 309501423 799291169 942893205 15249129 972105467 579900245 852568381 969166461 139355021 270505973 938502573 664179835 254196935 911507489 686970845 602131189 282864305 959495719 582642473 627873197 361712957 559065719 915231063 558532875 777891139 817135793 94163345 828891421 14918021 814704277 903636337 745201817 136324013 717473549 283659249 201782753 127532363 985057073 997248119 732088825 569957081 150401847 30814161 318019987 834169015 1968519 307852597 253772805 620908593 963079079 525013821 877819983 53668471 197077839 131141873 980133399 797728673 698942809 916934333 638212271 266838961 190074055 514575735 429561867 9027983 674522565 428257629 574609867 347480079 923879589 512973585 903035447 553670889 668797157 203586725 280303935 262353855 725490213 617485963 454908279 370760983 824270643 440104095 578342691 525944679 684813569 447891243 793807143 406991365 900509099 300204503 376978963 176232499 20238707 928055997 977080093 829926425 197901765 837134167 541302055 596975563 224960565 689292683 251877303 16739393 733818237 608460967 247642619 705342557 813071487 78996063 608414669 370910181 150368075 198720465 205812905 171702415 50967055 612682883 337896633 138654447 685000745 991312225 302950857 956666251 540042011 278180287 299228757 174809035 147444625 716151903 989176951 762012415 522491487 543025249 834521339 490407263 867221375 890571349 121863757 398477073 853984533 692853553 139943301 888395033 492856939 259630929 978591587 66645099 428196085 215385977 922235725 218460385 668866383 67675095 460214355 955838523 261537341 21358337 712390701 329893153 573361063 458678517 443268153 527788071 382808995 72397847 978341503 204358341 44457835 985718837 285071023 875272795 560148067 125852035 441308447 118541619 659165463 463858591 74982861 170574721 487573559 823671949 584003427 341413465 646220193 794833853 204907567 657198273 31997273 31526147 155127081 82628255 26485895 90686363 420465389 195801543 869007491 808890155 142854855 444725999 766173123 594843841 178976675 766574779 577371373 278151635 517402395 369263797 393195469 454174523 160599147 797069899 773622867 826815553 734773117 304556503 260819871 24991121 144910301 752093085 497737967 287425601 17355205 692369603 275580083 254572751 96078613 264729693 712674683 357918237 696931921 318805601 955511557 909783677 508545451 829910195 822030129 142896289 208869369 102533147 29977869 447416485 328804283 324523339 886597579 251144467 486099991 200443357 458660805 573574611 138898911 410749263 381161857 666212671 173847175 28870671 356369577 232144145 526310703 614175849 806201615 22983535 499300255 364349337 290825137 767171047 851453253 179798209 169680815 873700973 388903995 627273705 601332055 744360031 494636607 497113859 221557019 983779715 514716087 840807657 530855575 126370053 436993713 316143193 365810573 642787451 226485737 863531263 531980521 489132257 497703355 567026795 422719935 146285983 383181103 721331481 524206663 745092991 651735795 843772263 581741289 195039673 524575327 171845279 572749101 284778727 776330867 825194481 166596295 308800017 49467607 11525499 614429843 661273509 367389911 913005881 81721235 121678965 5955183 608987671 39479283 220948161 899352889 563719909 591807495 881728813 800057727 840659293 682531145 177171397 568924977 337365281 267435357 46729473 236376293 315728569 70793485 424900797 860002523 685307031 23916365 659426623 887140345 74028051 508905529 19786803 677962449 592324719 752483349 697071023 294590613 188244949 71395913 313289007 560305707 503885397 657188459 266171545 444130069 281136873 296497973 380002107 364130947 976998003 857787787 376032459 999365711 732396219 77366135 822081635 41632245 221013873 297545007 284967819 399597983 241352497 504047115 820175663 783592731 500156541 740403599 43608229 829399777 266560185 201689705 790250667 573572365 611645755 161920361 382299237 902995563 73500731 811667595 835054175 715596135 434763227 616657907 714975121 709630235 343487267 628754669 303525975 700204099 454075651 765037289 134671221 546594887 729438039 826430599 142556955 606442553 32778719 89896069 608462811 721526221 628281669 756249811 583014837 53069923 355142169 648340865 731486989 173649925 607761877 178480075 617953713 237332063 404139993 17887511 757317079 447803849 467843697 518490603 470787865 600012353 54502859 614566143 351711615 6431347 294386435 189679149 977764469 734677161 26328857 457724277 91631569 702405085 660016631 311163399 90666191 26482349 93688173 291970355 753394967 444835425 359992371 21932407 728351667 93715943 271382255 243770227 598107673 75655897 536380709 967955189 18609449 615084147 669879371 436169711 578271781 576856223 961642165 398038397 643076029 181398763 129326249 825097441 664672515 692969357 228801359 613986951 536688759 263618151 667683767 261267201 210883325 2906111 647112665 381340173 881958627 936787075 153021851 92699019 713807581 909232331 824145345 97802377 27884297 199305047 859332863 80443963 300674539 46287183 832613103 738718455 593830259 495167871 174306065 184778565 376573941 147447139 972462029 986498255 260422957 550097429 153335671 842048873 379994945 250397535 784831813 582653965 299567039 824229553 656748125 949191135 645936797 894215201 282678467 848961833 936808245 473592687 259826795 697991775 133375311 785745665 268217903 915081501 886468121 686755559 949243085 486389541 138394917 645430745 259125235 981745509 614407537 33341493 54556461 546850027 174548069 246128387 1215737 814302199 126409933 494431473 230447541 279344875 145115101 341441369 20788907 225990995 523193393 263981367 710275853 489661663 594360531 796933685 181774581 587839597 130854955 19977633 410404961 602804479 980278547 973577075 28349501 825963203 682739653 37992775 267680091 379161609 315030759 721644905 265902449 651819597 934634631 74472389 321098275 681317683 544060697 29959411 411413499 575691143 853643389 698277171 370523495 503750201 677463283 947443053 602487233 48807271 334148655 521468973 303145547 484562773 406993985 688437933 618968369 621253995 84138663 930423757 712665215 373942593 483319625 521906449 993675057 535161229 232152433 233440171 283618345 42132789 751000279 973561713 467837231 449632837 518039189 316445155 621286389 150019309 630774323 888052007 320273171 773262477 600949919 307225357 4743949 667995301 513357099 99631629 392076105 122254815 534537879 305058373 687675161 560247571 204138503 651855997 902915767 760635959 252548105 225168675 321614405 628208497 704008081 415387473 322342091 645663245 498261245 926699459 885771067 233120125 328000275 26724835 328394605 722797661 810238973 165567679 635716387 76811631 670272085 648904205 767091463 447412893 672123927 690100015 760603563 572266495 816895397 276914217 160257669 397524683 655849167 379317421 195272441 929740905 661776841 830676243 333067085 469333857 362624051 713765207 901407159 897763943 915207183 116296225 608103757 346910039 173933259 382352833 899642641 173500467 71305791 727256881 525943533 425385511 972754339 252372235 904621233 574562949 96818849 680059033 517436695 693979083 799916099 40442571 721915073 772321435 470287873 804766519 941709111 515085503 593752759 166383901 916265449 913430571 23397803 780128867 370317107 187464187 141895047 542971033 879928663 979949937 858033509 442097141 49205625 335554809 880508351 882098777 678024879 878251815 520255867 899568715 536396529 340440501 678320359 573695995 574270497 943173767 834268343 504041533 401330951 247363239 84629259 796598165 825223763 78693705 855446629 317943589 382880673 58026185 134333107 549476289 885658225 345452459 705777227 404240095 419323693 155898775 495033577 390037403 969919525 338680419 182281909 141355969 88004241 196113161 673215289 853779645 929885591 511879341 640213613 725997223 792843067 521479065 984988077 345655103 935231347 225756739 318224061 740958443 20324629 1152067 664956107 152336317 458350819 712140639 970039663 816521321 917072517 162800767 483951011 280723279 782052239 643768505 304245453 602605431 874516089 573471305 592630201 98575249 922019 984171407 871118751 487679731 532891225 117412375 637553949 455089309 619994057 973353367 300563763 211067957 740871695 976316135 342734419 136269067 451022123 141632781 970630993 538308887 574900741 918598193 656609897 319617015 671995761 818368683 319196739 793729521 760474405 72298993 434504425 378299641 694732487 385551785 969552081 285748641 891669211 727090335 665797083 519800365 387737557 144361413 964167753 212436863 387476239 155849525 205048777 752576555 630901705 648427829 891069041 66549605 744802347 131714351 528804799 867931151 376201289 713563829 391482775 605139887 153580825 918424197 421856071 948690803 568785279 454248831 260093569 908198195 362821 90173361 618484327 421513327 394299929 547942221 710924413 600814925 302968981 565554095 740540335 506079135 410805565 298853465 360066897 759061977 48789367 553828855 807039523 247933467 334522519 831602011 942367563 907601197 785709779 913475715 299511121 823427967 486102609 694708113 873104177 180688423 766977557 721013199 888728387 600889315 200245523 994001585 415686735 297900573 283408163 68217043 712777857 595249123 841718281 302214391 901703791 435643117 508346475 451919625 351259159 48534681 549489883 125843229 576679899 767858415 985327829 394565229 997483405 524295581 308975543 190611035 888766301 730064637 947047371 424377717 346488557 632205067 945307459 768930415 433641535 869987441 22836535 905696033 359964355 641018235 672890539 222444943 67683403 501945637 206580613 672364773 81229847 50400265 864688023 472868471 71838667 181545331 96643483 76477631 437185141 442720847 832800307 407081057 110222729 401076277 397225191 403235623 730950117 103543909 836141353 509360391 880402127 498951365 883750737 653195033 143289075 737046757 56985507 118346401 345771879 299300093 644859205 645679629 756389031 371869933 463053641 425112045 952562075 465668409 883693993 929125373 26988173 234099217 971199047 706341409 786388531 478163535 706687467 641926501 750330029 802498161 967941959 556162297 61493373 794105757 515702259 218729275 262070673 6461603 317602673 93002415 833788993 130063099 274179627 448493311 715293765 503410625 902119025 633881597 970411463 583575233 278220157 580434597 816122451 254647145 549150833 728692763 115729885 754488269 599580501 667144875 144644035 856682415 924901403 369934535 944363977 103613303 314230171 707910153 464486687 133606195 785204375 966711351 768106841 277827481 596623033 529000507 634382707 284829961 467704721 728519975 338963155 848974989 533355929 703280953 992362567 239263441 29845297 236895953 869659907 281277741 48792997 799442813 446862247 668151457 351428645 784698095 423065397 183861459 557981385 177263617 283431451 51558677 834887059 396135353 655020847 500075355 993197421 431175233 356028077 987930949 276327719 880130541 382945597 616670491 563563129 378324533 734314729 796508877 534997257 48807617 985808425 978588399 897435485 3704921 273747161 356412357 291398117 113623025 793276733 52607027 288871933 224517029 85241605 2326217 853087973 225770935 751934019 410251965 753876167 636827027 29011575 605262065 335433139 324013259 922267013 929339115 376719009 332089885 678977211 226285529 123358327 500936299 411338189 474140565 660188921 452187583 808611289 740156827 79943645 920355405 448137317 767692821 641126841 711791473 666530397 64694991 383810317 577859245 989619991 991507013 830125895 370267821 897412431 842393745 73056181 750433349 812698669 768073341 103401615 799357295 315760187 786745465 2063867 51465807 707377777 163311517 38104829 833261103 472094505 280716963 832450187 588148869 769362219 410972409 129381497 801218025 582198437 346091945 715390605 934496543 269638185 796773997 170456429 982988309 18080183 275888291 994013613 957837531 120794547 310184531 242195653 800406701 792696297 339900717 152832533 714572527 759783057 701169543 339127271 746630187 503450439 845651807 647884399 80028439 936666641 605817183 665297601 642866059 335215195 636964309 618783715 846717835 988581881 63609273 365382075 386536005 430349355 775842727 96861213 932973321 671487127 816992491 884797375 503852627 339699271 159377521 33831751 10249415 645666993 136894931 262253113 939773489 712664245 330741325 675670537 136133251 918297493 301858249 130974993 970168023 50543103 75084243 871952783 696920179 246889737 12800165 12210351 706551743 927739183 795526175 205610883 345324371 455328601 272455877 852866561 164350693 497777619 955965641 167600653 632719451 184492879 159667457 417470065 144242881 391351279 583241197 740249563 516248393 618220597 372946611 562499045 81308751 346119185 222044197 479634963 847250515 461697495 95758775 929736907 677371141 250881859 82245769 554506847 7169079 915764347 573460579 566405643 55166177 778514699 605806771 641958123 19433003 262871277 24866707 761341711 622752349 623796089 95292097 927361633 996190187 468637303 440171681 762516417 224654959 258063635 922493767 186568171 893434799 434944227 691145065 125019275 813693077 383766755 595195237 57365298 605124661 345211001 625829953 505086041 965689033 605846645 845444273 86902881 25506483 406741511 634266119 406155923 574323585 551564241 25703237 569581601 820333287 657624789 311040531 367178019 416225723 353020801 863003069 187775387 382899463 817368237 671947837 54498931 337876209 536673427 850557235 125559419 315086797 165417431 675318499 129966959 583231769 295229579 629110079 265899755 307712631 785594145 226011869 15458685 771753137 820108663 343478269 530989973 368383677 710489555 893761925 935057547 237312691 858225121 843490311 543262625 456690391 205852085 115045557 262937345 809874581 29337807 717609589 796653755 471396225 689306389 272841929 724761033 762473557 343992785 655955681 824708877 377971189 335423161 236671127 693655631 166828141 384227053 860761959 393665857 826051565 106384879 33553275 25257595 613673939 408078509 102876321 336645247 109327267 628506749 814060367 236597941 314856453 936122397 101590439 121235571 529466319 763199151 787465327 246137837 937384187 891986629 536306709 820294469 63541677 562878289 115965875 11531655 548881713 487363247 456819205 504361889 104883449 742172585 788788339 597864815 550776735 144090215 962300943 378169009 161222121 381694339 101623437 48207377 884031935 620607223 562947917 441292319 557205815 780828969 580741209 407236181 526235533 32136679 417422685 140041747 784685089 937577317 902272689 745222053 916799873 354360129 228473427 246237497 951351901 367046017 537551597 389416939 693070997 399076753 420137679 476928187 197071913 203575623 752980715 1029523 310483011 747410913 338855399 79541827 620649531 151721729 278338309 114889605 249247367 919153079 921680693 572398585 864226255 426011001 417295889 931858217 600981979 772746019 94912213 138873481 145085599 648376825 361352555 6959215 500310837 688647849 713869665 942929179 799486691 422669387 976077037 225625019 232228371 777617753 941372913 716338525 9033561 17848503 66121971 864675321 531473517 201826999 392395809 274294133 93538615 214354955 290796627 689879189 144829119 933456081 649877513 361289741 441914937 54679951 205907051 250171767 67150337 75719217 798499909 907510355 876359321 981656843 855120145 523995401 815498669 84265439 131647983 836756973 194410257 181160653 61199011 129937975 697818045 571931493 470141087 102102791 63194841 133920669 825653753 372318823 184457901 342618319 585364081 807658057 768202159 320362691 251913837 635692423 868311413 832386213 666180605 957073119 634171337 855301131 602761689 844600319 99010961 711994355 25783903 981855859 387223011 149854657 987937431 224143545 10157817 604458049 580814639 399637295 527994167 730768043 881887617 588962079 622762535 914446747 513683593 133977019 175050109 732729877 544028145 621602589 308819477 331106441 683918087 552030531 87357171 582845899 982572993 745675035 389808191 136696855 809605569 653141361 893048911 597714963 937988429 941187587 99467421 368894925 200422995 8538223 99476685 63832505 541650795 329506111 207517099 100285877 540018901 612827365 524925479 431926791 345687929 239316665 207961697 51248731 804748259 142906367 550129303 49573063 530253 393904861 612671545 303564489 694784663 22985573 731438295 467618371 178860869 456913041 894487853 598188677 82825865 26140995 599787553 43010373 175246393 184899395 905507769 472909727 106463699 638314051 382602797 281853719 157951875 250903261 670984405 176814749 304343827 287672207 355837751 475693955 247924475 735168965 718897661 346686089 653806431 652308175 119186937 802665683 71836927 409609961 563332903 510905069 237083729 777588783 663813037 487608273 863872103 290282927 963003091 664533975 285291525 943572569 712950795 208385477 80350863 986719237 833373685 144720843 774043923 846525047 308744017 168668285 962860877 932518997 996547083 759649751 236276889 507393585 952720949 639690817 910672637 393593221 301452557 368280453 382386219 911462323 593488371 426151897 606343801 77249795 405528437 372343517 49011177 204239781 453076549 8795795 302168861 665762485 231221823 452514921 185299047 352283445 254524773 174332469 445471423 79543049 476208867 199493941 402418373 928857097 538402829 589107981 740984765 926997737 284402523 78236873 76030105 102532683 749938549 211187681 592096495 888061371 32058915 156686641 727554557 755516585 418332505 153381885 724503981 74525037 55876659 244934901 623265679 23170633 510957555 776159533 895243221 386172517 722729735 152965921 230922851 470718165 206583805 261115831 486387135 845940113 394317461 842811709 299127833 878030971 847977649 992935527 797772357 24380507 553817435 775327571 736599239 396596193 255287241 43230855 259629761 963548329 254947923 193928175 441629447 143486515 178102141 707970529 17263373 392489705 603729651 98085915 912115701 996783387 112437897 671700671 940834181 233149955 704488251 39683423 24777003 470144193 968310311 472226795 560945919 553407329 907267487 721318341 364368577 27273681 599016977 920298159 353640151 899233005 46391581 363608025 776279379 47151989 170083969 553778389 623325929 405819153 336515373 669961891 194599417 69603157 917178929 211460775 773014923 262248121 825895881 351969199 852857935 261458333 651073625 592302831 714194331 787766093 174765421 458722565 32649327 532827383 673250485 496962807 145992817 518801591 648614673 350595377 200574705 606834829 444822399 228972169 14005733 472288609 198469167 243582267 160271599 957363719 702486385 832576493 368066133 915495479 748514499 919110829 708096007 958915985 48743877 737082353 751769753 770179231 305493317 750492051 969999951 330250195 929141299 766689757 202149387 482411655 46731439 640381047 757538401 929170939 254847225 360847225 530676357 355653207 756844155 918523489 410646361 794772911 878906061 253856019 964521057 987739385 351764133 36405979 395293393 547853595 101018859 876976497 572917883 212508633 218105767 933354481 843669729 122350823 606248717 851730911 213077033 29730015 461458551 205047339 46277667 763437119 849469803 490504233 148466503 888795765 834337427 522971285 990728117 297378509 642008771 271222421 953402417 55446917 345229813 556291255 908414253 767570619 25487435 220636143 988087741 393507705 500574483 925115549 505109669 105334961 719885247 194614147 717612873 620509243 265114347 1222863 103547065 295301083 602969945 150880535 108731053 462032439 271580405 937078359 25449603 592841699 390272467 761801975 916642371 620469333 605270317 985888449 894550939 404016881 822124135 800958445 860265187 504915455 193147915 751718423 840037405 812397489 863456973 316353347 661260267 710194975 130826889 168901857 281061025 37862221 507659073 532941507 669901107 943459361 263613475 476924969 535091779 236866925 40535679 212556983 325077783 197454317 220291281 731281275 302546589 344133181 946840507 664316393 195092077 809530861 397817613 472318175 313877959 591551079 354591925 327624611 51388561 282048523 88351185 226900193 636538459 83668757 603678629 790895535 770968413 520084145 700260505 520375433 119923575 982985199 927360323 87125077 57463597 869801161 156966237 684692833 987666607 32457505 84452557 678961763 901373143 699871167 321600153 687027575 141515811 418205013 67606521 546271009 993259449 243702139 883272517 593136463 840254057 186790835 238854403 296194647 24582057 256308839 942794971 948278263 736457883 168498151 526425251 684064339 940574469 466563951 601983319 516076791 491001429 642070043 461255703 192446939 657024165 212972025 275867951 182706267 213562289 753820409 250908949 380267581 315100643 176540147 643846499 30485165 647423305 344449961 151694297 28340543 846950553 384290757 236617063 560327411 292600371 394770391 826331933 260558639 813850913 406729817 451409721 513353917 693227023 252801453 620117531 83161811 5216341 100208921 919701329 769431567 517392115 379577299 627938445 881961335 555930511 403529201 629179563 445455735 603796345 567555445 188622509 494135015 122213545 574102345 424655037 109209599 882172607 243673149 330395955 4254569 711887871 648051211 811219335 691121455 204143193 360827987 610423131 653089737 627377255 483689889 579793789 478832915 470463591 832914019 304946911 634048849 970571071 631032821 695111581 775124531 248682879 995916183 518644729 490274763 123235933 93311859 131971423 542621593 722961595 617451929 827354979 206055809 480738847 809722115 917810879 743594193 285794231 557323409 724891221 742609213 768060253 914026509 943033395 276158435 772508813 851329835 251877517 34456137 625926513 312227969 704633529 386911579 970289109 655839377 501212737 443830383 776190003 397717699 100112331 570999873 707566763 103231595 446499885 491395065 487074305 133260737 916933473 133112865 263095463 90506469 829337481 362927535 742041523 687189217 765385205 253471491 50390501 770647721 812131347 68724447 256253093 80698897 452037249 953462129 538354943 264692959 238652419 52211537 819345581 960429499 358775937 786020985 924471565 376148787 416332305 142771533 536984615 243322053 454592493 630007199 357462955 850691535 120578937 140494753 955149293 882964637 797681471 108508401 758493937 418046301 950237173 306567061 730339163 346175273 785010035 762932471 450009467 692030725 335574463 4472561 318936647 842401495 743043585 710699197 648194657 652460659 458345871 831466497 394106127 299612817 537315557 163995595 615072063 304124881 573688995 978676113 883803787 531180477 381799573 408402989 663915567 179823047 182846641 346417383 466583571 545244233 47303695 144642155 312665033 101917569 799877621 163010511 848152453 961705117 583567565 648526737 918488361 901644969 659275561 790337685 307672377 206933411 401456327 343847207 581706215 147535721 190420359 942357503 605327881 970737349 815756407 979940665 487419935 404794985 728762567 29244249 810684751 837391853 239993047 108972111 768644203 223022293 914863911 673847917 93382373 684263303 192788835 550689651 293381091 781876821 161352541 925474181 493250855 447405691 744362003 338020401 303318049 382677783 979155109 702359403 825688811 764549171 183095137 341101713 879146817 142449601 265202873 563412841 848734093 956812953 646139465 322900255 948601821 442741117 77864403 656925001 491474153 902978071 268576323 287323877 6259983 899443193 585324203 78481749 717146453 352005017 213737801 74637673 757744239 310417755 440436351 525834327 812961711 889868935 125919703 434216123 646490135 105266767 491794181 460102041 276310863 458335947 672362213 670333791 127679139 816968189 1966713 158488803 206880269 228675279 197562861 904595555 329936173 244663313 903590805 648506499 890730055 119569791 147408619 441811281 774813517 754132661 37436819 42142529 662180053 223850049 593828439 124671537 843396895 267051667 865747499 46255205 812673297 199218435 572030763 95977357 747772219 433579219 317532057 69456317 610135253 758582829 257827043 215644273 53414589 804129057 689381529 814469007 412595323 91346091 554089335 526782053 650943295 757324711 112644193 784907433 891036383 942092771 618186593 74773365 37410009 657437967 605156011 141449809 707989847 453404611 966261661 38248491 932093479 33224833 822124469 890134613 294165951 58167475 926129057 617471885 654926913 763416489 591876151 66709755 82574451 927890845 293337965 59378985 278355651 992913071 167297385 387270415 374233161 34331627 870914933 193363721 438131143 837591105 925501703 770031067 487142559 335193991 998264503 322234805 349546469 581922179 69977419 596131627 11035981 419244253 358103213 592394809 380686391 901180453 195516655 101385541 346253485 135788245 666461517 577968157 918454873 302067791 88721195 232400117 536030615 964191449 486963989 720564075 304081509 304847017 610912189 388752261 49018217 833933011 465361661 549551 699161333 640563805 35001051 894482111 50119675 241602863 563826305 273648369 327542559 940721945 483965761 647701229 375919527 462698709 184278425 83794877 471748739 935682819 349309481 679760601 790179145 615141167 786134207 314643227 50963767 750269639 681821005 537418189 99662391 165381159 722049775 289703319 143315927 774031 20823271 339955601 306513997 20869671 831657887 488571961 569937787 273694979 729544623 176411763 18602471 753687579 459635919 397964941 760707519 860001103 683089121 85634875 849071579 768255337 34060019 926764699 901656763 682322717 867695671 717950259 50613127 48649215 730679049 238002925 804221707 83656597 919756779 109701667 504331457 220652613 772141193 353452175 374229449 904621155 9643703 305825369 224710119 939221287 176129903 693157131 981679757 300586417 757146069 469584539 262204369 59331083 861531187 822464617 399755635 713666087 451554557 955538999 362564057 925897951 856948175 203655987 613235475 112246003 347011179 550711539 419993049 701481995 651465149 356759157 885454985 830808507 43708121 249095965 153963563 58427513 79151097 964196279 266149229 77187241 846064001 514772347 319164329 787149203 180357883 360882949 842308059 975719531 95520797 255593305 873964461 500485957 10074559 142730471 321964653 453015591 896647397 813758081 102508561 8183 405239229 983228519 851135547 108608391 218242711 872538431 18884913 98235539 85310191 718546705 130525409 726480057 412972137 254622809 216301027 890792067 139286991 189198063 584246391 135211619 434054679 305598235 774668165 506551729 726612313 75208841 699266969 219482545 287840219 301441359 477596141 640450697 2968837 408120553 857924449 434291787 947454573 149833535 449280377 986510323 501554895 144386459 542094695 258161757 616165131 882112437 288438529 745854297 881086255 351470247 397934021 258860177 459316075 123983867 783903197 885297829 722813215 896604825 51837209 831861777 950445001 923076571 929826283 333342785 20751385 381624441 616106615 138890885 746459871 342972829 162771331 331776793 128569881 463337939 965657983 68584987 228800999 217397263 436757375 333680277 998016919 752436399 970404423 29991287 665167515 279615097 444495163 207772319 787412365 439977369 842435433 960208329 159209779 419222693 322832013 685882785 736391543 81898393 226373121 79724727 82444909 255506139 761318353 695639173 877021517 409191481 49542569 454603885 594750335 67873769 672042977 306934967 338006923 467310981 821828729 292645267 540990501 681365781 100766745 829177375 312900903 889532423 488871693 505299799 142999191 370423853 234652239 633000231 373372321 619534533 433307263 214012255 146261395 784387959 53177057 412958393 740177645 320313679 954888295 8690133 90027089 864512449 179816615 778902079 503538057 903081899 893133023 8760679 418327689 929275985 212962041 291449765 660754541 974304355 645358723 151914299 686311543 160761587 588077493 864171347 72453395 311827585 222658669 501561085 245320405 751996403 667427635 843183155 602071927 145928081 597217335 633222357 877680349 161736727 54616141 519835055 323068945 742547869 323760631 172294511 962573895 990534315 484889181 258536369 741795291 327530797 568568397 237895669 798311249 213779833 242719037 197245605 968710737 526777165 565347919 499468817 715005617 786704587 465421641 792512371 460520811 950714243 499377561 863299563 759089571 764275051 935747927 214447493 302607779 633171423 590060099 215635503 449884641 913386147 277760707 797232325 129248245 554691815 788848873 769949191 146527139 339005 808236393 795265949 602439129 286081445 104231587 783331099 189824935 157912195 808510879 273820409 293414729 481784229 541706509 423650711 779113251 557539391 650302019 209034817 689195201 819579631 261959233 475382309 520076757 633896123 168989869 774974303 171798329 530507277 318387415 391235567 364021235 502611903 597382837 888870589 975990827 685581 177392105 220481181 508798521 55519129 316294841 88487751 113029011 591941235 255166229 589724763 208164319 493772049 441851281 480641635 288240617 365112141 982572143 697285587 731934883 447609711 736045207 599833087 726707751 146401573 581862551 207021613 153474747 491297921 635052453 653575811 173786057 593181953 216579747 824126229 462065891 615102093 164475669 887937755 581030599 25689201 703174701 286333109 615551061 492952161 979230147 731871341 837654427 472785275 76017491 591517109 856957643 206180163 242663685 777087783 339150145 960326825 262743209 943306561 444613759 968530689 25290935 72883057 140753713 954073351 109152591 566545155 897231401 315767265 735538997 93230133 844643173 494803485 439990491 446614309 932005639 468993711 126966613 100618461 128570457 737853429 52808039 409914447 194192079 390127797 706241141 309680981 531236613 420570395 245991311 750497197 758617533 909384637 458124397 745033731 811823331 453150361 387410541 598988521 280076937 127069203 724689303 29787605 10948589 143766007 256976793 421325867 346168433 688919165 556046027 196751411 836858015 248852799 460802863 839012895 865217837 907451975 793153383 235479305 526982643 398973693 553851847 845289455 54894837 231452475 308097347 235747517 338707807 24853051 509194877 240494915 175708805 646541219 341301433 22958653 491646177 33276031 1168105 820176969 852497175 851509833 192881317 48066289 973456625 667206105 1619753 487799207 697827941 172415605 363376733 568574147 281011851 693137613 318681553 661144199 935824039 165450229 719872957 735234077 692725543 452464747 298506751 874554517 761068699 525899537 933375265 535756779 318573247 248959543 198017357 517080059 399035767 735689875 238904159 500607891 18386893 193586239 129415637 972663139 450484983 275945923 829214165 13398787 777507149 838039309 707575855 220808695 182880085 458003567 256654425 331365539 538757305 81684905 316484981 687528287 197626699 379615455 670467913 123717983 988908039 201998237 462909763 83543493 728784401 257201115 819605373 254114461 957119925 363097845 557163443 452465623 578510181 425395377 259724367 729172555 545182395 251511865 306500957 649543355 793555837 910071591 407901081 96954577 738652309 493800053 990487901 348053021 791953685 900470153 69619637 781747993 630947129 938796337 282690893 935515687 2923879 640644259 116830589 249400975 658609447 92094073 166081861 213933953 395274795 292686267 26883659 622789401 427789139 154314965 154261983 953808727 864289695 600821405 603513337 751904037 545759547 813091153 245393465 132663123 618811513 978122131 265208035 510889883 956874967 282828661 218072551 164792733 433965047 243832169 375433695 66554853 529947299 296501579 183187209 338397409 329795023 157598053 290841675 372697069 438625685 754778463 857274933 726411849 478531131 644197715 817064957 439835679 557563179 205273275 63834757 516591999 62552057 834862973 324878675 122551139 71815519 303088357 903306645 834718379 510070849 288752301 927118629 992632099 822980265 715353581 908728703 496290425 279843019 602712621 238143179 913705289 800403971 939914841 232783067 665758227 352559571 424847813 765882403 743065663 32843495 27009331 386860229 798950177 820146707 525011395 172598661 867648753 613383505 245939717 430585557 893819343 786099397 979380975 963883979 577746631 891837881 189577437 125174567 233948871 36473251 695865491 845381711 518104491 211949339 500113983 523932245 599798065 29061349 915386999 705309421 857248263 559889133 925447481 64033655 313587387 660731207 297852649 12153851 999476933 332665133 983364949 680215593 602285449 249518595 409502385 675456597 894686033 647517781 557830299 523923075 56436299 607894739 269000471 977603415 582085523 56773469 329737109 533505825 754881063 645578225 617975273 309099223 304739829 786736063 616833359 423594779 605041353 810349079 100045165 630141747 662287201 244932469 135849297 770407437 852657755 261192317 530779759 693123907 783464257 666557691 42853287 452938769 647175557 706374881 789084219 651517023 217227137 58751305 542470361 817911743 492266867 526986617 866519703 903870565 563609737 829057497 384949747 723890227 147994063 721772289 88303055 781192109 406841667 217536679 619156605 473927941 37387459 71038129 123839151 662221073 730998041 394336299 66854017 907522641 639238391 138389063 275097213 34481643 457256949 152043871 140110987 252071087 974107543 485753849 236443397 719514133 777991747 278800831 340322213 992006971 784430155 319426693 599107729 128208875 426681067 722607427 379124567 554298767 81200961 788052257 241796075 771554371 648354647 624646757 451966379 603310019 525215007 524733319 350942813 388029561 87534961 996069921 250550573 271606899 110840591 52553717 824912305 352606825 785997221 495473135 461278949 795777721 62266559 176265507 364916785 270865001 682926297 855212491 257240159 581350443 536729685 387373129 184351911 452417879 157481083 922030635 181406115 609427689 508069501 559006499 210639963 935186571 641819251 406124557 535351613 81006985 348913759 526125547 303878427 858037213 122640171 680168171 279172149 334586151 522767785 581838171 522152239 342943659 803670927 433745083 244841493 260508507 697328257 369657005 390549855 339170509 287998725 803990523 579729641 32514625 961780113 647269785 854114041 96568477 285089147 238365091 66754363 192286321 44193799 786024541 789003205 1537269 27549529 820051247 989965843 147220231 9936777 399476655 825284107 572640815 496218507 961731223 129660155 416166301 953026625 667838155 811773593 449733415 997141367 751133269 487067647 177436235 142376669 398850411 270535349 996725043 227288843 48500581 147444135 484294061 584441475 750420935 211500587 852638767 486170799 851877183 133432063 634718427 996206815 130464413 579503431 149266551 816489293 775531485 950093199 701797745 943399449 47069475 97076943 153079521 743920207 17593787 288753507 481702279 686857439 163221781 611732495 148578507 506734497 399780817 175507715 383762873 930539095 970704557 737831121 554837005 959080361 816470425 780941177 960142625 83751979 235515045 211531615 763346687 483616085 985060111 261806161 492951895 693597833 640581175 303945349 761921663 329636365 815022249 258262933 357381239 165445655 992362779 729481 150799845 194749885 20354919 554578893 760697113 496718849 828074383 532296759 331625227 292406987 341930173 64027651 438869593 9604591 427012169 512942809 954804811 846852133 786292905 520589763 857688017 285737997 881429125 834115639 18721409 842947379 281788835 215053589 716690841 312033541 967642619 992594847 403260675 106770911 339331239 109565573 711407181 975326209 107942121 7141593 364224941 116646547 795985197 56668955 998172421 955046057 951324165 10903087 129406683 339984955 357684527 420378209 309752157 587880233 556872845 564678763 230110051 368712253 705247529 852441701 649993581 93183531 271521335 790918869 64731811 70246023 707400723 376734635 174612433 966651095 27815743 113591099 468008049 958040963 453762407 798269761 290001315 854110425 509255261 181366755 11496235 51116567 902428959 126362799 918830203 332470363 189353167 942680475 312705961 64725423 512916407 402354177 904072821 360688135 415018571 471553961 815649605 554400311 671687207 639499713 464078377 321323269 109063951 510612443 61492697 607266839 648016363 870429429 87300275 570420481 329252305 831865975 357941183 814326329 308655355 242108717 512953771 755827747 683817419 898965577 155606481 670491657 523980241 871939693 921104685 311322905 329615035 998134429 827864937 226458989 14376295 727100227 452678611 21427977 27943129 310320953 170603105 971379411 814268217 638071993 569744565 706134941 459644637 970919017 800733461 150352675 898227519 431645783 349449071 190318851 944918531 391120631 447172187 331788231 869055477 721258537 503715865 66216417 293109765 126129709 516246417 703153833 141157459 491467959 177334607 4382051 396983581 894801879 350350989 121039413 744701907 225115915 888763435 670330673 939492357 123655227 162032557 389269331 108028015 209728689 387870789 867413369 996783093 65146403 689830857 301359469 405611683 258674609 916332983 244195041 913954987 97789661 100489273 616428141 936971111 966882455 53203743 991597203 323442781 828448305 898203355 112330941 83419703 459130475 772964753 15507005 941970375 181022313 225350663 648556361 550294281 22194873 830170797 14552069 41289251 92748879 862942871 84053369 593434715 638232457 229665929 308831381 735651625 405492525 335630309 966928183 64959783 185487717 456643519 33070875 372686103 898953931 953507789 765515501 705980645 741564249 53993835 997373757 624642211 643996023 2394277 38004101 570385807 444164847 543375143 927563047 234046729 9868279 269786441 56175723 101967775 465044527 152697099 862503811 680238595 789189017 421544725 66191239 585106449 556868003 431692723 928109433 456252363 18487843 302920159 276854595 738313309 507908183 440664121 391948981 353297179 134137315 902264325 418751113 259805821 893749203 491298869 355852641 905706283 444628895 861772895 521135811 226620141 703177251 66515393 954280997 894934967 738540709 497239621 801533405 397790885 693840335 781629817 606887469 765108473 482833083 80927637 505957951 777473311 325107683 526296695 284305187 651640235 137358381 310721703 74605779 804860503 938702823 385293907 637199151 727804167 107385797 980877909 897646851 144169669 130407911 304647465 362818301 3709639 497276623 358431225 229662393 206216037 702539371 104179091 382464951 38541603 695704849 403207021 258881121 87412653 750627965 771958953 265606407 796030679 263195351 566580491 253825763 187256731 929678761 786351623 900061973 332973853 565989099 369307567 496973737 450813865 327451127 10035141 523415693 564946351 20586135 391142575 959057053 801183437 988008947 416651391 883117209 236204231 595707813 146713577 383554091 619667077 884233383 304696141 233017569 684718877 51839071 142958515 629557049 562887371 788363161 828153291 689781139 390412271 357573005 388272363 381521205 166287893 549693655 703689745 233029971 882821875 307313277 670994663 917424135 209413985 43843307 298716861 232936785 477394021 9752823 826173317 705190937 321829929 361732829 478654179 474037043 452785919 170143045 184366365 931991639 574339171 89958457 375524899 3067685 306544635 974702639 689003145 899834921 703069325 340732167 571935889 557131729 905162513 604383491 45659939 739215735 810504609 518100945 966774989 766017631 813402237 92064647 670645445 921648305 796375829 149893027 685361645 929811067 150348027 539228681 983544265 499184827 117767911 189968389 989734283 501125199 433045441 965112655 812351755 787436289 918697873 931665155 544547269 102676611 124313225 834514087 724671969 776220015 326468105 33071911 248908591 424315461 536807825 688761815 211691559 706653805 989961165 920123255 576202473 609078585 968519057 653122859 435085369 587751141 197139157 488675713 597314695 403434895 413790145 57672047 146355437 810277441 917161373 262570831 551864361 757143533 934148573 276096489 581799329 925270125 405994781 50234217 518548581 784255871 633251359 372824165 870306861 856448975 591038159 882552539 998340183 558024687 347881281 122453805 57018089 894442837 749230255 776960301 954030999 44665189 883394685 34939147 699681459 586290791 900258101 826241129 384784449 70847117 403525003 662181705 474607843 455953137 506425691 532127515 938788077 604337809 130780327 941227441 684907347 593087833 629664413 119663179 759810743 216985883 303863947 885522061 986162269 717102733 149295857 641482117 53380919 245686867 596908657 677131943 637962973 438839285 777950423 407011025 510800521 733879013 340718099 742870857 926773801 832293755 216804675 495772859 615080263 710149113 263300011 940429373 816920605 202485641 297232819 110605899 756479113 651513149 394508785 12318669 850855701 146630411 835999775 960242445 252798443 931972823 225996321 373473473 487509991 8270697 82104579 593992969 222314375 422712689 498915829 109802599 67706865 597702795 358884695 882767049 72761333 683562553 167606695 142416007 959973129 104508641 372437141 785548121 195399247 136260821 587581425 604059497 624717709 327351119 745665207 525912643 900300849 613067121 228307469 249043931 60622421 794718529 514466873 121891215 284856757 993608885 729259443 512397091 225372347 687179427 313192467 647172039 337445747 726663117 897095455 399800079 505943705 93007837 813818305 268134903 921840775 756951139 557949195 567964645 340594761 608930777 529266491 194594727 670687371 681297569 835578033 644458609 828007077 799782403 350921979 73586915 995022231 819738927 865762251 661255167 955405063 462002753 596377595 512017459 392348229 952041785 600274065 902834261 702866249 766885121 275220919 592961697 673662385 794193001 721624001 836479935 532133319 265899307 444946471 137361337 793283957 72351975 252613265 152341767 418074967 941912105 121136583 728659333 407460779 756519265 600839869 661894007 184702295 684171237 710047119 58428045 339132137 235559675 685101183 834439385 611875229 537805515 737503481 614079451 326998095 797889381 408385169 102892407 940812935 601363907 596096511 387918587 607175027 732696773 582123563 598335515 157177069 244608055 591589149 958777845 685386353 476609479 657664777 982065167 588225575 368212497 647586635 942167893 466254305 228243861 413590887 196064029 474216467 321585595 284317189 85218339 42176735 987006423 542109177 909771663 125337865 576154145 923289921 857037291 109522691 582652089 648906239 875728943 188962275 341296299 704648575 267255477 923528297 335830757 77887281 703495749 555737083 255179075 730944435 771885325 208855979 187075973 169817543 234641823 739607853 898731603 694652251 539054075 259011041 326106177 243658879 344534149 729365967 200858309 42572399 338482953 420420263 339648837 521528463 339545023 694038717 297765381 301281641 429700163 142801429 139317561 571733939 808893595 957578579 709647355 870418757 218090547 555757767 257135433 513674789 897549535 302469991 782684433 378284923 133335519 710162389 646717727 363244701 568963289 41811287 227345969 756802055 442993879 541206747 364699365 246130777 537503055 868626427 644598469 492172639 956571425 511272435 295759171 816891663 344197517 459095723 107235001 109755521 907350855 62690229 784756071 197595899 598214495 859899205 601446005 937310439 114060371 761105213 338792693 651272919 982078731 31364129 118688483 735158919 564159953 79642659 694762525 440412637 85586269 557296665 827821421 340379615 906788299 428320899 423883141 9563589 206026143 289429639 374874111 265874921 565645001 86332149 48011353 272765133 862104989 637529413 696464127 951846941 930962903 899834517 538704451 720973227 903650205 910693549 462283611 454751349 14245499 157967613 467985771 14498203 580998763 570274715 774917243 289693547 92976325 946563141 458495101 31685719 563363153 654469989 689865289 604749307 99340091 528181001 28138147 583068185 284257305 819807721 551573297 392712605 799218407 498058849 556130693 600960921 394166027 849505661 29266969 236851275 199176021 398398441 488765263 487411221 14328053 653942015 332536431 518569601 631740557 945504187 144257707 561791299 325318943 346865605 625148443 580545847 579765017 480781935 92707523 952643935 881805139 683796397 976676233 966938087 965561351 981220641 621861183 445692707 797641689 458293007 595576735 62858381 742310619 271378281 759667275 148132295 45252991 350759109 794234827 670097825 196226979 634802019 273397903 774922505 842101133 87562281 3237877 311434269 155481321 688062375 316931897 570493727 874650059 238556437 942850183 29112699 760508339 108208465 769047535 818668741 896338567 360687587 455732331 257709495 362955153 309145595 718650589 589332277 212861575 59258733 847665419 475294539 25549961 245551549 429883051 211248169 673500441 405173519 329816147 39444269 702993701 553424691 874262149 166869979 266061827 242345119 146855083 258283739 64546417 783764341 535821845 124490499 657542545 578681467 711204093 846688335 57374197 46043167 261506437 19947231 652437647 402562937 181882035 951265279 769413563 365730121 105385853 224690981 499856451 510213367 797412281 345950953 73771087 31234447 300455209 17946129 542008441 598865613 406048373 588616325 169323707 566266891 918849073 759508061 31556987 296012115 712776661 739278543 638654087 782857813 376208579 740784961 284690451 950613351 175096129 155276351 665357757 679683209 104810373 24501883 759763339 162416737 149261989 240630735 432533225 273049407 623848867 484068929 655796653 165356571 474177639 335522043 974477589 340320659 397407429 395909455 678280387 489529583 51557749 784361915 597140423 995321631 368085271 864152799 14022039 166572471 411602231 454333065 326140175 734723579 222065475 813237931 752067955 754967503 90925975 47334495 913099121 18664131 617378931 191284971 195594273 230182157 826159871 268798649 929278461 475964047 564591695 41102429 375334889 36369869 990178395 997485969 320613943 776989947 794893571 290795063 8135065 250796267 980557587 909237085 453577261 351004703 504885561 37444661 123832441 133617087 267741969 385476891 309499497 364968599 299755545 931456657 406459985 298946081 460936383 946092099 678687219 310226301 481893199 462509061 244200303 923206255 714124039 410854097 924601941 891904105 117119749 808572873 483222171 786511233 41109333 890965307 39004059 657480053 361757669 864284059 890991901 378413745 355868559 172513921 599270477 94615359 610483479 335194545 661251777 362973657 150544419 756797463 915508087 285247197 570725447 475905735 276721619 33735507 433322489 344894971 262558881 804391401 798747037 781965847 695250713 971876857 542402685 868767397 115391959 80547967 516092871 365939547 966368223 884030757 926145429 985271569 776158625 4686649 206624747 658381515 931886065 604972721 420715951 217244343 346133259 441884463 927840181 952352547 374461333 479671545 801293747 638192017 426565533 812180989 414935885 658691999 917959063 199385299 238824715 724045849 48186721 501753275 123429215 643418101 490977089 792920475 648728995 596005707 163419363 989214981 458393365 217996385 459428957 849510189 179001313 703061151 752690989 67314931 205689881 685304731 383801141 685592545 780516531 925965329 696019397 558571811 561759379 287420641 969848979 525919887 909568897 269093399 317552315 387137449 843982127 980829161 613326273 552872597 956882485 851362735 995237525 632072483 710210325 627867375 685397129 616360907 647166265 252954707 578850909 806928043 417475059 265874605 124131125 731097739 57678201 692257275 971169181 742363 85625839 999263837 143092877 101524399 283500637 1164577 128896099 361918155 722738613 441629625 938214367 712031889 68729807 7482047 280796467 693531669 881295981 394163961 52629235 840344333 98656825 543321169 901593883 864472277 129930691 542002905 444039699 927060345 101848197 57895887 78530981 386210981 203009505 811897493 153529351 821456049 59538975 241273779 105621721 632413085 369574257 380515811 197575197 395116049 353684719 160614649 646020929 903224921 199167899 751360765 726591515 218134383 861524319 902020889 439133161 32608243 974912523 353902753 89834575 215023913 28069977 333124111 96856153 610122755 69410539 660795909 606165375 531671061 30704967 558654545 229266589 540518563 330753251 469934823 388627191 940539793 753994261 381268191 288024381 992338031 770107167 537014653 34385539 454765941 684988715 91957037 939662149 862041729 434243401 373170307 41017961 754618395 796239731 715184953 401337917 580686961 927437193 555151153 127166325 803507293 246095959 657385851 612707887 784675931 879180941 53195589 994601201 885226901 129192387 216240877 265193895 162982617 370783099 800545013 668421799 221467549 242807325 225434379 200438703 954173699 202443773 175991551 408933601 575128271 925842515 229927885 149247439 256776819 849609791 258336921 987251817 380529159 882762189 583592877 69398545 773392711 333451501 440340351 84613257 760515227 980142197 41799591 302781697 595845139 113348395 563531753 565618955 474470505 828563127 106659123 187172775 39855095 797734057 334424725 22639161 980026823 681005945 861434955 317227919 204399241 303420813 354336953 905848029 29412755 498059305 470480747 897736385 208959971 651393667 540540945 472014913 310177571 183354031 203850123 992611785 660124321 30968499 671629527 738401327 238110293 682176887 7167013 272143791 660126685 849449929 749929413 777669871 467904385 140724071 822352181 621984253 263393071 213826031 657961493 334946127 518598529 784920557 647006515 679258303 120399027 157945807 400216961 645559959 113370031 420679409 774268185 89190015 303688451 146956945 514814529 715481231 227021797 683070173 618458723 415965765 396491575 946153441 32084753 730505093 900781181 98600603 533772553 850150811 963193577 900093417 449981739 799849535 739423825 547936661 601058693 612892813 504418357 536716627 352176713 137750025 113302205 420097975 670868691 39910307 909299637 90430791 288126117 153823407 820273047 955075433 257694315 891085289 972883585 542221681 535644919 758868599 652219197 527187861 976020551 450256103 781590581 227785209 488444027 476493357 415415429 854517669 648825057 785597097 10672363 550947723 696215277 794651421 551722189 972333445 658741 89245111 527764795 572498769 81927809 617190157 159903213 253200285 177941693 217400091 422675007 459157237 786571767 36134473 96209469 895595221 616082799 961119329 918106005 45163167 204640391 800664475 21577371 938670237 918173129 643064211 552592209 323397371 407176681 736300621 16106079 168627929 172894403 520628537 813725715 244163379 643092571 440277545 427555171 856860661 647341529 36387421 203582705 669547249 29459091 320725881 605540865 663066845 742442243 213950603 375008133 776249437 464025549 624979719 645201171 879716601 518461627 972037067 253854187 547821603 84912065 495740957 44530677 503836211 411039741 638904489 416703677 442756459 186865837 647078533 972252285 354660085 366922303 471851053 103466259 989406179 245625159 220525703 729150727 239864363 840850817 289191905 479404681 895508401 850791117 709726961 574654063 541335869 563084855 151982547 935693625 278339455 896438005 769432843 722746381 428749333 835697503 365035655 589051835 608762491 394272251 992763037 746699193 881410845 409947249 499706123 504977193 302326347 516767895 973681141 134141393 86729535 586262889 121770215 653607711 961099035 699030023 867792857 488914221 906494951 238980799 595672615 435162039 460601235 199294977 64884631 799418663 414912251 287217517 386370389 496546697 832184033 176664259 842877173 206987673 670591721 471023341 615124855 82249137 470853801 236751619 461729857 839483101 9629849 672975163 736336413 469034441 161859355 439688189 136704065 240053197 396429175 621842127 31871819 334687721 92942557 117942121 532403265 322364867 739268969 627660453 80963983 895981227 461284635 684291973 208310797 556977817 200103645 674668085 173082611 574141227 111409535 153800455 540287979 708801193 736451259 744182649 592196095 114960643 98386995 209613099 63372967 37983951 747306093 321733867 495801791 687385675 44988383 18259883 564523403 104846945 504678367 935195015 900167099 196246431 525437359 607446721 221343841 627802941 449141111 494806213 296862973 82913305 705735499 261710631 783703411 346316219 181617699 352898721 618478353 584088913 479766751 948108309 887302027 706273459 838687563 969579411 291254271 836996451 862081301 29717833 633783283 181588355 77758681 143824533 420363859 54584039 526749463 546894585 260104821 432900099 648945465 840847137 326170389 655549689 535484045 812805089 632862043 406749325 896254289 461244723 49585105 470027057 46243747 7220027 302559597 556241403 839553679 105912131 12069007 453845419 240097539 872703167 964456441 594753959 967810779 719264843 608068569 559410433 842709975 405398187 76929223 547958637 413146783 331782087 208890555 963261003 53098951 648449973 852405279 742546851 819074757 970216367 771009215 31114019 995703551 228090649 892268751 971497765 416704185 542957183 412981229 615991207 421935143 360487569 971425309 109401935 636451427 338722093 329043663 115779693 896866413 967258199 211141079 286011383 596971053 609445177 5555313 483905679 298772855 653088037 758989379 743911803 677455617 921612439 153545819 852330921 885257071 701875763 542895151 63895729 132066891 105414597 231916697 602051029 514436355 426625853 579087073 500794615 774551537 75364795 934858163 117838763 70953817 951185021 829088293 576052261 807521377 351400947 573676725 229693511 328567837 634638509 316639303 806602901 709084803 675862633 649507623 786497345 37519735 994066183 765144077 406925089 340449729 713255829 72002325 445679285 899938835 845955909 381829315 709154595 432443911 679199345 972075783 154864955 837294875 587714975 484612147 109775989 164456379 417273977 292132359 849154031 71564345 886984401 924816551 60943217 93161931 253774245 237071777 425150059 453359509 825839125 359532777 141781747 155695519 520521839 990652381 477108423 546285531 991749925 444416579 226391633 778342177 382490067 499453255 244416927 520298549 683245115 320946303 668537703 968165053 739006793 792813801 237348363 59593291 501526033 834347495 237634193 521416539 825896651 535901769 102116775 889451081 301392863 878880069 689672871 769662563 849263829 504208757 745072781 799202521 689269089 588995555 971573505 355078083 48079967 255395575 136013653 477061925 458659025 400919945 521377149 491458533 358735587 208669143 446805275 674249429 719673065 477224069 852018803 138789807 512535133 732975009 762409847 7245333 405528803 502099359 551487677 389140623 749569861 86648925 912949893 560641423 909650039 488055327 67517365 472756845 217057429 405420693 566260957 152329835 130993635 887768531 612160309 437749683 289809353 244001621 806327195 735918165 744841693 31387905 255789975 546493771 423886041 137508901 396953689 462573943 372578721 365908087 96305077 13098657 871128127 693632785 958194991 940451961 336023785 341297019 677983979 273574811 6679799 31076515 53049017 735439495 533031917 727275483 46207247 504673959 311531641 940144097 613780495 259383115 184437611 407630301 961959039 190147757 181652671 754849881 472174285 767183087 675392665 322016333 971200017 979736343 394155077 331738645 448421643 497101851 985986867 836926581 189547299 302218705 896830467 446251933 778890085 978171387 246627699 605299233 658260363 507518787 132678515 869274621 62981877 225734713 721147923 739061143 707727271 213981783 665719439 424421565 591910227 213531901 680814669 76029347 523987535 944689271 632485843 211608551 280887451 997803251 926576089 310005135 873706717 374863757 178713145 346556423 15101797 480792389 859547379 923375909 529238315 407136771 567066935 818750501 68156109 607337883 585050197 295706287 247646611 639865029 248331979 82077133 339192941 928245795 351234873 874108151 348596463 48141115 591826285 338272519 688327261 219041153 11218777 853484871 876837019 87195471 651818009 465168479 7270199 497856229 889686767 205475687 464713325 762100077 933294151 194031837 912424473 906531829 937468595 713654181 308037313 79916667 690514417 458743309 550067865 338647773 350181857 823866569 788266611 212716007 534566801 104485367 810620113 247545415 549518389 447320603 861212377 483337625 922872867 212733733 328017757 517707611 633972707 802470761 370072529 505329147 94738721 844608163 677260119 695217095 279818155 820162299 820340147 176743927 535030401 21310971 110185559 905637295 892730565 149878169 502010713 419044601 628412609 578552117 417086583 680608707 346703593 706754705 527651357 284588775 329992921 893021915 210808405 936615209 210071635 408232873 279765975 518876719 396782149 95133177 73858311 851056525 407194557 722098477 214184167 455870907 245047035 292227095 632663079 408227097 991799905 296427497 979862049 347444465 79156603 801191233 590860241 186493557 334249977 654702883 613266657 947327421 775214265 442241023 607129247 617187533 785230527 896656039 173546753 528048267 966244915 412570459 284782505 25647051 382164843 974835393 670939867 574944323 474466273 921165537 994352779 996109207 467341625 879630903 456137035 369062991 621415999 61309595 131497821 25324765 846437859 168427605 356870567 444293787 627555395 65922833 936386235 223855815 159718307 376825061 95209933 806966157 420537195 707575629 212312509 814443263 802906419 703830577 37734933 266540563 117097905 223652059 121270271 58101165 974492107 572929283 53781335 29664149 201288589 821964227 355955099 109940093 13865255 550966437 766084849 778987517 704406521 77653137 753221417 341985689 325279107 47763169 136651451 983199159 285473903 150497869 469833669 683196329 747758997 998579199 570638607 238796201 639368427 102992003 707745033 392203737 221869207 88447693 222176967 273092929 764450277 519794491 204723467 975124691 719431239 861201043 970041661 198103143 505090649 924934401 749580395 261702079 87737565 656753435 669311563 243770245 407064509 374233309 701600319 476527689 326899473 54395053 888728653 987434887 477181967 88451673 100377123 43033755 209719327 41399831 107784729 360115667 881571785 616626049 381455919 919802207 460041153 550675615 930935565 249435223 622519267 339452639 101455103 187379133 765270065 92876819 197453567 887614331 75867095 978689913 185147819 184699745 564516391 102958265 696187469 384861225 149596063 477106399 227183055 433605237 828153569 704264031 543609293 504962509 377635255 761654037 598921605 946143137 834397717 557444427 564402909 228760653 468159255 521721003 629732197 392366609 961640447 594936393 99088725 424019479 579483449 943636133 258622603 465127279 647986009 906922149 328428943 264116755 703884313 184352913 571043471 241926117 834085213 987792165 339388517 284686251 332152367 342603385 639065997 992134171 734318531 341792533 549602609 790289099 860545141 362761957 337968159 227522365 216269513 434486335 720614349 754183129 919860327 555281631 13572445 705621747 495497509 369886445 231947923 877193667 191963133 243370483 640581857 433363307 283421715 727880681 249082975 263654385 863361971 225796139 567952073 839673163 162139469 188303997 83831943 515287629 411595903 138232335 553036713 196372925 903112973 545871987 755875047 838499651 141613535 37271721 314336417 847514223 951889419 379579413 762618843 139453371 784954829 823452037 43028295 996534151 693009285 424332845 85095995 904238877 996780735 181669547 458057653 737002929 42092849 673623557 247277919 699387735 647822259 538185893 441815687 734687765 63612747 607273829 960861477 709410515 213248035 37076609 718906071 479025761 505130637 589900443 183177189 547094647 436396037 935560643 574271549 236881081 705146415 788939375 263647353 791518641 967920087 101186169 61483733 978081229 878042607 528333353 691355707 344213097 933238417 184341805 743894329 232300227 17251843 991322007 595149061 229957385 703169967 808643813 639020673 57292617 905159975 782621439 233447217 502025339 340588841 806499121 920821319 370970499 101559957 485478703 137139097 53450795 264680825 741039127 971556007 134262817 184923143 185167725 563268505 991113727 380574107 948170273 46900795 875946569 980259767 806976389 245050631 683629157 879939847 626484827 871163931 12899751 508578397 800059843 148911681 129914437 565683127 163237965 761910755 619997283 464018743 805214445 303307805 104092427 336235559 183196161 967308205 673720619 306142715 758381647 472743929 315666077 25470799 727596035 419793425 931409189 849124069 668146611 12883371 964068713 381372073 440770397 105234473 711583739 558838447 207504229 15806353 714404951 638557233 592021911 901725075 106582491 310939281 528637995 344643203 646793937 315736159 978119867 435405923 223253867 984840265 594090833 327102939 341346497 819034157 675593045 777679161 163352533 448394253 438211233 394348403 536708755 842345237 759609455 277798699 709396679 68418713 403631205 185579429 534479661 221314835 938414991 600462291 396619879 746836263 520512871 48049483 406257661 322143391 394316485 224111437 737592673 441611121 570214639 438701505 372681451 909596853 767779989 204455475 959572703 145487279 116129483 635616477 265727587 285503693 384597519 589355421 632181385 501278879 654719811 316674811 80528203 694927585 586841271 975034663 974845067 29194615 921229601 326258423 289624849 520697197 951420571 324642537 151070607 146721267 473859501 269621287 639187357 75462505 231085125 790071679 670380221 875207757 422179509 639946345 737548633 906961487 894193341 847312899 392458689 44898623 805278847 529556501 180035887 565484569 162241421 752245261 977714373 598746625 753013209 674599429 301416075 934227779 750196929 986346937 166989937 365138001 465180681 348078993 618385237 958466757 988712161 719962015 872667635 987762277 755485405 646232215 17268213 668848667 487721209 305509595 389477105 170990329 1611931 590084463 224813915 768549693 780374673 640250629 980510613 495713607 289021969 334659317 43268331 515676325 206582709 446262841 699298957 691635465 451753093 716643455 871660179 254474573 382266093 944488209 910249727 712583799 196733379 694543337 231590073 515281585 678742853 533861029 755338901 959990351 501860885 991349133 745917515 74173129 856154693 838603409 667844477 328592839 592390213 909833287 659001521 878065681 719452151 285652717 972606557 114344603 933259679 102942061 644786647 249440129 194603239 649199189 436329057 935817989 416609769 915694301 46855203 243307155 380419103 859865571 484521777 540029373 291116911 909863663 439918723 443701057 85478693 772465967 562633467 462328321 533388539 259624571 404883551 345932807 306129929 199615061 363649123 229284231 737725911 472431839 734801313 347666909 931765585 201784301 445242009 513517195 281389515 335434739 590626485 518803007 459063815 688367891 460084549 901942215 640179493 27076113 687472257 270868259 256575925 751508831 95505551 878643829 229050541 734368787 293972595 288171783 710347369 844136685 479329569 357250639 52102573 999035731 50477171 578628837 267946663 772076117 323518505 890345869 297081837 705752491 438312683 870051381 337137533 441733813 424407885 137280749 990027707 353894263 535286471 372844273 766657141 444689313 673315513 140042661 900664799 929715597 695620973 138452883 76919703 363457849 120813845 783336817 211839905 923425099 629826763 155356439 24927085 762258961 953043343 973470345 567844559 287975047 367821641 631336693 858338051 62495561 4161997 865233835 932694959 953669023 276179409 989079335 626069985 38706295 689534457 741546509 902098189 213926761 862325711 384277545 849707027 128670645 230789825 226647917 641979445 669499203 179488041 871916787 878250017 45157793 392101707 107102721 159676653 243881221 965357645 155552511 851430167 89093967 981771587 790327429 245483393 735705865 323483171 521066057 345849981 802269791 863013585 77707827 989478589 147607593 407490069 563296585 407127645 415714535 637643425 741170371 183323111 529711039 292297743 250496251 587053891 982256001 366630365 272103025 447809739 919246245 248407159 281456341 863668793 151611209 470126639 167621113 749209011 319840821 277367867 345290965 220273863 625382361 527658943 961280145 867150185 894400587 392082627 69483381 230366455 882765129 761358137 481960949 966360375 700206397 298213883 69660587 90112341 296220725 134144967 767949405 451161831 734509799 342951497 432684789 45203177 18274229 532622609 690907783 644914883 288219045 100857499 388190029 603387711 954510181 880816965 689646505 9014165 481048655 353169497 829764905 346968671 338607967 548723463 319467393 717236389 278573629 239642477 472273799 484382421 265777211 921651591 750990405 139677633 79343949 26886721 276927969 14167465 138501909 691734123 909708463 42503985 720258519 726999487 112944173 964376677 738917253 984626143 985605629 344302013 744683701 239942995 848985321 390594325 890415015 900836493 703358951 89946291 959445313 794662629 791119119 841759299 38425619 142399901 47195301 329478107 62615893 385260767 904510485 968268535 231141349 454426299 856262387 414056829 446553931 703960107 262253561 783266491 28073655 72529425 144253451 538070631 536537597 653136437 788008245 904794011 331291809 554970695 777290663 334167007 89487559 760060131 548363967 628703263 477627455 333351049 711494657 208346545 607026047 305491619 247093781 340768595 766024873 403750529 160910289 176691241 189725313 291825245 754754863 74485439 399470459 221013593 731522643 877045773 518600361 999198589 599058569 681161327 208488141 214716601 443691331 376167081 624211279 825696745 113362203 671850219 242313531 250188493 930908887 893115335 658225227 882207247 667560543 633675069 604658655 463933503 912293321 194081713 881586683 198074071 551312465 584177393 981156433 907406135 761190231 510953267 544187703 843300267 201466217 475299345 452304557 830752865 97701175 217278355 244451673 548949621 178461857 257951525 466251659 166649575 101520807 763232413 110746683 121571745 376591733 632644407 760177671 280296049 530489693 927278233 293625911 285402645 206760411 633450963 574928827 660526381 635663765 69002325 808312359 369020223 941038675 403099905 861280959 290795457 372272649 855137561 961240935 645825287 318278609 249227597 337998253 469092695 43140849 858479791 337697741 528119769 924022227 768616383 976544163 186093979 7152907 649677153 753075637 335549083 89019473 715482081 665932341 477777079 891835277 958456311 608190971 264046779 511951303 958321601 383415171 762746197 11926067 90985407 542937077 678850593 827367213 143256547 528094243 593965215 156732727 774123137 943735169 396891959 36646397 265553237 882617647 171133501 901278035 226051205 504033015 977924839 389993521 769029535 354817605 727967323 480517567 813297305 849453873 261204125 367030853 747519181 271739257 229760929 478032441 462071299 440671111 285809217 995071793 989144937 850357099 625383227 858111735 857672849 177265111 480722493 817000049 80845433 277892399 560288979 645617333 468225673 692890745 293771643 475466749 445925261 190483557 136363155 173648045 163698359 981383241 89544037 250668623 366916265 303160611 168148259 432704663 778704999 185349789 767329255 637685859 946972763 479081477 501959599 4730545 832898911 704506705 763855207 781236143 971710381 95535139 191226337 674113969 902945259 570675903 303714003 755294769 833819175 970568471 478402529 214626515 601152213 831847875 488702357 178837603 301253589 356154111 250256475 973178835 166002535 190473139 328557459 781242685 523651391 460588145 201305721 391754981 917913451 797521005 408516409 301040697 917078895 193704071 321879013 979602121 377947435 517644873 953630067 492456273 2954737 134000861 534619847 612814519 491358065 479276575 701723561 992206593 185388237 129159565 402311627 546859111 261400455 903877965 723986373 803810881 821719183 569448239 530768923 697369109 708620599 272193451 336611379 928056973 164680255 453266655 169147743 938741883 620721355 335113107 709770713 435248093 731039081 121298997 524038595 197026003 958243085 193034207 794928677 434686123 507322389 646858573 58962417 685255381 56331591 367421417 920357119 908289521 487763661 830308033 59762449 18014911 377252161 784716683 598413009 396497195 151597725 240393641 906754769 522918727 703875913 471007521 666372743 795042897 558612751 138910625 960567125 728032169 925574181 661233537 453238663 438069725 37621291 810753217 268432717 428509599 114827555 58075143 260005823 894689483 718083195 685649829 761647071 644991331 356634633 99185295 795477399 590840979 521227531 626019173 353686711 479016879 624986917 973046129 282370553 737778993 323774819 276378525 424154111 930963899 872908605 602386309 380495441 639884059 862054287 534541415 18481759 900552515 453471135 270752297 955947653 772746575 348701719 174715995 335038211 58848387 396245009 565185845 626189059 383640903 83885575 675478165 172118933 833779759 879531743 310250243 734268595 363843321 339294951 683758253 557889599 831987591 917256915 414443629 322856191 99183843 583829187 263682239 142373801 12027971 149863225 236912333 884321747 306131967 761614371 863273829 285879039 187466907 747808727 863508989 98681239 735775685 135377937 312127927 553733097 994130251 352273145 158305367 236762419 8528943 274139161 907816783 920500885 276088207 957123433 493873335 711361045 632407479 113099331 842298443 424917929 277696283 473859697 137373811 518779431 581650777 543648539 344001343 559396945 969298991 822453211 117088615 780794831 494204557 686967723 842319691 581560373 179228547 731412977 284338159 835802619 970633549 113323385 237268997 671916929 976309327 614351227 417395427 313538579 310138901 641127059 661840263 634967263 876084303 866939847 242007451 574073345 735447005 893153155 692034669 781844855 830480829 714955933 343252981 428202031 121318943 81306449 352602577 144369911 233356627 797990983 116256841 965437319 55163607 949061001 382764363 907244933 881793099 551119245 188756849 787369845 53285501 548169779 128198391 675760587 700097629 780869565 412180167 38974433 533365259 898033113 268739949 452266231 729553863 891024029 595677221 196088629 104606973 625553799 513093065 917685423 396626239 460099195 981241317 525299291 990396233 559789765 699493797 921106205 813942273 888130077 262573281 182263487 339835247 208937375 81502489 546006255 275965383 557653713 990050933 121472583 403554403 194610335 566237889 144185163 365217481 432257117 837863031 818048353 22880675 177182923 723394485 78103517 558054853 473434381 345471299 554940149 410774825 120866225 888264593 50206925 639527921 13012909 359062965 61866095 651291499 271379803 549782639 649004745 580643593 390828931 962364709 579941813 420869479 173355601 211245799 27870967 388868935 122329179 243872107 616807733 949915285 134713247 730072083 125529345 37436773 915703935 459669221 331518423 603583217 335250637 598046607 511658261 912876701 881019577 629481067 86377733 918220531 639888357 453191029 705530841 945696935 681758803 837697879 421307049 967686549 478968691 370297951 230809209 984144831 722077463 92894083 953367855 306430547 735192703 69046117 968396445 606097569 645968719 191775561 594904445 204405541 173440149 534987297 262384753 618712195 608294341 610671491 96198401 6737541 184349629 824968367 341354143 212464927 602911683 11209613 698626979 637851501 545722499 920519081 592287825 868578483 588379411 298050877 787612623 196565337 415832047 362492455 153842479 689993717 348782591 891524847 744784491 290601027 332878733 647979973 437654885 627560483 595713359 858693503 862062309 825404065 735397221 775987867 21209501 334332147 654226001 722340419 720516901 756789617 357865473 259772229 902125823 442875041 654893261 12641561 397697941 709975595 989744749 354182877 203326263 402517477 945333515 551845977 326087967 577207499 350566451 276842747 102922863 196344829 604522457 785881819 461258031 62111177 901919579 96548283 265416017 893758111 675617405 449689597 551370669 477373983 913550447 763980725 694423301 283974663 13545669 368941975 320599299 125754183 27782267 186184709 2471735 464060657 915981047 915684867 675320859 222980413 680755463 667499075 459150351 633786513 134473695 93515803 394413663 538010745 735812127 189904523 124693051 374935207 784170697 368270139 805930939 730301431 338062923 876561271 838228705 972865899 95342459 362847545 212206229 97924399 645296789 959983647 678417835 706375061 732485697 405083249 818183643 604180507 856648329 338302495 786567879 642218593 322606565 7781823 963842295 817869109 111068209 935270287 317213403 550038409 886203313 332195449 813522895 428414841 565895701 610047755 850695443 139306823 281095023 895171709 374791889 96468575 153336639 297606573 18901271 622122069 90168169 50257441 12238051 149851619 699761467 358995725 799739669 901646315 393687145 664240707 992312179 31303291 647078929 79615813 981817267 601252807 174265785 786301499 561480297 566822181 622683213 120904947 217501723 577074207 942413091 294425059 901530673 484367707 294638327 823178539 748508667 719489967 218396401 867906453 348051377 437070101 151123867 594405773 380442489 681808305 854575597 562823211 746137687 144484557 648419905 402282031 286620993 758307805 728696159 976017151 778038795 28316541 770681205 342819755 326067835 69651569 261539093 138193387 12048183 997793953 496806975 258865951 968847571 903037475 806346071 788165451 330139847 106675761 340822569 593538591 954706035 87586863 856061677 630835701 638886433 281818281 529482047 496642763 350937093 769079887 685895461 309102917 957102387 23032575 497240075 803761591 174953137 338546877 865288133 166668567 425009765 544752305 26967955 832005635 754485795 844261425 251110171 666262979 688108193 217956281 748813671 905576773 52735109 828962793 569226733 742107681 41765715 105214093 970629515 383948183 653812863 838738331 459942791 867132815 881328225 263880749 622007951 915485591 19637565 95276931 351421365 842816997 397196857 83288077 813793655 478614617 213183081 185583707 392427197 797283709 918429123 753074731 594154961 44289405 618785323 967756637 995621227 656480561 398633067 949871359 765833639 853908249 137944881 899390529 170305801 704855643 796636183 77478787 467398529 41877447 899924127 218643269 54253411 618736341 263026997 920572211 905541225 938982563 1377317 392399647 513756863 838334713 24167595 332730375 606839787 659424583 200183785 698746635 452967913 628446113 436172263 859761273 419022353 791987659 7194775 759222979 792040491 433092137 613831891 627787653 510539619 790581963 605407577 722363521 900638029 272540263 734839765 952972451 108310251 555016031 285000153 982053117 545200541 384798393 888941531 271356877 336576565 267910435 595854911 273266549 737277923 719311349 266853453 914444671 579523401 987294257 169153845 402272671 844711273 138156921 695913749 996029617 78285489 208764705 44095977 6775223 25832441 15046941 343888029 252574429 636000123 173024013 225724417 240317559 513806299 899411259 474025935 922768895 354889003 335756691 817270185 91860249 777259997 15085229 522906647 696595087 810483151 419822793 652719499 107442005 364846919 934629581 797599069 878541703 738843121 906034505 238005455 198255975 410449889 120124789 838265355 508210275 530421911 971188271 800187169 779983370 628997625 770884863 34419979 353646363 681387345 269578005 205166251 339556471 645806165 38059589 646063561 195813417 773025317 620001299 514064917 299040869 951586371 854650531 891794987 22532233 813015453 40209859 680618637 163818515 323367305 97658351 4723871 931666867 676132037 623558467 906297783 673429561 140818547 443054725 64666637 540325281 90422565 408117289 212750787 616005647 885675981 422963009 862750177 817883853 624655559 303622799 311455063 944199505 879839965 560360315 822576129 465667123 820941879 207919889 702493599 815266873 832148335 584216331 277484251 651400013 684836479 866312905 333091397 115765121 975245773 991133263 705952087 842211857 714214183 164399439 31014769 282431585 961173697 852198943 324085471 157808381 854844985 23965375 768969679 176226967 56444309 774041045 648400221 292400905 939114561 4354993 20641929 647448665 773508115 818516299 938218301 385533873 930425417 982328129 338592585 316041315 213381765 374375643 251733861 28979949 849060823 157072649 720513591 710941679 142753717 960070495 571592515 379964215 612019451 255953185 876517887 698049207 393645805 439785009 436678337 562026379 620075577 192265763 401498569 381061365 985338359 459790125 626330181 334244193 270345887 268910893 506964291 69127521 447481627 350095529 722659003 214026931 331284407 212744147 258795155 791146807 349449511 527453571 434950543 601273851 278820745 866282037 910286947 108206641 785456483 543500561 986929833 256925237 747821729 208373993 852686817 512067721 195831703 93374769 220139123 27488985 372322823 168654601 116376243 967497977 8861713 945364027 546036183 689751523 511259461 134570545 323605765 439793851 113044889 647231239 758915649 89368011 811146343 969509499 83527551 105109383 479012215 405360883 374068121 257932171 817310197 78074495 514059085 173535129 465502071 301249495 343260745 35397277 295913723 90884441 999166489 594055595 833407973 723851277 897545019 503396605 760137473 149922979 996530189 649118455 340049799 958130799 832880601 247740707 761752595 778119797 955979729 910676279 353427369 369029721 443484687 425140235 922044601 78852457 349905553 895046307 198938647 35071905 598615621 194164525 558907391 461173405 787080183 933101561 930843927 425344163 92385123 931350659 382386029 225497509 167145515 223661167 587408245 480545851 55418073 313468551 479476493 609244321 866512347 145865153 901288571 635843007 291957387 192438325 169802091 842654247 982755371 784225833 823047667 417355021 685833447 288089861 379341201 300540753 912136395 423341151 999841831 23479931 427429075 434929907 534703877 663836091 228861409 799381409 872675809 349929703 983901117 551473783 812264407 961910143 842105369 523671973 274300523 411414441 355681679 97545867 433997965 934951733 460013213 487108263 50978191 725526171 581921967 835280041 501427761 619643385 112189205 928661857 457099159 915147287 339162635 984936653 468172365 61711203 651780013 52916493 951852875 263640311 181040905 854602095 377809135 935951247 668625679 95562597 157213177 411092117 459137943 987573129 287932059 303026455 492687973 219921569 469985641 752912587 310983197 670270615 396633695 754840339 410706263 41536383 372136931 137888245 409756551 577249937 85306821 614073119 298596881 77421365 177763893 613235945 492578107 874620915 296704725 810587987 521411387 633822591 935209895 266886403 353239335 868743091 554308633 144244299 611006465 7853207 65679873 251067423 85718451 187997009 931712669 331230495 293604877 453590325 517464465 340266131 574095819 757454017 303950313 374046059 86064521 903364247 467241245 481203517 863694549 333974145 391668233 460325705 466314015 479086707 823906289 772604277 725035199 681685385 243382661 698127697 160008183 147987205 269043161 242553621 23804911 298204499 738490217 422747807 68969915 468113159 882149147 747982967 462726995 65901019 55403837 946739915 912803481 433287603 332461187 255622261 739334229 248045977 480503051 824193009 420782391 979928257 568546139 661678697 954004699 761293703 99467103 973037737 629890241 127495791 551206253 433143853 52291923 509751073 721341251 751420433 552484065 902433651 82957571 214700571 842983589 283054175 585055295 87896509 930901439 95158537 845115111 633804557 647406139 223977915 987511389 583737291 472023047 992700651 364892259 798963295 705669631 112463409 448700969 425541845 638664419 766889299 911545153 43123687 953589851 301995321 448950443 918881269 139709947 829389049 387406795 918797827 720574011 595265229 531850095 578808515 402308987 235396889 979282123 837170057 380072199 335244649 414201469 320726361 360854029 701953391 947399563 173694935 344100009 668991493 689204321 100173907 652366555 149370929 459519445 932055749 428647307 682429467 530122275 977415883 618049933 440536603 113742321 403028653 219123865 428814247 170793293 463989337 410630223 220567653 896174765 858020457 239187257 640391457 621087723 754065177 499141065 518288589 590559055 737575251 25083225 419571075 854423175 209385891 99381033 812288393 505641381 767845701 873579873 885904969 804583977 197180691 62171669 484236629 66180087 632255641 754066491 584673643 960612443 467824899 78494905 603225451 505157389 91391529 863873875 505952099 241158441 559734667 832703421 569164677 545646131 557401423 572922001 748031789 456110363 560743751 9309773 305587165 942356789 292211687 403683421 613465665 662443325 631225679 94309907 183978283 724889177 303355463 311087527 15308441 645554455 911669055 38876985 733088429 350476907 422159693 598591955 307180721 626925749 236806961 590277223 156561433 274386103 757701713 100273357 657863041 787348127 398088637 627740361 256732587 244635907 948904747 548722433 931643523 111474655 331941885 870070281 304673821 619743643 541088825 428095831 247763377 95622145 178697101 321967183 191355559 639586121 938234451 420129593 279414151 497102095 606809735 876173895 919058695 44483415 166897363 145268881 902459135 583534481 499120517 315437339 987289971 121101711 91051411 17508299 600782735 186954897 724164509 659305587 16757415 28899387 550906605 398352847 471112501 816311195 923574895 837654651 663090141 662569509 927286715 395163653 289331817 784234167 229624849 927837661 498609359 152124055 954426711 331404893 880917543 848175729 635732767 492722627 786067381 244373339 519883165 593257787 73751527 542606801 553147569 989813205 349331277 566791865 82498275 958982539 998710179 758720609 415570019 201796671 931345613 200405887 279291911 568086713 716444117 348544045 584052813 99255723 962940401 280396021 436575327 976218285 456747385 982065087 822226187 38223169 588960499 43786979 827646409 928297425 245494793 174984223 447812023 232111277 410102925 600064407 642406557 363320593 155570555 790125783 837711849 596865049 539553783 61885911 572749235 286900179 84534349 127174643 273716157 889557551 580779759 299675889 401176169 749051397 814503799 270425085 744630219 143760407 249970091 782539947 860129431 639492111 500834933 368128507 438454063 159226749 758078183 984421715 549635735 302633179 443257661 354345853 752532353 550901387 696159709 374383023 138574659 453792211 253796431 928483975 536348893 154495977 417214023 895409419 447022071 540050147 198043295 870493607 440957917 443737795 642275421 993685809 210202761 31534195 664094635 207071207 268708761 72317123 147155675 423318637 666785621 956490605 972897643 802498767 790203309 358859281 694763261 749869445 536184631 778728251 348750427 31407211 599442993 207349081 567182457 81062341 254338949 411389895 77807473 518586691 299373505 899269061 797584265 735022327 87398941 494870909 348509229 451962465 205832055 433648383 24462059 663968101 366168917 484219715 153726083 671654737 171516651 788369711 811841495 195747801 116945419 479258247 755448049 317513755 851775031 538108161 799036421 943392669 697014679 720570675 39708783 280575819 426023417 197813149 208163761 617146491 943120339 327522221 383079543 422475241 51052869 697868465 226632085 944633533 290183961 276234979 823601413 636539265 639155643 541134435 605147883 319143723 940448323 938147387 466366097 813129755 657319793 706158943 311690605 576630035 783460011 955038627 589663255 195685953 168635649 555962061 97857875 46292029 10606635 52555141 404230925 680014079 569028487 316773977 207896409 460884209 278268191 884795079 539537267 749022687 110568093 12031021 661691577 301002237 206291549 580039895 568130493 519783657 786211931 978129139 126897965 148322471 226217281 885607323 464592105 817864871 489488733 961182163 840722671 932697277 319119783 80233345 910877295 25711141 49854653 292185721 365460153 935517317 227574245 895394675 37828169 8996587 87354899 19866383 847047619 79292109 882919641 97936087 616535795 566464261 771279737 711088189 953967563 291782875 516263387 549935003 458042725 991248635 680043403 404868399 354673415 345633403 633701061 826308645 637934361 189547481 947628899 647133071 768034355 782314489 629171697 49440611 443241483 874110759 310268571 222693765 240117895 721117211 399727673 332868799 42928819 941537521 806311753 721921983 294603713 483472429 299811575 607790623 18626059 499097535 807101453 60820835 439666711 57853433 761042437 103923185 761126799 677718683 633492989 102246427 911480903 654875593 528139197 291612957 570362167 740271377 736560821 431588373 76929927 747513447 641664249 589871373 472875903 402757929 593109069 957081079 738777491 713845021 302871317 320631211 156090717 220088175 373210465 70844139 859810979 185557429 827893735 40943457 78581839 525020909 852201737 756049567 307526005 83705465 610536909 426123547 412069967 361887017 705349857 467043129 613095231 226274867 86665117 574893633 198823891 630413873 251802371 925220197 315712445 747238957 19586741 961094845 172315097 369309327 594116615 84200523 813216041 858483759 976798445 442623737 416593883 489904459 137402631 749301655 397298749 593894023 765483679 732923361 981729743 122371569 738111393 289862515 397220403 715923965 336851109 294679259 389426227 767324809 754826217 764961417 782843587 371492825 265895001 61938133 434826751 660579229 500248191 800962561 154808875 291027945 724954005 379327799 583147183 757770809 306481273 727143815 903823137 560348787 887706291 533582827 80953915 152778725 478987633 508983109 274070753 246720581 106218637 921379165 815263005 182122157 139734917 348808677 554687269 474955429 718121597 241619829 326827601 670958363 534742857 771788431 162656805 395094369 270970463 707973277 181620559 355946549 177452509 123501807 392730783 996750015 202507913 897877439 402115089 304944009 318421719 262857517 98172873 128177547 224280537 210948165 303426323 628419873 922088529 610345973 304224095 921300239 606456741 97399833 724239693 511660933 342507239 621587569 754758043 37109527 831755211 321103271 183483449 305322433 711867315 292733003 174636343 721432553 500358307 119289815 316309459 309283165 603714125 576644523 715890029 678785105 989520135 1994771 755814035 919491683 287180497 328464703 971334645 43513241 362891857 931506757 283493235 871993183 928939991 330776619 824211213 783428491 49575003 477298393 745013229 747891545 402091643 884407327 178274155 416588401 655907199 212487351 144575485 386957789 771251285 272831809 750440011 920822037 747903639 101482825 265952283 125718259 746057603 673594941 909815141 317749953 265606909 309486713 249071939 761680167 521293977 737343035 103180023 946465597 100869773 480514737 897482989 26973057 168066741 193987305 490122679 491649751 437446045 607857373 8234771 657183629 407318897 530270829 333573347 823812183 362938635 343389795 152352305 800035155 433926887 361946993 632478257 970915077 697042477 360355121 300222271 783762269 303508911 566816547 421860317 420479151 961722081 571191727 733893047 904241335 957595875 618062121 8508063 964747677 765599103 249195209 968443283 711119595 640652831 63272367 629381557 988172439 585078495 923637733 787897167 16599041 608281981 633783645 134138069 660544747 198001759 904679153 559456227 717253763 821080981 457989985 451589693 697576031 86404567 464884821 531199691 882196349 448172419 846246751 424307363 126912319 519772577 388542715 265509375 169806455 404209889 130758023 578025795 987198039 481729687 871829581 465379833 294624125 576408519 616769663 547219925 564754157 914980373 392865847 211189683 699661079 104872655 290251635 52418199 733622477 993423857 912873761 796341417 889385039 618027799 655066125 374608447 770332225 320502919 764329461 940813011 424987313 705089075 487284855 637690889 712060437 666838195 254512669 762597549 427053127 923263043 122249561 555123631 31993743 35094987 744034179 116130095 320010137 704193501 519068127 925839723 123916923 254717357 982247571 435782099 101540785 402770459 829606833 231493623 744100643 863463087 614357045 405736083 439292955 948679833 618493179 969392779 214236241 341919663 35892179 779678699 415556831 989749105 900143207 298230501 239843151 204174341 495185751 303385299 411500169 583426363 304133919 685739323 448806887 600216459 54929707 44671175 510200353 250483475 569311435 917936713 974254177 81750171 635794491 332054461 697057587 888008849 185311639 88554313 439482251 572960271 892117485 446937651 947266503 960778193 755798061 357000179 976434861 538684737 670202927 213062435 105367145 373253997 916269495 437934725 720496529 678972427 419299691 165877765 331652641 809376893 337327581 836404661 227739775 772465351 488681095 191629523 453733497 688453277 459475147 729238207 570708037 34973265 102121713 777264647 142991741 82336229 194749225 55992669 176618537 107085823 976333967 58483869 620524983 546570481 493782053 410932169 177892857 101342127 88111055 668641805 485177389 438583513 406120293 742881469 292121595 605007799 53282715 647243857 596328559 334467385 104605459 157960049 141890301 585373429 271529817 296610277 331313793 369605163 567923165 961584545 346658885 971882177 385755383 779575745 680179955 962281543 28135145 958471047 864193439 212164341 400388829 466762593 64371401 468908201 660393955 28295645 759748951 970938347 115589109 822045371 974161297 517439209 684919027 794787293 118835 449612413 253624233 308425805 296359765 306397475 688046277 851240769 98274687 898162693 542052323 554827025 262307997 260249071 883200643 357211201 428645125 691866717 339791119 908413053 52495987 163740265 600084439 570568601 698869007 312847839 243843605 70322319 109555299 731767851 715667689 779324035 740972647 68163941 143500383 399462849 704207991 650919245 465367141 93739193 63855191 835843659 320692695 274084617 312742711 623237227 579970933 300683381 568564393 959627879 244960487 694398437 395788205 258200733 70978497 415831663 665865639 49536023 205567611 885971023 825067877 440230783 270375285 911497189 630514715 547268657 278598139 406852797 339499111 765190443 870865723 478624397 100886861 622182931 426539857 181292589 857516349 714477113 894582333 17551011 939549963 435834261 480711399 607507993 337981685 180377029 562054179 761254625 318245277 769312529 421974441 495527031 228682515 3129703 701666073 855677569 328991181 885858657 622721789 355947461 851528613 611840315 746706889 463877435 725689059 649917407 772332241 837805821 87736627 486927321 193797979 444098893 635779757 42883685 486144397 220778389 233295561 971296861 674890619 666388845 595581809 904778573 405194781 695217547 399164401 472756321 210224723 374927063 124362749 700800369 967528935 312919385 730535603 122691581 824914571 298830661 619452311 590865451 558564057 361976309 759363481 943982029 474904399 83059951 361433099 20187479 895950171 536467165 192491951 576690921 759658569 236953235 951675813 503124811 686020695 123418121 110930557 251403501 765694883 642686311 615952683 571310821 46303031 275288053 365331981 566457329 370893829 560160551 102025193 775741307 381717477 916124057 187707627 356671633 657779867 496678413 871823785 942606059 198659277 656039535 534001185 415028199 944338703 323239635 78119607 23542669 975745751 947961971 349812023 567031179 750954377 147409587 936815065 812402235 262999405 395421725 238624311 836872089 780876469 13592933 376743003 334735439 721196153 146193511 599892909 523927209 696206269 904326949 293678087 596941219 879034471 826194637 970824867 270376407 713472585 836453549 114480935 138535569 447622175 570637637 516041375 571468989 388595335 172958519 517835909 642441715 910571787 697219663 174788017 551028595 654822171 921824893 665564521 170276131 821261077 735001823 338462813 591766165 51931957 627368121 555991969 391123453 286315687 171229811 322870705 710694203 124162683 546535587 932563829 638009559 799284909 531756803 754120503 494620417 64624921 986772855 451693999 824041103 606557325 474345227 764147447 315533311 586671033 126150383 442737559 956017275 787212341 144394115 861016957 360871121 52130179 855477573 882378491 167439481 644057613 308800485 761095121 969528465 155865125 717302067 615952417 132055777 950299393 415609387 893711229 704388823 489485251 487195635 354603479 383274635 251080823 924680401 862034573 26687935 302634765 383620925 949875043 969781973 456161885 530355409 48371593 999096289 246857513 770931021 459033747 545442199 281125659 812037025 761197437 186562649 879075267 455924445 755434925 216250667 527588763 135857983 436602353 668961983 568624901 432582439 221680511 460564075 986096967 67078179 733783793 516584239 215227799 7592421 210587471 652358833 311220747 150415689 730865925 156239427 856003237 137183567 298873065 364276697 860566607 924720679 369738041 627964179 589987289 968130595 166543511 272079929 94789373 930483899 141761813 568396091 620758363 518892951 678550307 768686767 809606527 797932927 961730723 891562195 360601047 646851943 525358041 211487377 377610687 153119595 86900847 458402423 883613815 80255949 860407935 792381373 450936361 522956793 274436995 574106945 32519397 425316227 126851425 755755657 662666149 736672547 31617381 977615049 125807945 218048449 395635017 464749011 196248477 197797221 311809061 2335529 863082063 356430915 395796863 829603059 24146939 193652151 112005703 791469309 329508129 559822149 688598481 274508227 384269097 81635221 252286683 635434847 484771687 222758781 704535687 414730909 570780179 224923383 325684069 474981865 347203405 657227813 292446315 886592091 202034721 146873431 619461109 336233139 570009981 534625531 49642183 47902295 856337213 682462895 32440079 634911319 359954207 719441973 497135459 768840811 7717841 77182331 399518657 936657905 817132511 415575185 942334605 57997553 880412359 7003827 596587925 227656475 118987751 333708101 897646349 727264453 954162059 242653393 266370195 472261613 988718561 375523853 164944427 464606013 212353029 63128785 169262917 538071811 650951925 986747171 727952309 423767095 253200543 531018283 890365623 513068919 438031055 84502335 958039537 384510985 443012675 407962331 765183601 380246753 866131865 88789407 86922667 870843793 126648411 514826071 207963775 583482203 791478267 784050681 884698671 399197223 145619667 39002781 699622249 220762497 409166625 486051465 982082371 996991909 745766419 843462695 194977851 396210797 87821493 185820169 688260915 270232677 792680197 603554283 946816125 337667511 882158817 950052275 582867147 83653953 109570323 72669799 848160825 677827451 250261069 130993471 332808017 89353619 567961639 881202837 499736059 982383699 822778405 956542187 572258449 9539893 666703021 179298285 620039373 776984407 330168337 835791725 788849877 549240449 28717965 943025769 83687479 467102755 952330815 373755393 340025063 964566097 164124721 311365763 557393475 563883215 403919701 967977057 155385873 606469633 372897923 266283319 148428669 800395255 257147005 475539655 121588765 466479463 559403757 417393661 27128045 624010931 785234789 599890411 629948757 929869537 423689819 926871247 434392607 49477791 987111987 150357771 227655811 983903557 862113845 666956841 47798043 992289235 122938259 419738589 730320623 92640241 152771685 664677123 818313325 649945837 940995245 167580829 625637991 391752381 973441877 470876887 180524829 328220417 44071215 305684485 653792563 753847299 87829489 49023905 894749365 20585389 758059839 105183565 914338331 684140189 432039327 365281241 391680321 628433675 314888071 91021875 536508525 885290981 227416653 475727993 111509835 622544821 482648371 805049069 582910961 758005685 651264611 293997821 938904027 636650691 69622255 615600183 101286639 515306599 188120269 905393499 236937339 13823439 401395167 254341451 838167603 468408021 528199409 154955795 485310263 136614133 239575475 949370851 674067721 244680281 741226173 519799321 708580503 575303887 200379025 169569849 917115703 530015439 400338073 692820203 550690215 999674999 873119269 818717957 800961803 50186893 9831791 425033859 731939311 189924739 431404183 315244421 384821067 181134961 785890985 957780823 508466043 601961491 155576469 160608623 82940739 978973137 35607603 940097637 523934931 552107709 994485061 493859583 635204285 505915019 341331571 952144677 367631105 295692957 862635089 871727855 592165891 1907959 238864471 309180307 25929105 701810507 6899687 182216311 146078175 608229359 381398855 410691111 67654285 542298339 914669741 411822421 52832669 450141389 384187695 195225051 957638269 968563197 366985165 778819519 340808449 252164971 59547765 436205611 599308907 226559925 840050933 191963761 467732059 603718179 311609351 393197327 725323747 461942691 583646795 47147173 997583475 705779151 36427085 896100097 215462637 854607331 489992315 689603093 665097363 100508617 463795761 784146171 909223445 506500367 457615535 878658809 153490053 812226541 592784669 117065337 135167075 583123519 51362959 37896207 465362579 763541649 837110525 783117173 992998753 448396559 978979399 975403149 319089541 701334163 478672183 454752357 315382043 473176473 807581313 498476079 967925417 68785993 470495673 124261447 487766555 286871157 461540453 78310703 501461959 921704081 755722475 771270803 761539433 680704189 173373343 374469191 230638375 5107393 506733497 350142277 11597967 962731533 746715225 507075247 428945815 11068599 237146505 445166293 389884313 226576511 65421627 822022693 139832413 106481611 482115145 989825597 738263313 425600171 944634227 996561119 599759687 188574167 263352929 83119351 262962173 124188077 771049639 120150937 367557275 804968245 888116411 357702399 720454125 625414431 732290817 102109069 387363621 593235135 860504771 588154061 804137189 28501273 935889199 10811509 137289777 702530511 442610271 28157277 621064563 886796341 161775703 474114185 14891397 937426497 647426045 367985191 97470113 332998543 217051171 103536263 732183405 862355051 32339589 243392805 59865591 193498817 863767233 480343973 590573235 424248619 133596001 323765457 145889665 551863269 905886935 143309215 556601505 250988503 204907643 88716327 77790149 666814865 881611665 977164463 150809345 249875021 470257727 217318047 321052115 319126757 19195543 672261005 614479389 986966243 920188821 916419125 627563825 285800823 710864919 728879991 432496319 721359991 197261287 996513119 998677993 108984675 936667831 694778915 738914865 155461217 825918239 69813019 960788103 189201729 177294241 745784781 285115453 538551419 501498791 731451107 71027731 147951149 477888131 996405039 458858797 536640799 288357995 681128111 311967257 941143487 594769283 621028739 680757195 600734503 841088211 293656825 792472225 379032595 655115083 525514883 46062431 196868077 358095049 346214075 848651317 417340355 727587081 236662375 495224247 377520971 260667575 733446001 128638945 148308967 736077923 169699819 610077467 847767963 703923591 674270483 559671599 294443545 615357829 804133451 126304851 57878969 486753957 340050461 974897191 755514999 43691287 333369661 704363181 368511227 746431993 457070981 117269331 970998167 269839943 1239291 453209071 157616447 823904749 773829833 866719167 394403987 134188219 2562627 340184679 582581979 744260459 357378019 269026035 783017223 934849693 278188107 321287899 47835821 630522845 935468873 652771067 435579661 891153563 679378129 239245465 60957709 898419503 162624507 723444319 807819581 91239899 629779467 422493031 153962709 488248265 862959469 739095083 124098739 151618569 632785589 845698961 317465437 538821269 874460573 156152295 543381767 501646669 82326535 217513441 163111555 944968445 860337411 4685727 286029397 914543699 980415 289809315 131204513 200216811 613613721 367208411 659559733 10230341 299009555 553138845 892987533 36655307 957239259 388811173 381377731 792688845 819013569 115778331 903181731 88870277 264210625 610244233 278911129 604230163 726127103 984775143 196238781 91485315 381531589 390737551 902494927 27021507 837716105 473715787 245454391 309096879 327527395 484547651 864207873 520074247 345284503 959880209 531482855 312786293 389873811 849208495 284009287 105138055 589709799 867018627 819969579 831238331 258779087 748050265 304698941 238276465 864938671 790017385 837905625 902464239 30549523 426457679 366996221 420691049 694704043 52006161 527052367 878726649 345962583 430807579 754019359 527139231 22223639 783315523 332069477 45835331 138052629 929659845 548517055 757988025 180795303 413749065 881563509 577230009 415526729 160719065 835555445 675616739 229854363 944388331 135851095 985583299 108073579 660501855 844597597 256549831 128518571 313397879 371704425 620972105 632991861 102515681 603356175 557725581 195618575 552362419 831375749 206281145 163324643 158100843 124492711 880616673 339939202 821863661 167285249 884459005 124020653 367184261 712070591 544803821 965274689 312389867 467492537 422727803 21064013 201125947 145149551 693975385 408824579 668482811 544643335 890473249 553096383 900866581 740095571 835001425 740092931 302691043 125357255 340198999 599217019 356910111 901561987 669860479 746566137 509756655 655536207 479010567 529565051 539921889 487653531 700796429 487466017 470093803 765612157 36518555 678866745 653310823 966230707 113369507 727770679 815877405 864179879 938368767 136978353 564427065 103606119 764228717 263249009 319117905 910945963 493857945 761110109 514025059 313571281 208886805 986534281 860421073 960956641 955114583 850847027 182506093 285375881 441093315 671493309 964548711 263800867 529423265 460292785 143252833 84875435 345714979 568163267 595061597 951180747 65717347 581469647 590888395 343218639 242019935 463163609 607752317 588488115 739065091 723720713 541703859 264586769 643142689 139961525 4378641 530739253 767041647 232052055 640233381 283913483 780344977 22202515 999553251 589590059 258878991 938450995 516698281 962379477 501104731 173181997 61263421 781839599 367740877 75152793 901065291 799205387 430774439 2277819 823397353 292230237 9159187 471682305 793928083 453795781 591287075 929747451 60876849 596921547 411144141 140962917 960560141 673805727 243484661 608981539 697188317 719890709 466781793 218729023 545428417 255714737 583375815 198977007 871880251 226272407 97241021 327508363 641474873 699779735 268005319 725074841 933615891 285330729 440585803 206780865 837215105 221940075 881835419 674275803 600244397 941545763 925459185 490435293 833993251 606802373 391624559 197578733 883006423 907193699 664744731 514770263 542571815 872451519 887484907 217523083 58864599 512684865 97305781 715110441 476546839 292705783 320341563 971273969 158182011 80724119 313444903 308390093 519678719 16035203 421471753 900228821 718156809 718171071 291670107 117837119 682598503 798409725 534733695 284279923 787755341 32136595 354993341 833255415 409421147 400832897 741559109 404480899 744757651 34440557 237028659 81021425 431253603 941994665 213289095 925175875 920582817 952737065 169782315 420786853 677689481 163501197 201940719 393818473 682998979 827169053 826255501 115632141 801848665 148512457 476567205 548301361 793403587 969895461 403573187 962957475 724075741 774832501 76340823 620822613 456807915 246269341 702622647 89208163 775380381 358930221 105293609 267506703 937212933 300199261 535104213 452750277 448069283 281416969 640802507 32633881 952891227 707109821 252838405 110749125 570874235 954942631 340048739 426812331 481664695 503447451 910988465 498173403 633377325 786456603 666794909 917811331 231981923 629229135 694348995 267070721 503404357 840357891 496553635 913740503 120674601 700679603 466934949 105956017 484233163 636685689 46592029 788670819 955606611 12556321 510313283 385170151 891672395 682957335 789429815 855651169 383922603 180481139 998487557 88101403 754770893 737864181 332426651 953376905 909994617 796909571 166860501 417985351 180488157 818510253 844675953 618628889 809677451 287772843 325420573 115934695 117753475 635742299 289186151 138063303 180024873 10448069 998151879 406584307 69745481 868158361 447732129 814221775 17705499 906084653 975175231 430146535 928422459 846102399 907754191 443755755 780940207 343789369 905182317 922380985 632354275 678067369 52914199 633183061 499381931 868600519 384264123 736164329 135197511 718301233 285163813 666098119 479706973 841804845 313114899 467495275 375939575 538281903 576286755 428073337 246746763 248885321 555451871 148396477 866908151 403820861 232631225 250254375 156720513 127409267 227665931 402453975 281797079 488864119 13521685 637928459 492527627 22699653 358195199 83582771 268416667 792836983 510279643 976502751 904914031 878946519 164945573 595814349 462790609 694002389 395422267 493595869 48098681 815592007 628110695 29173789 279120771 44189101 283274971 502164159 158493811 907621423 519349807 523688221 235684921 451161753 210469095 781600701 420668711 156258917 736394601 200564297 462789885 271037105 601428489 515493011 522926561 103801157 783469053 514542489 49879899 821100431 801393257 337465979 280133479 894897577 341222229 767844231 19515229 562960721 541640883 643473711 258864389 820681965 715880283 287781135 644334987 999256715 310111761 574349033 114335363 323496679 358165627 448633769 567582959 395716189 521431083 381644899 22879791 495250933 823122843 522237263 189549845 322177629 228801325 925251797 433706705 203810029 611796521 294747261 251179013 769425573 188828097 972761595 518560691 117029165 508147213 214990379 928333385 5392849 52230415 956558351 955563167 198669453 517400497 785576403 772898029 742573819 661442245 890507211 815368157 60639591 661602305 643727217 880844155 658810299 6547209 358995049 817136187 150728339 581569125 840804221 505586683 884232749 361749637 564266401 328695041 955063151 703575237 657260785 6242551 493505771 174561383 309544369 967087607 808846293 287854481 174214985 500103035 660813069 122340949 533329231 126911851 252357147 933489581 158640253 15536401 641671725 299817593 6016951 216987171 800806685 335771269 226059527 737216449 626564199 426990977 846056099 138847597 649292853 673006085 909155811 353602581 135708757 80553619 637080139 213075215 987397951 708065429 171056265 900271385 542576911 631244123 212061037 139612501 586269329 388707615 353215731 873691221 363577905 128274433 566233919 104139531 662687497 39228685 793621405 551123411 351635413 189278515 48655229 417471863 645222909 912059979 413417855 757308447 922622611 596080151 486600289 711461477 412282699 375988031 356156435 974456899 472674693 871098455 819029157 986203679 250221899 335770839 188650835 179034055 510698057 484898337 981930371 675399535 249825495 735584891 786806715 347934389 610311923 564240411 597319859 760805279 645758281 375313431 500110917 848828825 132304419 597143921 68350065 813593721 44472443 604674577 310744679 230027133 722189551 846423499 431885687 228356679 674268359 51897175 743150623 752405991 444456177 527134549 774434559 267787731 68178183 232115537 217691621 442967271 464353861 645282489 258165955 883400807 26282645 809589737 383072949 546159361 99106181 193492257 197677821 266312141 983356749 566792585 427027975 33259843 54416841 464187957 420841061 803529293 486862213 376001821 610026965 570146103 82475181 813228065 412158519 371799221 8823833 850749965 918544025 968979173 868288587 978334095 970635823 926220365 843571301 740448833 227783503 446336217 512215865 989671847 313880705 31784157 55799361 558759465 36445041 854372891 350139031 578978325 595411437 132370099 285154821 276702889 949884149 175299637 420669947 154719491 521631659 194547349 495320207 61601069 873779289 777140019 802660737 770316571 784518515 529394129 197529911 290858401 699474069 639178141 417724865 59535237 813248897 397787181 92770775 686993005 888971557 109751935 182924247 83356653 323701903 864609783 792145097 646272635 998059007 748050785 416316765 583420027 671631319 762514933 974851303 93281591 301518755 718832719 215713387 169027037 960889107 666983795 601971083 120369287 830038277 488777169 62801819 282611001 627719805 260948029 404812945 811471577 671238563 598899955 303695881 785210427 745431245 998515865 67168847 120814869 768231285 504880445 166358351 482305291 484800319 617252691 197253537 159381157 144326391 356481721 638118789 175133269 751235469 602250165 454807011 793670003 835502367 177880563 361165127 12211523 227422705 285227401 522964205 783642603 686795117 745567221 329622959 665041789 602892069 674985753 761577239 921530613 419158485 899779141 92972117 33970993 923108449 555379503 975522623 526162427 1024213 666581747 574776149 183267077 776795489 61953813 881268925 579056871 994985829 988937859 905075527 382564387 419253345 523809429 533518699 676531235 822568703 884070405 243752775 664713785 134288407 377454585 350314403 285031067 186357151 405118717 391235309 409653613 649867197 935303689 195479615 488640951 997368253 319372665 678463573 18774123 298202385 50030099 473459865 207740257 156635221 178095107 451896857 102562395 480198731 229898207 645107339 453802499 490337501 61118371 36586833 716668649 644373539 97777077 417721967 736644231 512616277 949086693 834753943 339428415 72944597 326845027 624479521 919762009 337924657 71218897 821948681 464631559 685200155 554584881 80234487 401180001 476766831 107386097 606476349 47318121 695589423 628350439 107366607 622873097 424484743 351370065 46045261 888512529 717474761 403580627 909317631 559891771 326479219 219327865 644556501 441935401 437419815 70127803 103071845 727961185 787768495 336857973 651579887 4736857 904434687 239827179 941754201 642442087 825497139 317909453 535776307 920246477 472223373 184739119 628276403 771418805 750000505 500479373 237179067 56395311 758892427 994011597 475726545 398520629 64303229 371513405 412214565 930144679 290913843 332255633 982807691 242422353 433467831 339533287 338822535 131792355 232303165 882817477 476354363 180764149 86581281 701183767 414145659 44689417 555156455 628270643 708919485 448557191 442473271 460573399 15464733 217414083 297415655 770101029 906454375 105919221 99371761 730110127 989824775 557243197 744062841 165760869 536933397 383202471 443180491 602789545 145900625 591037729 720769623 966871613 504590371 394972039 952907963 774169425 494677399 75087513 144726203 840909175 884850023 754694657 876685119 642545583 521579505 851456335 445380957 428787549 23702079 129003259 411128145 697019727 664413947 28939115 836432763 670720697 801350529 716877283 70772071 342852153 465656015 316345753 899051211 696193237 578725003 878498465 485772927 220637945 377623557 379777281 169694601 969784699 448942901 13601185 984991763 191211671 608614841 867839823 624191087 531157747 585218519 328393161 417440793 184762525 856001411 227746477 956660917 846223883 402287439 623653511 104376079 759465239 766242175 96957893 942960153 651655177 65181941 690095043 931462125 813367951 479767621 672596927 655556305 286191291 672561315 787385831 477192751 867588621 166977777 974068295 413350811 149808745 548129461 888082397 152431053 494103323 492961565 389068167 399402925 686209499 247516161 107755279 69694785 647304133 523416801 90576935 133456065 384203357 863897571 851041641 379941255 488209555 803283161 383633237 148311829 149139387 950521911 191845715 497580567 966437521 408003101 933120695 93103967 685804091 932626259 88300471 208079595 425773383 440726089 484261495 174451421 582591657 844542485 430953983 480263807 716939457 145034613 861891393 185656133 989297745 940003795 224956951 200612299 586854791 785045565 173335615 821566163 13209849 839380587 582716517 875824201 325072035 292521403 782463771 966799425 716106477 535911477 166979543 333282805 600062369 205871495 204801533 174705863 145712887 363611659 373071317 719291207 199337099 300467645 275607441 281371683 283338337 335753543 616992843 841708345 637441001 915747573 411716865 520362635 602101493 163233731 807756703 914798405 413857989 973252171 670112759 582953659 389305085 73398233 149856959 405585255 487199915 515451737 887079579 503810541 881966915 122829923 56541459 130253847 302389667 396756023 804333465 344778715 616102161 990526651 445573 707128913 361099833 499720063 251388441 460341439 757704239 193596603 844796287 109659533 573092725 912722511 75769289 156145489 634911979 536817343 161171181 248381893 558241505 169941565 817140943 134642893 173920269 673145757 167750199 939674997 126953097 980330851 700897237 284062445 537687775 961863347 347477319 753990037 909940471 902258781 949754889 629186539 302109993 434630105 623554695 315614111 133630771 46374981 206690577 981885569 579290425 332404071 127234785 785532301 834856647 925067955 392592153 538563047 176080853 953859131 890051009 136838107 125503423 250554305 838038217 330352603 239163467 266558381 207665933 690034049 775069861 262130701 440718157 335153811 686615649 610212247 444656435 818933243 15626879 880285357 276066895 314003659 891405925 198813779 725266714 505737025 907659997 333590331 411388409 111580605 465407261 74216635 555370545 767465933 845216707 40213971 570075379 677382947 273738709 942913577 563714651 12258457 713926591 145953551 525204585 593454901 146307671 743513209 19594759 563735329 846149083 863378439 201389573 220596913 454289647 57872897 494905373 697604957 581515679 485539415 171363313 106102989 18417763 353203613 437406727 991178185 158554903 272710679 781707477 260618053 3437567 760164521 505518001 242602333 208184521 622565859 395554781 948045395 466556813 81689339 90704769 12117907 390102981 727392467 502889137 763915951 616160599 929481969 61538917 327107685 799239569 50954883 908759421 163781527 250676775 379537251 364070341 207351887 105761847 220063501 540572907 427038913 341358407 319897003 304017291 268186697 2109507 67149577 873365029 312375913 116514433 264949155 980608545 32290255 408409789 147418003 620189395 723758409 583491101 974286245 193591411 389251287 357431601 852305477 158080289 619048603 733581545 670632075 659538921 482593247 104360871 280672053 406372281 914339865 150145581 237916591 391665261 506472929 608664745 35529987 476497349 710727163 530226611 82541291 403220585 978625621 236899139 401549509 72842477 517919999 572712899 309162649 509108423 64815925 834077951 904214039 220747101 813817947 904236331 113419669 796749555 384911611 494289893 737765137 891508669 550840267 161105713 63670581 821358805 754097315 859917951 918555215 925393723 217489799 426024867 870778711 384094423 147752869 915621849 282708713 875511675 355854413 422315719 406616145 170292195 466142715 148615035 776769659 596365997 448336211 393261931 832422145 890223459 703765025 114049905 926140191 543026553 624545879 675178197 533532863 55871299 534023951 921740867 555186541 250137351 830166927 237383377 681217379 796930027 211434561 267299069 857712257 68520705 207326135 405903275 494176075 661502533 321430445 482619175 116733427 269390229 626523145 123647017 241594703 206966203 741614033 378535117 472092639 681650025 82616893 101224855 110286537 414734905 633729959 464277111 857639135 787285417 46790289 955966911 334892437 909119013 611168421 696135471 947941387 113722879 600231867 122689771 881489929 94814829 469237961 332163713 708351741 930392211 236949239 797338597 232973569 902426233 834784397 225195637 458030035 462633489 150826495 107117047 113779159 483733555 131783911 47543191 205439265 836813731 460524811 90045163 473892455 615753223 361079637 459075311 660338695 445251313 756184793 871251723 740546311 574942939 15223761 553263625 656799259 394393127 908684959 536713505 266795157 588634653 656184017 88200941 314713463 147494895 163901979 7394935 552979049 34228149 187315539 220481063 179018935 948159859 767351171 237293269 234768989 24333839 242452177 461603007 78073077 784047707 547116945 799459465 812708041 388192785 755233089 127684161 727390153 570850515 592348547 399520347 830391435 620047145 544246049 419474101 964783439 392937347 983138577 345508243 107774715 190402879 414282091 148805797 435253793 67686297 367582835 543649791 48826355 581213373 337260949 379256093 18720087 10074299 53866597 350531557 997015503 756362381 592359837 408455589 600436363 91983125 374362657 240271379 710303589 683659289 417555965 590552649 44613593 262260047 598669665 569798607 86673425 839996237 442867115 702007697 69268955 296279189 846878815 896177895 345657263 685543569 303156261 994271369 497743273 35763857 782215635 179757473 991829653 723196623 100738915 103827641 198408415 643734893 859706619 476468937 918482337 892928881 482846689 162338349 709186455 525443025 895655821 617865641 812640809 830786147 554956439 881129837 761111657 224480489 288550341 341872141 946379787 753339917 554170111 117915013 807249007 59058271 150061659 132359739 427880863 800720727 520492309 134694397 953731399 823058011 176318093 578208511 455807423 859371953 179751761 89456863 381504261 511777161 166176787 991451555 269262789 480737023 421506221 326998711 498533449 120353043 190514469 551654385 823525259 133928365 589040293 145274509 855950889 406732449 733581439 260519987 333055339 867745447 444151087 126255597 53718079 378498655 925804379 796128563 959002687 766284117 818272459 199115487 559590055 366534391 117667187 129924665 345879905 836862369 501797485 437352431 70463483 446607251 319333631 37335827 285167275 425294325 390949779 288238117 721254739 466858459 825818301 309835273 945756793 471525181 321082933 568827661 167519307 129857531 279996899 509421029 572609441 248416993 653423823 204430511 476407547 555022493 843075629 46747119 325855617 132032203 59202137 306225045 743363583 406079209 739873749 645738997 497700849 995527013 435276365 152262347 507742321 332059275 491813269 687255103 756689737 217669017 781163173 426109403 274966505 206650285 241424549 984794517 856223847 118011603 655256541 554186445 614288515 532333305 868464323 441748805 759034531 926343929 69031663 939603499 553744087 709254551 205938725 78158613 814576599 863114873 838047569 555386113 988747265 923005235 847907207 517271377 915168349 185390651 782476545 67922135 739435417 766810615 437369379 915517125 907754767 634339243 760359543 287382457 297687995 212133515 766442417 758823607 971986247 133663407 768772783 644041263 262029569 662366747 929606255 680957171 933316321 746834357 306450719 938066755 646833283 781410897 695643411 580616643 960250419 32996261 385104839 498536065 398785501 177911125 503856859 886918643 79628825 918198249 611755803 710034931 325103399 759042515 150425981 826647753 979627503 910824045 21541401 834375201 178657021 392300789 555771699 627262993 595148683 94901143 317413945 792329749 903179385 601471589 881522875 339440661 436154187 673456725 245629301 867294555 847331635 245347915 858623309 789791135 250904071 472739343 513931337 132232187 932731207 119800659 69038241 688305145 245863193 207825071 736425389 112577153 285760333 213976743 397901555 957962987 107788379 625377441 673113885 239423477 929987169 6909935 532004605 606648515 113910823 844187851 112520337 699953123 657563675 501128023 192672761 522112585 316291415 466294939 50101379 113783379 678557847 70831497 141074849 870216903 45325125 203550713 115334125 292729297 443207789 37247917 903983149 120126469 886290891 446588751 586165835 540309349 47684795 918493551 223115865 969979473 886066499 558451593 42241941 756991641 61907733 324487417 656322399 244553843 985825417 76347917 246347333 1203065 992051099 802749685 339768569 601631155 962803443 617972425 631375191 782374543 231888609 874989707 751572833 582869471 449161823 96200229 62174787 923713761 659963911 992431463 723159377 823208765 341160739 524505867 923880197 276116479 843946147 20683187 629157377 453103771 695114269 9469671 30989331 535223789 130553551 946834967 558020909 325799231 36839589 57489823 864400491 767160123 797886761 666975679 634320145 92242677 835694739 871628705 682426759 915511021 938419397 879437909 824560737 529016839 664453701 950718933 633757533 971277969 570949443 818981891 577351261 700993857 144688275 635293605 17896555 564637233 980258489 199591281 629775549 197863401 717424855 26408701 71442859 910987861 287827393 729839563 137982905 767689163 392972525 770590275 380554901 937817095 898291575 371442361 535804941 379663153 584193323 363621477 879748387 632785619 303989109 314202729 41766645 914457317 609152109 209979595 995985871 776436419 9590739 300131713 119420965 216093745 380494861 814014815 300660117 51026527 160355629 611964715 883677149 198151391 214293479 159275149 634058221 737788593 864960155 389518613 334512341 540822329 214215761 630279485 49494737 427049797 421642169 664776037 267204677 153817609 829359145 205119703 922527421 388568611 31905953 822556359 571234793 749014679 836398791 663058249 973822121 978315221 574168555 770629731 628063227 606580913 504056837 444422397 979758095 786646375 947701425 963663333 597371189 442524319 76415035 88770265 191176427 99569251 549137041 722749815 589407953 829831467 659326535 764411467 201760693 278979793 229399457 926153667 379239559 688617373 482530177 380203835 168073575 554004283 217126011 79209969 403583125 578507203 378052547 991891987 225517949 898619565 457093179 789571501 693545393 532845539 526365545 531391421 172376045 100828849 403146363 921198881 693408535 803427531 297946953 353138085 539269431 671455055 393035603 144765687 835689601 716276673 182697663 551829937 740153935 437506321 466211677 594701399 170304551 164169873 78603687 376623695 646899891 320207107 557403063 25533165 537236679 467004295 704376407 202582119 22712925 561216173 870675959 466608865 113235351 42240873 476749229 442025315 111256515 842547225 640945207 559105247 570660435 905192835 30778623 447052591 287585763 393769427 717087507 231853585 515079477 629063071 772730923 682923059 568898613 959257317 215801253 894397985 526211319 822775305 742080905 172883801 131871925 567549655 611611013 795131705 837950163 561570695 473464307 708379659 297176539 95740339 894576335 17274881 72978561 178228069 98422465 291651123 689872545 212460549 729949211 13948835 393766461 935119725 299102673 645079099 610799747 742702295 714043525 306628045 949757123 421252585 522458493 159117583 239411577 125057455 780879271 974964901 381088585 999574433 946960027 210463767 109332989 992035485 497675673 363436247 477498761 649138659 689222791 89751869 916044041 432216613 874727669 904828813 910842305 9775223 945998619 815982829 178422809 278565717 46913241 82323055 344188071 568933799 787008179 185780749 96197927 488132535 600871129 832107433 738634617 999304253 791138853 608835595 166870185 482007891 885246229 329604069 286104045 530528129 647116495 191214799 931617693 193550517 723090979 541154379 990209087 230164289 886723207 268440771 70843259 380628709 745441053 627612807 109909287 878926787 225382827 914705617 254142527 68971885 149880225 812780739 668456931 873392085 341661459 938458213 893936225 346388057 738236355 827580327 227285545 94252733 169477145 31976805 664924891 2266161 723912227 403969633 687500855 680134217 310395031 623088191 601733927 561731585 963810261 932511383 519233731 105093823 382492391 539664861 6034241 968401745 347601529 391833203 646158087 476604653 978559971 70511013 204464545 708945453 704949797 306278561 785222849 522135065 667172069 399826819 147281219 689931037 867574133 810396749 558391849 894764047 154721223 290548195 604102047 709957421 323664769 319612187 382536183 602281753 279945957 103979949 895991983 228304869 64146403 181307707 335543143 738861057 183218453 967754827 979622125 267074383 357439161 305754963 817117235 992899091 266119093 6930345 347645269 9472503 999573145 945382031 291477653 659110677 77118619 760554541 554643295 278547687 791019165 922535575 596915527 820928851 321029669 204094149 588768519 857751461 913621089 839289751 864156033 679380375 870738731 23713497 294323907 432888897 258829311 775368761 417909505 894747433 576965383 964712531 734904723 994552639 975342607 583143335 746971133 229958103 259790737 81219487 677007595 254659503 329534381 852489097 399270705 755244521 61891879 428923299 810469577 96589589 922950257 342393869 545919959 430217769 307102883 807670221 412312997 885270399 392153719 144558039 353844135 933384673 227657563 105098245 478298745 446710647 252254809 781153303 569382622 34260185 429050667 90029749 584672449 329967621 627684655 277812851 38479925 639660895 537749613 803993801 768628341 794401973 328468117 80506135 513399525 108819515 881730557 213704103 692987921 362387341 618429603 345413803 685827753 461199029 883517745 757893949 72081547 983201053 628353525 128256605 476613051 825499803 288609253 872913395 506838369 806156907 702944163 20806099 638612179 237344307 74124917 987659443 252592781 31709441 900953929 800545591 442566447 471544905 164459449 857998569 238794885 101038315 152808705 411012919 127678085 998363689 280257291 612475 239471177 93869745 191081827 279872249 492694801 337829785 942938179 734913495 901176141 468163423 439696267 327510569 406814093 806007013 693504447 418765797 842717583 767400573 813638417 131473135 334804787 157122777 648863831 35958287 370901383 73237 665926673 646847991 495638461 661434555 301292389 96317505 479872559 361948851 675188005 697516651 234759523 172184663 627919043 499586785 717998851 469465953 939473765 134037493 910486753 375255543 674404045 510741725 451830267 573526951 619551339 378309821 317297 471840869 387119193 30026653 84668817 430637967 227358803 950762351 567070413 833307371 672107715 912154381 999052481 116892581 474718135 512730933 138866479 564900691 633762791 229280147 232929539 364108017 353216433 55383991 775691087 193883111 869424667 390436381 402755665 861504255 665160665 736496417 602134635 578775407 325380669 497069073 966404903 678880727 607926857 655654941 952084025 202838329 689884069 378282847 24041085 847091717 500478365 426272213 306778869 458834701 148363307 784851563 202619341 482507921 870534895 663810545 790480729 968054069 805162541 381421089 783000339 544604933 881825751 55785629 247975583 55796857 688250499 304634861 872120007 365444973 713673329 126925955 289993343 594469415 625288327 208019383 112358883 273938003 78435669 223465675 38190901 104165383 837316115 575185385 196971491 873989823 58787743 916961569 555992957 246218849 638401409 772065133 298993343 27050555 486872297 15437743 845792909 815439361 933329837 330531247 569781489 39693523 226818379 695559965 731969567 907545651 481339885 943691925 129155445 241768719 930697057 441074327 961039985 759497917 528491037 488702093 914527683 823299067 727590467 503407559 609982523 208069101 157493913 411542143 821802965 325658911 215237005 857986775 213265589 171500681 207101495 798641623 328579109 918888583 162363737 746977391 817809307 617215453 218344021 177225851 194572719 34177723 333345343 64645563 653224743 662679475 803214027 630823129 184192493 80569029 573403993 955329125 947132435 600223317 819006963 195257305 382082773 207792177 202537027 193534613 5647255 687496333 177739429 77261541 843827941 340823305 976354583 683356407 517508977 421174181 340688959 778880487 132439317 403778005 256199279 95964853 121492439 701777767 148144793 267531083 302595297 99438495 475197283 332709239 872340357 785504285 626473487 261951479 515718209 325054451 804523917 583774059 674628021 766916753 912220023 964940633 645126575 935042777 852236041 162227511 668728865 613147661 431541293 805411161 955116071 176835805 901475953 258202117 733806339 785686107 508182027 550784099 562484513 868116231 432496861 453508993 371286291 957909957 999219053 978684765 817693847 229497569 440989161 957305813 564888973 789117203 38743849 690663349 359910147 405087863 1921965 448659883 628503083 769686931 110544541 598025555 135333729 705149011 804387013 753510445 188751655 696209165 629373343 842015393 873625385 915176829 755608139 109667587 823900987 41260489 160595085 928832649 198249047 817080703 555036119 43031127 534313889 319635605 313197631 588668023 302715747 148058213 520110469 554439895 860446737 599994551 267790351 43371603 129315143 688827065 769816045 740101545 888981703 285711357 18873303 329981061 709059453 912554369 896098347 18880121 625330813 463977645 197837809 225794557 348141569 545720909 497036759 654688625 840548461 957759379 484215095 77539359 188852043 638841121 125544205 440514361 95947345 837927419 682866947 429247193 328038487 239192203 703554663 139820797 847359073 262925227 641566511 43610257 215633565 830194069 69058813 47510119 178691419 780221167 28185623 412386357 322640919 968243655 145253483 375531423 552104053 84325521 455598737 937012525 463342399 798390061 576021705 965136721 702338923 228277723 577630203 786041189 72652561 551816269 450451123 742546599 422265463 28736151 996630059 576532291 872823557 169031735 849491779 123203403 15588945 192496399 429499263 43021749 446983447 569606769 16979473 702158693 440942135 52188173 924197071 795659811 505113023 219172613 198775095 457211809 934471647 608920795 464210293 233848951 892288503 538268287 954371411 375629097 14634885 970584899 74478921 683836189 440231737 956864487 488173945 630757285 159775203 912468367 307990697 415286011 442985857 169070793 790631753 638814529 258010675 871641225 212714093 216662399 754978631 282164525 516363993 163998375 751227951 849781625 119898609 320900753 162749317 801650077 297305283 518658303 551979023 532348461 787041547 166266011 539320759 659868453 437515301 391011831 868616849 156012269 606213655 449478281 741553109 648969039 18876563 742690739 145235179 311394945 973863919 819733441 549816411 872816163 156105259 984122083 687152857 300746295 335738351 313437745 93924415 504565291 395922311 732337837 496069781 634384853 460412909 163594305 787692801 739165299 673447873 676779709 94392023 451575209 343608903 550965467 169100437 737704579 6560881 596483389 616706781 185096313 58444245 672401259 372294009 938238055 865831345 525413589 741272669 5126547 248137199 924004823 854896805 716443815 955437599 312416945 306763667 385800893 626993779 392530573 632995219 772335183 196296399 125460091 897034553 484596291 632061369 921765493 184746047 605965543 578064737 624737373 706451081 31077103 465637531 732506873 843824417 63349371 145809387 379654399 996553531 265062923 739769971 989416453 435715379 643374483 334873863 730614669 68857741 144407907 728139035 308427263 857213937 379997497 751569361 461507503 875304501 159721789 857150703 290346453 250058579 551193337 71837155 485949843 837799023 469402213 692565189 53592815 902878675 577946843 471832917 707972063 709677557 764611109 460541945 230062905 451927661 553313643 318045379 46305213 857385217 556827207 945460839 304024345 859808409 447627185 318779205 679293147 659985483 632006931 304731237 55391101 700486225 274110777 419285111 979293023 308031247 272369495 723752657 251501517 270383633 1185803 617378931 826235381 670179081 225523291 59785475 769095155 662564049 736557747 391898065 8792005 403635311 612420585 855275219 799739993 952897035 431187513 972938667 407960701 615302653 339005003 781486751 262629865 325099451 62746665 270976927 936273987 741658347 990030921 291192639 584121871 87189081 220951691 906825667 932042177 978684151 781618993 495546381 400325299 998841567 828966889 556657329 369576997 899753047 759598281 187602659 102877759 582014665 138754895 94983045 691134741 858789831 794860383 410216475 31253917 345586703 688137285 500659673 678228155 863388289 341266873 525160081 746712633 869096747 198663383 889548229 27877317 450348607 74757925 236654491 86323193 282218265 536215949 923855331 112051545 87762235 131818857 741824277 59500363 614385489 998762355 322757457 474406179 288419885 508805841 82571099 510547223 938757581 439495185 426978725 237591371 201803859 689564201 321841987 120355017 824640265 316463475 941711609 318488191 409047907 915759287 463556139 589067847 637823485 235416097 805764073 935835109 189807513 643696199 986901483 832296447 948657699 528313127 348361103 884597031 438553007 740978979 923839197 653987545 333030261 980746765 964669315 794305139 261232349 164730389 605175257 569401407 738698863 991643357 868063713 976149103 51651297 564143719 558707773 946955803 468934667 516484131 555669313 687423559 239423985 265201123 794150369 332533977 852265407 213334247 573548223 184550819 656810185 22017235 864062241 459414367 512929161 621922485 876402165 508111535 177221283 596938753 895433939 447681307 283364833 147350421 378086139 405482005 552860985 617123511 369785939 605008885 798105027 768700947 465384043 842402559 493259971 820407487 169128827 526371417 411495079 7016247 295162211 235279125 971184639 597337699 805460135 160107821 825053831 229921421 883923831 735925379 107441187 119923307 429474477 279345631 189880285 874327581 435615431 560378867 589154539 700647973 287002859 299822679 308805029 549124209 525069289 485979277 119959697 831427417 706012983 570337535 549160281 487477397 280083447 941270525 588377039 46148175 70916591 306175681 781105391 769261587 310654093 792713837 736530909 965205973 350270955 411359497 367584997 161942771 133896133 298313351 275805305 466847537 398749829 404907455 80665139 608451007 143890999 577049971 802918361 843827249 205892503 565984589 375252053 364931 681303295 650259677 29379769 37263643 772362107 795964061 316167489 90214855 742709687 318611693 628723795 453381307 726856971 665107737 778492279 420110487 126542455 496305745 516093537 615578717 667441569 461923501 859188203 212116091 855613913 907643439 988086043 674602951 843711255 162673087 124160539 283824253 771652859 559372337 975500093 198514501 390039497 476851005 880055807 540972585 949899633 350450309 260250115 229422497 963781261 51265169 656540179 326025 462540123 606192081 232675107 423675941 926378689 386204065 231183693 683786533 581878607 286535489 577988311 956629147 226754107 827731673 664106285 470394887 752310375 195347581 748619741 750820685 660293465 786792741 776052135 16990139 319565375 659634099 124929389 735446789 952717043 519930861 429481785 208105545 328744689 501228937 654415167 772521741 914886753 778957595 504615643 268192829 478500629 800303913 960497039 553565999 198836609 224183579 35459591 313077407 874619847 800481857 614597911 467090869 695681707 84869843 323669177 722008315 645908639 153281783 534251281 834998633 468092601 903569329 300000105 392866649 900833721 300722677 388088631 312422291 793698055 992085405 633639699 363974213 485296047 925527657 340100033 688217601 252504939 432704769 101764397 918756551 169032601 663108089 252367723 779626747 49621057 974033609 554110391 17327721 483378451 600192721 794383217 233362761 462067811 379709019 138359589 691895607 608575029 195546011 597647239 136464441 584130861 572051365 49362037 253955003 996411291 359575423 848012269 586397073 330212981 51839759 204662047 192413947 476547677 352909353 879595355 606467487 890725529 319228291 196178205 802890887 835695639 344412097 994200841 845775657 769926769 665167981 110835435 628822115 777670883 284817653 971366069 933728123 209253717 621173171 693330305 443431199 757836633 784229611 654412437 444729441 778255139 314518467 706461273 129472447 498227861 31197007 941696869 558210081 986112051 992253317 180701551 796822993 172364335 830239817 964149853 385557383 393003871 194329187 685956923 997404511 192387139 98920069 715216187 518538205 75544577 935980617 159829175 45771505 27367273 504555309 187008053 712653037 178069491 693853599 606785375 513067921 77924543 988723179 676801545 717039363 522912657 151095117 475813675 596826827 54431705 695735015 725626349 362308837 986817969 735482049 749204631 362363049 319532245 679313101 568212893 579636703 373490095 135298021 638993049 662436787 434727501 944938695 204108113 944505273 587606375 86822175 483157167 14473971 658846555 721862781 843045319 880937665 205172015 690441053 681757907 758766069 830424983 858420765 395611701 551664575 600490981 880634375 670743931 571376321 500184859 968996939 415849047 419429885 877390561 538280199 508330917 29790689 317501059 546503735 42426983 948969285 186737147 269432519 556875467 679491169 177307881 192915335 836079391 32952799 763822993 644528177 15908579 768569291 606786533 886299239 759569849 880785561 707502203 521148593 962742379 653929511 983527827 152648065 855326703 373548219 259784211 165965359 357179485 305284607 104912523 303201789 892001785 219043853 584900147 741755669 46678063 401547871 821795305 87394183 256695443 698112221 374158645 787400269 559888863 381135569 419266375 428231753 675638519 619714033 846578165 26017091 242549221 88051549 599169213 958478571 899368671 972209303 808137161 86616029 95860029 888999565 642594535 629102235 842151557 356875413 648503949 752825993 281932639 506618219 43320541 740465405 665583265 700126775 845233309 543463471 490738245 861598597 883670075 180913729 515859055 158412359 368023759 387886139 822848107 936272095 240205595 257807117 571576233 997914129 69767297 226239635 853601993 176248839 955421205 394038413 726128265 869491547 907989387 807022501 575706329 854534151 335576131 199304811 582996937 88038513 777012295 320157785 980342423 464937575 830656321 759446223 941269155 255357469 657634189 252475417 894756987 910513969 506304297 295502949 870563023 804703657 649874619 246624463 95499647 31431921 73606293 572752471 298743435 323385567 825424297 625704679 962267933 597747377 906637467 555702351 213386381 74918921 130599601 378461511 36736337 416919031 202631387 607071349 313893905 74902001 572376751 854606685 576247957 332080851 216005483 130775925 823579855 600913377 945068793 684585233 609039327 299277769 534327015 669518455 409744133 263766947 811701099 486662351 555538093 639367143 617899623 518787881 124489065 482148735 875018849 854026109 572240119 842937015 700597127 452665777 851777849 508171331 403980465 76862089 737634105 715068993 541210207 759166649 402446891 244772663 502095289 690181083 195040363 119030545 168658315 996385647 733097595 476712483 3613007 412935133 727670279 163851311 455709221 229116281 121704673 810670933 818650577 487862649 85981191 410304805 640994245 513937155 849056411 548187539 855463447 254832667 978574055 294313983 387815047 919987381 256603999 137294891 491040635 776096683 790636959 226584901 112678147 878768571 337494891 117524707 241887703 385732755 810401707 253825027 379923029 630435775 468919669 603930121 672991109 8453053 461782787 697286593 762218517 850363627 502262969 991593059 224642911 777509523 912713249 201749643 140335711 220437479 728458991 979600189 604904127 124706561 710989823 675724521 615489997 24068575 87797845 814989411 896465279 61698925 118753305 110122471 46824311 655561853 700504481 378420251 996794363 672291525 750102119 122824973 1010937 560365033 961694223 833975601 709387529 212219507 906692453 42556517 594199659 332021457 238750041 934278383 120612359 709245021 944337419 364428411 88604777 885157465 936257465 349617439 967161547 862314737 116672979 882851417 337994253 944946225 922591209 597646859 529190835 846065941 406110391 797940613 258922735 582584447 506292513 481073277 81645975 544039991 524457267 101646863 978767657 186967023 897853727 294108095 810641359 169716799 521124415 753984123 405369177 751488427 260696089 816029083 836643385 897257881 589591383 736553945 481243283 584208731 218017995 102231131 343824685 635802923 562149489 535912877 550494327 462793003 34315375 773198023 553395077 371262563 373833227 520910853 610341147 821817285 484094653 981182509 24232093 954267945 709636895 604402027 390539033 722715217 398859763 611845205 751918667 51680743 628070693 301331687 668973453 833869437 483314375 524950919 461257963 911015305 65741847 991115269 937539089 167221871 430137461 599593617 659776343 764868469 433343599 374921419 254721213 414180561 365702839 688071355 108494059 105605529 96807721 175009225 817208877 197818063 76091335 252383693 529109885 555856477 632541629 192373765 233336699 334185491 486845023 339130899 193252715 82703019 431472677 681246473 937644607 264670407 513187255 220219993 906898317 743277551 229284061 398063841 620547731 838886803 665905035 426035685 178084155 391205391 492165341 239149077 369715475 598325669 48136725 486080133 391669843 356880249 865798561 937424817 910884057 598661793 334006287 304696959 537029421 97374485 498173215 865843517 590123903 315596983 364697779 969602207 463053475 133949006 380686293 860170435 51470619 181967501 117717435 225111087 737267727 31605005 558522557 245611215 208526413 679697231 60625759 51944697 156635979 838058429 179338573 107335787 817653803 45043879 555496027 67337031 936527027 125556549 43927427 658003743 313746001 161793725 119636969 230926819 15628573 925500693 506145241 733841653 100829399 17526845 388705219 814877207 332105701 58682129 446565189 611729017 83774041 395249745 669622307 543698349 623616743 666952613 143740741 434564275 716833263 39599265 54878147 601542895 729113721 935755197 361027539 873659183 260122933 593875289 109689307 428213927 295390073 620715713 509347685 539954677 381718085 173006115 573911591 201024031 418662207 14708891 95928569 16477073 750400951 633555753 673548001 265758495 450396579 678687669 26289673 959675659 570843813 281823507 492438723 752531445 785991939 83409145 329247883 292154349 985545901 703331085 266209031 311062889 981596215 369628627 488912125 826521155 812939747 943677375 803265893 349134019 437307545 680644651 379267673 253377175 410418919 854299735 723737115 501415377 41478659 353094251 190714901 705752049 660146895 443794043 117033439 110440153 687774415 973313917 474055727 346739675 32443189 838337111 335504365 216184489 776165849 508426445 139634465 232341601 148496951 390602899 511228927 750085255 479968375 156016707 23394273 990900747 799329385 119136859 242628173 25029697 453815941 456657479 45575661 642011621 814754539 217113433 717902741 388329501 847257183 410439111 529516349 373986167 750072145 317671863 457760013 134000871 638402779 618106925 752706125 254186189 285923771 603330589 927596657 4417515 95070551 216311647 242978325 20377199 828452543 391911863 599265275 501876463 886451627 769169355 464201231 895699815 144058233 982389293 376066149 409082943 673832495 1002585 484453431 624853313 487887233 895122349 846613737 27417253 820888001 580124275 459066117 584947207 401661171 317540573 265805119 956581739 856260537 841198083 761988467 312869953 480315495 231754985 904860067 430608987 335853041 319511925 80763645 280655097 878475001 115612537 18122447 172759999 734538435 733413807 715975065 755463099 556049985 162750649 535897597 439267425 612798219 974584863 770464711 749152399 441383517 130426195 492132071 138600843 574401055 395948719 228360315 725351937 43041249 335547505 927970759 130912005 713763291 768521669 312203059 205814041 967608811 338837435 865145173 463556893 810905243 630632525 258030567 835155297 996681237 787229021 996837069 173836443 165802805 198270387 529354515 157581541 437368441 13786625 167201257 488228553 66362631 686332895 983265199 443546159 832780207 48135887 911152355 159295855 864398823 244983099 776042805 64846407 362975441 115163507 528215669 167556827 370654259 79827635 720690591 689292983 967374203 481952791 500065753 800639443 28274371 670913965 190519145 307726219 365474247 384802661 861470919 559401381 140722929 571192343 27436429 122267469 748673613 875558533 805822843 684839447 362613911 341290585 798582657 284478211 746944041 38579491 777005743 517826935 811325967 795385181 672295747 208042045 780919541 923688295 629157789 977443979 710863411 813405325 635396939 706738943 874700489 635079679 110329855 629374623 703433821 97786837 700947093 101079511 38699583 15460881 478777869 764279165 519047783 986831261 494063767 803617743 974242933 591696201 804904069 664340337 593328813 137404111 168872273 267060847 37533951 394186191 322955421 114604353 139368453 974781653 948128055 130019777 311984125 861886031 287853073 82131001 612740557 693141401 447691591 555799633 170960389 310513651 567117595 689400355 650731995 935052679 873959673 673336617 310382641 744698469 597809269 999526217 75627149 796306309 271848007 837096913 617270813 437394381 90853207 445912181 2164923 731007233 932517293 365534291 44707299 479423703 260286333 855054065 488375229 729658341 696120867 439657787 370570267 348561579 824579363 580926087 194691441 454851223 624529701 463693201 55156193 290962167 750027007 655889279 946150959 670253573 493115051 846549729 850525389 180496865 703187019 926139559 583014609 99400085 697936175 904441139 815105787 578277909 653916869 980230471 853024433 28001077 313961899 559486225 290872581 256373435 476908195 927828265 657977259 639895887 629187995 756147079 889516035 868121983 181638307 451620501 428385301 880257225 199153911 407671839 121468305 772093579 196523003 290726489 805995723 909714193 906038329 581743329 828680647 77533321 394966119 941632443 904133417 941225485 618845789 444575831 280967489 958571681 68633121 127876745 683066117 780329515 101895387 648911245 579527447 683552895 914345441 750967561 22429373 257730645 196801455 640855051 26500325 622786125 986162405 640900105 892343081 38767089 317497679 558602205 982964421 262854835 367324899 749115087 983211425 287930093 102387385 163430795 317251407 514002653 35696151 798879527 387757571 139397551 900420455 518726689 113250207 974742133 160629051 687356253 940544167 628959013 278080335 802302759 49988429 932848547 500529033 516299831 51664999 820686009 737112305 224198313 636245621 419197205 945533625 753865985 27948701 66373201 122013505 392695087 668959663 712429041 505801481 630768517 178401571 687012955 3519421 86910403 854808599 354831329 668440367 994522125 458347093 393030079 775840861 565695985 512725319 203060497 161119335 389718371 320777993 800054759 101388187 276574145 832435031 851253803 231288939 129455313 104786587 397898941 833263219 733463487 440728803 99363417 670087029 454593057 871650023 956838059 959764573 363124467 411025667 413693765 300876861 669823389 71074371 416439453 208006483 281533161 234727763 201682199 610724353 668311567 893947277 324154363 463694289 784163241 142092781 812639867 804569719 552605377 875210269 341357743 253404879 810334143 729545065 797819033 971563483 815320443 768006603 658107171 956784071 468290099 815619299 332836637 788814567 595377291 585340661 410951235 673547445 8398993 267324915 478300209 330628819 88923321 382950003 907132789 622691857 106964705 318448309 137364095 510914397 451031885 173507999 174295207 223862485 627770797 435779521 248720175 337855163 499983893 932359251 424254529 239964285 669622273 716410931 765763565 663409577 415575 913537769 208142637 66459905 971487077 874756517 867397347 350313825 920252897 416675901 819232983 985747163 730001381 6759983 351006395 44728221 3900665 991583141 961226023 111081733 260327945 810001005 633750685 951773847 771832941 937917693 813714053 230778619 334323933 77153655 214880821 568538887 403882627 475356321 116176353 552192695 85274601 254210793 783165355 895669291 807409159 590541159 112312479 277813935 201332025 780274395 300064171 973669305 752419907 633710253 372305067 422155745 796822357 584585705 918263135 80906733 628233987 946675787 439373937 67232197 422887753 248136493 720827505 550027649 285898893 774925977 736965337 341434967 990816413 419781183 513079561 574152109 63568813 146542197 60215629 886326799 667261275 571188027 172751827 453623343 597284269 456087863 860849591 954033127 991394319 310534841 949302265 49147709 664806487 653419193 529184899 9626459 685036993 117241813 698536229 421429651 580242421 310931285 890904217 436790371 179517437 882453033 543724927 717487211 194843473 772926439 42700641 388089209 661496011 644229069 190724531 683356031 250486195 668768709 614565067 679391127 279094455 629789533 472638697 837327111 11861737 387275979 615423291 463371833 270518985 6705649 697091279 443119041 796816187 842215253 644029341 896195929 239534733 863672613 584123275 887400163 433297267 14885945 15937885 435899757 988043275 29744401 568387527 677614633 792568537 565731029 951213155 156166003 485071821 70315601 458863281 334028237 630580027 394374399 184790297 124430051 987423455 689495039 786559983 615768201 12798689 660646165 843773035 98115513 540245707 843666355 178995117 643446677 250650771 292373999 127964095 324604013 949670809 195669897 2775187 313840303 555589535 836290279 69767427 793365497 491585491 698357785 971565005 265829389 688753611 558566871 627997343 510720983 900925573 684083327 537771269 430854763 536844131 134231833 64783229 589755395 277692727 617116243 376248421 402458371 349565747 802204551 857793799 386314997 814714357 911771057 747339413 323415439 19025537 506847355 747692841 820407721 405459783 336527667 453374145 828059719 956379929 816642511 91710027 838204823 493075511 388319217 378133651 485601257 497080133 481317343 806914903 887078073 180139601 211493255 97106485 986451883 410557905 515667841 800466871 679094665 393226143 52393485 338050127 240734537 892806147 360754195 89976149 951835907 366688425 903633951 310604301 447222525 211530663 917327723 834299037 103059615 461611641 768317143 721156887 870731135 378778375 854544871 488364149 523975257 53072539 221130701 774357913 489874445 292389613 689878111 877575243 251394215 722815255 937933595 618981949 612597341 923725987 799608875 297820681 939679369 565259385 962382685 45652525 298159275 586855921 626503465 831637525 937562483 168073161 199752621 104124177 506123185 711768357 582356401 365261661 205107555 883658899 877075365 913516821 940217513 596988167 707495581 681231687 449021649 296220895 558817629 97513187 856901453 427709153 785891143 198643649 175790775 79885113 329454959 636433317 189102549 135121531 107153803 440138037 661253777 447776425 297457911 296525571 200729853 775039523 214676927 384988809 972569175 508377785 40736143 889853737 392445953 771309729 465444543 245292331 81940613 256634229 759078735 249197759 484085911 48019261 891039207 791487233 633184273 275653991 334884051 730268915 638648569 223914949 633177357 183657081 637261945 558371221 606086965 707090283 975293925 928316543 825907343 784309373 559685047 285437839 271609869 189868625 491970193 323682361 774443845 718937715 189505091 485453657 917715829 335481939 253184699 155856441 608986759 829468233 171899159 510205827 812072457 685560471 578815641 564587595 800629811 257751141 524425133 139560209 931042019 923373769 663999719 133779641 127772321 24026037 756858369 811496849 875156891 929036561 598314205 864179791 262344363 337965475 798430859 637938445 452845133 927609371 386357817 287992915 705851307 695688725 726484549 603685901 253502355 242021137 134655793 133630609 751904123 264128889 142210219 900445595 588059781 268533149 396857987 488597331 913018485 417238199 146194357 356970819 828934335 542510055 626485605 428531043 387694965 478310713 857623517 799810319 874847833 12660891 422445971 799541771 762429393 724476137 895398943 575046535 504279023 34790115 25701701 863854357 314670439 255752753 453474291 900710325 54712473 610274407 751240505 177800395 580453005 212854269 967791443 861151525 26291187 752094035 412890277 433253879 996279329 197072309 674688187 313799135 176042517 767856721 642384199 510700513 373254521 526523203 245986595 740212333 578303901 963054219 845134677 604928087 707537011 542706449 620416005 677268955 439027103 648267689 734708617 54129057 225815911 554349067 82435933 406679475 578540985 38802391 596753697 827495047 815275311 767514007 324087715 807145981 809404933 738898879 813415381 458048599 479097125 801533859 214526417 640301379 768795933 945521289 874309597 493984985 530134307 495937175 934884707 836985489 261766681 881875425 275197941 372761173 658224515 463860063 539645009 636777329 586214035 818940913 434377559 686300057 727143201 687395681 670574357 75388395 5937831 63502689 962191805 92948971 657288019 863433355 612165803 708636809 66449647 499924317 27172705 517259543 36734965 852679493 397101707 429470805 956062853 610131855 625075451 802313065 290088291 590949497 289964207 37803229 189945599 176986145 880631239 815046055 86041203 857248657 857801105 933006885 981461629 646726587 362122625 933429533 423204995 552430199 932909613 938645691 59961237 955874697 8574559 680622485 567416683 121295255 343470589 643467177 577394531 827168565 831123227 635910489 345472899 485023705 32295671 976544887 343853439 970253031 74483443 701211957 261073833 945432743 703542169 265028911 25913349 437843275 815069597 750534255 71366965 780427243 681810139 392089693 93864333 405267851 597337943 499802835 312200705 516683281 987021881 749379339 185728819 722637647 749618391 795276971 308936295 535127553 38012843 294309567 35132047 283375813 750105945 950992575 633020225 817696037 987346859 478773129 390450109 474889361 977344663 601031261 495439851 542499687 132185397 776585709 379051351 126019043 833809609 361955149 669912123 94871857 485414849 133421817 323178101 598225505 93313709 192435161 192019599 143834991 535770953 663905335 967051955 143111223 982727545 877430475 355728317 555431303 184410183 885952943 936556587 370644495 643530985 213834091 759970595 722628455 933094327 233121773 829147509 141717265 205286711 917352839 615190679 77405559 708565777 82256377 596211115 885708011 108754717 209250661 805226615 654993059 376840785 472054109 320286825 200890305 227949011 600154579 355855771 728580177 585407983 440969253 111752137 179437123 61317397 394498583 93349725 655948911 536055525 883451609 294549091 136766871 499999 848008191 625310103 537595749 60503213 145864325 275939667 57439081 994161831 984705489 813632163 188962333 541661507 67919025 355459635 40568803 379133673 142106203 151503707 399713793 469671711 988333929 510094619 908999085 766090141 988640995 364029209 904358141 225525565 679988021 225840805 493271539 318183681 681481525 538594743 353118585 715188501 113216289 338596845 249403487 95266763 891429275 426726801 789394015 461386401 504812213 461905549 617845017 657866551 788712671 914335101 384886553 873085019 717426683 878013599 620480205 224492287 257196109 367833303 927217553 653184319 19474815 217596089 28432037 667705181 948478379 169702267 545464883 477534917 894551115 155314683 276259403 651919627 852211525 636019649 758026727 357504233 169548773 283875323 709602791 68472641 847737829 866092673 406572567 302991395 199035997 533221589 360644133 580411837 732268755 42079513 928375469 437259629 125575223 155049761 821434927 911357621 156326877 479576929 118059027 610400833 936349827 622980603 491499949 886358757 727929163 395401651 583317813 412754587 143327941 706920699 774557899 70330247 73845735 841160937 206550905 148477683 125426443 562466877 440514099 968041555 878940411 723650653 726939853 589246019 932791263 694633563 829107981 424798087 358765647 630923755 279104411 445211655 944833609 524402797 882948869 259299289 405100593 257650665 613890249 739847735 861213141 175130125 878943813 71553157 772239207 445975347 137258949 181035855 200149129 869543257 806872951 596517189 322909503 743942437 952876149 363626567 156628213 961419495 434410947 995038291 117370753 325093269 849435975 119462041 860746271 859236817 225495765 817637993 532388469 635247841 57691941 42898495 323270033 757967283 261571799 582784703 631163623 56637919 475635061 515617205 751579479 163047591 862641777 6625041 772620323 443801581 740036133 931625459 899116025 350229829 731591375 665446297 641077231 631259363 2110365 737221235 92333699 363819177 142215067 900658449 637392535 604701467 704531655 565945137 83658877 304475243 886840575 109782195 316063973 680965487 814401805 583736997 764320241 273749671 818178979 861091897 636767781 933279545 30209625 583755721 459538795 372823541 524791987 913022427 809983517 771646035 374672151 993930777 40897013 632098673 840123351 876713045 704371481 751272727 65943599 356368269 533187863 194678453 759399229 635935969 852859363 198351969 525651723 663375007 318895323 514138585 669552523 342885177 915412933 633240455 115522965 322231371 498877389 719328633 583080427 421985687 311860361 740709991 26889783 192304649 432300789 724960941 850723851 261618869 741152377 311062359 399334877 439706067 245131231 951166737 9851921 407287243 450170973 187439925 421490671 730337829 155847827 94321343 322655401 487235733 27483011 963699543 734270039 42426871 282013 784854095 617968379 280363341 626791347 130418587 592185727 113273539 154062853 372500189 745562805 564680877 666614583 585470041 84958803 44796549 892019029 339072513 736090619 224014831 364964567 988238955 348403769 879705525 564663193 50415575 849875837 728793803 133927905 178892075 52614943 18609997 685686619 812262647 251005537 835805055 927460379 290278003 85629293 240992969 95456675 732199549 537236563 154916033 627202003 864247965 440067087 911147553 529077755 911377411 921181053 5532621 334026703 430381187 878912107 888870863 388058735 55450529 464469641 402357853 822740317 66774913 379596399 952846543 733147527 535387123 679762079 862046377 977313859 680168301 246399107 918210713 707090511 221188625 333457771 280033135 324598479 408806565 809334673 629796135 609548879 156203927 374111509 250682341 907799495 22656511 603439875 65889013 709949331 380898461 37552715 550352839 924405367 117607641 710413507 840672507 214546083 135908799 984072755 632868687 75149993 733897995 565696317 116907699 597875849 456418327 339160183 511428407 831796391 806421741 545943385 962728983 971655889 73135421 617552709 914367673 954159419 476410717 183834753 524193699 590376837 52250957 52272451 186450317 664225711 959231923 469781665 51012177 175678253 455420127 94518171 220230127 683920845 900502473 8259103 365594519 456470227 553336079 872428539 32525467 642374111 923414521 472908265 974633843 501096963 169877367 729190537 468844741 71817903 518154013 855230311 249092701 784489157 659919919 970169841 639641645 479896455 205078161 675278979 631154513 890188197 369280979 307776861 266614027 151150641 914851371 660336551 19508679 918493099 438736763 83067509 155186199 55410935 239157319 433894847 40783289 180389473 958124227 278574949 957212815 792488609 278279105 287646769 795487139 787231699 393071555 915990743 538572841 143704189 495329777 223322347 766610555 270157451 802861847 584718835 884257569 801142867 773556911 882356821 449120705 296049041 109386713 450012261 545673263 84059243 358174809 424933211 529556841 268994671 142140321 529429079 66755217 186207635 852385223 680800611 674054129 669818161 802325641 305257585 647910909 278490385 660717139 49501275 518130769 643695713 693209391 335117793 678784687 925646003 104110039 415168171 118411781 687190277 993076393 820471885 204466017 520772287 425490605 815622973 199301891 503292589 664510097 74886623 982359885 613384193 917179823 143337339 414729675 316341597 691996931 866843461 839740973 962218437 848922167 604698961 979063633 940471715 786256537 146898341 65412667 564523985 239317535 74439975 504019731 813893769 99677803 176700073 219780143 437936241 488985027 759245287 902831369 588243351 671435285 351337599 539426117 318957679 977253369 48850683 168024495 32174295 674573743 641445325 540068151 931513109 750749725 567971405 571294203 302372565 217661397 661226431 944897087 235212333 197461003 536329289 895118701 912490651 19446175 46040061 777509655 590860801 774036507 896335831 192505337 955396017 261124265 224576693 997719287 453808475 595903781 25250913 825746461 666987041 211815181 454274699 603460509 788212613 396919943 720683473 967268561 989749367 898713955 151126191 579546943 67101769 137560601 311167121 769944975 771713467 206632135 546980551 575209113 437817841 204660277 822036365 995489875 115619193 410812627 520486657 112937187 201610055 514494389 888668205 233339285 244237241 780252575 814114817 805978075 832006547 141992947 38440027 82546257 708540677 80337349 965416695 367698361 67589283 437175499 249839745 677904381 91317865 596956769 418374025 932338997 416502463 150592659 501344649 608703129 857301359 260860173 73704419 152811403 488703151 641919015 175441119 570039961 326434847 199722465 894605485 261548661 126282689 122511075 168094315 806792443 168830211 667579257 608659733 920687149 848521659 100353181 786835095 713739575 702124327 519434991 616263361 514897259 790227691 527201203 338451021 983322439 208329747 514214363 408047579 726426989 919915543 715692795 35968759 20371879 172187603 41114711 993996049 775078889 822170765 792581587 798077057 999342927 183899375 763412223 546072969 218149147 751541267 234332179 707833683 992584633 184962163 96592109 894758127 253745085 595660533 152704533 257238103 442219745 383893479 281203129 613111147 402308873 21131261 970842803 64060151 917193535 540771159 155862911 887331753 6658231 714020469 429333319 114316573 609173453 945249099 832594649 451296467 303278853 323245097 476805035 191797557 762268679 208202957 305143007 689409683 339485865 260945759 177694777 123443239 911129061 640895849 817648427 597790993 935756511 111845603 797986253 142584669 880496611 322504487 251511259 375697657 477869409 441702911 638373309 882244801 718666487 202105491 225270147 170974069 939460713 443543165 863372775 428818111 207982751 738764469 55634243 111165485 852467887 960494757 112745121 607012413 577955029 572558105 910504625 185913677 248793969 799906117 567989449 53788329 691094543 161325511 441405927 686606719 544072805 169605541 922508213 832189419 656667979 650033483 513785217 536579053 975915463 788767119 574495043 341630573 976774147 529387181 703239833 588384831 737462353 365664077 997609931 199335195 804253229 214116217 124566215 658082977 936789819 284333991 655809575 543977307 919939143 2938807 910640167 385994685 951487555 466584555 953992113 702215963 690315595 424991729 73528147 654357179 811524511 828361183 413967427 994353859 458556079 129568051 368762723 770414919 131167245 456924113 339341367 429311807 823702641 119278853 989810673 37454731 757001411 258005127 934654055 152867317 961477385 542309235 777282329 927463983 567229307 103338831 393645103 311096019 766306675 895986437 749358965 659025503 73787507 512161775 184082789 173299777 314501927 171879623 848332829 300386757 800290403 696653491 361942631 560900905 263721503 753359937 387036845 524904075 197572227 522008167 513273867 178851061 272216279 357844351 266915135 91835737 639917711 866084945 595142063 273311633 827925063 488738569 507863659 434869083 871764161 264963133 835383595 806876003 855696361 993926635 503254859 639225403 466928083 350789237 43013335 316893529 763486649 240124333 525212541 601918497 65492221 839236547 868259217 938613979 195858991 610172505 331617045 452040633 808112125 691693937 352715953 202803669 221558853 227053179 834423987 957249069 993551113 541242185 111183377 125166765 422673781 894539035 342663021 526909221 746204381 50598293 924098571 247735889 217151419 426195397 418378461 264807631 103796915 906359583 490067321 764302377 881295249 77796481 278868767 708116945 929765445 221931313 214694839 894393887 555460077 696304603 954318029 784741205 460835277 694081941 298416795 169326749 853560397 66377947 501178111 407577863 603317251 57088149 467021441 374850191 900459177 776756493 302299985 251113233 940504099 578316025 106583621 968790875 265631101 332214393 38596059 362096669 692644839 198028815 82349373 541358319 136388545 555567017 448823097 850760533 14693769 748929437 630801735 373277619 901889263 269993897 821118597 100786785 740407235 658859505 876282555 460041363 984208641 880150019 979703639 910180715 78489039 372092883 450891891 946517237 124734067 297230527 650483659 405829409 841800549 515368075 323359689 903911623 397217853 941291111 307610233 216022185 562580673 610281957 649824917 52013681 879473627 127409159 581442173 205526959 484757149 917997613 812118327 397533405 390619973 305302311 958530929 691666013 619362867 408570409 21430403 607829367 256333045 932670419 584357741 463173467 622167869 998879013 870219221 409288741 96470501 999635603 875346699 419974613 102543859 45440237 449123079 612396885 618967441 508740209 571362663 544295797 652003603 771451335 275277939 256192495 447505393 702282489 228328475 326756451 887584211 637015679 681943285 158358365 537475969 72976949 594150719 770393419 993985519 956392543 653388771 488935305 752836409 48784557 403646831 561985367 220188065 304272689 604314907 121915615 118864019 841730411 765064645 573142065 8320929 381922111 478862581 778242631 134499721 164421627 446703577 474571265 373370669 967959891 40810057 66060587 261623447 712023141 49446855 385515891 277242363 284538551 611096693 768080245 975488181 412890421 326399527 803404721 673354311 372328757 37442897 950633359 228545887 611076979 269678101 818824291 822983371 559817495 823480631 102688869 117170315 335784107 35401513 875030965 533667009 648322343 791561985 967120223 904420023 51703525 441759103 240142417 976344035 701524141 971862537 363762279 339678429 563303085 653825457 870867295 637798505 646955383 677445161 148915175 59187317 186482955 877363415 577178765 968685329 398563277 890829245 266158281 82738553 453599625 277270155 793413119 130059025 510892151 222991771 96396409 28746851 355593267 432538859 719706725 711995429 974773955 132629793 464266975 516097583 761480595 936267917 545417957 64687237 323852407 644284453 699511909 869761621 102951087 872580747 610600235 245145327 812274145 374547717 581647861 164054223 208700695 775088257 74692961 786607771 231960519 395751063 121910521 173122585 889085647 29840521 703237167 690916161 161508213 73844281 57419613 106420011 424389223 397927739 597854401 383656221 912633527 179667395 515347337 489994113 928887011 979177393 268525761 219991273 151752147 717960591 364423783 876414737 872307665 263219593 959887961 77366239 722395029 97789559 664784225 386741849 770925883 500763865 506364977 974598583 897873223 206573525 498859105 583404115 192542633 783162427 146185589 711450287 13246131 920664451 242373075 175356021 634996773 11888843 831202253 771397501 283002915 612890075 598205087 461086397 441776699 480406563 496236903 547618653 391297121 18827193 573918255 187516837 35978229 342910555 508008681 878495241 669645495 546225779 952007789 905630755 187835355 26816015 841371519 174155193 930948335 30499301 774987717 28779445 764888823 84635735 882342097 648797483 352977235 128804971 470030621 732632661 395595989 771429071 775660299 516973973 179463341 872724701 236822499 755102329 815484797 507475857 574863063 242902197 619881543 911607955 834603007 907719967 632352633 403017013 426626397 666608321 122229227 931323243 371315675 977393601 810884053 674215639 23792203 277617781 248913889 780479421 909025891 819563093 47354395 196119567 485644743 163869961 803729143 317658723 892571391 471072089 499248723 13979385 538340475 349778491 130271349 78443703 620530583 816540615 103191303 335326253 731238805 854943297 302079011 197895827 308444313 112899349 386743107 748146887 535625403 538136535 992292431 995791953 589462255 965234497 854170257 6266977 596932631 777008695 837744575 743742155 544619007 852508869 876729079 290848531 889307223 625670427 599549377 77847389 324633015 269638295 744216837 423792505 70206625 615426237 757354523 98439645 386679935 399832629 924050879 47393451 222476961 599456213 219264281 236723881 730733377 758131095 517600949 930601029 944532607 999528865 599592325 314941591 303880551 80130361 278135787 460536927 173684457 237956567 985684139 549025029 515425501 400291347 89730543 916450197 407650565 766752947 286230609 836008905 104191497 824019359 841931211 63578369 394210429 429889261 535441603 925425473 718700505 750771161 492141831 662859323 885283199 843332547 409419979 308355653 8086453 472724793 377761709 890103135 938469041 477197549 931089843 359210031 990049161 969530553 66231369 406762757 287369535 138870947 329571141 783832793 273083835 361161173 187079141 172852809 700203729 241066401 113820107 894826653 687523129 780365443 920091655 588737733 848737171 570506529 249874447 272736853 789034859 115580227 382391999 316660881 166498351 733320413 856473947 336303453 126524475 799770377 606975121 823639623 437332943 615926029 452113273 664306571 524540947 308172115 850790027 762852613 181430299 917869167 812459185 814259515 240420319 128569369 255768631 261019745 324337471 637121081 421749201 310530377 210465029 875765719 666817437 677242997 363176421 959308839 37847073 696890123 758774643 824600965 411489609 370238941 757475637 695602803 392498025 394470495 880597395 308116637 579893315 437095345 845310171 552029143 230671863 302306205 770291787 623995675 940053525 847241615 654548225 696393611 755189393 934784415 113707783 788313973 181276875 605153163 201234001 396102989 628067973 851181501 669584307 525431979 211558637 323839557 644904947 590198099 524253593 833847253 464489655 292569137 754477447 541726419 567160723 722317401 805616667 280118847 202454781 817029637 719094305 576470223 968691033 273127321 705530577 71903703 228001777 562908319 716069063 350208085 585479155 65528523 483456263 800905715 333955449 560056059 612964865 303368703 3671175 686545453 848586377 632933487 10050051 648144527 87287003 297613541 652997311 828073589 392144797 515421093 933551223 726503259 564995805 155954851 388266697 464376033 953480975 239134321 953766463 640453075 200541201 843048273 490364235 908274471 528238121 632713769 433154373 707886837 666985219 550754699 307877745 889335169 921781941 98528939 730839029 957013049 353245883 80946281 864500963 740296877 246687485 715505743 245559607 863880089 125304517 736424327 881225679 635858403 52618187 176415725 975930997 208354705 647126315 106786047 694236891 233407707 468454505 826578659 549865881 851348249 413885555 238505833 882586417 676998609 229709985 12101897 192290061 903108525 137056173 663784417 260216959 44796799 857500349 921493177 883725757 147748165 24524893 211247103 864417515 321805599 187465093 232973517 625091345 748498011 241223825 112208351 24847135 267654251 596598343 129140895 859096819 320014825 108502739 668835355 56418377 798741403 775687883 248084489 928670157 25580907 334650411 541971915 719191567 631794027 857135449 331968871 702008969 60559577 942702629 350434443 821639837 892136725 413933759 541791631 699947155 492718765 453055687 877000819 575966365 626889299 258488901 993775071 673587155 619829219 336485537 64495647 402408247 240049503 203701171 88431149 276060851 902515187 718795961 239837351 154846743 761327347 966277461 633977047 8691229 71717593 47721113 829553063 733131111 90442823 364061687 444481715 191209851 318467851 738569805 993112889 41498063 862405911 573205215 801623327 847277753 430441863 734645853 875469813 811039355 815168415 578186713 782787059 610266687 123417031 101897173 956907767 206435605 341317781 843838257 650688905 753556215 865731521 53683773 384816599 345044421 942521651 788067245 234601659 391475275 436605429 832403359 215613105 91765049 662157623 123244185 912684771 659371557 83144023 917054599 179941407 50784917 168760535 623857599 3751899 97568497 706140517 581025279 100679993 214921097 143605967 239901033 582018045 953951639 352225815 332636047 360517529 58094651 786654811 451005537 465920549 690547073 856798695 28444993 619152733 420184407 461179183 234262513 837759913 366657177 407577041 3473313 293484825 51138567 296081803 388881891 635119205 783776075 656295757 851350967 424740333 511278581 410741287 258892929 948762293 769263741 247808085 942821647 815029615 88578377 887794235 630522005 582145393 886266781 123517797 630691761 157582265 585972397 938415491 654071657 706518001 49293459 180426613 267052073 476433767 552646479 191813177 745029829 178938387 366069705 396227071 650357119 941475219 54611669 254901015 288358135 126680111 551290923 74027775 872071997 689187797 986119531 959245143 716147399 117619487 156693793 484072685 706254191 789401673 543187387 587978417 262646141 853406781 202296979 301744323 531093663 835645321 812053741 115052899 706177255 693497187 20843249 644995069 111322581 551596717 593037997 773273635 956619083 800113899 754799391 718155923 234768539 310305615 261994277 268258349 608522615 595521967 543892105 442614527 636516605 888521099 402981629 330454843 661627569 843753739 371331355 194552891 759511939 941490171 899510627 74229125 452997319 598398677 574447933 963959235 168371001 63532471 635317243 914282953 768088575 593707883 898405849 245249425 714415015 400886875 642654453 998044989 735671589 870158755 145143385 248747035 96438489 339585025 872265975 586732445 384776581 117802715 243751081 338780767 450583383 258061121 414882093 104142627 100693221 94911721 102964527 989585877 999445547 896141109 656926017 246170761 422794641 9286699 528472793 824694393 72136417 494039419 363302235 300029193 112688723 303560057 644935439 881794243 599689603 439251495 926470695 874244699 115688053 891172909 725469629 604589997 898680471 411588057 815967439 411342013 573059521 530856481 4418377 488512179 281614637 906182567 40672509 552973541 201295489 575205295 15185057 203620301 399106251 441743147 143015641 9575951 720762751 897776049 260028717 629790069 817488763 929138817 397953295 450530291 859079173 855247747 411942615 833625253 138793929 300959299 583151815 427882703 538920923 979735803 724193801 440611033 152565949 341430665 690711471 43296601 852163407 794390645 160606639 364083211 644359137 329820143 88458733 326454991 923589929 944804557 328684337 472648369 631445825 618706829 558381099 818212583 590545587 918852953 514405495 870730185 476738919 755113727 508461975 241125341 767674293 454990327 908589553 313088203 7645019 169474399 206367703 944165481 671388285 743808255 572641411 846736819 547530919 855422533 648806167 509480393 37430225 593053003 45735323 40204537 423161687 959936461 507068927 109124019 304332543 708575283 149749535 880974231 345073651 134080655 10848187 625519205 26563533 981422997 533386109 513561351 661419399 69107111 673007605 190393493 926456457 121032649 542450077 276348229 145583005 782848173 198878935 500622205 648991737 131502507 202445035 689874121 959251515 547581373 594580745 277748955 555524457 750632081 559333197 346104975 572095983 676609905 164030391 999957735 24030883 479841879 354762033 625880591 834067907 379188449 318230667 400147033 435310579 975381335 480788351 826174275 777845055 172172713 65484205 855867501 463884831 706800237 351844769 489682597 309155949 193403873 969848267 248239325 247493747 101970159 607966083 932345649 909037017 769824805 221775369 43471331 368481977 194323131 127352203 561595999 632631949 820673423 981279255 584514105 292927291 553527849 143111847 875144747 442108945 693472695 209967131 141261079 364184259 373327377 997821503 487843595 18487407 19373753 614795457 165984315 982170779 940075473 770398781 899925503 508165683 618314029 7606579 691746779 132585101 810062657 716514059 755726971 717717605 977282095 39477529 230636211 618095841 342172347 327123861 810888829 806583953 715639639 952051871 92724733 918233189 273696537 132244291 397540477 370629311 580993217 270509167 615154033 21336673 805094837 913842687 916650357 650052473 194097413 197834675 90582861 518575263 321717865 116315699 228738785 874237899 983151937 69560851 691589703 821728615 621080977 587511497 135260345 550927679 950215433 507788219 82625947 998013831 798160899 992011053 643220857 907770333 237119101 631531859 670199043 703170629 790743323 562857799 650314775 321977391 574330929 450945031 894908601 295136623 738181301 540713857 282755601 830426945 466912581 240532353 972156789 512420683 516919593 904254661 519535969 194432155 412789583 798632939 181068405 807470759 844677455 764881021 946849407 951938633 977701481 62924271 751530351 64005321 595393669 790326421 82716261 213666515 51828017 154033333 390057631 734728573 413440163 692826485 412906637 185307973 499660475 457360359 365740735 374895887 37773827 265694727 341094131 528320295 133999271 479914931 859569417 742128197 8442239 681271733 385365519 88646789 782442763 455020735 661068599 738129515 221577841 305484395 329251035 639487975 963283073 550067767 922453889 764270411 108962995 424957071 52628179 599496279 715890213 124736453 592075427 166831919 74530463 648380175 384900079 224898913 980221329 862621073 934858711 345110753 301107985 947275091 896482985 684026125 476887773 629842503 25733335 995634091 730602847 322919237 24343549 840587239 479218341 711508241 640946653 528553303 525516645 499273041 888162659 793195255 143977473 408264599 284397473 584368687 557139839 159943773 263580373 197552585 588743309 760754181 90561377 188736253 341557381 364011479 213518031 302194277 942227043 174764805 740045011 464470795 179161039 349877159 213344841 47788375 222212123 942953921 427052595 589126689 998902075 756424249 140455613 624294823 307796687 308868577 134068283 422852237 375544097 697486451 586212903 392778465 194480669 571012497 892411941 209588503 234788955 425451971 74715391 681543949 890933787 860980601 555457449 917901063 394146883 167965713 223342655 974761653 917027683 101563079 385006339 304828459 766311091 726478279 319846243 960725221 454331665 936031521 610954991 159694537 625430533 642999759 620648035 857606437 286749887 902001843 160194211 689526191 23899923 275535251 196352953 899938689 258561669 276210213 948975577 394569763 880028473 497831167 198334049 269901953 278201597 159368867 313735375 204515315 724439629 459776123 431761875 505496369 247353157 990143447 317160509 784617829 550248107 979129585 731658761 832358169 756560115 674116075 40194907 381647685 315913007 563743179 932184445 952986693 856752161 171749767 853193189 919676637 665079601 181818613 460554027 741023549 482428779 65432023 116457493 756570105 597315721 912809175 176387213 847682829 804884459 234923651 387717285 385527007 15031701 936396889 151715737 849080637 181597497 668296121 772145869 561827931 174838061 797220075 737062605 188596695 385092977 397679647 545111627 382803383 795673259 569364081 822364449 324870503 713250091 687208673 362146645 260151485 751652329 754974039 797633041 41316597 12052355 113210279 292659367 856124343 40478529 318956681 822290325 444365837 644791827 776540829 486292347 383641455 160576909 571149679 566059559 316405431 146502899 509347949 936873355 408828205 314181161 527585267 821053123 83740543 54665917 842296385 716218641 155546815 776866027 410661503 772436705 625358701 818875023 206444993 789374149 871646317 315936303 259385343 701224571 706126349 99753981 348821273 682899427 429455617 518458577 384279515 256749579 300600679 397740327 641088755 853557797 496075203 73841703 510349821 898167949 795056133 946332835 891226743 780394949 57014401 109397519 66081487 897726841 688859891 684780427 640467281 574931325 598603651 763605729 718283579 505505483 606475707 638571901 174231467 981118599 486582161 938858871 309489325 291080443 330184803 523055245 303737903 174171803 917355001 584992041 764685579 785833731 645489531 646023515 687870981 175700469 829927553 403622357 134355139 632035933 465803785 224082171 677553881 626524495 59495285 201271763 765733565 29798149 560554391 426094349 600719061 135089123 847973281 248066559 115714149 815792499 271606321 27972007 757907617 360729963 818950219 532575151 62086049 996735651 354116191 705911653 392152937 979174431 146386751 14578879 369019103 571442189 968226603 739988831 639845079 825448637 661441223 585931657 272821511 937421739 618704929 209973551 992578835 84416123 118499247 625282793 452244867 774304247 909270859 51591411 482777289 596232469 280437053 758826549 205644863 727180781 503788849 695354177 491869987 279311045 841648957 860284747 880775585 881560325 791055581 942382387 310351819 967042115 811293689 38389891 52389527 759195451 63574491 944299621 511533289 950070989 885658683 637275317 949563017 548079367 887803955 758388465 528279849 146813977 33731405 243299135 58722145 600140643 564874865 485256559 833551795 342522979 158203127 943628793 819842953 913301449 664775581 792476923 480693301 175556197 36329863 204377917 50114541 695577653 223237955 508751149 825510613 695005017 404113861 522542565 222534133 178003231 693127019 682695713 663318079 648577273 884774139 475414347 354577803 948252035 649633441 52195441 135687067 807605629 634894577 824823113 514448153 144345303 50272237 757191989 547923605 671850403 546910709 51965499 677179785 474806553 840229593 942365193 485685079 30558881 389030607 6047479 622667335 505306307 34911601 381710597 629422219 679737395 729050823 653520089 404463419 885584589 970119229 903489221 399521625 162849939 758940587 395466685 562004687 295343793 473352777 204581985 664254317 79808121 788327361 321284091 169172461 844389993 752111391 193701237 201088753 706174755 319786967 84712555 510668799 312487537 865931973 767041051 507112077 906750023 856672563 418418283 946419441 390571457 936347595 809018091 281579885 270118945 404938145 596256723 397871403 291594195 277482805 121614593 293829947 984924011 903156587 79691517 478563735 979129507 180938897 213905909 752246815 495371615 102532957 41336515 339200927 766736553 956439017 728474083 512174791 137936309 836228285 631194239 173054255 237071583 105604037 469428581 714458201 863048875 88864599 295606283 706217645 708854977 159264559 696381843 351287423 519117559 212579189 55778241 285918471 285034055 895310259 957274119 363430759 47040469 504679393 799822971 603974053 779002859 592938331 16292061 699789751 48382719 609870309 837384085 422447729 822116009 157092525 534502063 120565401 399850671 105473867 55557349 618767831 226424825 200458937 876210327 480133563 119390621 100851293 582621897 111408317 974275541 128043267 582767661 832314179 361050887 446556133 430502935 947593873 666451129 731335579 175690635 960876509 613505187 578124075 775444013 594907451 370230173 333538053 694362445 430931121 660927149 392432637 288796387 376951079 820786683 345336911 860381325 229581163 963785183 594264227 689546899 14484795 710321615 769237763 227392739 627727925 867617137 927306725 474350103 781928165 343711633 338101545 768632427 398382009 955691297 853754641 100352713 882148877 935024187 633980747 266691005 900044063 664052005 116945903 428607619 628287261 728168265 379361909 338553845 474519059 708952633 175087815 168895903 247125247 614932147 193574449 725350573 29591743 155076503 295458407 556757239 439268637 673798899 771488389 184748029 781008333 845029113 828057109 752262631 385896291 853912325 906803201 256920705 805860453 70954649 952971165 442614341 990895161 862357089 409553833 874143569 851783219 356377903 593739083 636776045 582604425 89261313 123765005 171419657 9410911 9204217 904569317 654511931 277065661 919684449 503521329 18958019 221111445 959027373 952280247 248948743 567777729 876232825 313659299 216585751 952218367 800000391 254765963 442036393 508659453 433472963 873297517 99331359 510626375 251158337 20488363 237966719 749707353 182717753 487976983 883240311 717008533 770090259 354559715 988858209 517553477 766490455 221929643 469295929 736882839 831686331 896864121 125875113 385557925 303418135 879881397 502698751 500513649 596694127 774293561 139079217 355556837 36170735 485124413 613061601 186238163 235663595 887754093 9164627 331234545 726490589 801803215 329573241 612306659 111132009 467933661 201206761 912293425 290694489 208350325 744656355 703064653 41802659 131018967 729087309 64494991 431663967 868918197 609430457 562492473 45262801 436755491 513430875 962098037 630276455 189168797 163112979 353367637 950813361 431673355 742672489 876753103 698509675 617746615 27193997 974034119 426037113 330152793 986761557 363653381 925083623 355906059 363201855 580062777 104800741 421500245 463359349 774418945 105177553 44418853 511839941 259110873 187360815 916404685 879786663 707603501 967640233 145113357 764017209 460398925 899358993 554597639 319518019 112638579 908629603 946353485 507428147 967355585 260128195 244769745 941505057 508010559 485198717 374452209 668564943 916319965 829743619 894555505 315725983 928645495 838272239 734021505 291015333 786657487 373984263 382839221 985499797 288892041 672188469 332553 462151889 309270075 334083211 849031395 953081949 274746463 255136071 924731409 380864491 215844177 173688521 76300745 753858769 76908639 745311391 496618149 669987855 687564471 281692283 383181741 525745485 762525813 637975863 729573709 908070359 214403481 426796505 655586907 357391271 640627469 677939851 915002133 49619035 53327265 435560863 355573789 903043643 157898511 706403475 359424901 717855543 139357945 295896329 663626173 82681829 141610469 297049547 266076327 929426051 347384905 648198093 548086405 285888507 283785083 387334953 933943047 117608155 300328125 777478183 1964097 879993947 614656567 569379885 684499373 730809177 164165629 939149007 469365559 688883035 668474631 270852811 273190949 971638165 452822581 978175235 713633841 249375193 532382035 121474433 531906681 638796713 399687695 310115961 115603581 363599149 798619909 697261895 429056303 894029875 608455861 709505901 470291427 490937649 452013705 717865367 316170583 317760583 201412559 19286681 959240365 611906623 945314501 657147501 339420789 157876613 406466441 474658103 73914277 255698225 144535335 290699841 377570967 108179971 105483917 991632641 660892181 660978529 181724055 89768975 972966983 691799131 395997189 698459695 579298757 720029353 389956223 873283405 470531213 525821865 700002713 501281661 202896643 502331749 779754699 693380603 58013939 826872199 775121781 110156839 66595477 703943787 567707617 619534989 554581381 574594573 177976385 879281633 612643273 807607063 815463855 588605953 448721101 654492119 549578539 342265067 860448869 695287621 103842973 800012239 257953747 678492671 567285209 552803325 314502839 818309453 408692629 538928625 339543073 356698141 607053941 649089615 12322693 937384455 21002755 534922467 382236099 659185739 99482029 460434847 107693597 90242257 908105677 675310493 331298625 143534887 782145191 943747107 177328197 132139395 446724449 779089305 419545511 253483461 913946383 986047639 811022921 13069431 963862439 911719123 932412541 953760709 133696781 622231603 432425715 819742343 62723593 569687491 580190157 395033917 404328269 424171701 606755727 974225677 821968499 688813413 276297251 437771975 180214009 677981267 766639587 488310243 288349003 633149231 23533193 106075519 508356539 740122059 262591547 176563043 54903679 482079007 165804167 193855231 289523643 665516115 593986913 564098663 256153207 662242223 699111463 894337887 177769893 760093095 616476831 654128715 182543389 759513557 985776117 643917627 809603747 297477119 210792383 52437221 686793949 729035535 69143801 78445483 807562845 511048217 564724491 799735955 9529247 259670359 867354303 485245003 388573951 278826283 580341067 814862379 858198987 390012707 754068815 959245621 668497715 638102257 276817357 346201355 517295439 521306993 58149173 51449089 305215011 738833317 826583129 460822795 927541909 553509307 429135737 560788169 373359479 948485633 190678841 677380741 744029827 674914807 736085413 528376875 648224091 723717439 677362485 934946899 994655367 847027363 412941253 695697723 706215033 477092633 504338331 407864271 804974729 14648505 334622307 658331289 262514681 595599815 436828209 636304595 692099315 924968879 345225863 430253403 572780935 880806917 133163845 342797241 835623087 859250051 869331387 630991643 954317645 991316749 805828509 57612635 710711593 9898669 170651659 564449783 455738867 606582937 327408263 508415251 702227527 677866025 37409791 183009411 591094437 888851683 573150153 362248893 40720503 949985135 451073699 273418719 52299021 693815971 667069871 240005295 713532577 294513273 637000063 864453537 673259349 81759509 324684549 514348999 406536751 694977475 379682463 458320867 564328997 862074867 779093265 792823133 394518797 492468805 837773451 620259649 653983401 246590327 912860063 293722953 89620387 153680761 17311309 544259285 560945803 577798747 251128057 248783337 179678939 123323739 417606513 381873207 240288755 890748377 73543145 736973845 244513311 152405603 831362049 828531075 125784461 19504553 175124409 878590247 774541657 12738443 23477891 674410321 761911939 926489097 723990579 131698937 83189491 236195405 814859271 627839677 213628029 142462895 390055329 706250725 110127577 230507173 22418963 672965985 548571049 509190615 598064845 895510725 407965555 966917901 567347377 313608021 696105131 180604985 174606593 801400563 248838059 30443643 85348973 13581107 444291763 895878419 83145223 401904715 751519469 206077549 928802895 216429593 552246119 597711131 907115561 193115939 807073823 480288475 2112993 562487707 919184627 80518543 291873327 658695769 418014895 468125761 132185391 310166489 730031105 605372453 847990631 391921475 149417093 674959255 768124611 294964073 249878457 270582041 908340633 401844159 463071243 533877335 652721573 984218469 452282825 434858275 315746061 653787685 637025835 879056507 501183839 835994473 339581525 79238529 310399633 853830477 49407569 243229311 372745213 653916559 585541133 239021545 869449579 150036629 750370915 740218203 174645255 476302447 830969879 859194521 948785001 68251605 432457423 334627467 142896777 574454053 812133407 610417223 352441041 212749159 216745599 303962631 654091531 115648843 993383503 9470511 322932847 256527397 751036633 447884873 992391065 465828601 570527567 983755785 873173903 803642219 197125065 371752523 205681851 913474249 91756619 539539987 616762871 323014415 92143547 635027849 462384509 552554969 218334957 427386115 727430131 417298797 660680087 234531835 197426535 18674621 580182877 542791701 309859917 289726817 130616007 16418333 399503491 972959381 157290055 665914115 896144975 111464513 884918071 764546791 607774045 282106615 104701653 694495751 905998275 422995435 39020877 783110099 463294207 593319421 378824881 136012251 698500339 290145973 132665847 740696283 980534001 592971587 174063619 255940023 630152873 705875837 414366365 925378171 572301629 11716323 478439799 287540569 474995247 272113051 768878377 461101995 529662575 133426549 477923895 267876599 526038351 44745961 349755399 736510439 474135439 105312789 855334891 877456717 961492563 533875137 309380637 664523045 495451689 63379547 113135807 420969877 230799365 342297341 252263641 903305187 586789957 670939747 962621789 4693895 458795949 277668855 790705699 138779931 941028973 726384327 669592813 497619297 781452569 673492105 925375589 852073541 820233133 926670495 714795291 434301401 834259089 244891407 509044875 518756699 445661071 558979463 869219857 329877547 486218973 866633823 507337211 621982935 231183387 534844823 280535673 357928977 394240331 472480725 918500515 187152309 441099739 484088171 169417595 126547909 541410209 298870605 674953963 872513901 540313051 270060059 656731331 724984321 237538349 455647517 972878781 380223993 389617059 241071427 677058683 917825533 202485685 810614307 302277765 898500565 406437183 236612861 259055947 119826293 300154759 304768439 175430441 754780153 733738295 916305889 699449951 312414883 53489513 755713459 563721239 649742305 569154199 849637643 730944865 21611585 517048743 888640625 568675383 84850051 526757607 856631827 922521211 406567817 501046027 336586443 806610163 307731805 287192115 279217429 68612181 827084853 113284831 598870555 907630647 749566057 157651203 464876713 56923163 988409469 831914735 195612731 383669865 367748637 502376033 514473453 66008437 226246941 615395713 851465093 829123703 432599671 962868697 517716085 363874449 165670223 493329249 309560019 484258761 339208689 32953715 241327711 947164181 906449613 710727641 934171521 174733899 642399617 173530555 695573061 986329899 255566801 929632435 199634277 181607523 987530405 799291833 534289217 626998145 620531477 196664375 277357789 54284031 873899351 233997049 816498923 319916861 528892369 640808243 504817855 822593413 585359373 301863299 756915549 887138571 638845377 767908591 538297449 825851365 479560133 661051363 796711731 429314067 680011551 718981941 912119731 263856771 560353785 158718753 346475399 673740291 687605925 414286413 941712631 2223179 283424927 533538505 343467505 998817023 215216525 72883973 400674063 886393513 416013877 439107299 631667853 960501687 544739215 947945125 156561749 971443077 85264309 597046265 578208755 629957457 738706665 433131765 500200867 570081609 411472533 461508887 300095807 299511163 335060561 167300163 224227923 431681247 675762387 496473029 472849419 928493657 152142083 935783253 904604223 58944435 204918505 941599247 912084591 772487323 106027705 422748025 453755073 927631275 572737997 544422525 379017991 501276007 645141419 275475061 599138229 878057269 594981629 715205659 451106539 477092969 27506839 119501973 501390193 541422393 479639153 474654833 339072951 846150089 410446515 928588965 466578131 307678499 546861733 916636555 442082691 781531701 43832763 321820139 205052723 630831321 970654353 97127921 349721837 563574995 293749225 402144819 981830761 70817481 885616559 907083951 488355081 729141069 264711671 3908039 492530899 302906331 274673147 862780235 625207669 595071953 785233183 466243441 695848777 171417977 813800941 55176661 892930123 749101317 190131993 11111035 256725797 860462989 661015679 371193043 578115621 930118675 687580705 872628399 742944833 798804099 286059309 899717455 319691289 305020073 458984689 851901015 281408759 348868417 864646639 411954389 887112647 118715629 111518915 383397437 353430049 217935669 930909503 692478829 599135045 191295371 924335441 904566699 918006041 812362311 855848471 480710563 941531951 994201005 862520533 149027435 160343483 486692067 266658803 503939199 515598493 89167099 683559943 359182021 120533597 779321327 395081931 467055501 422330155 894100897 815155747 325484423 639273437 623257817 202950939 760292053 737235697 628603465 945499877 421522425 900708753 573664649 536416219 435043041 543074443 956548123 814516865 419348451 457986903 246823529 651788933 293068477 916392723 369100483 606335415 44389267 463911815 337570915 584408853 890437107 255583777 596287083 317909439 274825681 374890745 105567459 990909953 877622921 583805393 597316539 790245969 419200485 552316683 374754769 359293513 157422351 953806523 680207841 513289129 895805339 387189141 206607255 724001633 866903691 166232059 14030467 728773249 884410175 562262257 425325855 794225991 978717831 945294633 534778315 79787027 622017431 109423609 106492371 817651827 973311247 683079265 988775527 293435929 667735023 895019017 846004127 234602465 693694123 148541501 700320125 970262733 329142291 250728183 760602857 76008199 475804261 588788693 531190967 273212135 142500425 604215583 299801759 957969381 545264585 171064517 263772739 231298979 31573341 484260701 284816937 936099567 245130465 244777253 321104583 965385403 156140185 367389447 626446707 893436707 747661877 359054225 637927791 822010473 714876359 362360315 927159011 725995513 594445519 784523043 886837219 818895207 795375409 202188943 460619623 893420395 208771131 339234675 90870353 19826925 342831009 36608417 847513191 542459893 546141825 692557467 989856095 533881527 565209697 36381833 83921357 136485519 681610797 587755321 130181175 717874433 109231931 12803361 612548101 281143989 456409671 453016161 20844679 449604737 100119673 633888707 65055733 31304287 256708187 241784243 828027509 978480753 674477797 807242057 234485003 596572167 589054065 741264709 687712427 452174991 142331335 46434573 442266927 740107943 440629013 813728689 222173271 445140243 495051501 507135209 827786443 331341755 787608911 830575635 697832735 360451253 231273631 827741495 823534283 894729531 870637225 549184517 407831343 803620017 797900197 301970131 857539221 613018529 275338031 676023711 695182127 959517377 919202125 732937491 10058775 324130281 674873705 845055869 300157005 844216095 797800285 203079637 299569593 812772747 310750307 354674361 573421615 43784835 739289123 444728687 837880421 891051139 311122343 471422699 56570111 765070379 381527653 207839423 506731911 774046535 460282171 417437229 321389931 38382541 740285807 801088797 371068677 980409557 542150063 93699867 942534809 654521765 181743373 887054947 90245453 432644263 908137991 490533583 852549173 28538989 433762693 682710251 5407047 719894707 325038545 280982243 240119911 60875103 21281187 288321935 708512861 649263993 500252951 743439725 735618523 357512243 54512305 778012073 360829563 460318189 150751841 680001293 70334395 460680999 73750137 722081555 728156167 302135181 628356281 964408025 488282545 394866929 6697285 360384551 356724207 646500433 87349675 501423725 46122981 68730573 187556319 87469503 973290907 407977651 217820481 163463137 995907843 278226549 153730449 494112055 655997687 561060783 492820481 945465297 802098229 558611491 912951333 165563493 96971369 269857981 426068731 721836373 159822115 432145039 193246181 410075559 20521695 427379159 920840627 243583497 271467003 532031735 465666971 974843859 612732865 259602809 890097721 709136901 661563745 15615249 12609169 172440647 984126201 85087899 225835793 639485415 232570501 189153049 52801169 85014747 645595889 807866039 760761161 849389763 408935693 936350665 973746147 121360873 581579411 554417609 345461867 263374393 201591077 211097177 301870933 401329227 75932491 286062665 114450047 170317405 912135543 176656007 67935791 752159067 171294465 805184305 806932495 10014671 36302123 356843145 379066937 637564147 78320159 392430077 547423271 494645669 219947501 145576219 497352641 755601261 154003855 782519461 971018321 695999353 531033575 996024695 744257421 700928419 719395005 133482403 683242643 454634345 599228865 661970775 158820585 597077231 49382799 605877233 543751037 171396617 138771111 322980085 955819425 894275885 345694835 821199115 631774739 407109753 996504131 639392009 272909819 77004467 271933521 360772843 834836965 484653645 412098239 432274129 577749699 339662943 182369941 390221319 135000823 512870821 575478467 551631875 436775237 259307399 538965797 726922589 689590231 355591959 349226363 602142427 950708551 730817545 82509423 743720037 633380239 136587711 241866897 142692883 771123989 390157885 420155227 521814811 803049895 606144309 713164845 900687587 726342521 126196477 485560659 253578743 875303977 230317461 57897723 598978313 652718013 517415843 513172545 533811699 173683617 548482423 311093285 260319931 789547947 491831817 458848913 68089483 962608407 167054327 43384661 565766325 807353229 818920585 845243689 263769527 551536151 298634925 850096819 513086513 957838381 831636477 436583287 315766257 106997931 930923959 235249387 847061737 311073493 930081215 840528739 3504179 385702745 881802665 634373925 875281685 775191887 150964651 920571225 43131385 498940719 334058401 244192015 709610355 13000675 903764503 669199935 417496893 494761911 796746553 183482575 295304505 306285919 317929953 100465027 380356725 425306361 699806859 840503055 8870947 234288395 255072863 689008397 13453983 857831809 359822383 277206269 358364267 760639151 824606575 548070727 2811699 21895767 467185983 77425215 781457099 477739161 132838249 945850139 578273837 787810565 930203991 480028929 149061755 636010895 428799781 934855669 88588293 855609751 565939345 531022315 86790457 96870623 613044737 461309373 188318645 557865109 690582405 699352617 235414331 277391439 73513429 307124445 699700407 619090699 887918415 948943205 426690365 822889517 457967867 86907967 577083143 464330881 837848457 759031753 636982905 762443071 779490381 727830861 674323229 127095043 754131019 99158525 303595689 242076881 83370279 985313267 298326517 380249369 974300207 60877101 535741445 477917359 985394015 479070871 20147463 294022095 432922195 861548291 29236043 721015583 624763217 330564135 127871565 399403181 357175883 995128743 273196465 110776045 436821465 45527565 864849985 673145277 40674359 172125127 368198387 443135331 332228685 401159215 775486431 312651659 342686381 268067463 885391691 95304779 197245579 668522233 655507615 958036767 322808519 84115351 54129009 271801327 539762921 473060183 909861501 607155717 459064353 885204253 569562275 963323673 468461637 940101809 950391279 934228039 882694869 24576453 69766295 82684179 67734519 372792049 963099125 634428011 686514043 49482937 675385737 6672807 428058073 7246979 948983811 735613825 233624879 441132449 120719923 689464607 91059269 59767373 747504151 633897229 934673289 718073513 337434063 738240579 950819861 935733693 56694953 217579805 34119845 856366203 853230615 191504993 913283235 681575099 541588659 762616891 7499549 124505663 664473923 710456129 728333257 199271345 717482417 567358319 614843913 568752035 692930065 698835243 733588961 477736843 929012635 834645059 423118085 734334667 90612663 777724141 494218183 968906671 498077933 550865091 46817321 754869351 461607409 898208717 419476689 12709899 457439389 632402297 765045265 470420893 158537463 610531737 707277533 935644423 196098089 305288045 283624917 473691673 882210695 645771927 682434113 383887245 408290699 558037033 597038353 145796101 128962775 196468629 506854875 191530761 834883899 230324153 814262239 275239433 893218981 171495385 123363075 674491233 619274803 11299493 797853911 225508177 491601191 474189615 351167379 600889603 872019437 244411897 160667925 372307335 809072921 419910115 415885285 689988311 963797605 331594045 349940785 183791829 371632563 101020859 527170259 283010631 888764435 687369851 554156103 672090595 53403827 754333443 553911 405815103 197695985 710912063 289844719 51637725 266724943 86273669 486763627 854701095 358485883 870328723 576152133 975883373 375920965 175214475 488803145 661236199 439640745 306954239 242089699 379818427 420469451 826324191 693905195 633308141 50533877 314246029 341817313 6424691 821966493 610633163 66196845 458184739 9823835 521178313 302790619 904806847 167515891 976512537 313128421 770436335 427876179 609838779 694053353 792223559 846727819 745019923 527087345 958476607 644118231 605691119 307910567 983864631 122992283 845312131 26014567 105127035 574735715 480367469 941283119 320961081 853743329 717833395 635173029 30542477 61384175 401927361 822687513 27722101 836268947 404160107 406772355 377648607 496688117 206753779 627050113 560684185 42871659 930543097 959697755 747943259 611899761 322581645 983361279 233885131 735223207 187446821 460684807 236289133 138781915 11177627 881320111 357199285 477346303 202925623 474727905 879720189 938162477 924832423 281228329 542591877 98557099 874443773 668674755 309173621 228360675 65455545 315208329 312405729 850508903 757142461 274332935 585587391 2125557 54306139 619874665 265535987 856448621 916271685 85045639 981718087 535534301 560327065 975876833 438175081 586994295 505942235 692879773 398545395 649700503 468866811 212307853 160172649 359891135 384414541 872050981 272246833 388267931 555290765 186520197 397405855 197377533 862245857 249007733 343934441 690199523 260329431 544284517 811914803 39505773 357804899 914752619 407221383 253532137 861347557 27418181 786620883 307160779 195406109 423745629 827389425 212670633 179889215 853949889 834939045 739931725 89138395 519881769 818219669 315761053 793433839 807517939 62443091 659586221 431036131 356587559 228080987 896528059 92324993 652333939 220862731 927388457 870665729 855451441 940068269 729382017 488807679 830633309 368557939 177866103 683476863 13310625 357261685 140859367 725908207 605629257 743490231 130499029 47102759 131470929 364447519 150063721 971257185 693555795 679067263 468543737 775411011 147883675 442229137 928056319 7227867 449287701 946483959 4238879 891586205 349693017 323094073 838494499 840626791 195457191 140928713 199264513 738014335 844571877 514314495 861610193 628456337 368102053 440163615 788939223 96403121 70735899 320731727 742505601 894060129 238709031 633019809 479611743 429336961 616136273 594660623 635732013 842805345 22492617 877097083 950099151 86364087 838841445 66235565 476198991 288207773 837186723 94371927 834941923 911176349 936385965 164408593 423952867 885299871 322189393 44549213 485625045 809257467 442900999 131408549 672422497 950713455 57863661 839719993 825321055 47496223 798255561 76835411 288596421 552452247 710201103 565544981 11963833 596331983 993011153 559416199 710717575 598942499 564308435 642447515 367152289 970141785 65973623 433325609 184406433 134881435 169191633 717677811 347719501 910813059 961951893 54990499 276881549 402991115 784948005 696042697 307027577 341859737 451728773 415026143 539842375 362102011 378404967 408290373 968666975 568362343 290466593 954347847 352229447 638002551 267143347 103715861 391521207 714685491 387968195 346457287 979400841 916278791 847294627 460558175 807493567 152320457 467389511 365036229 771135365 231697847 284242255 294193103 727554093 678722677 275034627 831411247 99947829 492971535 956216915 863675277 104806973 782163197 5312725 838111855 785270291 68355353 983045063 199416645 741128617 848980141 688587795 156070763 765890843 555249505 14230599 296904225 646160043 118917455 761558427 57489297 864381893 419975665 732145899 393685449 491954173 864646957 42817475 335387079 544840205 929495121 273400145 532487787 991864537 989250833 1140585 273741691 181070955 184222347 487029645 137533101 900759287 510848069 703072229 429339797 575631833 762839851 673306173 465787321 49757843 82602131 488264465 833402241 381549521 308912953 74633851 784960829 731045991 277079107 769062215 75553061 797110351 871821889 488183265 396422495 912244141 680063523 177872225 254770927 696607691 881342539 779089543 720606411 822531613 919392123 809159353 500014279 517657409 653096929 585535239 193060009 365550069 992011285 488622377 237429015 471116839 697969167 291018365 582827685 471022571 66383417 360787723 400010443 125209211 944828511 860637827 458455785 574114619 24919221 23159611 476455753 928300215 238258905 321110321 768450079 438676895 787643087 766637839 303392383 379729363 841233927 325933347 272098159 547772753 235902549 949033573 867732693 882222409 23727349 171979635 309907077 409297675 348837261 41544083 976025909 715040019 578314027 32524729 730909067 121485317 459134789 779944311 949103883 71898029 157856949 15590415 716482857 107153915 229625539 980557161 148564543 873061903 210057755 204244753 487536779 251795753 459088851 538000707 826014521 466832819 909548137 230501849 547686235 440841795 567445185 914727775 475528935 68057237 586914087 862161919 75894209 521208969 934633043 120486039 928078003 434305325 121607777 693842335 839260267 545656755 581832661 398673989 704016003 682113653 209091743 453791571 475297405 812566521 918867729 363073091 939472069 486091241 392524011 533243443 142593447 556657687 425499217 366877931 511893599 232434049 743102673 812724699 623643151 952109895 244739679 919807255 879950529 895078839 496356441 442400355 996776033 307355459 321455237 137413155 278464975 219680647 881325583 421560935 5618631 327607877 621530253 930804709 336470517 879276649 415893755 78778111 835076075 279738119 198303937 591827643 373637663 583762519 822636713 236342727 662042357 581851329 947065323 393126779 101857717 627360717 548887329 43019991 700099985 532022063 926133077 417590659 227693729 637524419 952342767 385265357 333602023 365214347 255787207 289594027 680551245 384257971 753497883 51080893 377071779 202565007 963210383 484518733 323955363 34245529 319150385 354460229 887143663 387217269 477419893 608094785 426444815 419558381 207079737 268959615 957095541 605540341 796083905 589276903 856334713 361544617 776617405 474069765 323461725 667510605 222598721 180674323 228471115 375299657 984561097 577708527 352118867 83529779 316268603 462513953 704430703 842635717 82546917 249359319 860657793 480863203 11204477 740605419 641150033 836468887 551703325 544013017 656857487 59000343 359114061 300728523 522202841 630851515 285936377 327758223 207010475 188260103 726494071 193003933 240180335 280876713 286480261 630459665 879749497 243727217 359127623 352899255 522893313 554954587 218600009 86766843 890450985 519407243 750282371 870567671 923789561 500907597 95205713 438861159 668488545 977810961 475115383 92097971 189506365 403840119 196018469 465802989 728110157 337656381 715910381 723224265 48912187 165408595 978453199 265923241 977332887 975799753 925169457 432829073 758089179 14501595 670993371 77251635 729397863 282352623 772320521 174453221 563453063 884818315 18323539 1379751 700992617 912844903 971342273 441735711 522903337 908425821 847369919 524415389 683012039 109622637 594573091 630106393 912239661 444435143 998830121 887115057 174977579 517728189 29814137 783733549 87354491 761727687 800347677 626528763 845742525 790968461 408038797 912986933 342749051 440271573 976427171 581715991 575008041 156996503 265941671 482529419 870978845 435413997 749666375 910038047 863849879 93394201 702680213 943224587 470255045 966794119 303786513 362283819 975903413 773212617 453379487 486744843 101795423 644454813 954209677 370046679 999321769 894124773 640434831 732148583 851647575 642746539 33632963 953488189 584031773 157657635 984570541 249163643 791455125 421430695 650679357 494662901 416985663 885241279 376858055 50097951 516173443 500838929 175968519 855394073 73328821 135720049 341129253 402920107 902294541 718193117 818895531 190736709 445648811 758962039 692915855 952474877 267740569 768416137 924402479 417260435 762252745 384448135 32267859 270942061 971404053 981082637 24305955 395852955 130290747 608645597 50518839 264158677 176114409 275770597 36243853 178141049 388726955 777711669 190173063 140596879 27254783 25066505 797560311 145146311 260852035 168403139 678920719 28842101 520341441 530376179 514324587 743998365 309040811 509370183 240198165 652115681 244750363 679238557 629126519 807978389 899058191 93701625 358118245 470160815 700793717 207533187 998493727 87738571 240511257 265582481 934895177 694910773 806359225 795741341 262625265 410660569 123642867 308296523 136712077 220594767 483823441 766439527 860757239 807875545 5635909 645440225 219377783 164261465 463395111 365688023 823477689 978057825 292569147 560324749 791070931 823815979 522675367 451308909 402078529 710349201 720941693 929341705 525914347 385912093 188898999 838487581 624085275 420743423 463397943 616586125 382524809 601211661 345689285 832231269 147827023 326997191 988212243 667548631 216526327 84363859 682537659 413840445 666630249 648017281 312578875 76937757 93694461 26300617 367350527 256512031 679053681 809633353 945263447 695698203 216469993 996752585 989966463 29430535 71567347 233387703 110459539 42897419 904652931 417785133 305491105 591481709 272853495 661012711 406814105 430003365 545677077 179626831 2560339 337238093 313427977 861825395 427188115 992394535 488858471 145634057 373954303 258961693 754080561 796214131 39636009 829529671 489070023 452367029 674481291 791990237 82829561 996855937 363764615 433414977 695509757 121775407 401167205 138733825 871726957 508424891 568434261 808991695 687162449 284345805 954420595 279539591 624946965 234795703 282014655 705315883 334250897 898098285 673849635 656450279 342796029 511733135 208277359 387028749 54441219 568682853 195443551 468754203 915422383 596528351 62373775 521995699 16616307 536570259 785846157 598603935 309372977 783768257 714328777 857746387 98276397 186190927 412950939 269169259 542933523 404883405 302023749 716961193 608349431 472628595 241683951 281883129 160691033 304592671 82369453 995448815 765239325 409839959 508599671 508343109 296294801 611162191 693151535 556405727 369685099 840037593 197457821 790362311 711155397 308893049 593361777 671263537 900069159 611019091 919873607 559557499 241309053 708153141 851928991 710326307 85207069 841472155 194787811 817123543 993409219 4156575 168029027 617786731 217871767 109702925 791522137 900548313 851965475 100445009 380954853 149615685 143229535 471762819 712767507 84433403 573401511 296028515 380025553 180492395 571405247 60068185 218048507 14570291 420154837 232060785 201661009 850049047 52745089 231752805 982881659 736239615 654341053 369168531 704694541 901374977 474288111 774713605 945337727 290894937 399226595 830614117 76766513 593613671 342288339 676297231 149822319 609596599 506482007 289464065 457780583 46291967 314296437 645913313 45156149 87773207 77277597 180271871 484036313 16388101 495338403 900421971 8936251 461222387 923254979 879071099 971504431 724418611 744255909 178873791 955399789 685139521 935123539 221678093 518644885 41200067 665301315 687906045 879224881 489425791 5004373 61690577 896884147 525036141 36282827 926648427 426586229 398893223 412329811 706910303 409828791 742377581 412318981 644100067 607996833 53060911 497866329 672942547 458107975 352667775 598556985 97751483 943787167 985948949 376888049 224460999 449096079 822813145 794529589 405484239 846640347 156169425 451215137 212180819 548379703 121210933 248460863 615313017 191609917 451873119 587212153 379905555 196199787 976250321 782415395 502612117 47982893 408398903 979782909 233249311 20413141 66407781 58316077 450937 388383899 96300371 803202365 376277779 537747103 794368041 451843107 128962563 198175723 301528879 333535293 253675783 699669361 155658713 206645329 112462217 722760969 662337219 341870731 216198807 822615159 703155887 801803137 460748777 788684897 841268617 695293745 561004253 329795419 398472037 871461885 183548795 676709083 365781885 952773047 477908337 706284613 206627635 349603473 410192665 558071265 57983767 981489703 283267695 230880737 304583639 479785091 305084445 314114397 675856209 144563981 884767855 219597657 952843143 135979935 881554529 253605819 258659237 803944305 351812237 460886613 339116287 469500973 475114559 174366179 705155599 646702303 231407715 841132801 843046265 176810747 442552465 15056189 969771273 633612129 416374281 180061191 249136303 729261393 410708145 831176633 493941641 376506237 831324187 651173521 963998427 639296761 855262843 256776635 782301965 507415105 61687217 968994887 115764405 205702205 38147141 219064367 612317069 916160311 155076199 490180949 706258809 500009957 402349803 652211841 564963205 323005031 128209493 68250725 866731233 920577855 354203593 798916761 54407661 152522333 903453719 77468831 161802023 789714963 617521335 146386657 534373951 548848673 721234119 249822639 376794373 820464809 353880589 878418501 854817397 865835325 131778557 545335231 329768373 909106127 904705193 231715883 876328715 154352573 178276307 946156921 936983791 500673739 572725731 229475457 394754809 535817257 933581031 326273541 181561071 4297067 955566485 21603759 690437051 561546125 852610127 785592591 1410159 350777845 645281305 185329823 369293129 291237233 462844837 678923969 682581161 837817653 578164297 615364283 573219869 209681377 982850821 698139587 654489431 368254583 105080191 671919599 134890289 319466853 642508041 403185473 525691569 924220801 254659991 924406435 64184321 538168073 363272393 234518245 5029749 505210015 821189863 175071169 121732229 591236693 318748129 834329815 350114009 780019355 329548363 387825331 291402041 456246611 996854889 699908547 217268889 445220543 292112159 401814883 780329749 690416783 405260029 347737811 829597935 374431445 17855291 238398525 268832659 39613201 101962933 48718769 166275219 261832487 339122423 869383207 96394925 175373413 601973037 383997061 500319427 560312447 519664433 869221519 426289375 141036693 448203903 682316795 234993461 832891431 398767425 6688095 852091681 460202535 294442307 499241275 396912677 3607017 910308609 159926525 475713263 283392555 745543829 200938483 534345805 76277263 138249419 255432791 749026879 738258981 956614671 922562633 284513511 990559075 216105337 426846931 603480463 660382755 59216841 787073257 29994413 344271151 395821669 629826655 303491033 869653679 84082269 784065275 24297175 265786171 530329961 656702821 101446805 304306385 172100327 814512171 667030819 56656853 565461727 79764171 112384445 5535251 882531585 619795619 312095175 529429443 109524899 638379519 930260939 661889665 31361219 83735309 536006783 313472083 638293771 192989927 218879931 780449957 594597577 753409169 779815301 662318411 731204853 898871793 109154053 732169095 268210219 279949019 424631185 124308217 885346231 676626951 551059363 158020273 204099207 486171157 592219617 420417059 588694063 554509455 965695505 156292143 267106801 903819495 238202411 83677719 179870133 790839159 159025991 518989449 776204039 988075133 165497003 70292635 815248419 847618853 196074689 580697291 432827107 734267521 990713883 536400379 927854033 801091209 147176565 659007101 195525917 908691741 689717685 930157313 723053469 629829895 334881505 468755369 821975505 745883897 492274993 218832633 320537823 574111371 571529983 508136155 993280921 147402561 635389645 715127209 894791027 937521025 860681797 336771357 833779085 97126301 395786047 126244189 116795311 649295057 124719281 895668215 328004423 521458747 534214595 276447455 930716783 577525221 576411325 680343411 8903397 263725505 992917523 441721721 761340687 713782951 775227743 320196125 717914363 155895129 10293353 681880309 483360101 293367169 566199829 470925565 863450281 742078641 276839805 769547677 368792015 139901791 905614553 199161247 356751237 992778223 468482699 647532089 110766371 910397353 238106657 979109387 821051817 868963775 855798607 313852439 550914751 595780169 961780459 569874637 567228849 147601225 973836799 644706047 321845371 912952233 164444849 823083245 102705847 340783673 962609495 341189947 91646639 204594869 693726569 165458933 696369235 659510969 976219791 708894611 349533241 922970835 464158609 812353521 24118945 208869235 834755429 216948565 81463409 80729073 298455587 397518699 441909307 126071183 697207823 477580871 795836721 434668151 457357461 364331371 318306361 384517817 911654729 713284279 942589653 12295505 260694757 824310651 528975413 720343835 180518477 94985579 613588531 944196069 249642893 788484007 788258891 450147167 621915861 218726833 944914599 932762145 770048899 180079735 155592469 799396525 117083419 268182863 131803661 479079021 195714629 705285367 105371051 459539633 177556951 691751057 257801915 565169075 201202123 101664943 901165481 509163411 822041671 272739907 236990351 672380253 399448721 76308907 424554793 555808767 777455649 647337899 438377439 560748885 113846671 325892723 926214851 786687263 607674785 284456597 956913033 787413511 167332415 155224593 787150737 816802973 638781823 471760715 29695205 755023963 347024541 917215761 257270065 92367521 856908025 754019991 63504589 392626619 161846049 120115325 962710967 819352025 189388743 115923907 261518491 190680081 429226181 816932827 910775235 677282153 321922081 78870681 823933481 354032073 876090629 668874043 344926827 590082305 953507011 508916579 237018577 800537035 683648985 836970019 991573833 220777159 516207847 202266859 434295405 964077441 927979451 976583837 558801017 993664359 621610567 67820667 180799319 291461845 602249125 70759221 980218517 994092043 860526875 166659549 919908969 73513521 120654099 29944051 89713333 362673243 436658721 381750619 579892223 241275009 403346429 30975841 319334517 224308867 641791631 891089853 418749679 759842603 835309279 810834571 955468269 530855213 845850657 529980497 277623447 418574877 766406321 673804027 643175353 223571329 153992465 760066783 331628239 682089919 343885037 845226425 271581427 586475307 266911257 222714799 624019439 745821437 841991055 117809743 48035123 787030101 247116913 701576591 234208469 119772989 325512973 305644233 6278293 713284007 927619031 108291013 181420249 576603757 89074791 614217647 348403121 560028239 274136193 894928927 996544981 107372277 900914961 937242125 269880739 100490739 6110507 832848611 883408419 348044735 705089801 408853355 230257155 612541 53994255 64137949 875693725 893261365 240219335 582620629 765905135 796638553 739872741 873552729 269590173 93022275 418156871 54321619 942107899 924433139 91071467 416203293 494917119 698108497 78944767 710126193 804548933 427277615 822223831 449645941 233944345 501371721 158244591 295400759 23536487 100223549 81785575 482487851 144888007 271955093 108662411 964245551 717122937 615531203 868135633 52524425 69294693 172642335 900718545 944280549 280147479 180284397 469797327 494416217 312263625 363913811 155321401 503111523 745506395 533695331 859020447 764081125 136816465 86984729 619015613 61781553 135015901 685798225 413108345 154913783 471780821 790824155 1169113 156258905 360548537 139655265 914169621 987090649 827415727 681021059 470847621 832831591 632013703 390412733 104924335 939915861 943040441 56313211 465539645 483970915 635502435 654914829 102295553 709564085 902347085 198735023 544884729 772024537 839194597 700177533 836373573 681138371 882158149 702606725 529377331 757529809 389180713 838021815 961790261 684601799 523368443 37559787 995849189 202558421 895907785 813813989 935409929 962454415 150084681 487243339 515545739 73028849 915600605 237158575 97238653 364487267 293357961 370373003 954871325 505096623 92968447 450310209 539187403 12314891 590290583 68368153 208317717 463528983 630081357 647306819 738945453 446542037 787635913 121540827 176294511 900681395 962671453 182654435 204342621 841279367 849257469 90688319 525194659 927869071 391672649 91323079 604662421 145220975 879377545 261045551 529919661 760085811 224654509 402509081 970809485 317557075 724176203 111745553 837458435 914849963 258078627 614485895 105506563 228724351 805240731 470737875 100156579 392991103 799194819 329089335 118936621 286700735 560807761 89756893 22921735 286005947 249888551 775910357 528366279 167814745 729498315 460410393 80287783 960800231 908325997 418786185 417175561 604322329 511175905 219128561 251764093 502666511 529227435 863056127 884847537 281121609 845302509 292006735 513760515 395595963 774070907 72403809 340582389 762494389 402469067 410116511 709774389 541651957 750394105 139627609 891939731 470231459 934402769 998164169 349461259 360507465 113159103 97741839 32061889 733797343 332868571 434609207 954024959 366109631 672163557 971448623 759576121 196524979 563411779 588480467 397007373 219234019 299924743 124229347 478797113 563933417 509809893 886888455 511463597 885749949 384393533 33930963 717036921 394249673 523391767 726153663 741864409 609798361 176296739 91352875 91533361 173836065 556973239 140475491 674883597 108234047 62642899 963351189 696060189 102032953 219650845 807409117 393105473 899689595 199119077 807865915 627702391 681037019 750932515 808067735 284501999 313894293 809186421 158123973 366830841 977291087 675761185 148478333 312668435 999089177 63731995 107211615 686457821 481650275 526814197 701017077 734916645 602362895 734956275 578554291 938687707 156051807 854438135 302992365 243088927 692735489 66798229 62914537 240801329 137811467 366743809 630012365 948708477 987077883 63377181 510691757 938907285 105364661 523351151 492952193 489477431 485639813 353680933 366906665 67332419 777462307 12416535 813406575 976450247 908124331 466090437 634175237 53566453 359845283 154610517 828450949 867861031 516086261 786336921 83258989 57320675 543962363 884836869 720933419 291875027 458646383 701982137 112657163 14884555 404450423 116663421 363462475 451113669 767349921 835228865 83717385 384112355 939759843 77341595 312060751 823143027 320042903 778548681 334668047 645273319 347996037 538002101 831040547 380596955 192168665 941473133 743814217 218347281 95485481 780850089 729583661 21818229 424909681 672988871 50974817 264189979 784195353 557022927 329950811 588981309 938875627 273557359 214455679 504367423 864702751 201057537 939863061 334431147 871385425 80864129 672211535 798569013 454252421 262660505 417453383 558651577 809621803 383322005 346961915 711689531 507205653 201316465 915669591 53414115 672810883 970982599 351630379 136440071 496228633 138664419 218908211 505912353 817597413 568399025 197482765 630481109 893699419 267517129 29895235 612799213 923597913 75347819 517686087 294703709 146151461 919365757 22746225 208788035 789210987 111588239 189116931 817626077 599402305 484317401 18096423 598926233 201439267 123841083 302319853 120541707 542290167 775242297 567788881 686638319 47191565 88110853 291472943 249474597 324098069 856234355 810242133 49257657 128418609 535851015 880356467 544537569 9525219 449581029 139520545 926521333 593015833 230557149 208634083 616144763 234248233 124578663 7495965 134466075 946415569 628215199 695563047 200850859 859962677 171156049 691334197 398107431 3256803 549731051 856050537 720079791 323030991 449008001 834438863 760739729 30252629 284359637 490254423 585813309 93632831 121226831 717490393 730707027 769255863 122880765 951276823 609547923 821094737 622849173 704074427 392679655 475389199 664294777 302013269 624867943 409338449 346588845 447523167 219251017 811645415 981263587 839409467 561213427 242286341 364272497 743655471 925957105 416374857 570741591 737287025 32227061 284644025 405039163 649528599 245000667 714818243 343191407 58455843 122124709 923298105 80982759 729323135 726335615 299345497 191751747 194023931 629643963 283436235 848884171 145115473 132333015 587602073 743327599 720300065 700399987 649644091 12023235 981567223 252035677 239879053 10177291 651634241 874881415 902055635 759311403 243537243 132376333 247640509 162789299 262823813 951995185 572472413 71517913 342899433 882866015 879639603 344818815 497356183 648780075 880108323 989261355 707616905 230460239 37117051 802091275 344223903 561288365 442790383 148741881 93134245 289282899 539614365 720660337 505094473 300576117 231843339 47985309 619002919 384152683 219495205 604848713 45220031 220899257 246217537 502119665 637471353 328790539 499112219 46751919 325768361 649856565 194451931 512459343 413003655 221122609 708115467 407133243 885621555 403340323 755011233 881037201 911914681 390116693 622569469 290554121 581486855 310379323 990323425 193725457 516630009 627981937 819012477 985205683 572138317 755793339 682815587 976565161 943557553 671431425 479118739 218127185 392018353 859951705 771683185 624344243 64600267 942671101 418853833 948285823 474072157 318081617 853973715 512630283 907046067 803912417 585794091 107124821 397170171 941071197 901606359 847294727 416498001 184554403 803638081 420894319 493376947 687354807 316338755 228031877 243405071 935135937 540276247 979112677 4830513 925326873 457815653 22529499 613312215 547283509 579637303 372286803 187494559 470261691 869675779 177093863 229853203 453049975 26340263 345186259 221047973 762860121 160220521 471782401 267241647 413864065 524258039 880415997 485391471 714974253 965703523 749443329 177814291 542799821 599151403 716172781 515979175 805651441 793613111 290634309 238125609 149109847 431071185 198403643 66436727 741278943 715202993 32525477 3589979 640558231 745178355 823190019 16689543 290971313 345441307 368705403 43512467 987046279 924835097 951710687 42032131 941481375 686756415 879069347 908358717 732795043 831646541 108370663 319380883 322665061 664964711 51533427 726980417 686663651 777968923 247509173 539317861 793483837 931282781 639102407 658370313 264579009 906367629 422136679 760490271 591816929 537114219 953268729 667965823 419425081 209420329 881262993 509302507 500888203 200118619 778559717 436633871 289208771 14433023 80480851 250863479 236397043 455478391 363740897 500030623 449225049 985356947 106047811 46853353 572898903 977942665 989835979 402017181 16530039 489687797 714482299 55067629 646382957 670175451 143217659 514495473 671075861 120187561 54637719 163532715 602222961 737246519 599884875 103726085 398962605 693778621 480716465 81676753 21899549 939102693 659526675 627766469 171553595 341481147 944602209 234088069 711284651 91114931 599803441 921644439 447600439 51794603 809065411 906575985 815694035 287724009 980898813 553504361 391549595 354047767 954245489 984928451 316054227 405898831 833383761 630176163 872570083 804491531 885873283 210835233 837900385 153434931 623668361 64269873 779324423 807665169 712499347 937572277 811601081 742113627 226252923 258546041 761986177 88473135 903811005 458957613 294578581 327583251 693387395 263966569 962401613 133257205 568463003 389830831 510758189 544791335 823279741 697675881 211251171 878798951 223942725 571706855 530719807 967517917 673300671 377900899 633584189 157145877 397455959 747409149 758808065 643982337 517643815 469726657 927687383 184770563 127644907 520860319 656699439 535835615 215132171 517488495 677763751 388822975 933308057 811458547 156674819 322272829 827405385 455449299 968395053 155809619 863679099 399670947 315487543 160356199 755326777 912250587 707340893 27430471 429292591 974229725 985125893 743666215 104653237 417199855 928898229 878580389 594528713 99818311 528239397 892407751 706349845 313514235 199951149 163292409 17015273 932611341 224098515 439555089 571882297 224578917 104110401 948286027 457132965 280299479 357943753 516269903 644273269 957906203 58090729 29005863 19144855 430273489 391858497 165982283 758697893 96893829 845790879 788799637 145958107 119314853 213384949 583526479 627328035 71326861 609254239 174097953 453630731 997052029 25710879 228057893 581093321 43550877 298486433 115745235 6355519 918253057 947061879 412892437 862331123 53222049 5645919 896224567 142836243 716050525 934341177 235030253 904169079 954619391 778180371 721159765 682508447 121669179 867568159 610185717 225806259 813595813 427504569 513707449 979245695 850290371 356818019 553596405 632059007 522324219 27745225 179059305 147010765 473785249 285957567 29228859 237532979 314865645 535020863 267289077 181700897 833603327 882413933 71362189 263222445 382794465 802678931 785220707 260933527 407214983 673721125 698224953 341918789 350811589 72794303 86439485 373811911 14743649 245723427 396094213 235040213 288460033 114611519 874009231 57186253 873371449 625347617 999930943 230846903 281208703 373956617 924628705 995447361 102267447 725943641 840576941 241483461 850517675 539635101 760524095 380522047 117126665 184223877 337062555 994991705 656752747 717348591 517721649 296277601 86358997 995436509 989992147 7461455 180728109 175366525 135105219 589487551 194414917 34257951 96685729 386787069 939487193 684130111 835206269 671435253 939752071 617291905 722278603 713542463 987214809 919255727 823722857 902452507 61061185 388704959 190217885 209574001 947479319 635565769 119350291 409284557 942328735 313097491 305432545 303369321 655184895 190418693 968827779 7779621 476319305 931497527 451336929 981081989 282643833 131766111 130572613 130234043 80399469 684777315 77330535 645768861 444239599 717531727 843319139 298760361 19017393 744452691 44553661 981286667 360185931 432791247 749659747 612319117 277530687 451102019 739438765 880816807 709420023 572305497 371170645 582686333 106432709 11247337 934774657 818085839 374764767 507431145 57682365 572400915 76980329 325400191 686173953 303034717 578730603 242794231 478582697 337596779 383083477 384921027 600737403 562008231 462461573 868813183 389804963 785582621 920697399 639024875 806207415 547272073 567919511 825755127 926383795 426860615 629882165 688943285 313779453 711515229 537020555 683940957 578121827 463978877 756061947 708449879 99851035 31197183 594497229 301906731 733723839 942331359 336666675 941032845 410433367 728222661 970306629 611180889 232001617 27042305 741757957 802628753 209114495 478427531 925999453 953451105 335539233 950665987 745653277 19952667 729328089 771491757 254321919 431437373 340012985 346025595 920760995 178457961 163984691 594602243 375619733 558096233 617507621 410393219 493228101 737635377 10552019 873397991 167901707 807416029 326336749 641561017 629357097 435979439 160106117 406228785 57285065 359227923 187343389 76498737 77260795 355452317 71583381 132312639 801452217 110722823 795760701 978892427 988106211 649464373 981711817 528300777 187143749 433880625 35189591 320575453 862504589 907377199 346709869 478178953 184545879 337887371 811488759 550904769 976968483 460272585 121205067 243195129 815397723 462943633 364960551 896314195 97412943 428923833 69222829 344047253 589914681 200901435 475568239 669385261 560123705 705471803 348172125 505678387 170030171 531277315 529470425 328873063 43914125 235225097 688445861 283218735 224280491 947830501 78282737 442540701 408242037 187214429 555942479 33339749 780597909 421680985 736372159 744356327 39387289 115698415 703592357 907500843 951958527 182858585 213638351 127607777 690298151 647911165 921662065 829602143 371461975 335547745 414678313 531041957 623044035 941841469 455834109 456872793 315270277 129321065 30536537 637024459 607792541 437283563 940224529 966354673 365138931 387894251 743194727 824557933 303175771 356420545 710225659 705862277 39971469 373300707 22786525 234313769 295877161 284559351 150416771 652081901 868892603 553178313 753945031 445218581 659404721 780272971 219940593 300725635 47134053 776951703 491750063 871921867 923030043 772471795 561078547 247190561 727588345 969400777 950333853 775563367 714548499 116662955 161703983 329672483 339371105 913676119 590889499 655503747 855486147 196037805 242806547 462404447 230619139 726133947 344532533 864110135 756318163 917856691 891299589 576065585 591460557 665765105 42948211 4390173 345578865 474727927 531419603 541395315 447028007 504365425 401593313 215901011 312025409 132646449 486807491 889298817 777992699 950128181 655054855 381706351 39578483 407238559 431881633 9433907 490974899 481235385 816751345 319982219 224197293 883165687 201851063 198248417 717537083 247636213 220262183 217215555 663878683 29983093 336624849 405389673 439500793 555668835 564331443 408422065 275440487 629495507 927732789 360104483 868966363 892663549 707177505 552570221 28111033 240744777 248954799 290189545 418982985 983857215 787993211 104667795 978365117 469003413 873216137 975362835 754738479 892983843 792963911 281202875 584421533 24366829 699557005 658615935 961822963 335634975 143337365 877775617 384188419 824711437 127203333 193965447 539932291 409210929 588029675 564991743 761054999 650493999 47581115 948488961 564964167 304796881 811019091 345577677 851189893 547681805 145948921 571954249 767924009 811907835 631435097 980246277 924404085 959619295 927068551 817713465 507829907 96732711 953184773 564478661 556811669 741056867 823682995 55191597 127062129 289786959 476353249 148991393 617935115 565717199 685080645 496734715 619568683 578386415 728949241 286031801 202468481 243375839 968900229 296779265 908803497 788193789 263599575 247189411 352138021 280087501 735861313 346037781 80661339 959456249 394345347 90452601 84188829 947137619 602405313 811095701 653503525 51577815 188601479 934108633 946738453 221589417 768120269 795010649 448333683 476040725 252649711 169350103 759118645 100227469 891220403 307888827 732039473 812127147 114681155 263183635 729445417 636479541 868350777 509064597 870861255 932125205 585864847 344246945 624376219 990347869 637901483 528236865 451612703 386127179 268334683 306245153 552421301 865919807 183605973 570229401 933083045 335130567 608296115 881934761 108070687 603275413 299037437 38519031 815973439 871737475 964219935 698102227 154567941 193033367 606989039 253894709 139685979 819218171 751098283 697486781 184511761 107325955 545332983 494002863 864402145 420629799 810506463 406100731 707298667 298910223 485857243 676195643 685023035 524076931 130710469 285703085 12302529 545741943 927520487 833327927 611423059 307214597 371724521 669193321 652250167 473405813 34290661 42682489 714322325 700327213 647746901 988998729 813157757 318249409 894061343 591905631 537273577 458580463 835633297 931789545 420518073 609971353 14421343 974617281 985558201 278650313 673816231 20837987 726874775 221237683 357880303 925057017 377844975 167859 418111523 748285263 287176769 674753867 963246233 196433119 421966325 568244007 827063821 960291529 515927391 876968475 688079269 363214801 826891959 417924129 35402225 660045929 566828061 277289821 53176801 652408231 742520989 368676633 54232023 610149963 285727013 10081483 559558805 580249533 845350289 611437835 281100873 305516809 253845407 825160349 507997579 393680873 306643453 819077487 744203859 993535419 65319225 3437455 790089483 112005767 805482699 762737215 260432255 990292989 474851865 473490653 79815139 594105457 196891495 853883381 707873237 549263335 403747561 702285373 527934809 524253955 480479673 868884365 273128927 63062549 181036245 998299113 745778491 126990867 102451243 871026303 893912233 972171167 706348423 396225695 330520527 628143103 169261991 64007365 330384827 701182497 709055273 48599957 281670115 369559455 121273751 361628379 919650593 952711093 356516963 482776713 436649149 278861899 657700327 152886201 889186659 869129459 71054435 39707057 967015465 131109345 249422079 231493337 822345613 620874487 217665741 533795273 594123379 50969273 162280905 426620471 544588071 668507481 406735825 422629385 526801505 455720877 248217519 881022539 274863675 273219637 391859221 616246831 632923455 617437719 954419867 316824081 576259927 682836005 492382405 452724337 76058839 979283409 637013241 8291583 625511807 258598465 716604811 277390221 837814643 501909815 574346673 803106579 844085825 541288995 748454031 478160569 789446109 743737631 313813549 831550663 430632357 789022695 219720829 480574897 621179231 779926757 394785879 192127249 127968311 557316647 672916095 103678125 692427715 361668197 843253403 356697967 307891455 264180221 150567485 210590827 335166803 720091125 746207199 91901915 517194121 437713153 606559203 106128929 31610585 832156787 760513425 407964875 509163485 62823757 523138075 982316427 300603293 672800567 912518553 377743165 824906887 715866493 869473807 17444579 512377197 301707289 432903265 89188011 610489999 472657579 151160167 15019235 828487825 803399543 306262741 517372171 346487169 993893999 515177039 325591749 18386898 452681257 880140893 287041755 235833189 237190373 947672431 790197315 716445307 219632521 384714977 536963349 791008453 222621861 492045813 403207061 517709911 293834609 978456273 914268975 312219821 680039627 775976327 549571447 529896877 284290619 266128657 29686055 542424741 46872817 519692879 689693987 689176395 135160515 453446925 803769717 984765625 325697839 624428283 840980563 566056055 171178591 336928433 344786709 642479473 650764833 212093617 112255297 759459069 20298475 641835109 664500607 396602329 148077279 264204061 503633573 353483561 780469955 188500755 526944941 997904761 686393605 6034025 757374907 644280257 971110077 767478821 928353563 886789213 727356589 847951677 662451263 603384337 859993143 564781959 215899073 874288397 93628527 678859461 139199077 785733091 559391497 381286815 317182489 562258067 931289957 425582761 977644781 279134595 501856141 680733019 131539487 77285499 755907883 837588759 197722383 112970679 69594267 842057251 301696587 982581967 307760603 588084917 157681283 995272139 266581393 329566179 632863127 68910103 980870159 437520559 963163015 95786377 270980679 734036737 339866493 121135965 600769247 638257325 267093713 273156411 461957401 643156075 954899449 255664685 813971941 519238875 881740189 73430443 111637725 468233609 661634437 454144655 575751997 870504419 272689571 431603233 313973487 179923013 151608599 953201935 991047553 803392239 198743329 127672427 606722345 403122953 934327853 837728437 781200841 617674151 542497487 880172753 852279783 494182081 813154495 499961613 467432881 512022583 228061669 80118813 14328831 395603157 760925513 627315743 300277073 37290825 726479903 426133399 278552271 827756335 862176963 407078005 737012037 31366661 44769207 981674765 33868845 351586873 329625255 137949979 493841575 753085463 132954469 316703941 574278263 447861981 861103855 790704539 321662735 836471209 832199271 151389581 88103557 948646535 251751959 559970299 869045401 517331301 828444275 644784811 528718769 709593373 612357399 80193739 928882141 750811763 408589767 890328045 815357397 487836429 635320171 159234833 475395575 487468159 457407769 701200793 395619147 367201599 507947275 989380695 633431679 827463601 344065957 700523645 398350061 165841183 362350705 877603495 678202257 166455479 801347875 55845855 288545813 873658515 190033559 830886543 499627975 583351991 813102545 468518795 545526941 209065993 327343865 416795411 439650873 383780701 596521061 758646731 750604001 123946601 3052943 210480577 539540099 357623505 357547035 890652009 71548343 395801885 935508181 551674531 216489661 129103295 458027181 460110257 37793405 598474257 876431811 972846145 457395587 290331473 559317077 785491561 617783049 149884331 960511443 36601765 16416239 604298033 654208461 890923485 226931641 762547929 460142335 331234907 883535769 944999815 37624397 946614999 490830693 355051779 130179523 322999403 977688731 788596479 811810707 388905121 760942951 352237587 957192983 794508385 732693395 747320513 867479509 285337347 362299799 21320819 563123319 49851205 223153045 117573755 512392143 178774091 685809235 916299023 951652313 712234147 902613057 231648339 338673339 530086209 229445235 265895758 154471869 312276099 113627053 975607029 225659985 646280495 733177171 381294877 135802647 484263793 427844211 513694601 437651151 497136093 732717769 662839523 348241253 186643573 714561455 28031931 567333611 975825817 419102001 274687371 646511775 677039385 42279675 264268725 232684513 800147243 36321125 304055937 74830143 832454505 616868463 452011041 53603691 255239131 65887937 989205421 636722753 109893101 206791847 537780775 527568323 377560951 53981467 500518777 862143261 840838577 574786749 572934003 58375587 898502725 599943889 438835919 722509261 423834175 56333897 182781487 608760899 980331281 690853563 484373273 998249677 98677661 823977317 439931651 555782495 190958375 822268465 404501571 487154453 997255771 403847855 183816475 978400561 588979789 98901777 628304053 554007073 132203901 34310459 380555297 133885555 219978447 537528755 607887705 722215399 442657937 210508457 488914493 718598239 389071737 16820465 180745625 695567589 162394017 848605455 101692957 293736623 707846545 814105637 439691617 10034197 255358261 272792839 539080935 791279515 624800995 36063529 366490903 752295661 22790231 803889581 17922629 168834527 520551353 20154457 344956329 399073131 250201235 550266523 438306403 148284597 105274589 799544971 220937343 38859785 209107955 953976297 30586347 394025943 590396825 166601499 720883587 817473469 525944061 6132275 370326023 450418047 724823991 117410789 731954977 766248455 339028161 573301905 30845025 430951015 121648513 250326847 343076415 661129435 445175491 757644959 896015137 533140935 798696897 936266759 496895563 516278455 264421139 315584119 503640819 562690907 201845695 887094677 225045805 250415251 981892149 883894449 132659455 442399581 610720585 24169409 441077073 592906729 806762807 512216679 368134385 917706375 235757223 755762921 973895581 967008947 753757603 918606647 988943603 688301587 757382817 986653669 738985343 801116525 171208577 814906677 797658031 710736313 55601285 427756559 50476255 965020945 622439771 333824769 471608397 207508407 533940251 225707329 534503463 588338453 694298685 209131441 834714233 674780867 241648043 124424661 598370369 650472311 313030577 197001951 793529437 225026073 876823043 952271527 847907991 375099057 874431421 311585961 975564963 367494515 851851369 984065293 292713237 452779961 964294897 758721955 876164211 270929161 528823465 584892131 571103267 801987597 508784209 885694189 864415609 500494233 242246415 688338565 210087083 56067495 599823725 665185821 515727837 590901337 127582305 294400713 785540631 177900797 109989961 586883917 131033675 805665541 991752171 429290765 477241939 914332429 215116659 838879001 979888621 822288343 601212279 148992297 485937607 131154255 686570997 41291931 822455405 166630281 691794255 766336375 274402139 354206655 282112343 956890987 729471987 477045589 284136509 518573775 729997951 430507733 839279523 355540901 134782763 125068019 491406733 292394127 593298711 681049995 166472549 956266465 911459647 747437727 781493509 752022159 602222479 145862493 200107429 739675451 250675161 50564883 883193583 268308777 110553299 434570819 607012335 137008971 807053089 76456329 2635801 728986937 356336203 43375287 627394123 40525359 329313731 519271867 766301131 970910741 907404257 178349491 386632517 199612539 409883367 538495459 563606479 56040345 638153727 898665139 210021349 223421775 237184059 35516089 433575535 27437089 733812625 954395567 904491959 255047231 257884133 820826489 110437491 780996739 919312383 322298147 106921155 774616427 364703375 65888223 358501161 310834717 68583219 437651975 391924117 717171049 711634791 285578271 228333657 346301637 800210327 744373717 42027827 239722835 92751379 427095289 783694411 365283033 713940501 220712585 894026029 305288389 658436287 522288037 773360077 871682865 546138649 184648857 658643849 272795097 246166035 446682075 317048357 310020391 398240137 550214917 91698385 511806247 797537083 566641623 970771745 859991189 410040019 428261185 16755729 196580811 832266721 449517139 244192519 974791125 899846879 686977355 877658321 220438879 430306863 337411721 284772515 468173761 67957017 836008859 522510109 776587259 485282509 36110387 716936001 4465587 689867623 559030573 879231869 106184761 890037991 316582283 244710567 421708165 326487607 413498743 617687805 66480951 47839271 833425737 661925665 952683411 557330545 787108985 477809445 160513161 40403127 49655977 272899449 766542003 785036671 665832615 660329471 846889039 80397631 1374053 939201785 975893571 205461325 910532863 166183447 444539679 158356203 392604087 210678635 632381977 525166145 554155257 871757941 203936787 761159523 981604953 7960857 335661203 653548873 241972879 781250213 177757383 210163923 362978947 961466061 664431753 125291981 705045565 367185585 774727509 698862565 641353201 210992081 355528019 676185527 417911035 553062175 108633173 528181699 220036831 58346479 285722831 858248049 668780613 676959487 938513635 999237653 176865283 134280049 290693461 125537255 203182611 743046613 65342103 795169031 624478871 964812577 558604223 559222913 621124319 951251375 607294861 713784643 826196569 985070665 62314857 300913449 365128611 44884247 11299935 295556595 985913217 988154545 416432681 493331017 873867739 552956693 772313125 183360191 769729735 750754983 211027035 103188683 949447039 135600947 470627963 33524691 779356007 860075761 365766873 832417307 34989321 537121149 478255993 89796055 928316699 57767133 288177919 643226145 76121973 380421757 710051259 394842617 868697117 309545521 115558051 925400903 67945019 897277755 394225241 716878815 492999973 304480571 158646819 898487927 429274455 888444737 466347759 317019059 81502577 601476801 810637399 306507037 108144959 526592667 202629015 348388387 789536439 600797713 212583575 692330271 832037617 489219025 993051881 966174805 159557939 24577265 640191169 34871019 235799527 218294253 286240257 523910131 532837791 741616557 657787181 709971817 710285849 359628925 113101431 787195691 19225909 832180495 929140917 83216387 456419329 330583941 567928935 662789283 381836717 940563555 371191987 439482533 718828697 929295251 650991209 942228871 181449541 697196911 338163969 839222709 593032029 259746737 706687387 375914881 909608627 191788671 28938235 149445665 118766149 335979367 119141777 68232377 447066931 20185181 874105975 435696465 499995595 99275455 318912617 195085787 35712639 716501075 819651025 19360559 473964267 304996933 853064893 202596881 823462609 564410923 298594789 221432359 957444893 774569729 9110951 991093507 602302689 828459055 632473865 538503455 770317915 130643071 843948221 464112349 39080429 919925031 38522395 861158277 106904353 106339015 708157471 459573833 642654123 330767969 180785779 96342337 275898983 725788773 359924835 925220465 336386647 778235301 435363305 670448831 186170791 168823905 904794277 22315261 217701547 20632381 710364891 174034661 360837341 107888197 389166205 209135129 552320991 585530353 172773921 684276513 890602625 596571677 451567623 280829549 410171825 920699151 190106389 94480731 519367053 221980787 168133595 547959591 828785751 904068189 587773841 831876605 936037757 595208271 460174101 324332525 545065613 136874025 822613999 724160497 463959113 229879611 195919 935335147 950510989 484741945 717004043 578014881 754937451 61670723 189461665 417381065 384852241 814517979 233516091 245132793 326453981 204757231 435678631 150151859 793200467 885129429 895716699 647355489 611066651 308669259 159294329 893508179 66519819 325227379 589552839 266557123 274717983 527251935 947136435 874790867 6176631 422680449 137381717 197155977 234252127 707928247 180869229 898831835 620461645 603208261 469815907 387555231 139008729 861702747 193591365 384942487 410303945 759866251 428775881 483127917 261766919 58161109 383588431 63614641 818139813 278068125 724236767 271313885 996484575 561532081 879060009 904927569 675600409 994410821 679695747 738137 834029023 591300857 513334253 809200675 587409379 289826765 680836621 745398987 421635071 605668147 162120243 881044561 976575033 5444863 779536215 613206685 24927163 162969711 922675223 235565955 55218647 51185445 556596155 590167483 923277067 483521587 531112243 583007719 569289719 49557257 626054677 994039181 852476521 764529801 201251743 235067937 182070867 59763701 953751995 577561597 915453649 463384059 244204023 914746721 519103779 106300339 548085897 345816949 301308857 864421783 143491923 905398093 700274981 748183181 998666459 820186849 837860129 722902753 671733583 580410897 988279183 962873163 326879111 811335593 423810941 493551079 213676547 368602711 396573213 947687227 150384107 593705399 578202059 701183283 270229515 620641095 811073801 457436709 790367709 355933557 394619779 981867469 443850369 400913551 337932045 291359313 545969595 922993101 714117281 441623359 608802045 125064275 545229665 51541645 278970461 718208555 305466781 595647893 509395355 956152643 768309699 790685727 320156445 77552757 558711665 234702679 359837427 384345733 477086313 193299157 573209557 713194265 840725399 745870225 8492065 612300741 844920335 315215093 401524959 137440513 214565899 229528011 286597821 668931373 649072623 575498059 857666325 193859475 444148549 482016785 689934051 900827493 550169027 625852195 849712081 160811707 909824065 326020843 309954349 954703769 541337539 249855043 56912109 834497765 656757879 961896293 642583731 597111155 134559405 926171383 530570437 988700921 993827297 339597063 702455057 359681307 736244663 962810889 492550703 84046433 254446841 578147803 502821983 349225277 147112093 450619587 495040137 945233161 988883643 889693293 225958713 355025155 369023897 375460591 375641001 730062679 289500831 713611719 120719545 581126167 825037155 966979287 62971373 52088889 184978593 574610289 461993591 466818209 316915001 20886853 572566061 862825239 430149431 418842997 652492941 698056013 60104913 301545347 321098689 529502683 642209633 994070623 676503961 734076229 97027687 430937947 910159495 678514929 263400595 690490679 419318959 454880305 695568565 728234775 745956567 922094911 492140235 938476425 179820399 454448189 774179061 941931393 560233355 805686835 526243457 664556381 545796079 87920659 710785249 685034465 363927037 179499445 267825839 274900285 908593865 50137819 314999985 180521477 691877897 980653615 481776849 956502581 223522585 481067073 814716707 920215605 350427141 554982029 579186399 287562703 640646265 967217263 2345837 185428793 916965069 701414965 660885333 867687443 373144321 500313103 885839179 616072799 290983357 44538645 425948457 7265675 100934477 29561417 825658613 313536877 972947115 134982037 282773977 128864579 111388279 25158345 614837545 164475569 641324533 778664607 952337247 908834499 280440343 882877369 554706717 831290609 247411315 754976159 155529779 510009367 21844039 202310081 481214607 388487545 434158461 329755771 604354895 179650503 447341987 153326093 475614133 275398677 899668209 244672929 580903469 978022623 91800389 301086791 802255179 347395339 813178151 725683193 46370505 791245543 460251335 548621465 961248395 703695143 314263801 218924269 497222043 327883753 99116607 491634603 786829613 804712883 337408961 309709929 918362525 313706097 3041869 262768809 645420399 566799993 624318809 788171987 123952715 535875977 75214343 389301051 51767303 251594693 233289757 802237721 837853597 327394489 195283209 642617231 689639985 525053021 203690211 598789283 348741133 251160075 705610091 75068491 911986087 814382989 621064967 442641243 686052503 312019467 447502281 266856089 273207457 586760477 827932261 39100845 33429683 955193281 765279035 677824039 484779485 196919131 875155795 831952001 353471067 221276857 378740061 611299611 778382481 736460559 38526639 520703295 551830539 86003451 506622535 279933473 47215227 534989699 90159057 534704597 728458939 265830163 287458967 991048289 939804625 671493761 522362001 215912621 30458341 758542345 878296929 125567367 975720781 684789841 440703821 543426221 502289797 700310377 11345477 132002237 331378221 115957697 675519709 358905155 276272147 865097531 217290583 52564397 561853481 730807321 807841947 141662807 933629577 990374409 373602103 240409727 125582201 796750113 832495713 752939091 159105123 327691999 123450107 235197407 129734361 759017767 386662025 486817825 972176281 33222469 36210237 188386295 999562627 57248497 748131311 423940909 763681957 91168071 473742619 712410481 636789553 403283917 53968361 735245661 167837827 126950253 552830505 549944181 847232541 329248129 418380371 839023391 1111211 890444995 983843463 117266863 498714879 777570393 335118729 878119771 434737943 984322257 146235849 982301255 934628115 406104865 181786209 228304763 925813315 306218915 186619919 979747307 58654229 419709215 69787705 914698091 141254949 956659649 473261551 277831103 220123195 34528799 877497065 377030547 847561021 13939765 426483333 151544179 948863551 895128171 239709897 457614557 419764863 730290315 709360489 11339055 333920607 42473165 8605879 377278643 739777385 594490573 663514295 17213851 105626449 354003087 114171403 490911487 146205427 412095363 768293127 906531809 617847891 591278459 468497567 567669291 515599513 708087735 823138677 2056111 487748379 326257115 66426061 194334499 951324755 891447541 38480281 790549803 910908133 823557241 732913009 310915919 775818395 874185541 923325327 349957889 190992747 35817631 128737761 111049881 413357677 999536947 439497713 815451227 975144677 339747863 169691129 303168877 319143233 760094151 539464663 28019937 951546385 405849385 919748629 63175345 402003729 272575629 913542365 428665023 770576933 67396259 295708427 88201683 511193687 217545101 406507293 457943711 207220445 319023053 676587577 161574075 742412815 684108113 113874223 791152041 525331059 55510127 277138805 232581587 155845041 29815013 318381613 329012105 999922593 711590615 813835037 121145349 739136825 52966867 752937395 721602153 960353183 858698699 488377353 148350141 228850463 103410721 812196315 753337073 411763755 163504793 894864787 251275235 735665757 49081439 284262205 481216591 114385275 815371527 750576021 628789727 848706671 439602579 225924341 705783849 806284875 827926883 428640873 152811425 118726475 275072839 925597341 606058153 416914389 837044339 458899177 622521997 652767601 578519941 336014413 354807421 280618449 32747907 643487343 287255697 278950869 672441563 16710303 214223051 89011837 234534495 11577045 350141459 211067893 733954637 106923695 556574013 442527375 635463501 720549495 817076225 820136393 798332777 182710295 734494721 514985797 216169753 906520619 628704195 944273867 429614649 956425969 984459709 492656725 4872973 119057743 144744261 427515127 246138693 221016533 442444189 579709433 21859059 900500409 528826605 19092165 148785559 150029277 466135881 556347631 585300757 118685639 683376041 83143985 964678843 538664613 831090415 845445743 71726653 184812625 40807137 478095027 614097081 947039815 490852147 214335537 782130613 673981615 326099071 704969285 941488669 299969883 163808581 548504689 905489223 873555647 282115311 667928417 48445935 262937853 132176075 759002601 8633661 296100569 57883415 251742211 914228155 92628165 211611635 43407315 450058335 79365591 394567269 450582179 10022281 119551183 389202273 814671335 139700219 957935379 277797057 198268989 480224741 8587189 223006789 793622115 28446169 320725097 131373717 183360583 17109463 109858959 736235589 241135613 633334337 385399343 638878413 239403199 829559529 492514553 423787917 245749233 336270849 898795841 737097423 642821151 822653223 894965003 680878277 128860153 545320033 449549051 181104265 808464223 487847193 140744033 294148379 736008271 845903145 102368051 793755747 917133305 115853259 92628243 728536117 170808237 20081319 369986631 184170311 823510503 612381895 412774333 586075709 571509579 672631201 214164239 521626273 810715045 109394963 849036665 175459297 903892197 441154403 46215907 340480599 676180011 577612861 553217759 962835015 803941047 789251513 247081889 957944535 818923763 653470287 971195147 529360667 459957621 680039657 739885473 256847113 242290169 637292497 150028693 185040005 106973791 228109759 159090621 707445847 366753205 577101519 52855449 399717681 271279917 409056645 985639759 990200493 410390305 160377297 209931439 65543241 439474199 603567109 148768817 300015217 563708345 703871969 404544755 393465719 150377945 43685257 23688381 171095185 237071221 7216779 300930815 639176419 277614511 613765851 139046351 395215989 842396367 458948569 819242731 299618617 343302989 145150277 378405053 76872713 534986947 199859281 943899987 825037219 964527347 41802385 844155749 229050291 870161609 556326147 319901007 201840073 344096601 73790729 552829981 588205665 960753371 170711923 927533179 982701015 411951031 565368183 701202371 187234169 498430325 590138289 40322801 239680631 176254921 955591461 256053677 123300587 867296655 625355329 735570249 879102163 146251721 163088861 658203065 687869211 981736099 913172529 474736799 776233619 965044337 936888807 705215039 644388597 290314925 544057611 606050443 570077667 944783099 417047569 144305689 681147365 184478757 854505687 705850153 154204525 456178975 258707361 114818209 92342227 55028229 852020767 2324241 974878297 591564571 245962341 885664689 63449897 991973833 600382959 335458655 740556883 921752997 858504869 648402851 664271057 183622505 789909457 639541165 841148293 790018041 934688041 118280019 980852279 755311967 442217931 801476115 958824599 570568657 543276349 214983191 570457921 44280487 846783597 187468589 387458741 715667813 176156333 82783691 998821469 926683833 674898619 530075667 576862089 719282547 459870143 162006731 190182515 432130447 648497733 110570593 943432509 923843889 349388095 214788589 910921967 107216293 925479183 676445743 127753337 458022491 527765625 712427663 850603447 157335027 259648423 498967065 96591465 723504427 491494707 70314121 328473913 311500275 935120151 785011001 833543351 560428635 325718457 494470195 74704989 329227169 776976615 431655207 109168011 719279909 460211925 296587371 337361037 821486451 812703521 921663487 99307409 336156481 402147281 259597961 528855475 268977769 965065809 639135321 602404851 411345643 527438455 125800551 72245307 850019831 468436351 979755857 354274393 668439263 891770129 402724959 301737739 572677659 411916855 155678849 957035761 457047123 868608105 126364493 281728913 185731917 470576769 126367233 361746529 871833345 35337673 158138503 113974709 775837833 778032873 804583021 842674643 596589351 814804217 504231913 493361123 363148615 652232823 223498973 765494003 838338939 820609095 169522639 877202689 31498625 916081335 682105581 258177515 81347387 820838523 17555215 101189757 826206131 53918129 998440629 26618213 671966237 384832223 616076551 474288191 553675987 862907887 642204881 771440779 677100637 923699515 753837965 440009393 889355361 150649981 9196635 624003333 661116595 671021021 22144767 339459773 738779217 692202213 72533739 139392253 880327261 291766667 654213685 164218831 425726753 558522159 340120221 797992225 160286993 518250387 782961289 229106639 292487113 590216165 192770569 752617111 45947147 710610875 403674581 442543911 140763077 185839123 900337739 566688523 481215239 680923217 452233331 713277121 430485261 580013377 677342971 289345191 782702649 678430747 310674237 228947975 709718043 182174075 856771125 405100051 619807841 361620581 908519821 935284453 28660201 814684489 826714771 219061371 767344055 662782713 250181437 66222529 874536947 733903285 144168237 906460041 43722995 20612131 623337641 536991113 346360369 850480717 115167135 969844581 187078481 623509673 710587047 689492901 433491231 905048853 494457857 208818363 278697611 648622551 845101205 397296641 407778227 613667995 755686127 318356661 740992219 406515063 816696393 909881603 880783725 997998055 130385281 462288125 951419131 563642835 497937953 548003737 227884609 600709253 214090581 883400635 128680483 806537653 87798515 426741547 416488621 14645375 749163647 988021659 723644945 561305703 295823389 994504099 255942057 964974171 938211229 11185607 840540923 669828531 627962743 965586797 69516463 522932009 452703689 765277671 641577373 229567459 649919835 970264943 762449851 639719533 514778269 634618919 930930993 762232255 15260835 239688471 190913861 641883701 52562993 713884465 67074927 8943765 490861225 841487437 795255881 951707403 424312095 55761965 6510741 342420013 760021833 268732283 504630335 698393591 637797507 98698953 803848025 725575887 388585177 178681741 858829089 724573827 11601911 207894825 138084599 208303945 915141685 350309865 476167529 417706683 622086547 655921149 366537513 657730273 312963769 924279933 792147987 885422377 967709171 906134635 253976105 366912357 204211259 39545777 435753111 774135509 587693105 794440735 234431663 98342171 651579673 956474479 550506223 863130441 763336677 646952771 189666809 661939409 88691241 923501603 567155095 951937681 296810281 178263679 905515965 580534733 601953481 203461811 784906631 347937077 252947097 689706751 67099703 469197787 78407377 99978893 873953849 172169279 678724943 352606829 17739809 598294855 818254491 805017 154540969 372426045 586085603 734385395 893067957 632931031 246552833 81435713 69044815 316038195 357394289 3595065 531474861 667424727 753573725 456932209 810772263 394052015 86369171 531555435 735540033 590533137 90439561 556945039 424410535 403420859 542578785 717768241 607752237 998254543 194653663 569997449 871512525 161229023 754354551 322617529 26566571 426941915 826953019 255679687 563973651 202278437 451462893 260711593 985757557 963885439 413852403 634287925 515094383 956114201 182164319 4393773 669419973 256906885 9655013 779018297 121553759 298584771 435494885 359395821 500196179 179306295 105273703 558012609 196556253 476885167 842832411 498826005 414795613 427239007 357306199 207578165 477472607 708993765 844697113 847872335 234721689 470318919 945394699 191001215 996802787 343209969 177372283 602633667 516701251 640232887 929375585 40507401 531094499 894653659 730988123 66631711 925813781 419311101 657336241 562897341 788667477 900435245 578096465 210251913 536903753 21475041 222521301 24533767 596316855 67714291 675827065 381832619 395596439 953593771 82582823 131261903 647316995 228751031 322414445 240549555 815915835 500814377 888205697 316160127 265480623 567243649 627701317 570454855 569855729 658203809 244738365 770226689 570201529 81410267 120584091 457471889 125678831 990988257 816611125 708347841 280864409 399182545 366505355 138190399 79668463 734493999 300227269 381319077 528712523 797728747 770597039 900185207 246095151 196085337 974595523 5690395 797601607 426605365 962699807 7952869 336764007 978424229 481031309 641613835 368993927 592243767 534584183 968799409 336404943 518037471 229658617 270917345 396871559 811384571 357780177 602404745 159358243 59077201 746277221 194186883 228580671 53987343 436460741 24076179 788095645 532696263 806556329 261177695 163026729 718422135 248049775 782483577 348950775 226940807 133637148 49436765 466202433 956528065 442884967 516185705 102851945 955928413 130953375 924560615 96677887 152554999 439515591 81417225 519346097 26828691 760214919 364205287 461478493 20817823 325335085 618411141 363505157 787305971 606097583 777871561 365769685 762441161 745322415 261155717 492448033 27489479 335225457 464904563 398095459 500413947 775163367 286234933 318182975 934777561 185710503 925542483 89671809 712080447 816476913 301984831 184624921 521828211 647872429 647696209 613139237 55143711 932533607 583376845 888401897 316420701 419507289 944734425 750914509 50772905 642877537 963715463 146326375 364320741 530867719 251565009 584347249 530610017 442833787 987884441 110490831 853240531 276857235 726123431 844704141 513462869 338334927 163006637 650397659 650385519 698495061 149593667 500703257 376839951 371950837 734979051 20714693 229497991 801924645 102551055 800244623 917162135 638074631 598677247 605715015 421481827 538783585 593935861 431437801 718477431 477301921 405414419 104158619 663701451 634316001 727706465 241380259 843153595 5942749 645393361 782059129 273304845 59861503 835365435 938016693 27080171 627288915 27820897 754827549 157566703 896915093 475438317 492818331 457543443 966587935 213933679 882635841 638119357 494482685 41409633 327598925 215651771 195332059 631770403 854177055 463417411 335189009 951405569 230740805 905380335 780111519 82913323 124892529 372105159 134399275 426237369 165362813 804708407 957277957 735704749 798038383 384598037 81879077 800743407 761947761 105570719 714370089 492321363 740046295 596850551 634000219 287141777 38787865 819104687 957361573 684837707 8976351 709974201 831056291 272673289 866493169 679706225 47836051 211879995 81561923 712952097 945710681 649905469 44746481 825684081 919719049 745825871 913879101 549848187 257622361 77671833 457759379 596587193 355561383 411712303 130809733 449967377 240164091 921950729 733759441 236508881 21331587 880581897 663403097 22426029 92321815 182247413 797873447 127514819 844148537 154562179 884045935 431024025 924552715 909463879 339882381 209056539 415728225 506165447 582997507 187169439 721835695 559049323 510711935 581431521 735728407 262181763 294115791 178709255 440893533 432239175 127867891 51229601 672790259 456235741 842126605 187643295 653143535 290138697 349079657 217387875 565378065 194373503 792218487 306354095 893649087 870992473 452325077 725900977 493859083 83462807 582698821 55564033 211631273 959104225 196655797 829291159 169581817 303087051 191438133 786258397 988534787 393198285 299918337 408918175 988345205 288115015 53573245 871074065 25139625 525881731 341745971 372949713 689673373 513136053 822648537 137313763 516794615 882087665 349518663 376839095 954155271 157922877 37692035 722797089 954766275 566971775 689328053 124157021 513705933 783248011 94360627 509698065 137725547 170255382 745590391 689929803 755771531 561232585 102057767 431172225 524172741 793153061 886052873 119192973 834050395 585443231 328007445 64656567 510850863 972528015 551324003 149428907 81745109 811828281 702270521 672666751 32753793 221267651 244958721 976271025 875299349 678478913 553230157 373984291 575361045 939321513 744173017 37136167 696618675 808575967 561264523 62199919 73033413 610213549 12169065 47954967 533929163 743854017 779208363 658453161 704986091 499988661 130370987 326325261 12898037 596549387 649194731 388173469 963894113 205446447 355863573 807791123 663816269 377018733 529728257 719340693 166791041 297860865 922356901 320916913 167285357 430978317 8494633 509239643 818229031 194792857 970843093 535658737 148663661 206604951 480380957 510607929 804328873 521608417 46273693 32674399 756942313 156350261 232185623 341298425 133550309 873799999 693690999 896560387 30347001 931682449 248919503 449718757 675790641 836796321 710460253 563305577 240921145 65120979 546348929 779843015 801887083 503434095 277035979 98653849 90308035 819660965 772239337 70509543 948764393 581296787 756118201 574400543 951298607 860345141 504559933 235841043 978277257 554615671 256102305 669338627 658936985 895034409 62463033 939244691 914797475 831144709 405777535 103051217 838767769 664100269 706475541 257945137 170604049 337466537 187369417 831672209 742084171 46150763 469546127 737991221 865565229 197905483 988869247 895222221 526671943 83403659 442045917 334960237 197064145 836637269 145212437 915818897 585906601 448910009 887582907 288479519 258787159 372618161 170538121 833869925 903326219 295696415 753994339 596620569 826260377 641785291 774771797 530847317 826965893 318553189 752056463 342255521 159714803 834529929 437198447 655503849 939315379 738691257 161348473 135165571 873973307 502349401 128235605 15581741 541940909 781321919 132657113 223953419 88971471 587816483 392615937 744307881 236237071 493187751 698811117 623777023 513127045 720165203 679537129 244874601 452676081 947679511 120501355 130280619 804300987 348404175 211316491 668183797 726880751 929475899 634370703 655581913 50359113 135012869 35099359 885764183 289928739 255145661 936117779 471030229 207257735 122767069 36313953 688687899 936020517 553176005 210177583 292150885 572347219 176427457 568697609 626101579 653227537 564350719 42272417 497029589 22899461 127133851 988181201 509433711 661116543 709739413 594355103 619647471 177119095 141439959 495946805 782885521 508785291 446375729 301148133 946902781 37700355 741943899 392050989 588322365 723111887 155760635 418897581 945977287 556599939 947758997 719263795 963168891 763532387 648440479 434075057 985907099 119504723 459025261 358650433 72078295 42509027 88810053 280231209 664812609 547094857 859473487 383939795 869689689 460016231 522806427 424960979 651976707 113262785 630812961 115609569 439568525 406840459 633125319 792723173 301111723 783624343 164538705 428508135 691768699 340882279 521323123 756842523 468198017 860469793 21256903 237012445 949071021 206693271 328568781 655180719 604691027 407785789 379804653 129758013 494201135 141787701 209985403 512921179 20759399 25097283 65379245 529480707 356260491 503038681 840109481 295286615 571882123 23185933 597622131 535714981 474600135 228908445 15621887 90448993 251090693 914572789 759690023 554052131 384928883 474418975 1421481 829523375 368511139 31886293 153895731 383435249 201896597 35943541 601048145 8408061 517657515 691161095 635166337 452116493 487386295 169213241 591500833 904770693 591028459 259708773 44837499 194327791 337326307 568552839 165158081 858609409 859100585 164428617 15176461 500537235 568829863 268984313 985006429 668259241 875177393 902302093 246064287 341796207 328422919 882135975 444133279 548530489 634152781 464277131 412319769 469148803 960991121 962859565 14087599 742714605 386671431 760068383 798471403 740499779 474031695 44022691 656553531 342896763 343050987 558746271 945102073 379065517 939760841 258121381 11572327 254893085 208943103 462113001 571391665 267812921 426621449 214847563 611792355 11107473 675631823 429988949 656067321 511357409 790691227 616964657 962862805 189531407 681304101 883538363 215533887 519468065 344015239 173046897 419763689 156357455 39521097 830793337 559316333 396547057 794164313 21313443 282746441 840990093 385017865 628314215 218335209 678223565 136756505 715406051 695691165 140770947 969444525 698390495 450014623 257556141 489077587 787158475 873520145 826532203 550100991 972726715 899933691 700764683 420008207 351873139 726854223 649961983 961167177 312376661 761736421 838400481 123781337 60900213 996937089 256660599 238691923 812026503 265408199 225639851 754245049 291626477 819807567 317548431 30785899 527249837 477133453 341659489 234552121 788052853 918335973 701186689 129904985 982415261 464662941 354987901 342206821 655005733 785546731 595328263 245521253 861414837 485692901 728480507 755993285 166896281 626338957 310232411 974923101 674484171 244497357 53097299 752197221 560606185 102578037 273344055 151581063 976589885 936342591 185835137 645286863 199687601 869828301 216694995 896709807 748660705 777237159 820671227 866560265 813038091 166720317 749953261 95195681 466810901 985930989 793278911 976531617 361819023 953817075 482271419 341884323 135194801 396846969 235971143 622406049 814775129 510146707 727966457 15596417 481041423 509415737 238583947 656849809 915406081 304840525 979383007 413810823 100889353 787270039 820218629 280012925 780069027 557625543 441407531 26611707 427309305 14007417 305621167 672832237 295633113 370113069 672941843 39845289 687735737 987520589 80174341 236094443 637245627 320637225 477398613 77329371 764746147 417380345 384889343 703216899 957409251 438961635 188717863 740954971 298816915 793001709 376656919 498535487 750699119 320166151 872244549 591170931 21758687 420941069 54005321 627132965 666921203 958930879 344368871 661511149 318422883 650876101 689715725 630677957 597615247 565211059 290148043 916797203 964480379 43637505 367179101 958036131 453215961 51324687 422325799 263831983 754678783 211633961 98277045 570970831 291506155 163659901 904265399 313334537 622578759 601969959 838610701 537198285 371681889 105679655 469843637 316037359 82429489 915022693 626761695 469040555 256293717 614081717 273914587 160159657 251097109 975297743 875787559 862440179 753715807 178321747 448123491 158689279 191751885 82967243 88473949 679423661 743655323 383433129 992526597 321416511 294607795 318234951 112799099 952691043 272188323 363526373 448114943 446738737 102908065 396665515 551496957 530711073 591832975 785391789 382963463 53540893 477194225 494633441 606279131 778501233 337326841 488518957 329023065 235648207 414786685 750244949 647365775 331569753 415864829 203081997 639992495 426368147 997173153 162625007 73308693 3323497 555781429 400788857 629591107 913371439 246525235 406903063 298276835 236529061 633465273 482885147 984863181 482180849 836833169 198298813 234193401 36450205 410416421 936320285 223900297 252688543 388075921 134832197 603749579 621367893 818310035 162810151 223976497 552501125 785811089 991596443 706682711 996578907 805340059 25769317 980234495 642023277 750794855 775170347 6006551 483609273 840231511 124471167 158750637 265859233 860895089 961225181 930635777 617370359 209473893 167008675 973780341 506792939 127628935 466149147 866090131 391243039 864276185 433338487 875921935 965127829 550044931 831209679 559776197 465549757 406275923 146197799 550523833 27970153 142746815 254078821 317810451 937685977 63131625 19574619 19822377 199135153 720073749 595892165 24598645 391448831 861853749 979377471 890755483 691438903 750001631 927251287 51836517 112858935 3759187 343173501 601304263 142363205 139789689 178168331 652742623 626841357 689306333 395163455 7681259 614805157 194985145 936306757 738594905 649044361 382520043 138918957 738314429 743898785 669460987 555013361 43096531 849759287 530054681 23345267 296856443 115067137 831775771 142516091 433413313 138792223 265450111 510522555 890051803 903349011 621649519 275870155 750871585 697770187 324511417 636190765 484573977 675038879 593072341 776043595 403563883 784169031 621026785 159694965 355399405 930680301 639862693 500429287 721175195 234059549 148945807 30265789 522078101 358503371 238468537 475535365 684141609 894841685 541853663 134340783 113958599 959481215 281805417 95758995 828346127 673954681 186596201 62500979 902833345 992895191 83507091 248126969 438794439 921988245 303582537 256432309 721713209 53326873 914705807 276927777 370771789 325813809 111778583 171005343 491452523 275280913 207388473 768086389 84552473 641183833 79614705 934326745 638436111 330957323 527361511 463632609 480785703 898685333 257541995 583709327 39902307 23683021 460795765 439220685 357963503 567376623 876878755 107004267 531397917 908074403 889173053 491412771 312839787 748946933 259584819 726444181 384424569 558684247 163607323 893208653 460227605 122061995 674258483 411843257 309417009 900129075 97453413 310354741 256448745 939044255 231546175 199233793 265232511 74607105 413818617 454779975 43871327 42471897 980929393 243307799 92809757 656930571 717871151 766009961 115428979 277385957 163148385 656436515 362630211 610404123 883269087 308280585 163941787 910851277 191530539 119525329 585307823 148624251 82086247 348933649 90751191 433673239 249854823 840246857 134888855 457227253 994381983 914269671 354276251 36328915 698657073 515535417 991660471 350282451 205632993 56913273 515441637 458388869 754790177 888597959 439267401 248286431 469230087 287521837 808646189 808463163 252655443 123158431 285102341 537742689 127217771 654846449 427473773 151775103 843465313 172463337 217237545 265116199 194224359 304789807 722591521 562513753 216431971 173495121 182299755 369051001 723658711 628205261 397277505 368428115 420194803 558540545 904375559 365879327 405914129 352440377 436392521 356229241 802991151 521683619 648031671 708095847 321041651 312991577 341743919 349475925 588393131 154556255 810180277 999649047 770294355 36102299 356667249 307800303 504811655 983194337 919329467 455005565 798706319 649988841 94529289 898756561 539817305 927758675 256583937 660383071 565078653 498309545 392021615 66487047 501701437 676754269 453466435 439661579 909439355 147756233 972779677 448887065 179154635 254909995 284474299 744788807 386703201 437530799 777109773 163748625 368057117 955333991 760282403 926622047 502562953 423492169 868183995 430837885 550583761 45092665 128834741 691099421 496891341 511023361 631905567 425982305 176818429 675501647 999226411 119896525 483874951 579964093 796614707 954275915 584477499 868443599 122428349 514477877 746401425 690357739 345675891 711856197 906726823 303111523 287241255 826001825 669446725 77729139 649397207 510002391 397807067 54479161 88464035 106937819 730044543 25754815 158332121 705226251 294480879 708947447 122953963 655589165 984282773 179198905 158258293 451702381 347967103 273041607 110592313 578053985 822622307 924140235 506231331 646682373 845590691 71298903 659400773 196220095 144772677 414664929 196232669 353945951 916574711 443336653 122733389 255635477 971566355 403619683 298120735 461454211 948466325 805016789 859849223 510705835 958377509 417085499 554696161 15708157 336764181 477531031 647813295 334311499 573580633 441680851 780449949 281200597 274622099 621602751 324410879 859117887 834735879 557674775 696618575 883111573 33267367 155383671 681157425 852342351 926341641 239564141 825470319 838501449 924501869 324442473 802693629 66585801 484976057 401607875 566840055 795875195 662271869 285678781 379004065 980705395 633070577 683676033 269981795 368825139 910634483 334044959 129860051 891833243 542886667 254976657 116119467 281640699 867661417 725432505 448471247 497575687 816610273 679220063 653653321 920905951 281856247 428668469 762597711 202407429 692742607 720768467 812916281 837480295 476127801 387302587 463147915 726062683 612086443 322906711 91456499 39916959 647241031 333682167 396482113 793570389 851007699 328019925 600822385 427544335 964573629 233426449 459260583 95407807 111109917 486601143 614075439 542378433 407374771 411835317 825638521 292632287 183066855 676462567 301643811 756657219 852654533 460545037 887379953 618567297 893087239 521460433 660505549 192656793 343161101 87432387 488794057 283592687 225049307 626342749 444282145 312061777 25062179 409107455 858878779 212639731 818277947 612242677 910860957 310292851 478692387 839958639 685769727 149334999 589747585 46797187 871890745 549888139 246181541 652848951 82679889 820848997 321481863 842040179 234332273 620583331 357116869 494432775 788886763 257996519 516954535 644666797 810981949 900985411 748206877 805086469 628212487 355396391 741176763 18651035 49655575 684403829 986460869 313180893 260380255 350146927 850353183 582062375 9257467 409871043 190613847 703432375 470274861 316225929 955591849 937227451 216822369 563134523 402417137 682049089 6740521 395784639 868749749 738076993 41928771 353949281 173333033 33178529 288246415 230658777 40943135 900755493 580534811 850706755 996604441 644113793 44292633 48031269 598086461 896942927 255607013 315978091 308411997 35286799 757645057 33163115 14558957 190543657 312136729 562938337 862820877 665079793 542992897 418138867 475579271 229634719 739977651 606468655 220180167 847094867 948416083 61135755 904791525 500194583 97334827 180981857 34410655 632140509 345382319 131407993 191785823 563336831 843653755 778707711 440427061 156937405 832614481 683182475 823240147 34811711 987715615 756031765 949619869 393937303 59576563 24105735 441594265 24459841 396001549 886589483 853382007 417941915 456501967 825707961 165815693 115772655 831705029 376014413 856267481 837717871 156208031 22765805 847467781 937176885 767843643 980913667 984492895 492344383 540837275 515307113 721838557 742960507 949333229 280809561 793331233 221932469 154911105 957949561 69657199 908376235 581782227 589501655 20650171 507291643 136332935 167246823 854387607 57564207 732892007 895012743 695617861 170784185 282064489 140398589 259500715 527872497 38116261 201682677 944808027 916105243 370780513 873798789 842092425 587605597 34368261 6660139 893353749 863964873 331668521 375991753 338178697 662437465 76623747 55398065 208005903 652302319 644219385 621895315 926412931 158701395 708966295 700813457 580329571 233907767 892038285 445732909 970143445 206845237 601929275 688203351 949953449 252856523 970000929 830859873 733370199 482110565 965256425 932638475 258749437 473942867 992539499 944089977 72442979 169652689 841210269 919543353 936884983 949811707 759996325 205425215 562558163 357689567 888600783 395838441 751606451 359924077 446990477 824611323 514376193 206069117 218081147 870535845 424904139 570229459 339609177 125197435 764058055 298948629 93905175 167386489 860025175 984300501 198890951 405434887 709767809 780796813 694990241 12762607 501363955 851593375 812302861 303867751 70350085 659424083 662227347 569285135 2446519 464565721 920112871 125138409 255856817 115723597 877404645 100926051 16099647 879209137 671121039 786925395 352652635 70572521 355216401 347119607 886518691 991497933 105836477 356567539 491918177 981832209 988422673 733485651 505316223 416642135 99611055 129977999 761287065 342704427 273427553 234695043 982961389 505328125 406110747 269603955 801999201 236447013 536771577 420233231 365440645 618122469 621374781 904059243 441451153 268612197 681888851 656485635 639258979 927719611 581075919 504526781 549953411 387930075 70366059 824718823 655990559 7014311 266416395 992917557 523326225 125221099 451261881 953860293 481594837 64739413 20297385 32006685 782689941 823136129 569912375 206865961 864971807 341834223 290087655 217292095 88620521 975505929 6142561 593351965 781439765 54828575 190736507 925234663 265346919 482307435 441805359 697887529 175524945 611528461 343440033 166909659 907989995 922727697 488815643 105686103 701203441 926717797 657519891 189141351 732671691 927718117 204059937 964298035 128379529 746580561 901826059 906690387 9052131 201974609 866440889 84293317 486464313 665303417 787199041 538789613 776061839 419216193 92460765 309224089 582474647 641021705 122581235 707441917 262661799 946863133 278681097 621120183 186561981 192536491 724322263 669023949 761805955 594748367 457037109 368906667 610107463 399216265 557265705 96978983 399639809 489806529 208257499 487374973 861375567 779718987 544028067 29201747 298506873 74316767 222473719 914763961 253069165 521410589 88665725 921906463 787566533 300404879 669901313 351431271 153783741 185906089 184419701 12628179 716741695 513150143 114746099 675774481 733953497 440586519 482233537 545708087 117383617 38299351 780803145 934824131 834578649 944530451 76493085 658336153 682700965 946195907 702532603 514692613 514276951 989391047 916140483 588068287 38967749 8813801 243129987 182190563 577494127 967841755 142005869 769344503 650220669 181686327 519400157 830679781 472134075 465404539 270373717 163601415 876456611 498077205 498488449 130955799 38425427 889502801 933878579 994615867 353402515 467062637 184535913 400121089 423208147 64551303 186576197 579235677 445302569 271699369 328925201 312946607 867051605 954309829 308455745 892439225 515441085 231086771 456634737 282951337 965287025 348252983 942044515 327921685 396182567 947789559 526114051 720719609 878044225 637031559 921849957 941211069 475409605 54009181 899480771 327185451 351585123 315833053 947739519 827544187 240645231 146676559 472259879 170249289 938658283 708605669 703124591 923631001 683564671 808553143 314640687 527725019 850251385 358795721 496746347 262113505 876500687 206447617 292645455 679685611 333471267 609688881 144646959 232420509 207113145 440795157 670484613 862864901 923926147 615498571 912576245 457721239 10968087 941536349 130241097 647273521 188054453 751807163 952232055 464752409 377758021 261749955 747991703 659363579 250971731 891025073 172976109 894801645 167031577 300641713 555314919 232474475 77569397 767895763 204819989 288016731 83942895 49682963 790239539 160013 92534455 342327117 495513637 209524529 606516899 545276751 866373111 177398761 353521201 181308617 139404249 108029367 100321419 682090323 530378793 532886665 845955711 289263215 938277739 745015477 23508869 268283527 641467209 241505273 578883771 338416109 599136661 265536121 909169641 268995031 133450059 542187459 506835581 736679783 842737551 821903817 879991441 283678377 599934637 514678253 98710497 183913357 723731223 834552819 728967381 457059563 847536231 329441031 418986879 533107589 281791587 127987901 846578835 134417669 695543285 486402069 780256371 622416635 25884719 493395573 3558435 809886177 5048655 250053287 457586261 125671449 78490037 665434593 458215521 136743657 360050415 325050561 196222273 206025607 79659695 813777997 102730403 696896521 188252623 175997683 25998289 186949233 392768341 430244229 395611845 745089961 770295659 663764545 420714781 173190273 741614693 289973711 511374113 612999347 451816379 805719097 634301633 164643807 664958741 147568119 168780947 657537169 822504251 177691365 859150037 952123703 837166369 215074119 616914545 765828909 249207009 390247629 778106869 864997811 922992323 797769097 830000793 593415923 421460013 194131707 844866875 734996221 249269427 99366663 210730339 740945611 799949075 998151931 542794303 276583229 839606831 512883851 524281767 578602015 297019409 479125717 415176475 548039455 561468653 414276447 651996867 516835033 855218719 821901077 125978733 460085197 127018793 738933069 333481615 623322979 143645879 822850243 543822667 59806959 812820381 759698591 1589605 500980393 568662997 347540331 679579471 909544113 23264131 900651549 957038623 838366737 431890417 830343445 719459477 638847421 49783445 236389653 285179415 424864137 124405767 136747085 553372597 596640059 552294667 92832079 74091303 215287163 919819151 798827035 114332109 217049815 816672161 490021651 764314027 444162765 498279555 13933577 301352561 877537979 398162323 833547055 573580409 831723245 282603869 161868835 406611905 812466577 585022103 183228139 481296621 441658817 368233753 67574513 462602833 973083265 490932455 113694735 47521507 641500089 489373999 241301375 922336577 669788983 130555713 77286119 228491955 767316921 479781273 297940823 450538535 21109725 618524891 656041023 580400949 783234349 985456851 102926463 674489117 257358107 210573683 313368413 143904711 125962753 516109269 659955077 677050561 392686621 750284095 827311631 749640769 919938205 679469593 192955251 469159463 565153421 148358395 302544539 150288637 555325419 216245659 588534225 509636335 342131349 214758367 112605645 427417813 198669141 276294355 145749675 796491055 105673949 725452201 422474991 917211939 533607109 746955965 801562249 107593601 845645969 461440655 386577355 348573121 10094759 840033487 685074037 145435905 369440089 764040015 329766571 682603785 49648611 772461831 917975035 602807625 368791907 915065119 755977305 503976407 489495011 525991391 284106533 876110961 291024725 177225659 782547487 625257857 483285649 841505357 497193081 533515541 671607385 314098523 858186183 576253411 858081367 197073871 529447175 369232461 119377949 978421949 811468699 582548313 853228577 354743391 768024147 387329973 660405447 61685015 505162341 952696505 652483927 666243187 816631917 825655143 41371395 47308325 61036911 224473953 158318051 175736585 350772697 120079867 569437689 933018147 437468803 862229289 939160623 906856347 754430373 618374795 626964823 256817093 178113001 661167723 647350567 861783071 221715291 383770293 529126721 21111883 585507439 685163521 734536241 6901523 706068227 755915407 48329831 706500461 312264539 844847941 822541627 633863025 238391079 740284595 592819183 982110051 35017851 433437201 887644333 19351727 257028307 69011005 340866951 566085353 91424791 689307327 417635187 882611403 514381201 171478215 829182291 889545529 785093879 466022441 953365747 370872893 846002535 191110249 68516355 947081229 483460199 198976939 631182619 119404033 709854437 130572733 157007549 312822687 741921843 110241563 796292179 42781583 28961551 537561057 111064365 420726951 565972641 449320661 509549957 851210977 891965813 825438827 454415227 513243745 134485629 258281397 132197403 222991475 334516251 189197173 453828693 989119113 878624019 56160019 528742401 548624701 134164879 183348123 746103521 936560981 746890281 984982215 944738717 226753209 958492379 919209975 730563273 890699135 931967499 302284591 566078429 220444387 312680839 41238049 959697467 965903429 114034563 216140067 208542249 972736051 443561373 919564853 151693789 24615261 985139163 160045565 546136685 442948003 739208105 173213899 309675225 493648645 199502557 246365079 683688719 626361517 427393203 381141759 429794013 787327475 396146899 536181323 803152125 88224077 418022471 685507179 779189263 78494051 332390535 624127731 520926623 115153405 144781933 788483367 154895643 272015631 285321539 543055593 853462751 473165235 445696433 29287373 829324587 716265263 820934351 691078153 339313447 655571437 930777883 70392699 227291111 522266753 265783673 73818793 53998947 232509603 420322359 258651077 615430011 853374011 726894089 306909607 628316409 751721041 84915469 370509515 895938193 909331481 744382409 13766745 413864407 938256367 601345063 310154019 35884113 415927893 852446849 126953629 58282085 632800503 35933841 765352423 366851687 391941033 299574911 644156107 790278031 665174883 675749333 484456629 420488957 108603213 758831241 997803963 353712315 42807215 942908411 444446113 500702907 891542781 771721197 672292043 705799639 602174163 471027085 427980619 475539663 539375349 650162801 83766739 263816011 621737035 451382679 825863879 955651295 37602283 919600227 436884269 122126337 959579151 413079457 323591605 201146645 469056283 134120073 471077811 326063459 58145945 316713911 981099563 217188383 651397181 568182831 657096897 228937053 613743331 101729889 712960195 768760099 672794511 792336671 366140973 248548439 639159913 725389993 174336667 81715147 377831879 113868709 935101523 549046075 443457827 654385693 944039751 54272581 502140961 829859463 958665743 343549811 97629581 690542785 481737959 119284535 937014359 329597201 708582583 546110697 340432031 613527331 326775825 273267149 377877155 372519181 666705449 301853705 534033363 26702923 515207135 513524143 181303743 368991941 830216379 203085243 85414691 434326469 344735213 309769483 389224163 125665027 302666571 125491049 534871307 88452507 286423125 901275783 874548685 421079825 748970801 48651517 999927939 254681171 407498671 395417421 680095923 809466553 157276743 92711649 276667143 500159229 465794839 755995915 867618385 90362947 662703335 227936257 307873421 133913373 604395557 964853223 158991841 517513341 573019627 424344517 606189973 684872385 80287477 26057355 633724187 472117423 885191341 988066327 934988563 391001715 482608161 352588325 290282045 898058403 490993415 296593249 456984709 339998523 206916289 821506139 59865085 428149921 929812821 941663373 775040995 74601123 775403633 470271321 951822231 700876151 720445037 788777223 172832167 848057015 854178121 978792903 500773061 751826027 806772139 782214839 292331725 582037505 875099621 123583699 663522241 700547403 516127467 847544839 664061645 115345289 412783965 853828643 97132869 583883357 764603525 946441185 926573985 315460313 724700493 332401633 131403401 256493679 70603089 646425007 222521285 327608317 509462479 582949563 385189705 362565319 919507117 325386589 198957105 162495869 505481595 732902359 743506367 216650545 566541937 97768787 134136929 550946403 991998317 170291425 114629797 748267001 63853303 601931387 661875275 227066429 725168445 288448001 740138805 8310245 330747673 814792767 371357293 720932111 618602247 915305443 242131753 474491457 884938801 256201353 982769601 343420775 558205797 300559793 898794681 56653015 255955481 6442949 269969341 845741647 987320687 127076117 388375201 448703473 736825131 713792731 226586207 87715151 737602751 100458551 759620635 53922905 463824961 16054581 583511585 160316529 940468081 44100547 718104801 70829401 723900087 818456765 295561211 487214657 622314527 384483555 517422381 218178747 917255779 550585823 200245095 382185927 286539235 568426815 513847737 824868041 563817891 216165761 788429407 447316111 842426453 580778245 375890365 920672333 752366413 67379473 533308767 168365729 611179919 650583257 764395765 133336721 652470463 706025591 754862943 880091273 710696493 732086763 904890267 491708765 238870481 645403165 46762457 374432079 252881737 815466465 652148841 978359551 115320029 383839983 177857737 394883197 31143547 655427303 892224153 636142655 693675709 544587347 958270629 795194911 459351519 857539495 623182307 334236261 700137163 245165111 848780909 603057343 38870541 662714697 617559685 958066495 461833953 3495171 726086037 298367845 405755425 411879289 567945525 716466451 759416153 231202723 320179227 311405467 829086133 377503329 31782703 24957615 126099213 533170557 917531257 654971245 56225505 373609129 349700653 413599577 533700953 720895103 105405349 596939107 433218625 678513021 929489511 910680799 848339475 615011601 804540701 289401481 159613677 174217351 273648795 973233031 561627031 26017821 613455067 706183783 794293889 583506929 951587327 577435677 531265729 423617293 764941653 582515463 341567255 969876579 930022479 242181099 73311977 367387597 948557705 803611383 522847559 508224265 717489093 956830909 138240999 816854211 250776815 293213499 515858987 839941517 540686619 122071769 851237401 538631389 109340035 562648929 562377055 945907735 25763211 289893643 601435735 590130563 40833981 417671025 902758141 243360595 920714445 767647901 939003 144461473 958465175 398842871 675379103 715043435 349183773 37550937 84770015 194947741 731842957 212257789 993629277 663360777 822080311 938562441 842738013 673242213 714123927 162647819 185727697 359222613 266568271 238953463 151876687 866264417 981721135 586590507 952627991 155982331 329506341 817091563 913000207 858752379 654317903 746743527 499461065 443940899 994083569 268552499 716105081 350943517 464279923 948946764 977912831 765425017 493470059 440621591 642344931 171474739 487063699 632331745 748116309 442698279 991919311 134410081 7899435 115189027 83335979 482951857 297898979 795929815 953339097 594028633 499220135 30585563 467507763 229456967 999590469 487785139 684605373 852562637 936478773 474878149 820842789 968243115 873618325 922471267 286060091 272530181 677521965 549160903 972205053 806493799 511983467 84283155 754127755 454234057 17536871 343463245 920980273 967904391 424584675 107658347 167767397 921103975 477114689 164001603 85768641 333275283 440488341 64791703 67333125 498130597 740432787 902769169 341263137 873539991 691685789 861789505 137779749 686695631 383812791 752598689 407223631 905237275 724956051 698050707 56514815 565398449 668332935 232135775 580896451 685007659 289577363 453184821 518066765 126068369 39320927 653680433 721114233 268336207 711918135 154006099 452876873 2353467 13995029 589857669 479676391 520023443 813292183 592101783 945915819 154863097 577123845 705469507 454148877 27411583 967209039 834448681 464141743 990548887 530287627 331858133 801191007 558052125 275266935 901009333 427295759 374860123 76405117 306251557 217756891 794415609 890561707 283915877 56764165 639556881 515725881 776657823 174305273 759258653 997190917 311038179 98586443 891610371 966712469 833429291 478733237 138817297 6183453 637792599 239084569 407088123 862370159 341814067 705705093 135236831 180311053 399319661 756389677 808867139 268354079 335821729 991320423 990367763 838046579 378302287 550630077 355930787 142187647 911428831 35965909 51221429 142679395 721790885 847434117 94657641 599772393 692366297 782506951 792825681 506699133 818378651 431850685 224495453 665599543 164127223 701803959 808592111 264632279 684086235 492909091 925322953 275482563 865971491 483559583 110043929 110509835 702745997 332347375 614702709 956305255 309311943 716793851 350477019 8615477 253014111 347693785 249329327 754361215 522230989 339527107 711530943 273762543 749000821 826415645 346302527 959058145 596755873 604111985 368152525 630052689 431178367 801652085 957702765 317079785 244970027 242278145 722634127 415920119 482407843 226959643 423842055 354306931 3387093 888754923 199692305 433764859 355277197 743450055 238083667 593093845 905419913 270679083 374702299 122347765 765788775 771317431 12522271 214686189 554832049 954417975 89712121 636192511 946313433 682389409 423938225 697067027 277524281 577005837 727366643 756850359 547810319 768861889 870584021 732221217 571628681 805178151 502222805 617400625 21688755 536430289 835119573 796634993 710470027 569262461 750679335 610722829 557298671 455192843 973815421 801114077 102206377 525349513 291122675 139512159 125253483 341938471 706883603 719519679 622221517 489173317 53658309 636515271 971931987 798179683 246775395 954429169 170844003 634217773 448693415 221271643 492289873 789640821 317237175 417462733 752567891 185428025 7953697 692084919 804888461 407372185 865727193 129246509 358237959 337779427 348633661 410541811 344711859 190548617 614581011 665328749 79630697 366065703 517920391 659811243 728039405 257569151 817494575 520605027 982802405 553968509 87740679 716479479 925308643 548612403 895179895 893300333 683904353 72338143 440996681 675070323 328674753 624559843 160457397 786332769 143374667 236802761 592727893 983059001 834740529 284503109 428031537 797213853 812001163 983300147 740967351 639937761 145674331 767507861 652936377 91507961 278299787 355287703 923868535 97356933 803305197 374648717 497451669 119912911 94375223 420346865 737749537 426160323 21369101 740929381 441681039 941873145 468965111 58886329 136792507 909081007 475007845 952490203 782034927 987809489 390891955 316271081 966546133 562188265 195809571 711417893 648316547 119327793 791872473 977102077 117289077 580283527 132870637 575039489 942224017 125889139 676434003 682072045 682167333 411531555 213267949 221968805 956528871 501890161 812824711 57215283 489418737 91297755 170198481 258406091 185403595 73253253 377846883 74435531 479188577 166914371 812156095 52316081 446134793 951360907 677407823 148393771 691913857 904486011 230711395 466061583 487057133 355433177 231163701 597467475 930303449 288439065 36355301 459260445 239870525 332840525 818155647 288763063 27234421 285892407 606239987 777469079 360069445 160697663 590169625 363015253 880120541 394797425 602334643 636970167 305448911 850220423 314011753 72362919 465834523 702128865 943549135 634205495 285230119 732123523 913582685 41151139 466706875 327005983 197232757 2602831 727785235 897367051 879762269 299072967 5218759 285231175 725118795 748373181 989368799 573958265 892481365 984960523 568379079 101480177 69766781 683824055 593871445 860403367 987121323 772827371 187898821 248344121 294387123 670732025 693215423 731709679 600580173 653362271 207550029 101022647 463851801 952151485 301391845 619803179 831807907 512340705 376335463 582033801 391615833 980182461 119526677 629217717 593276055 95739757 653970591 739947075 456513949 47102771 198576663 843563881 678421907 23644537 710437885 13316355 893442445 38783703 106948405 997528989 235638147 938574085 408824333 981151587 348065621 824777189 257045305 107959599 537042895 282846853 367681239 29293437 966651295 565180439 168264043 292350837 54483551 502290679 691159781 856122857 893753235 522743207 56573849 698793549 887665059 297096147 523857219 810327489 932100317 290309455 811034633 921897487 286257791 548762901 727735161 915217569 301479 533128775 475365257 692472723 50016863 124483893 896966035 437282467 635370139 225068621 775511391 473147959 671046959 210243373 860987931 492854879 564303585 774736279 315317081 828160979 148087639 294407799 540386839 318602993 845130789 584600801 812894141 761083073 169134529 259391247 992761111 551398387 253976207 503275877 88933721 337054683 560019929 987246957 108610335 623336829 70865101 242848989 501366643 763093117 307529093 61521549 853417663 443265065 413797381 660371329 284207063 73456253 712662323 131242471 787453179 432314133 915665889 612642831 472935631 957261367 457187275 273765237 202671457 517183957 190556303 872804797 289460005 876230279 413589687 392132017 581117435 185718409 630594741 189849159 807588901 178816707 118908897 301766551 490930001 205502919 384621951 445788647 505709973 286284489 476569525 820905631 733162093 890103465 984730773 187065685 948836289 734969583 683785499 929657541 9149659 614869707 472296485 150194127 169322355 388992019 754953597 967061633 30989475 836935239 252427989 338198283 675103219 911924109 887771845 418896077 999646289 897447349 653760975 252966213 395322639 611610935 215105885 778638627 69161709 917548081 589803201 556359991 515066639 350759787 502464049 401679743 805301763 439165779 508397521 622018587 806243517 544103683 132445353 805954137 744270747 346309943 889058219 317324203 255882083 341808473 783616175 109430443 465106497 430492791 118907767 263221791 993004233 328101959 116291757 934809585 674261757 306801707 671332065 153609269 737810237 540796969 649931149 539572771 786164057 662181359 467170323 821292323 974052231 884264405 956065467 71814077 576937313 612090331 783987127 615920293 990893807 133167271 581664287 906168757 971723677 822265995 527852789 134960883 24369987 552898683 66981411 909594505 640430361 696306967 30984057 82774731 395586249 29947303 323929009 429873971 459327325 782701339 712441197 305574245 751016013 680893705 894789683 315750187 596435573 966768817 737232761 779288185 420764955 430809593 222098837 277069931 848567017 672910961 740425929 757949507 990772985 61757009 907072575 206621293 683868101 431404407 272258311 805937533 541464627 10389611 107965211 554781997 514412177 920652123 416813659 686007137 466824083 340037921 54844307 691088675 844963161 886442041 310785395 311094183 913864293 739026893 736300433 1644361 848867493 319024809 160382835 101328525 21389935 32985161 685490561 196618523 732587903 96216519 854692875 609382601 84151293 509998319 659822667 383949969 45370227 904141101 345761633 484988823 921943001 775674521 665337689 72321061 799013003 557339891 285347873 960202929 78950221 771724963 508722837 418690771 355749709 785398197 129014645 615060559 292027939 818494691 773692523 110102035 486344905 712019597 524997895 693106479 503402661 240969143 85520321 272140767 717320323 776486673 773390079 213412999 415939995 325100021 867558405 597942451 51313803 895834465 973358089 692961813 131391059 754797819 933770527 464925063 992891237 602075667 823451981 680816655 898298517 847406241 852291451 733587925 494734879 128422467 973247095 583561519 548602539 837421889 26725375 662043033 811105859 563570569 424421809 11081907 465507677 764621237 590751769 280805195 722172377 93880833 286752165 679310419 284724217 398002007 914782641 500601317 178829675 108034627 262184827 733250631 594998853 256395265 464751921 552022243 227492869 414545259 542408927 125522251 632714895 716076557 455942531 851146301 678454065 229209875 130523131 272943257 744183709 292107861 782496785 640448109 163389685 798694227 960495991 386807275 589319357 982197299 292839623 369228911 508663777 53112519 924081281 879591803 648197557 103947139 922673677 903261115 941709049 688615047 384981693 384460801 303677139 232515739 264369869 785729611 217686987 592252463 963322971 817947323 87811293 194995801 341722225 113379995 135507041 549736919 622473729 324492639 774054175 85961747 905555685 243394465 527393603 554885149 972053211 571690025 904228195 201660327 10117775 919543005 312823165 147280917 962529427 567885265 87582195 350828397 566569565 637591619 698894999 13476189 339967825 98305941 376131993 871116351 420498871 816189009 882623643 47886351 152586689 337872685 242871199 121174391 234918537 74343423 731682325 241439427 493910285 144267985 832807375 266124015 600567097 736195785 271714317 429679253 582256351 117860157 589170291 92445953 966862005 55419047 589110287 563081503 186266975 536168363 339063381 877526151 437508709 894336019 902589987 290810489 474243897 244328405 647093439 228336347 118393907 297096713 534228693 685481791 514255765 909969395 506537339 522150361 879771785 840161793 365447981 632923785 406024225 842340035 645660371 793595351 996551251 436005365 97307831 414129651 361934595 951913339 246372239 742228403 589832441 655278175 909120891 84382613 735717093 664694743 792490237 293634243 573621861 360485435 134748675 729105419 145849589 154991121 931459813 704909029 180855553 437485825 104734555 697259119 418080473 227610339 747816335 215485041 188399543 472092845 379518221 74187353 93982397 4491653 664863177 401092671 546731507 809695671 382068513 916847077 168795977 232653749 52811993 334779821 51254171 403028761 324679713 7389611 384245673 563743657 209440397 711361171 560874269 145628239 934811929 42498759 993884039 280410653 532428587 189847883 355071841 103904079 345925521 106602705 191966477 986369099 778037631 869758127 708376531 782359193 550623637 100219877 281306339 912581611 983395029 96844827 751056473 751955233 507905453 133349021 24171573 217495867 778344179 964257637 333423457 957800037 731759843 290941457 376427693 43761 873767973 341924585 763026387 539426909 332397763 42462685 631123061 454901323 62829365 922800003 673333017 783763333 94219095 245552153 326788149 330684159 967905133 818039945 571359519 177852115 775707431 70902625 757551895 836153671 221594263 992157657 536742987 245925317 164134205 137018063 556600521 148196321 97669373 644741065 859301259 14026325 790093093 602312699 848955761 747991557 499922281 573713207 647032903 991101179 702727913 212411135 15532987 814445931 332386085 606516603 387772009 797726897 436083983 135801 289958097 268310607 630977019 533104751 114386011 496905457 311023781 767709053 558477915 5471083 950356021 480741997 80528649 320210871 407106869 876586923 486264965 553975289 290537117 83691087 827032539 819967867 730052295 315670809 72865785 140743603 297514619 134730607 262066875 505625913 321910759 720395361 306964449 711938257 726849949 817284519 624683027 272167015 910092701 292887199 391099365 447606287 644704331 397025617 543570125 408463619 955971443 560265581 234505777 79590055 865791821 744107849 672553557 936629127 253878133 764624099 184278381 286971987 957081585 318742757 810385043 546970859 87050797 756911005 21751493 455721293 408615933 497743875 442499057 286826665 458005155 955739829 551904227 883115087 508493759 947944185 327861081 606359227 897671265 590685123 87186161 597884561 744193533 62153893 839624245 836123549 118241139 209310945 560623769 389152719 99466757 410597471 42107505 731031623 655220321 779840683 300242947 839425605 935533981 894772225 304778869 948010547 68603445 763181627 239719129 779945 549190929 360847845 135919915 229670749 678371965 531938601 838649673 545660469 41442603 554481381 591325693 618309693 15256893 491167121 124609017 61906599 994200373 366086747 798587095 291811277 228663043 405380621 101142549 444462645 319299835 125803553 487315999 35116937 91851993 376589749 938646855 124269979 44959939 24971921 734473411 242565481 722412613 45754405 512330167 843310613 246584153 124759173 823311403 124889575 395132247 636807029 764452881 958547287 584339463 820524377 802903105 403017727 563171989 483143233 348899199 425159073 152030871 30110435 66762097 585823529 163934985 311062945 208937897 482405291 286303057 929997185 627016353 686717279 819413055 442828081 700753595 552069293 93675779 163717129 461115711 233975069 619310655 810517257 850878303 539395683 225714933 76570585 615337779 129326939 279262613 815926727 233925823 618867975 189879025 89598153 58232041 67755923 804224841 298599551 402546819 483321171 939000129 346856755 841737543 541572545 59139301 174789329 946478295 172762241 925748397 260563953 849311675 599096413 680338549 227586257 373278307 782504009 174894211 375592541 396582445 458986593 475844739 49078047 36475477 736533225 151776905 640047185 158793991 676685641 947747863 314399953 65026643 263130391 157538061 741751847 428110131 275204877 166158523 415659905 986580617 752286223 288075989 950205625 126843931 392110631 776239227 417447245 393443743 921844107 589637935 880351073 952704939 916429203 232427999 908781769 475949249 73898435 332289505 777731579 412631627 463896777 728934387 900880661 639034777 32390005 843496247 169522909 481039077 334566851 35802175 694525893 979064913 715941335 252085245 874779877 586060515 123550461 377179853 235536633 622807953 187270309 190706553 353413993 836118577 565636975 894068779 683482951 905673861 733084697 250617207 875285575 676136247 826303635 6284637 616092619 545652951 83030765 982259777 987595223 179184349 343518821 969404913 695141405 165214383 799179355 527144609 103971571 659955859 305079643 103231471 97198169 186823865 785841691 797137377 450492149 182328893 610704501 519348707 399798551 981896735 791179371 482480587 740493751 192690759 234915111 296749271 465301875 480840329 504838145 600680617 269550995 180897181 875729263 747749969 568913669 904081443 823583769 446711109 971722083 977816487 769398213 479499361 540312041 651437975 66913387 10026729 591659649 890468431 92804901 218661259 974327993 317718031 482649909 201556831 383442121 677822463 114816775 588718303 370496141 74637619 93852973 72777457 268677777 428447139 872623973 850357729 258163969 448430383 308043665 708330599 970528951 825794211 942833339 142608031 377858607 997462701 686340631 999091471 208613521 960487145 396123647 403007395 590522031 343118037 389908219 288875185 231660541 574299871 312425649 106808309 710419355 37877075 67614453 269316501 689947985 846457199 805263557 695862559 593092239 616476753 661711683 850303113 336870763 480949765 85678777 589806381 641374117 718465657 422994843 165362899 951531427 584196231 117781381 758643879 571208053 158959347 22852155 374697023 781556691 336468323 784439973 874454169 193231131 962091883 513519065 13254425 677224533 757153665 1914385 790773387 609900081 829039627 599358383 502051879 984670723 471755853 174921283 770179209 703388367 962960763 769870715 726790837 694971959 410155948 373697589 568181531 343268239 266234087 791284085 499569295 971452109 135463439 367592803 71643469 744229261 95324665 194441813 157016571 861956635 156685403 652032453 143694503 805648995 401341657 682018135 230802885 461623039 743434747 413940183 987746099 891268139 3199027 291447861 752726327 131934927 766386907 587173009 766573949 441832317 560771377 154186025 73976859 401862505 155597153 368185709 833729679 307093875 452686205 27221229 179532475 10848035 681144443 61531749 400261105 555799465 18578239 62843065 540669409 331885787 506270609 145359861 412219821 957342777 348120867 346465355 498241239 203652073 605570701 986672917 830174799 734390715 792237137 850685913 151306087 199939623 595157467 997092159 929741023 886490955 511710839 439051295 574163419 907621359 903086177 797473391 537532647 201250433 170197435 747576407 681054973 554523163 233128333 920557853 809148533 387236217 182020809 733606457 159325717 151027205 577130823 571266117 1432589 174590157 77360841 823036419 486025969 670905223 966694393 285003615 42674365 314052501 62592871 553392747 314070489 245945595 287274125 144291429 932651023 504154989 424511693 840850093 785555861 983690045 186304111 253736401 334210059 696148589 105711013 964156547 597072243 255076259 362297735 712074911 461483835 226416945 601181975 2251815 117301049 380638731 588338239 524345415 427603115 183413457 35209423 658182225 602893109 864026315 267279745 457589955 233203171 185076457 601768183 265812543 268173357 356322497 515347641 30080655 252190959 476865939 476657207 219224487 772298605 339371333 776315853 945644707 252349015 699332967 741299643 795145925 287354561 256340529 300176171 393630841 383003431 857551233 627754797 72943699 447683695 308808159 51484091 470625805 157406439 869322617 130100919 740178827 135172931 377119017 445262567 700021719 350454177 450782571 342061825 611237415 490820231 358963049 344867995 834829011 369959905 501183983 304826679 619571807 994955269 322318969 498190653 982399095 804308145 820800545 804151041 485330159 267993607 316711603 739728827 337456321 384672153 995003291 958278797 968301329 770273625 952377585 651839357 228240427 577464995 299890293 323745409 230653055 116471103 753968783 653316205 424396203 628228699 853274955 125969415 199540083 174102921 847968099 630715639 264144575 409973705 297215797 743256781 967090853 584174207 540867019 627986945 540519777 865272441 586407887 881531641 785925971 944895723 483197597 411579129 106823175 108570739 421327155 766362935 468944691 567660567 538051383 634803143 840704943 928931907 613899257 171314351 891350657 825399245 634325361 170884823 219783635 324272881 964449597 674927885 382915575 631600725 250884517 936923919 673460841 791356935 514888855 14106747 759315663 615400573 803730605 776956381 554662895 553373073 320062499 611122083 705224385 761034125 451937251 341608745 975381855 497568281 152989305 549598637 699425801 957624653 321717537 465913693 792064559 830918823 850513077 580510789 76789603 410837003 450839745 735741795 97426525 936745669 191786097 485996437 784373765 132521101 854321565 96357029 432086115 411372159 120311749 600351815 316804009 946680353 911189775 889463567 618579255 652799069 125762381 854992771 282754701 349095053 37294835 56348425 329608791 258356587 197397537 58141941 646601577 563068957 427526047 870810493 675689915 777688881 38418397 793752261 794221429 728839579 224757233 537916373 967811039 958764475 20598937 136157599 718644333 241282643 580955967 530516989 991135163 883525009 676983537 906623661 668227723 425973771 571896679 675978333 460867785 942495165 687447039 54254489 786266761 596238607 78435521 528535519 340455173 811571659 508620123 260103819 456849823 928288297 701765159 81900013 513906407 373587397 674391329 242743345 772818315 804545187 534622451 748280945 885630825 136845875 926288361 273851823 19972227 366529095 407525119 453593045 456823813 671807519 549226703 698751669 987145027 336236383 592565925 175152389 473768119 689724181 690400109 851190633 894747909 652800693 131949247 562173801 524921337 345893661 785867227 394940535 617964931 812536211 815624359 530668267 251890369 95207619 580385973 963342089 940496119 149039555 145495097 20461559 605390477 749478671 652227859 724089543 908608537 517911437 465977803 960813427 417968981 985355661 358604433 547577309 241849381 893021631 147032633 739925197 411372949 19126853 989219655 100590837 648486101 733530017 198086367 153399789 777342533 904553409 678704081 527362871 951700579 685290235 591147413 691888445 217387743 910948621 591648073 493257295 483499913 828323867 443810995 426173351 646607709 895210929 693179719 624890471 42585985 913487303 788797207 904941719 788236347 612346297 724596709 279845927 294911491 31102797 548561433 654000115 760843377 62493615 346297281 157909693 485374283 188165235 304628627 886229545 306453883 213103769 256426481 278154701 856658963 49412999 924818911 328591907 801566545 908088327 975110159 279131015 489147285 295124303 634116055 689009991 409772653 170570237 589848119 526975633 751810955 580679959 615910613 345844609 714126281 235947787 739562243 696475671 863762477 917054123 74581173 266396989 275333345 552917557 321076619 657586627 898320953 158489169 292362189 28144995 757296045 348602633 925628779 569548223 840734949 578846421 149645561 738609501 217061545 617267089 613593275 358000307 498724333 472048001 123681685 441010967 965377229 257768533 249262615 997535179 250897291 104365599 88983929 37132535 810034579 517477983 663978647 425626287 785917559 901168377 663618301 514784747 327438069 862821179 107806169 806843275 921144815 348992217 855134463 354467675 242703215 765908209 407784945 56408329 679498665 335523593 300553943 484760369 641511417 656060429 885548413 968440403 741620705 638556499 139482207 687610329 642320399 122548631 990879639 507241745 847087441 374232065 645703665 593393209 557132711 692666651 729166809 742189935 988137779 76991963 751305831 638471103 679439169 300156577 701099611 978028055 40195905 935357487 710619931 998590035 840594897 800546997 750341047 285730867 255675315 454937797 591270887 489667679 104328405 640620639 1901321 800381803 189678919 536184293 455784741 69723343 40664133 523416873 913384939 206722539 568784691 54174813 350611377 683104009 704401051 917974303 110674549 716432475 550676787 456739701 625936609 405232891 514705107 532192969 153879875 109317609 213649281 376597237 446719123 168992525 913036901 410889011 455231855 481466939 564961493 100760873 39951133 118334505 36023627 934964197 190476945 140888443 972111469 505683165 476902237 724384699 927670785 229583595 327810243 419861591 132513279 907283799 776353963 209192361 203048319 568118989 107308193 912384501 502482375 613659237 36855521 133106785 422386497 869149335 525165893 313892865 69931135 298771021 420510295 977127627 149206333 141748689 420809287 933211811 652001121 202705371 384786923 274951761 425637361 462270087 546806723 544436359 850306085 323578969 460856567 314969823 842517591 92947265 67430995 677053143 113134345 837416337 116006225 445052635 248077797 234257161 102905103 25824061 58723523 309088717 365631317 534313779 238779035 114405227 274127761 41705953 671637135 657730519 69670877 896173903 340187373 29618801 242725879 642636655 267808295 774659321 729433157 607388953 102795225 853066913 230118103 260879121 522181573 788043005 940482659 587970813 541668567 899888395 448059211 229720175 2812961 893077549 186756245 624047075 973647329 547767603 293383407 790016949 584924791 56468307 57502129 849755443 693028723 34472745 749083611 55025037 291554947 759588281 831293717 685913819 567812229 426517873 585711275 954380577 202955899 736816935 513850009 150463813 225506961 340919065 928750713 197257241 217418523 164232171 8454295 293706071 735498131 703230379 584644317 909270177 570434971 842080973 444563431 812606591 254241283 39126319 144953331 520980835 567037881 687270677 341274087 949667493 128090331 809549359 412497493 596249991 466295723 456583825 987076721 561935411 812461461 345517495 859897627 492305593 538821165 501888391 315435995 377924627 865030189 586748241 541384159 746404643 86529145 977602757 247913729 234987953 925446941 718914307 415680189 679391597 890294345 55891345 664405309 449241843 363158875 876648797 850635343 142933187 309447639 73843129 402472043 936734791 35856485 250249059 988133805 683473615 499999195 622476163 662598881 357933205 516194869 231389347 402726515 982876091 890824083 669989819 552746877 58393417 99766081 610429735 747037371 736626735 564917941 72545197 722126741 251001417 166218375 375040375 835819805 942622039 789512573 367937823 345120007 179510275 536647551 972985503 746182323 876782301 499351205 302197341 942756395 394744159 803897893 16039975 787588379 975546089 117432677 183310385 976424923 873624519 245057777 486714905 536197225 471923239 655753595 683820005 160381809 383522085 313339101 364513025 966669629 624520641 151632669 293527875 265588423 920618981 403865957 89228775 819116205 330567519 654869767 99703445 495585847 217731821 364779137 106738775 774807123 965016367 395844723 12911269 914365595 395539371 713105579 315474521 767227979 152393173 752961307 814599869 332304717 115416583 749474525 84502137 393202991 873281665 743282999 79709861 400722985 10457709 773190291 303437247 871174679 395207385 626063749 377021611 464848261 298523075 576329669 745255351 896438431 414392585 358434107 967080855 10988093 333691255 192077551 784009833 872321761 549572539 486033429 617681075 887142829 375103345 127533833 913324127 286209909 947371031 559436365 902233543 859247533 603728411 64005005 524111525 777273717 890915787 774530717 581153569 159508117 838993503 558750327 52288197 128392317 110052091 781315133 882948487 800602947 547390377 277716029 56474311 154605735 123788887 751263467 83477063 284751119 980430305 705418207 812255029 599198347 925947141 989036253 54036775 480180691 426585455 870545617 987432731 993096517 976054449 47369423 949565045 799043049 246769475 414269713 203338753 811428463 829132677 318146043 295956727 686064683 475263681 135792919 550092275 892504097 900004905 131134491 549956601 672837619 244338135 623883743 877712249 802876149 45231049 542156135 776243013 7927069 158261995 529456863 933446045 816730119 453511183 638195867 57781543 84558847 351295211 806886935 404866027 584552689 641257763 252895475 167811173 218685301 90246463 780725755 322400365 980694987 194806193 73586213 882082379 490948827 368402899 912918921 636477355 307559729 94241507 792291949 48756899 372809737 930538765 939522617 736611503 456257085 871333475 209205891 64836023 666588503 831133147 522264071 117475077 225559175 785133145 733202341 36546129 798488995 838623653 449709929 55686837 364084779 129493873 133659529 241184187 778868805 825215573 241163101 833211979 421827009 404364501 925777515 571004863 444932887 167637591 208789853 491609295 244077669 578709549 315082501 263877285 343531123 597849745 478622561 242954189 411470255 650584997 954295953 512152891 213560627 178043505 782805987 866348877 211460027 437525479 109349065 764841161 340413105 353022431 132279261 779907547 501315363 592776219 304137701 43049241 504859335 595171653 136535755 547930751 673488127 515065325 350560417 205875315 808736207 834338703 256509605 999775427 704034537 625030535 71781433 97033125 89903269 633163299 783993829 799700659 406701311 49910163 55176801 16567797 492019359 100995823 822826375 242817241 866436055 272727353 232536921 757351729 977272219 202668635 908593411 922726973 11905163 678236197 667934681 767861663 842917359 150635857 558923861 405718121 446621367 395203201 544340761 932911629 511239801 484293437 13310451 326906729 203915893 190085365 976965847 975458241 846601873 238797317 830570715 848257989 185268317 477278893 883995977 347192455 291516945 479704599 728174727 155086983 639943051 442008403 383919915 320936619 7009617 799098971 771207919 216634173 949789079 405533457 8241589 241350387 549323567 484393019 628357261 219729387 417040029 228672143 236165797 5278891 399905027 505001379 230223451 664031007 979083061 58049785 465855537 911128477 266687657 570346745 524133845 910805987 2400891 993277431 965351191 197411859 316951159 321628459 911692531 868225981 800370185 617253815 187997325 349059287 512838473 987018145 453808175 341810365 676069367 62775007 435658831 505462579 258005627 676840519 693307525 524770665 462616801 991461017 165081237 449876209 961006051 138385795 671281005 824613067 337204191 293750931 439196189 684973659 606928351 374982723 556769 416049775 165418637 817036531 244206109 260077627 217387333 293303279 95219549 178742877 928197893 686314085 571913297 918477787 462456691 807092337 734656473 430483233 84859359 715993105 123694835 491213571 146398785 891792947 396147151 937120707 578190391 642749349 146074813 999407105 371976199 998059551 611569979 664075213 660216229 669559623 870105321 9809820 596255651 809148321 687963797 410320203 161353285 599451041 951803185 821901599 434253933 525118625 629651671 892984007 975212719 6389217 275625421 906801749 307619393 478965641 859161469 534927175 993672191 710324141 698986873 704775045 562377077 467337539 810685567 587056731 774849487 631142191 872619375 457127293 428667109 353036091 902585431 812396553 566685751 132774677 664448873 656503683 894495723 613289815 501940225 56038107 154666451 115980421 301052321 977278821 359959651 351834629 830663411 59121629 138312123 840623403 559975119 927501673 156901027 953134637 138049325 469368983 901884299 176154415 778395695 930977883 160542601 164363579 119750435 868299539 651967835 273704767 48807291 226259333 475281003 816618261 602535891 831802335 436323783 837670529 622924525 298572467 464602407 211993129 153019575 994475519 520924649 224828063 688203583 687947819 686957077 815241055 475177925 736205569 219435353 928798663 991849387 488905401 224815631 78704673 677848955 349229293 373069875 679141023 854863337 317979559 680420463 951877721 274907345 677177935 319902479 333837393 422793783 117241023 887925519 604443763 404585283 567952433 909176585 824578187 94645067 110594635 38791753 381807445 698242249 753764377 73441211 39262579 745874529 355438357 218917111 737098861 461022685 127515671 670362941 366299573 431934769 941001829 97432179 235755939 914391931 904096431 835908651 943020667 225143289 607687689 77176983 565572451 184964889 69053169 294750109 523820909 340416367 800808009 108420543 730358419 615773879 827377761 438617903 557746871 737118929 671128047 347720385 183429793 51251401 247535885 777050873 912143619 178186709 447263811 696902907 722699125 225857613 996717951 911693207 76100473 87064759 466936595 968120901 903584121 827175099 826723519 568944675 654221765 874207279 950468263 94344951 400403351 550533135 415663191 569206837 107979281 736270715 960176071 930638319 660635963 719533249 795323987 305456615 515121415 850678865 570036673 235516037 806908493 429263307 766836027 102921175 292345295 717407471 720291419 304733843 647293751 132134567 431170587 448676123 614317589 508640267 247429601 31628915 324192995 607715153 517630587 703062349 862340097 425177825 748692255 353162495 409046715 567695425 862809191 208553609 804732481 875062057 633489755 5529489 136527531 100342899 665050727 519436649 309182459 388944673 46751329 592250373 629060889 613522271 518850951 20411141 858332889 446162815 430379131 744191153 195542259 446962943 994399567 281245945 185250057 764887935 633419893 885496945 233634721 898626509 548205513 222977885 712233265 292874459 14427029 96211105 435325711 425254597 445654913 517568205 724532861 180152269 328597927 36920087 860390819 929768287 826468225 567637601 572572309 519185679 116955893 810922545 615720011 170634135 447712593 990763957 809253287 65089497 751137865 263195847 702141551 899820005 857872635 21591779 53019737 885343721 408204013 385563187 19758073 1213763 676990219 227978883 348043221 123596661 121416361 544242255 796069205 159038251 665311881 93710769 514493897 982766393 661995979 985283445 509586281 656509849 133712127 414428167 47251547 162006639 534961947 226511999 870223779 362181893 386131067 728798621 102984757 17016527 771944931 800519879 760466923 549409385 796197761 705351437 814966917 297970327 874957291 673785895 361188011 952826177 653793055 110159731 291086577 365770365 682265473 694116089 200954063 714534277 609132255 855447657 178582437 774388669 684190573 910002201 662460349 443140017 229173449 18879495 244165451 821050897 501855991 558181597 886777187 309471419 360139111 86224105 84327691 647754675 815348717 717877539 623220265 670233633 803693509 369528871 476341393 154213213 406111381 744677697 720272633 399322589 674314603 197284701 31267845 896538183 62198717 702450197 346214207 286922855 925202021 343872165 221413397 4569133 885036715 977670391 38576353 859066553 350544187 40287383 724962791 376867145 85504811 889630143 959751245 740670541 342192377 452726863 158989095 101576277 297610631 604419787 490124907 758960415 611459879 844851045 809170941 640568459 514765963 117952755 872588453 887084967 485831631 582678517 356001045 920358309 15583613 359500689 714084071 709322975 523460989 796552345 23822233 415498203 504708137 887898753 230109593 169923139 946970939 232508009 311255859 772330985 947066585 531024409 400589219 717245387 817881745 56806655 422960139 469763337 269301335 303016757 229432947 325959153 158483337 206566009 242483405 785301237 848386541 518149425 88523251 555579825 855996079 546445675 429905571 852922343 250751333 317630947 254635145 550028931 718869771 661778677 186857781 452464793 605667081 106480553 505899811 570314849 432348201 78675629 508298417 993520195 732083107 868481369 603669289 829101511 377334289 949363373 43644859 89839777 35666555 401991761 551380613 860761517 104872271 458814865 744788867 97936365 221504351 482893417 324960161 608759181 138595563 984906867 969041839 672804577 4565655 540077049 282690407 554851 698975343 11739883 735719019 137445047 755816171 758478815 535114563 932440999 224099815 103742229 747169377 838381351 898544553 876268403 698921757 528243027 172715997 573541771 415931065 360759407 482960025 990104207 234047839 807303139 368103257 17434469 368650527 789930309 979030531 454650767 42231539 32382287 564329957 966356029 799575997 770476773 411883701 661128009 895924549 917551121 311818637 581277231 88798523 398066441 703770613 460513049 278504507 362594597 438544089 915076565 586495687 860785641 934187407 519083739 115198531 509811203 965056213 677961287 10953221 659241539 479445455 126314725 550537797 817195685 10309897 523796257 808373029 983436109 43658619 206220309 576225197 930597767 312799617 547377789 180790477 846741699 938678751 943700929 339874913 395646369 992383685 638223091 999680041 260282591 904233157 184927687 742335695 652494445 238435295 956320669 166265571 375539291 814632055 771149951 181170143 269470181 92325467 57383961 201411363 87051377 828760001 977898179 734690555 824663685 964149315 22193787 985848725 577355481 104660969 82512365 472941581 615705927 295371295 760846179 977121635 313222607 975855803 832715223 961959297 311182753 480631033 46561255 945748535 75985421 992462977 395956443 384712765 729078673 472249949 173246369 741990969 731726541 415386627 981701075 171750319 171129743 445975635 555598509 463213077 250041289 331659407 573207065 827404223 461441687 905778535 767924133 214773491 567454011 954215917 156247943 519214297 271895585 651777697 355173793 240248449 2146267 574207079 685155449 101897699 890847783 744036749 914845757 992979685 842302181 551738055 926604229 610293835 970331939 445042227 208033681 132966601 339273749 583831125 512778953 850084345 144934929 988480797 697969209 141249883 933079455 480615135 134350685 991174999 568274025 855866711 552732495 278847041 941088323 3092139 370947033 692236111 514193447 320383081 320336491 930075047 221078841 32997511 12639003 722077005 623778755 654714463 835627945 464373301 816591929 423783353 650115707 993904441 54297655 771622851 503946145 361763095 977574271 869518863 588914643 606001021 271184639 21180827 833406319 846986743 828267461 110962127 39759229 58819843 673251345 686044535 229081259 396285183 981247045 462420423 243057747 515105589 204616685 757273435 640775537 137686231 755882169 276365117 516653999 747792383 724786055 294083541 989949531 889052331 20834649 973579773 421128045 961088455 807118429 387570671 467043969 591961637 339255011 776452177 581971427 564902267 608105063 24176433 218947455 96017261 138747533 485753091 121575917 630289541 119198241 715641255 887521133 154087217 307787795 484588893 307524839 154628299 944057473 323771865 834359527 115764885 520674223 230655787 190607527 725621435 298565381 158537425 806513415 775512393 940968987 189399219 600348555 719395643 653454759 182212635 990707557 540076915 767303311 804492993 285111403 681511865 609869023 374868415 611806749 956789695 934090439 613473437 562092193 718519325 190588839 735964745 933572039 14371671 759932159 327876117 569774599 498541267 529587577 745375425 972341631 728173027 265254381 451777393 540077303 805128897 530036817 295194291 248983261 419696015 550228683 858649467 539676747 299223893 184214183 202201127 237440509 109824773 671330135 595456381 826952541 496730743 982067575 879945127 787018105 472299373 271133641 329999679 345102855 329990801 118374967 652463681 659096681 368657013 498764505 291337999 983608483 262733455 22895333 182802297 723894887 351461955 925185475 160578483 444916749 501527511 557149691 261244765 145638289 662278017 117265473 533793401 744413595 184704599 231582321 977540725 50889339 531009883 152696461 372719913 320723755 59876983 623523777 409871821 38173253 292440443 767704415 871652875 902435603 647626017 863974373 874157293 201748613 128715787 595940853 109410795 979099185 58344897 972602201 630569441 440735575 334782387 93395973 657825813 264489949 818126397 986765589 130865 72900435 399670689 753913803 411083855 847230959 468413699 414093459 327871465 97757075 638836089 285465601 955870949 963987653 196776187 758964687 52166545 609063349 981100907 245969889 501743265 383087415 182187921 765660993 997934133 651396559 462526493 390062883 418066126 456758431 888069803 105671651 377834589 175767163 94023867 652510725 832343861 119401177 456790711 317617969 21602067 243111637 398609647 570437949 727924767 422431291 534404763 701049635 659664355 520488055 643079393 892319751 948052055 446279073 443098565 150675507 638700759 904266105 885273917 951741469 669536551 461144165 413964831 85410141 394149493 660161143 562761005 516483513 746109529 112938595 65161743 700157977 863083469 845650569 145486425 631921043 516095543 223718897 977541763 68279907 705622627 305206091 823475949 448581865 403584905 320452589 867358435 787307185 390884935 977117399 117555091 260278129 138643357 706828719 397392665 220391937 428722173 422938053 194724725 255500135 174196283 151555857 485494671 734372811 228371091 385844529 768896059 687492485 492477357 405872235 263700271 645633035 527503251 774670515 405661713 486696195 803807419 125393051 923844453 7931193 423574789 170892391 730092447 70953375 705044147 387580665 395497497 197753935 869619059 205351653 574382099 571202959 653201243 325199199 547751861 277727945 157789161 22494537 56623379 900577167 628863745 419163689 355990819 502467743 839715313 515790125 264786121 853263065 95738987 152603181 62929871 850993227 660323729 863293097 199417827 83154727 838396135 967212231 866327455 27534025 915905369 343836761 710628231 686493363 855505467 405704659 674613505 752477073 343650893 912495445 489930593 795316789 153965237 712294311 200034013 685858461 666355195 532639545 179637659 18269419 303665435 961447713 271686303 171806825 449927789 101536797 858143965 131694219 601825465 326184855 969430061 197904365 280807979 568106653 821498451 129043281 667305305 455168231 595728885 984705699 751327809 511636435 523709349 407217143 770505541 230318953 688743135 897979527 608696887 249145687 979488001 823955381 249825607 981766647 855031381 843728911 198926359 84532037 977790733 393188937 947970217 578602475 532141121 465528379 724046957 689558581 833219317 89678313 222692661 223970079 613976335 311496831 235181121 186050883 292111969 805584209 884368181 187069421 149876645 807725785 567936799 346617353 906069373 442788795 991025523 312658735 518487921 530307009 689553679 288328863 786221299 607504609 180716857 266131519 912557659 569715251 315694237 753084319 434280941 664156411 763540561 706692343 828308687 681184167 891158225 580181543 10445843 675325127 758427909 588955059 851666355 810324503 803576119 631751627 429919121 13627259 338367517 451624265 520233077 95562751 387765207 544254635 740613393 987662547 783938279 85503255 123720445 453930581 177613115 772790109 235837883 992517897 620243755 89139445 11036085 292325529 992411247 470477051 808221499 49379543 20982577 387325243 60103559 667680959 574825213 202001187 282744763 944367989 683728839 695333575 124759007 835293509 187204845 748273641 967011301 566925473 811814963 513587441 45162149 378853155 316163273 144129517 633861857 683745937 450656323 128286611 732142659 982279125 140936093 632913475 261827163 459366913 34717757 414460679 53161379 938378067 109495025 483174027 784137339 355302955 360709869 128204839 872413743 411013143 456909009 46689499 771293167 181007049 37260191 615347789 959280595 404207899 316325829 931281359 401583581 970179603 266021401 54998357 122090231 33995739 524652759 95593087 469823473 269115591 760977063 893548949 388076163 487241807 197199763 174880391 202661459 370605595 210790419 403999209 975822311 385877747 769323523 45948415 808475567 365041099 363329447 837621677 673395975 213499583 963525807 497428355 530557231 83972625 215541549 66681527 939782737 659223853 508348577 316915243 352409213 145884581 988908783 385838949 977947307 345607223 104908645 498127763 683666369 495408581 203712951 764524687 79946115 452974681 562930435 479822293 185740711 495459367 370547919 196127631 984708803 764551819 295370247 111822217 202154327 995415815 102827009 569541183 66009809 872466503 869670265 648170443 337738879 972664095 681216919 261452535 517799577 583634825 642591461 991911987 581137221 674081705 52727899 878470807 743744391 590421705 103473747 407161565 620577877 708048991 209800597 671230067 942175107 802704131 37576271 772869219 411369687 993365881 182516499 750799463 738342647 755153327 932687329 772033501 92542071 639084469 242471709 405179597 208357071 885266119 698830995 429425383 792558943 397949513 487288955 903527041 935124081 577091781 585890417 730222489 582974521 26892529 547674747 434997977 752543179 283280037 822640645 512696463 45881901 485945317 664675043 690171315 596235589 128639967 321516117 674639073 237679847 135711203 235762177 937686885 917883337 365075053 183838961 365137963 93780113 834984481 547723931 263727309 321568963 800911563 545652703 421658759 883824083 226073181 360821247 36087107 80505371 94779377 776398249 590251661 119994841 302573261 181802483 63750815 996375097 627347801 584401753 975620953 878693965 162959405 699208387 771569983 341008907 591565567 618408061 841010307 213554519 386753973 915169593 861311483 762964219 172601179 469293337 884067879 359737253 356629795 31040159 605710381 547682031 870323561 346827195 236948191 935038557 363885229 674057921 224473521 747131989 595934367 678869357 897174979 240910121 786084625 694795237 381651165 881286165 203065595 595447221 4102765 686037045 267342725 250544343 224084109 544098713 125005047 747480739 866333435 578054187 306650565 888357601 834299419 610657483 202253705 911695549 68797953 172605493 721667081 236207565 6306147 323607061 569485871 582868237 846270111 330767357 533728527 972572643 12456123 393926243 883710179 928742175 221615723 518272427 689398285 531395569 808541441 496588061 506630683 785987835 972027263 72426475 303239873 958423359 78058893 628810285 962170069 125885739 474443383 204694501 480946529 742526871 534461495 932582909 509337739 142674109 173716077 260271941 954380967 471287617 838376285 212959097 736201523 854168373 359848697 620575285 427103185 821138699 706151383 773997063 850339659 185950881 947540535 949300575 77609623 714695741 203073279 515165589 135590861 779438475 153819841 677465579 290043697 382211743 409527471 757695627 765635119 903066361 555417007 168649093 113827931 473102975 278712131 117254099 169188463 9745531 48096411 844920407 419198287 558590115 796737425 568835289 807731975 558364695 160359841 862290187 918704071 584479833 423388405 423398789 213406957 594993751 297079643 740930761 470883325 706396519 769853769 583307839 42906015 744347719 722200289 678464317 480338601 401590297 160848105 457096183 220937493 45677935 227855311 574990991 310866695 162400059 913913005 291719697 587430347 590749657 456044607 298972523 849454291 72013843 105954285 967534201 545060025 585391121 406790345 252769531 880834115 944532077 790230151 992365979 572617049 204814625 810944135 933879529 374798865 867994771 125674195 698977887 416586151 384488593 616789783 314452317 179386747 945784143 248862635 97337903 708264475 514846315 846498445 175321347 659314743 395287531 6721639 298813173 810450351 563674939 500959625 208089861 192764035 427092529 530377957 876681501 997406173 635408907 405055777 958245645 723343637 960633963 726608767 654954895 458464929 322465377 859923695 169433411 234796841 727868771 707695883 452587955 320950901 552334413 898754319 151742035 359803001 538600547 207252197 277191033 804268623 96654419 160291867 673883493 385090877 886002997 30475495 996651845 164586413 662006147 961801515 413960743 870241331 288150049 318275437 94602755 58362503 197735265 300005339 802564287 335553169 478175221 773495629 674592031 857610585 269822971 960728131 359172055 758769171 328685049 270362085 227630721 956105499 556641755 658910463 668016285 223682291 376902645 959579403 332760723 910962503 302678025 48955177 588273847 917448171 31799863 646044445 355199041 34900439 963266063 249554009 627134545 959441971 590202247 261687027 905889009 295321927 239702521 671746219 413504531 175370633 807838509 45064679 979932305 84657295 275969615 341226679 542912809 292751907 226746613 473154003 352725385 534872875 818070557 608209305 13325117 669160125 216778027 132724497 134787267 425083667 583898859 244480233 663489145 38924433 43542165 756957307 185143209 716147393 50459845 739069635 751824261 952851287 511003775 515815275 637077031 869633839 978668595 414011841 397241741 413494605 19333813 458339771 424487077 962720217 559306305 991753467 472150587 812586281 614763901 319248327 920364557 574762679 390316663 603568141 900118457 72754215 279448483 964584549 1108425 457094725 288991967 164885775 68947119 355510785 346608753 683656435 354734531 115445627 153130501 542299293 46522441 227527921 420279217 394495303 832961127 619028435 516751091 347427793 759427631 499749809 326781357 230930367 272351387 367675719 394736431 609793091 811403917 130028411 760966959 467931955 613733837 296229459 483756233 827013133 890764813 700657159 486443905 998484733 618201063 192985583 334929991 712871885 395646425 105158545 394863213 277004021 103536463 245285271 690686131 233185433 496447385 669853907 493826109 268268921 504063731 285784897 16666519 824544779 997993337 843426055 90749883 662798689 228188729 607774061 812586241 773057599 201816611 355879397 873825839 108528649 812798735 291265807 440323957 527665101 182300353 878566827 722354535 877605703 798905311 569041829 988649985 245380051 852696315 370760463 430496171 252629367 672721807 230378279 548341807 77025253 656344829 1068365 748931011 180163955 834487693 938084879 288088583 632411171 48760175 959603743 364759293 340817047 871715263 751632729 258181139 618912545 355512703 610255295 441930527 98469561 951016595 470443133 864583519 929701887 689553619 442332391 725483639 618657847 911234291 230467445 587020147 186412115 966930325 722639055 742747595 404447209 33827397 735622845 485659739 300272695 889545331 960099123 386731111 75855655 124801143 920501581 173345951 843133001 779912851 125275725 129891351 303941071 759376879 774844577 399053643 480880541 902820767 126235351 505985313 518091321 210099099 394669743 15036903 944344019 603830725 909651979 674027601 114398015 737506533 641619957 367906429 29072129 433993643 166533027 648718577 244045883 617684403 909587309 277741465 265122241 446459005 200906199 43081419 552872711 283326067 268712077 277048389 84774703 107264485 950237539 466779177 374034943 336109581 59797333 701461513 655089381 586344459 239576961 916368853 972117497 911922155 11829305 494143215 782878971 874593179 35805163 930763545 840179281 809937399 861717047 576101251 501683213 276113343 258546395 707640255 139478755 8670875 539552967 838074573 827182899 18310175 887894795 985779217 433114117 566053571 851193315 779512921 369316361 923262695 601044403 597385945 783121557 18054615 918868487 353407023 128756393 827381441 603542671 893396833 21841387 113224641 920169003 845787867 77406635 907566807 173455321 382998387 768426463 901824235 125258185 733378405 965405225 715356369 513097803 583378263 889485519 617470017 815370461 248800087 633369537 998060251 632716575 331447259 655750035 288271657 141274591 894529213 192267401 431072669 433170957 77207623 773649285 242668945 335704009 752146465 635846427 735010373 345698643 578325603 674462335 844771297 931030037 296617611 37124243 504061561 488482215 366727805 260132571 28634883 445083327 725180293 182194315 813381221 862018629 374878555 821925749 514388579 998028865 479210779 846189851 280140977 807231207 432982601 873988003 161164777 152368529 37935573 196771549 163164809 421282757 597867283 877069121 249904639 970784301 102553279 262746863 422792599 972147613 238683647 164201131 410779535 344662031 810678113 972149479 34216453 873108389 286397401 475989175 892431363 496392621 391006151 848017119 643213947 613186457 121205229 341102275 272850757 777931269 830600313 739130227 255187493 212471731 18228737 169311911 35835841 225156751 905681025 44149693 889778349 854783149 764201569 231877309 249305183 985724231 153993067 949246805 114010171 834584513 343526359 34761693 325316233 316175013 210514241 989509207 134058875 906527911 30144429 429071717 747362345 40587683 579531403 805102427 350453143 868150683 742305709 564414765 161777579 697454525 358591059 817137533 913084471 775634777 109035553 83793297 853502455 702121195 191320101 725237847 325787015 808161557 94573523 827524455 283563127 850002343 602760201 462264321 872736817 646837903 979394061 343262731 102281493 314067179 214482571 753451797 649195871 816118271 217133721 585331031 121874491 108981811 363677363 878026417 697715897 681092637 604521919 655995815 290320595 13608823 384601099 85531241 671000171 117597223 251388493 865563089 359259721 133358899 362774177 276630109 26695967 931283923 833921419 557765427 198664325 259788383 683927289 214722339 680546813 261287773 738215745 506999203 200300017 99596405 197663265 8918485 222242481 239560573 476282301 994344831 653774201 343283057 135302049 962640399 699775845 415120753 894542277 961525663 308769411 878831049 224061317 630287851 538997443 410107119 249339559 29514589 912981757 59532925 400911959 56267267 618703347 569058355 296470057 739654803 148469071 174319873 765669149 104214893 419885729 231337463 130609817 516217243 346400355 610611027 839782759 627776969 357383927 900617077 994294461 761064271 852841891 454349803 911093049 15627053 391898013 628570215 516595681 905591049 222138107 238053829 752173857 484619827 762129855 613773063 682487761 111137443 105384659 547168343 815228969 834167289 264625927 472080909 862083795 175807097 129632277 687656865 575890393 791715347 807495069 681516213 926422451 789890401 662081579 536608279 650416189 986344609 834632237 966103225 526276539 399579833 965789951 55417527 435540445 639620665 836789217 952094803 446185141 597890647 738255613 291732729 390428099 721507317 129145443 53832765 640399595 106655897 998203661 424153817 215568763 568315249 608263643 347815855 973874983 206131287 196222103 102241997 704624909 618532551 276093685 34603623 43563187 886961387 892200843 410065363 118790405 860707471 234871515 809600667 316497753 549142061 842268749 349815653 615653483 636292069 803771189 17198343 197922659 664323195 836407243 552072059 592932555 802569825 573861423 652545251 701008793 657240237 1131371 437084815 148579373 564712991 934732915 229492205 711700297 710054431 228640539 960908187 714675483 38795705 11626793 906469981 394241595 816805543 778567493 660923419 59353251 671576135 553693693 672825067 385364663 343414945 584185551 801069063 868161097 747579749 151517977 39473363 236209035 43516135 125082919 471137241 557371419 595378987 188618535 857765839 459505663 336671957 569346099 309673101 631841441 32311349 162370383 884270105 481428955 641011265 237942881 269431707 359005927 508364187 798372157 755062377 561836395 955821449 573702299 362865919 121588341 490242809 13694235 191017981 497270139 994187141 737222727 416920879 592398167 264052329 325638545 8740491 12546385 673658253 184711507 605366057 320097301 58235523 848273867 479332431 143349433 128583039 137079335 466127975 624043963 53287011 678234995 962473475 758604287 559796147 785811373 368561377 872477649 317578657 704482995 56397537 230882281 560402179 375134543 632003857 556772963 317156953 466658355 962276513 759802819 555157193 68029687 713680881 730444281 631794469 34346783 90243457 279245143 858395871 592240913 123448061 390435229 519130909 482800415 339566135 168559343 239291297 215867013 290630701 500155099 906196955 791591009 351338495 891211605 121581029 441564349 969032187 933197243 200295803 212055435 789274259 36773843 555705607 418526115 423446883 539770569 143398551 515157447 133215277 961108019 551772899 494055329 908433885 214638863 416226889 869689027 879681925 782416575 218931151 119029667 620309859 381957651 975170601 132800165 532887513 487467073 859372713 113335569 120623217 269871077 967680593 516675609 120875743 533873667 619206857 454891989 314426367 932342025 570261341 172875335 67843795 578339277 325904391 683044953 468226951 77416077 312405607 972169947 987180143 336451053 338723521 608397705 521766149 26930683 164854535 218981887 172589293 783055147 962253775 295453387 146253553 926585691 528973657 76045405 116498437 125169871 893999755 218005005 265373765 843810615 844230645 802034461 552409075 245393063 536314063 185760695 229948029 777715867 873475575 17075691 428014963 868244217 865646837 828897973 137693585 723257615 323995385 488760049 749304251 514048147 681621465 593284717 676447227 692161183 288470291 470688473 447282821 578391739 178063057 216643789 872603831 372690901 269946593 789691595 900787215 174506815 37190585 496992317 870613819 527518135 93846395 213315187 283325201 265517669 118104813 766300071 102778247 69972435 164379261 572996601 872643267 986353913 224855363 545947765 493003279 610992179 80403969 324267019 919450849 755457093 655555609 758653073 563935697 703794015 407292063 398456781 515261349 625077781 966614343 676971623 985349191 564752483 164937585 229083375 579437001 921295535 410068263 149972191 391913831 567149767 918842899 998431641 395472517 786477279 621265553 876002659 490937263 717089941 240169631 745259123 530943383 421009391 953043683 367699933 411376151 291633241 316594095 6460071 466950453 246267305 165669877 755325113 374422043 238659867 640411737 290369507 962168347 935050327 542975009 582469855 332336051 605884519 59186237 633126477 368875395 595948227 207214147 725853625 639535449 385172549 679446897 196777105 473830695 293201463 845915057 733612337 993779209 901349697 641144465 231601113 805990721 586185851 703350343 46422961 125420857 610660963 240431285 651254221 177975945 962797533 121660513 413052965 800413417 876487479 789377401 640500889 713578555 204582181 257967317 246089715 84114317 932152261 996587253 918043879 119534609 771779485 353770241 580139273 428562467 393215639 223302597 791576543 743062085 934940941 477664443 593382863 809024035 363748537 517335299 726443821 114023313 522795459 554851937 546700081 595645321 324438965 825842759 931688699 44133679 194128005 877744331 691181717 625594061 247510931 401994157 54533617 614186199 659254433 946392915 953052137 416361193 254965981 166815181 965892413 229817029 641902557 858032595 964899733 80584023 100856991 732198851 315420805 382994355 405448327 392187045 895509635 957139987 113255009 631236903 653157363 752534235 611990885 329070755 549555741 825270677 157678639 988178453 818238517 860835319 678990787 729519399 439843407 500815577 443541137 593624359 297997937 597786943 311576939 127612939 318422913 776480599 292531345 858272629 866645585 564118897 584003753 73423787 241053853 166570761 660894139 283336347 59404803 958926787 652755011 311804637 199098637 882404457 163975705 246311089 477991469 467634161 757073797 542355199 549093563 663995507 39160883 633884755 68461051 483486261 589064249 915702247 775757331 724812959 629523731 188182171 767984405 913628487 591317161 926809075 776158205 716078825 75953733 440336673 495884711 418371173 693770143 74343931 974854115 358165449 266145745 325115391 872558683 368183109 929375333 832695127 696073647 556061753 246735427 134569939 362865755 943661603 376133317 269160421 147590603 992383411 737253539 119221681 341550927 28785081 386247431 418732029 392383779 950393395 601129597 607761209 155098981 141939521 297248761 131956857 416588063 545515057 684347353 176518273 706473793 398812789 242594531 571558069 166021545 120816807 301223747 329802275 9280019 571428237 877001615 626544263 449799467 356739345 608857027 287223099 316128641 458920775 971780677 309986379 35912335 205495655 890631395 105883491 762162103 881360601 704119763 537657563 246993729 521876517 688712367 748265139 255050077 510989823 793878399 702291347 848460073 675622977 456106929 759454663 214112161 522028273 503760663 809078857 436057265 190405947 271445743 902620601 91372585 527360109 301477089 457081691 725668547 719211783 321974777 95276577 304667423 798320555 257354155 321251233 18159305 419600419 402677973 775857945 72405297 669173347 80204475 703266931 828684463 326957959 441291789 857252669 69312389 437047505 624795101 42105775 785415389 894651565 816003243 818042279 968872391 443790767 235357533 827800493 795613245 510441873 985961019 633726449 651974175 694810167 765038593 730970951 759273529 126696619 63698631 535865905 173703993 650142753 427865877 946607575 664700603 329618165 121084631 481286407 439513663 123372971 306289251 940029239 535494703 393855979 407431543 359680393 436554971 925228427 440325173 912645059 855626109 1429893 627567661 874738003 186544949 388077309 184023381 789127249 294368271 19817533 574406409 769531005 233700857 893539771 892624653 572419645 998913487 292279055 119913617 393658787 277313617 986003965 201351463 115573603 327306535 378243443 412089295 226176989 351545829 609998977 693740013 249875993 842766595 55773539 563625551 849950407 438295777 801156221 123701289 407215421 458870475 714079067 835625497 533720187 200136687 979734447 17921829 696888871 781725801 18179155 13884855 566826385 693297209 994445389 335822505 124678319 841456711 109787589 586469431 323006755 853670247 847409427 283396867 498308915 702871377 589531053 917170461 900851919 521001381 41346361 268445947 281102475 668629229 996114051 174902903 967524521 120492957 271259261 346940889 164770833 5856009 768807233 164725455 606895441 29071991 469231893 782266731 935937439 12840461 463099747 69169963 36164061 707095519 140968893 802505719 872862095 951296741 629432033 624611099 541648359 45043199 914982831 741572683 873579709 346462967 433187893 392087205 830787469 786401151 190604965 850318253 239854719 370128433 465562715 730232403 617996643 246977931 966980825 937186283 296723121 943189243 712020171 455092529 410333833 815817165 941072131 648198475 984144303 163483711 627510655 156348615 648731285 910540399 471094881 958930585 483393615 658117991 225798899 696453407 429484961 451943449 10510505 76343071 667215855 702254687 163438111 270144709 436323401 314659319 36790295 427333799 601527399 570132877 102314109 39584963 333087655 13643187 984553827 367279997 515361809 768021983 465976839 738190497 943607123 615100277 213677515 731653735 515234245 233163965 870133561 662790761 908994409 714283497 913613063 130325681 371479265 694039059 522926861 905448103 565034625 454956601 675025743 933446693 826932029 158517831 405054201 393083493 248762295 199740941 79572319 415944461 194460979 55734343 579929851 991516969 544229027 154515859 596260977 320710707 887416223 648780667 76944267 138401539 185500003 715222385 241005119 374680799 811645911 783314381 432561573 554232951 437531787 218054353 700891393 149012191 692523959 358446503 980722369 463662741 687331129 270213983 895280501 363933819 348405659 592801269 57745625 101355233 657921287 779745605 454102737 587857533 235589721 189817373 685289063 67521385 139845647 151722285 632337617 267590701 409108815 609862157 211461735 683058871 402338025 33871937 34360239 464183641 833861203 196151853 154848339 472252371 615531695 333214761 384845861 633165897 135642051 609784681 890319905 330016327 180025597 799082255 136005995 591920069 239081079 865274663 611535439 42479647 690532845 784748449 585913663 135391003 730409929 655101781 372577237 609090019 125305879 563496709 788209623 552756753 384616851 263704155 358314031 566845087 986825367 458526951 457629679 254438131 651146799 854944035 211273555 224333275 279258887 424623473 621962433 110648461 233431159 525089561 553104833 124219811 505205631 972562763 877189637 667445797 635971013 461789219 625165933 374089343 227695769 750243745 897889785 795763591 888335347 749936815 394538197 225420155 122650995 204214813 270539603 744986365 487616861 243582373 627536113 57882655 206354849 834762983 20734289 474108243 136946393 948032623 27854653 73772661 716922691 448925867 867584425 391172559 115162565 722048247 906509999 366241033 515427055 654344339 963162261 411068989 41132023 128822185 241130693 770333413 831230911 847686217 160531155 66146023 51400141 262133101 507752825 990021007 388015951 299946485 228342683 448398487 793877023 321244077 466799939 466237719 172237241 504452163 446637733 256408215 202713157 144243283 5341469 243233795 448450453 859844189 138290733 375633583 895135773 990327241 126044801 312973661 630043647 859002347 505693933 208337197 195100671 333970171 895890283 717214383 376260239 495559961 576280095 448982233 411336901 983455569 394200659 217842695 628949857 808226449 218189693 30868221 884306377 304789173 494142517 206395369 409163023 141473147 482273599 415292257 198035687 519681425 898077831 726419811 843541681 484766597 848785441 980019795 691402869 497992911 737265991 722452991 972499427 837680851 990442333 593110683 401150799 266389979 600736495 721900485 504631997 56463893 62599853 102658433 932537041 305028765 791875191 39492927 432990171 183080049 570636875 914966739 548322001 459012479 63859545 781129593 607478357 970149779 967425265 135298775 854513581 352320363 531831695 486389243 326628807 365700005 317879255 385596505 598628413 559444939 722496405 217087697 163869771 64374095 334089915 647663269 963138521 140674699 786519651 336440451 386422393 61620669 166241235 911456641 755033695 404619795 110151027 147722781 594836845 361812121 686979547 989035321 828091943 371012429 41683649 75402535 781820095 849114637 925918219 109000857 322557451 898920867 734727877 191874475 876782731 776684737 112313377 171735271 631915365 227906815 807425657 440683061 35360105 166549985 77221459 323339247 282209807 670081485 777941849 811955151 939703925 723015957 953767775 975605755 263930981 832701173 633696605 174993409 672887113 69052555 460955771 830868437 735570237 164371937 131036927 852219093 896272381 577651433 438862177 307181767 398396915 927694971 788696379 499060439 996854061 414450009 391852623 70290075 319426659 842962735 636033417 576170767 495894003 284235657 713337341 44979611 639126243 922178787 187104229 717899529 541092837 74808223 375278499 62387345 302151761 937194245 936543941 377141965 197507875 272342599 391092477 76556485 485661189 847725437 880563495 575035111 255792195 667978409 727241285 57723397 385917399 807591093 786289797 478175839 48258657 467238003 867065909 201277593 237256229 591864217 576838357 614991039 22006037 426203083 987466247 856002377 90879431 676775823 216695957 456948243 392142971 785626459 316505971 26909027 701228055 156728453 573607101 690505445 676448555 620884049 598871735 812857519 319768815 91769571 364918473 699743805 961175105 508134995 410758281 758144373 814126249 643190165 158993585 205642661 681256279 250051467 366826021 766573699 222155297 428454401 963005679 297517353 400637061 445067431 466384197 574916895 59120301 719473173 638855807 978197841 977437287 26810573 833216033 901396245 64922665 491536953 859631321 74980137 83457045 561917353 628357495 837255345 8327921 166841175 215889911 157335097 793936683 682591075 985855101 185211577 89105371 81007833 729280597 608642189 548466625 899833513 53313263 931139705 919556677 757895851 743412459 247136941 126657139 313177249 608555271 551543739 298508807 234999091 289463603 190747043 172672091 170626293 362209151 954189001 678258041 284603231 272831273 646667003 75804945 425505235 445894033 312485487 337119609 694672535 537562947 849678015 692462769 851934689 300908789 756687859 121381727 356996295 600549505 30483831 405736403 831070795 343045097 621456673 596898565 448308309 372191831 155350573 890430867 44299961 448131875 777256003 591963333 840886319 79763139 510240877 96922507 998208343 546567647 153608737 843391867 27106749 594811965 445952575 711137747 935966415 513391061 812978697 382081149 447427817 494956481 674663471 981833991 629681739 670146883 115692483 145265575 400835101 307025095 875821893 800688703 235684211 462911711 742610329 715070293 133410885 769250121 541392139 61057303 253816947 842732007 447345749 307482717 823132359 828829635 175120271 540644263 421109237 224726033 763361087 758936605 630193553 240915757 545983829 864517771 545640737 803036057 747734053 351981163 198331149 647674625 59813227 440349917 789511587 470909239 963708749 299532197 754473505 960763193 346376025 839383605 173168037 744041513 655171461 559584419 568769081 136750673 515239723 304125615 590428625 219111461 120232467 121343679 448446785 780739905 757899627 788215011 776497487 512158569 160851653 399394259 920534433 866899333 121977631 629106157 952476107 902334123 166109153 560536121 581955651 95513877 738738135 591103845 198795629 461760293 99286579 641602251 902718611 807376491 908498327 178968935 712234723 959403157 966210311 728571107 273677431 162261121 320391917 457413773 130612563 280531251 649408547 897390683 523440221 130159315 293431523 302931951 847500391 228436919 165776339 579355535 631752493 731773785 344216833 143949097 708374605 769679197 221137121 137395029 170328657 961584783 651022675 864805459 859573675 586512863 723505303 815670539 676928435 734115693 375826017 739762697 902247853 167706487 357747393 993981575 546639807 438932845 93968181 198724453 345060347 750292703 756565925 115824679 46656349 30339209 26127195 848897023 711448259 537849167 169546253 900143299 523540471 175620925 836028635 951207409 142796971 290594949 52836679 399306675 755173751 817721985 558326337 531333081 99482845 907833015 14433563 290072277 676054087 116934097 175172757 981259979 389764359 422848673 996610515 992671873 269359955 387613475 131763043 239070311 881793359 855361917 728734265 915284881 906006531 10111221 52599475 106403011 917142623 26908419 454986647 713923935 651390529 120710721 900909327 450162297 949290853 803746673 648773557 978402247 320492151 290305663 25844611 537969317 979244551 136000893 484780769 209605407 623399823 444728745 216029081 452413665 601835633 875619939 397856225 298130499 773098741 493536313 331848537 23744837 216261965 460987869 386974211 447842959 792333457 936460075 463331149 670502509 376739779 564708901 396473613 550093273 195473101 584718839 615042177 744030579 120721791 388011509 760663373 44998271 653978259 658250903 667782269 263268335 887448235 696870533 127989641 143861593 747413837 451174279 242825037 40691195 921524207 441371537 886472463 758198719 309190887 191762367 269346681 66480691 539307127 299026259 546657701 442183567 330051017 336206009 436155405 538998705 821060077 604862085 767803799 231464225 799284957 528334449 615458449 824736269 163007097 66770529 831938479 178345295 27244941 870195039 349045521 157577059 362474695 814879393 195689273 929152883 972860355 343860351 554617877 408211021 166262785 722690429 625036795 944246119 408390123 778779463 202402983 678960611 482635729 845571505 84978241 78630789 341454573 751562165 500074067 208848833 883690591 496129143 40767701 116726441 482278451 586216515 725628193 662620671 216779351 901466505 697321217 945753129 216589735 48174567 545191837 502442297 293054179 712693537 273108111 586487779 28761525 524623903 17434321 107512967 754461099 440349175 898030537 826459181 877818179 208627941 402968643 829243781 202080989 250908489 614564727 994555365 14751167 318786735 155502081 453193291 832284957 748805325 407654119 81617505 930547473 436166267 564703893 400720759 750432155 485542079 721188833 767082367 535636899 509468611 793316103 165297181 255891453 786291161 193754799 68741527 343276129 487190653 280156387 343197661 450646127 565382485 718661145 795740035 232144051 199159079 455509041 450830539 516828059 365779691 812213613 73891485 265430657 153078971 791767419 150173063 758130857 530511575 646527089 999564479 924972091 466754735 892689869 180010279 89985861 775538133 529887603 736406595 768985285 28337921 457887407 361738565 197318041 327738651 693175097 914454021 718848395 886227499 282748461 772759039 599085645 767071843 671289617 219526491 595741305 744255267 88778961 431081 76230799 476623851 837368001 948102689 799817719 142367591 391877537 687990307 896826371 902508139 968668309 592432307 266455279 970014447 726294059 843084353 688810713 829831963 811087193 233205223 20396235 612821047 643561081 854334051 637043639 969547703 100846163 401381147 352633207 884798007 678854931 455139103 286414793 46989945 330349903 557401639 236438873 655212137 845668613 472569233 893548729 288901659 99003031 783997795 336119135 844256457 847002583 583722321 235810991 363295703 7077621 674234797 193524465 100681679 945132947 442822267 303765591 633690981 302730675 785597533 220397051 615256693 893296325 748238759 24671451 477445377 155023515 109063501 395250403 134061111 143372917 618726897 83429861 963003749 666638839 95149271 130714775 751119627 147223087 198769393 556880285 100075467 443682449 735853015 50727551 559444337 687361019 41301187 360877743 20824557 523841459 683783587 616481413 30443101 509875301 337442305 233312323 338338309 560739111 109243415 731611923 20890957 458614901 257982915 872915463 675581131 719844663 594468239 724691733 74339897 834554295 385868197 622799905 479432059 644170923 378588385 731409907 630853533 835031603 128738241 805547323 355259343 115061969 414308203 319131541 996598385 531313267 288364719 30037123 503935489 432440689 383287555 364516459 953876527 657044355 712541577 408124319 305713867 227535059 132996615 176635225 534406353 322600685 524720619 610608315 136677223 115941317 816707919 515284939 366655187 608214713 916314095 26849407 171380109 852291981 203647541 97153453 528672045 451264881 167786541 844233751 645485433 145764345 138119827 546820455 261759323 377798177 404989889 876439341 840611301 904376655 852086979 290078691 677038421 198089297 40399941 418334187 849985035 872375387 56678303 72952973 811836821 344961037 836861905 768976121 595341221 684732521 95881857 906399051 528577301 43959261 679070463 854889859 418770155 12958527 924325187 526225547 876968273 760898251 188336875 61157683 59841691 771672361 854284353 253812021 415889985 561549923 783851311 889281073 351635947 829050609 829391441 291350707 956643937 870467759 851074021 899513643 901260439 965538785 36036305 761776879 372465321 260169783 746456483 694851909 687808217 201247171 857317271 463850581 321393811 175887365 284950409 872039983 443732843 219576545 399639809 995641293 578266137 48658853 605199149 876643855 272702853 534702597 194903015 213679809 156788663 602022175 857375403 991824785 974909155 170866297 468928417 732779803 738471525 866224895 908231835 550973919 853111745 654205447 890958349 145470277 67850655 661791309 910944793 661964449 219465427 469450489 34859395 399693867 699999067 799130261 772524221 46564867 573468505 675891225 219473629 842880821 474443289 307144671 608265891 884218031 790340363 339631791 811486069 855546957 283480781 121832119 550769253 377857999 875319329 202042505 589497639 589437917 215202549 36581413 262432027 644771595 359851865 775895535 32751689 741518543 651617929 37868467 216446049 194034831 260927977 109574569 697799095 683546767 450387459 178406253 278974543 932717827 339996557 402694917 12431053 47051013 552214111 946645981 664447873 207111059 692056703 623682505 739841377 999283355 493099285 563432969 828372751 974809577 847575415 988524611 619905489 346469435 360922145 535265153 499670677 775701551 38239155 637135161 260317941 464943951 955370489 400539211 704376365 309024013 123388137 534015479 626582053 798127043 213802395 189264625 884884591 151090097 973096789 136986697 733626687 411686911 353192065 593770109 440092279 963821503 275066801 124896885 94675611 62195437 452088993 646618747 31447005 265822055 760128311 256874311 374726931 533182455 821553273 168015093 129641149 191791951 319447967 578363913 81077249 279579401 249271043 714231923 921017263 784461475 576384295 269802119 749225279 576774793 525528503 212435969 461501903 979383565 987888261 82032391 777349927 689840485 536205967 963463973 684288695 69010613 754502901 299014741 654246037 843597061 133174789 769787375 513427583 818445383 922383921 312100283 961759 682384723 549977365 419749605 95005123 196147949 382761587 140188419 144980451 958918843 60678967 270602001 89899419 663030351 266744947 189145717 826523639 924725283 290569829 452407295 112097187 896391833 957282671 7807199 168895993 23305465 67989275 646920631 111600629 595116149 303010589 182421385 856236863 44513573 503997521 856487107 160176425 819229965 764931001 288302653 671336871 605868819 345286017 949597745 327157339 997399049 818556925 777568067 430625673 387757993 899849383 647302021 715458851 257120149 134596385 664482665 895355839 684163669 909534779 18178765 869029277 855883353 748642019 607303671 667386787 382025471 85082423 533616787 281120353 495830403 18140537 116294325 870990095 298407953 524130069 676328413 808080523 586732217 569493407 847072753 22307933 486550133 275202513 307490363 58296757 615499815 826580623 592362097 154770023 123460501 337799653 87397299 323878391 735604341 500766211 684624259 750956681 555054429 989815367 198973647 393367533 746320079 610113077 380652781 145523865 321843765 655496821 35679899 963514031 781261535 305787869 403475707 422657269 56962823 345695849 920627871 826255321 14171855 359581241 138216057 184348275 118353725 889833113 450925797 278691715 668831559 127119103 402612909 36102257 470319299 613863427 713936889 171431497 813114227 24810091 860173155 402593479 183622655 353163295 185492709 108135749 909508859 796384567 24657637 112824269 14227423 385875689 878557489 430133775 468342797 101488795 176930813 467606113 877849035 562835673 601473767 605267651 900779855 188457557 37436405 360938459 414414255 711905001 372753555 247783929 140760557 668572827 91437719 622119445 456236017 423245973 70578495 122083533 151385487 965561385 49308717 749136745 813384575 369565141 223267953 907031257 19237985 702010937 465544065 321027761 254214081 663746851 595875385 286643765 467724045 579619973 536607197 127739209 507603617 523624313 301077275 543647101 729497789 305945925 834937099 736679687 552961673 494136403 314924071 901498825 782543641 492806455 251404627 445891655 811194469 866281387 432903393 262570677 670950477 598405009 144011139 808216037 595541405 842601975 373040983 818819673 258736899 748844559 213928675 970187577 749676571 961196085 71765523 226759505 894628963 826000619 569192251 844877339 333661257 434316253 659878941 479457975 265621529 748332255 201020633 219940585 287271697 24131307 192709887 900488227 722292303 516960035 801804933 715532411 421454815 520891349 598578373 65959855 104540591 776733045 564057479 747225643 240533145 558423451 423992823 970753017 641168225 605855755 249449387 172186067 287574445 22344113 23290785 114652183 4076305 860257185 218092861 242468301 605925379 418027029 557084491 316795811 741919975 8855409 308294403 86307571 599259399 56584511 321394433 761532601 329763217 917030709 977649737 101850783 965716639 415975979 941425483 164202995 794115637 48930085 251031259 314443947 270783801 94423121 986782005 322827881 966124159 81273341 71882495 913564019 514804669 430596523 248078919 849945015 742292119 409022713 738639233 64814029 902156181 672045747 982235275 693125109 171402537 492708303 23228331 905082133 728676525 571756133 427546765 781028287 370091359 859859643 467569479 629852455 779387243 465672249 737393495 78171181 255691491 46860405 706666143 747349083 489620669 352570923 566164079 773891805 46341085 923662395 976097405 723050377 9422859 478353073 316434405 241859043 471787769 891109315 797452843 853033487 317127487 96767689 586844223 278004701 19147103 689429321 213417331 931699653 24725699 665503213 524735111 321978341 518209213 831304071 510046367 171162885 713104771 272289301 930980423 778013077 297511737 890717111 584580215 663354537 28477159 83526587 554372493 929956613 887048063 347327379 913525833 982295051 663383257 291638233 899691229 324459727 878768311 20513107 224240605 218121991 919119811 818840555 522176325 663596559 370858637 364690867 548123517 313936371 235961487 675642345 600182863 749522015 397848363 275328495 192814065 464361387 327238825 517431373 205846531 169264087 619238203 268078525 659543175 896992139 671178233 587555347 941670635 711836435 131402725 646074199 308145925 479306601 960065257 214567091 931170835 771602733 888818901 509127547 24838585 87139235 369792099 997814313 692559107 315762109 400541749 720315231 599217001 996180239 128495569 228983019 747684807 498168541 415699117 78343361 492481889 22957323 236183327 620159481 320833767 942682921 641204073 850691543 435762541 774053743 835142837 64114375 937076079 603188667 374162963 248552285 718102483 178010773 887211389 109634899 374179559 905020459 994536147 592400523 521824095 973919063 680027873 742577685 197233497 880004757 91188311 993581343 272752987 435886863 393402061 750540807 635160401 759389587 241313221 729779023 52720529 127357335 797619623 320305317 691735513 455802429 213006535 941810649 427088459 484220233 632029789 913623015 662482553 447602733 928884105 132106227 716101715 653688577 247877207 984022599 84394811 390088577 266030775 726554969 837755123 736460821 597121407 989388993 730392235 354126541 50027381 733862979 38065141 387934307 881494593 646827213 206033361 825632049 306641267 482340719 258618275 947429441 672942979 597129829 513895481 790359619 237031127 520181267 52710599 236383373 689623731 846587909 852156907 337267229 859897933 169165803 547964075 345804445 386827193 67873445 839487347 447464283 327814909 934461745 347234585 744978511 403629313 455220159 8889817 70269719 284522131 554261663 616187481 395893243 832373617 668574031 436000423 744562409 921492793 518901615 776912697 173821563 445529207 68595149 567422441 965128429 688365977 548507995 130733825 492425513 251064315 923376179 607244841 836961213 813685467 809722523 381777785 506124255 44113511 876475389 594486383 877331057 357516459 190073835 423974127 859502839 49268901 452831523 955981893 179855011 747873075 526448261 17487913 501110603 680661023 27539999 555634615 397581423 377923357 890558499 965176435 557652023 949564097 877051373 721165133 958152303 244442001 941454591 271355801 473494929 155588851 197813253 32172051 796339131 911717947 655845841 657596897 460587959 998320543 885224033 313245585 255898607 368845635 248333269 692427799 684519807 20850735 89236347 347827155 370192165 713019221 307010759 7303559 211425351 798333071 242187855 665827169 701609461 576571803 807678683 803268087 312839143 372058919 812306007 16560965 317479289 399972287 610899665 58642355 100748983 105074399 728510857 265628939 972816207 489073641 182931425 491182469 753776021 539937063 262121059 635824829 292368779 178394821 875942851 113182903 930694617 422933987 601184733 435089123 903402189 329529213 302803637 245299475 269116765 21879679 436622707 294556807 193487915 776910267 90639213 13111011 712635515 231427815 585023261 145658165 433850687 218149287 612593447 58752241 8343565 396308355 184534357 991222517 552680997 908116973 778908059 455485575 571150703 861580093 683274007 445246547 164283255 915193269 457873159 103177071 925499511 854061183 613197273 205968983 848906829 669758637 969621537 466902001 372794241 232472117 724679067 534204043 887215171 578414331 359425063 8060635 410929513 72317383 610318545 219487997 810003827 599698249 714298063 876768629 877820807 159635231 883742841 165892657 807454325 52565701 792923733 475224967 938270643 20104359 803569163 730597685 312107619 944153365 352325489 576188255 26777675 12891465 998588291 756043153 906523353 804559973 584480609 995592131 733955111 740576369 785962841 758366545 576347633 639099741 132962267 233719809 216470689 373292037 147681415 686275839 649549891 367476011 26068253 711292383 126325139 894931571 253302407 220769697 953271019 453721971 423425501 910336939 203089751 602324643 594765141 216638151 693849475 651377253 435975511 321574443 212496071 380742145 85945193 821988469 100949027 856957607 152014659 993574059 745549117 862460531 501255615 453726521 348267365 214332261 173682143 423620343 457353875 614281319 936470479 675607069 217228389 497442889 64505825 602728277 52843811 753496773 862242707 415330985 179705533 916640637 467653253 25817233 730805193 748683511 641161605 581127913 762068613 484879785 548206469 607597045 435025883 195030249 938467489 271168357 73934937 669941241 124806939 907773771 56003383 787184897 955395679 614268199 722417491 967242773 231004161 215025885 698831925 305016877 617555643 892258747 397516555 106471465 796479343 970262389 855191981 803028437 252665901 885194537 510003101 98454239 673858339 565768797 439293693 751295459 377556399 14456829 324446625 712872289 996520787 424642911 469345277 53562051 401668283 952201535 221794867 937910615 248351419 157355717 364673799 551438683 528663373 41476731 751416555 107077357 952161941 632323927 801512181 91309337 759776733 112880057 921120229 566633165 112470169 40514659 708066081 865326053 978913125 830847875 369646523 777085985 539635973 309838769 96264551 426683433 531714913 751757029 492683653 553485457 459162767 531488137 11321885 175791823 810409929 599607145 342522077 443062857 612729971 267891385 405669919 540995 324718873 95107351 99138017 743456753 618754155 54093447 776257225 661714285 574811207 826210425 334736679 292274359 575409841 855904961 483942385 940257207 408784595 989985947 128979913 854279233 461250559 992095661 597877749 290030347 339974321 147425541 694995299 758136505 106365837 906514457 684054443 180755157 822705759 704467395 288968207 577105613 588350231 409764171 155846769 117379835 992458965 763051357 556057701 38306723 219247831 120988943 334241311 360905707 399091597 468920543 847978369 459294439 273334663 430266801 457774863 405840525 722344579 407477201 573723387 641380545 835446881 31151095 312636443 886843979 361914927 629312575 190186223 811900381 958695199 608777005 437296285 245117201 487630731 17975473 813352437 32370533 779932153 112665373 632369263 387797317 502264851 842808881 515787561 228440835 962919851 574441489 999786475 326233557 933325247 508554827 140647973 641540319 509905263 695981779 396512749 550950441 727797513 403385095 99319041 137405349 915846911 74113709 959812043 927329835 986378477 360163569 254392921 407074431 230358677 216668009 393829729 619420231 850503395 669987091 912422725 555975957 352851691 413602641 874213131 367637861 747762405 160685299 941150561 90281363 19611449 836143407 321678753 675082477 131124591 807234207 270629575 970881187 986385723 46390349 481607803 52263117 857313145 408388769 631143951 944763247 58563883 539494003 480661879 658936175 395751549 727549953 317029461 454837663 57134019 666544111 243624173 888740793 471154807 641209419 80582961 136679775 637607997 363568009 50355639 964199193 202180063 621221255 913799359 235487065 364299345 155285641 963759407 362801527 865880495 697817663 40620951 377736885 389886525 485991613 130244911 678688573 300400483 235292543 173560533 677127967 1590455 669354603 199442449 174818133 108443891 999894735 231740947 583417025 435113211 78701665 676289199 436970795 940651737 876306491 382643561 513634883 784738499 438073317 58473061 5779621 993956881 942094413 251431795 951804113 803617863 585219781 391598857 614159921 14327827 160992267 186368329 509235221 815520325 541299527 542167289 825870519 65498841 42002691 431455367 747426361 592321523 335189559 341025035 400083873 356111071 543789375 979986757 454289893 137450253 701942495 221664925 880335579 765913885 413803847 337068063 535469125 508502989 216891659 392979333 551623373 275734797 541104679 125699631 573518083 144139501 992739073 878272033 789808737 227528361 868151655 614735629 939361863 773355943 751524749 144158537 169136897 401953901 960826641 99063509 707291837 122387891 419013113 162065495 226386071 508405587 980259249 921106463 325077903 300096333 314604558 338874149 809395597 47480529 558861903 781695495 234450533 349998383 92107801 890058253 353462479 331840741 804044407 105849383 81998189 67941523 476830945 883640809 442735045 84072455 986590257 279678615 10081099 474167091 330902961 685326357 464385625 364896563 443914249 568253425 512038703 134277961 745482833 858051175 696389879 719763937 785402631 972618067 506097855 505735565 642679055 873632059 992883845 863373835 440774839 551368275 159573543 556502843 351740595 226350957 872755313 774735403 969518369 756660491 931874833 15690767 854111877 471849555 771751075 977564989 916800719 963269143 872251301 123772989 222515795 619728331 904018309 263716539 4811469 937267345 660993681 66257029 970632805 577604653 504174081 20402331 506428581 988244497 318557433 692028959 854490499 735837779 740052867 471002971 224047711 836595889 380734349 543955139 833444603 821478295 224232433 908883443 712598661 941035791 756914547 353914541 953560723 721672657 73712569 95434207 228065315 681858113 139741271 668682903 170152599 650690401 217425349 280455445 442984641 360765921 185326179 143568827 350403539 474045723 652142971 958863893 55104107 997053963 627026495 402193875 138427277 369836123 52650183 215955411 938332585 112936281 836836631 670055193 984834449 787851003 270166549 551031757 506909573 795439843 934832277 466763845 193992235 912448341 414095949 782114811 640667019 586507333 696683233 729754259 230791201 649117253 631098073 152103641 468043717 754726807 772214439 308444605 64791743 733601569 233495461 602735965 288799931 140056437 372527889 439102973 958370255 54030279 356050199 508428037 267491703 585891063 154334665 772046861 436335515 188970127 91722781 784252875 205878661 392972729 687782135 412038437 209749741 408151121 891682847 346819623 411289325 102416341 501184327 44297473 573278991 228972651 254261511 230589715 419234363 587634659 415890915 450524637 646541771 417226421 768638273 813311497 665970295 483148543 254193779 155082863 384058729 725214089 822375347 468172037 492026669 454961859 752772899 957084145 13833399 53851073 945201611 68883583 235874405 236469573 959863453 125568033 970408701 874554551 296991089 864486259 496600235 799361829 203830281 376270135 568814597 680972869 103632143 170285399 679901959 537065337 121326867 517746155 210753559 17680583 25075089 984652329 708675331 220049373 493187557 81519993 640573953 706503955 473149533 8769635 170400939 66068073 809158441 220798363 6577417 540090503 461875041 91498237 373073033 261312441 227387911 913135243 367489277 924456697 469672709 770678129 844677027 961345253 728039979 726249729 245995043 629898951 17056307 296141753 763907977 767553417 598506943 733502011 915599177 761987783 478374487 999796817 837823039 560723903 892578155 381738479 577029045 330176087 339776855 68094513 480234581 676314655 236375643 231522905 634448179 298557775 964595617 521451219 176200399 739854789 842446393 621974579 239752207 834957833 905358877 556779571 212130107 911525449 594102575 36512439 832492815 943614303 87312949 273531593 42828707 578368967 390475237 851711901 689172863 822481067 469040085 597045647 9465999 8194265 928571271 857483555 813568297 33121223 8855907 514228737 545463561 831020183 355045821 163079167 663837271 289399565 385917389 431816727 577911965 381180571 951042229 343737709 969207763 209366361 483006075 435905101 206395733 630716163 225572117 155391783 857155303 822365185 795308375 496552345 895633849 115065955 104094215 943732583 602339677 295374049 82105549 634144633 691603667 574069211 87671609 788154597 324004223 55689813 768595909 47372775 61545007 225498881 795755217 460265183 369658903 114389813 257218983 853395801 354130901 336547311 777898363 139488011 94166127 69292249 387767905 116455117 50822735 405487425 444092511 937444773 722610767 895586079 676678749 358484413 547386539 274254865 131233067 657250151 741851141 606611551 403601025 71860255 832758381 469998583 238871043 344635273 948085849 688992115 374470203 411000945 42231715 473622799 233077143 890453961 249770643 352422325 782362995 325648811 876465879 108999667 317430541 476470365 848876673 165687551 423146643 865976137 882251535 998074299 523882515 772394497 967876201 259925419 736642693 64643907 209605595 763584001 814637261 946311663 990706457 489597587 571465397 706499603 333775169 11628257 234885099 795374561 603313623 298366227 824568073 811921077 133439435 695172341 45643923 403930129 613120623 96083713 55853039 44540065 956519557 588758869 198893169 162268983 891077421 69171899 158350415 698170321 940130551 886462877 360528813 34650257 682709207 275788567 991514517 18419393 95580971 755256807 742132981 249677781 737846457 14334835 544411047 586111593 301437357 543046347 531883375 943716671 622593181 912660901 706287859 142312515 834825607 731740515 992438469 562537353 4694223 40185867 585216609 324772939 770231361 572963661 436464933 964066795 256193557 705422205 297417051 60108025 133281253 877599389 623985973 868653091 307375035 297122133 269492683 3552583 73026303 629539315 247471647 187532391 272734091 404633453 539010589 3466415 181919385 820398693 501979025 528216435 505811919 751651359 732015927 520263469 935321657 54716813 593395633 597634689 649717073 427762245 182362247 719629113 850934767 363156871 565933355 915877707 326877529 486249787 667828725 897326543 834762815 49145069 586349353 79358473 546805685 992068311 338484717 200715879 973225529 770242263 506232659 305925497 459118253 21732725 81725781 721264891 81020257 250122977 684064725 379538641 736688907 739431921 512940443 212736007 903728581 588544803 334609241 102544333 522574359 283973025 683125415 560542851 353167855 22913593 425616135 512628391 287081887 351092835 169102051 199721449 824226535 665623357 28418699 174327833 405989353 668447375 247436601 397901363 392948791 935745479 881199119 928172891 340755395 689596159 22925077 621810141 938045419 529284083 4336699 667312171 11810419 766318859 728251999 380039135 363410571 387137113 449850429 943795391 125261767 193983633 196113279 922748341 57748771 345848341 269960123 318505427 471006725 86805993 793416549 191574871 906398523 731808447 966296287 949813921 860083195 92640239 982953845 189540159 274291423 448072307 722392151 326265059 599985391 943656953 677755805 386616935 755726487 984043979 367862601 630211281 365568685 25154531 364965955 293011019 684770159 17514975 294675807 200526633 480524671 638283783 976073813 135856867 956702447 698717771 991975111 332162337 518966319 335991105 615912763 588500139 207659297 592980263 633050663 50263669 555064841 363797735 431348961 30335643 903778961 479209743 770597035 914081631 331254483 867905751 390941101 837495341 912784969 662879517 787751419 790546583 227080921 17965417 6100109 197417819 551279567 892292841 236013125 516282715 81600229 962529653 377640169 193740449 130260275 385279631 705227821 777794913 312450625 558971481 20902571 520752887 364809467 901106855 358161123 550722789 351365301 862518253 759952959 712783833 3981873 963730509 554924559 682190497 378856079 365618315 657765515 65765181 937498719 833757977 676915673 900794831 637271191 765847821 889942781 262875041 921378195 285458215 327800043 181161001 357058583 122256589 249248637 51447807 942538833 361761551 274957427 920214503 215699671 584175525 848078453 305752527 794771879 98733039 739722775 109408199 525938469 620787185 302103761 240693003 893382431 52923739 637303811 876050687 901052361 246131335 661491191 759442989 271446209 795153267 484047071 708053835 92995083 483283653 227440597 571415089 49554711 983506123 528632281 77258979 979579833 767587457 431838419 330811535 626268973 665177219 181056151 653030021 298004249 954441753 976248795 658451777 989959307 957080625 768077635 524799335 848362743 293226083 203717721 571272387 699624765 910975983 257481355 710495047 612042911 674014397 657716787 108117005 712085963 410527835 114325397 154753115 753560023 817719039 265994199 981372569 921057601 538699913 361982477 910820703 409344235 546187139 367531053 984055395 828628263 146109465 4228123 727779213 779441831 593431843 269343903 586013667 899753863 95431457 727892587 123659421 403669585 885412665 316534041 30283285 289115885 895289403 464631847 409747659 794746293 74372511 118373377 84329071 322781283 524785795 377435385 229023443 299313949 602833583 990380613 128997103 982936433 541697427 406520585 475405803 550755667 942554437 878787405 257191439 137870369 341766019 438013187 615903183 316320161 161808055 197713157 469491909 70103807 821241071 73408017 418798775 995780561 201173729 413056467 714928783 796567315 968091887 682919387 494156129 147234349 626125343 381306021 265158503 358573033 340584735 729216655 832658691 829616511 280910665 947666659 400452547 568034185 235265433 885522641 758993243 913712399 360719799 108177015 373861025 982047871 998349045 344635857 605407903 448603307 581821767 797010379 229511547 655910867 664270927 681411381 978147209 759875739 803099217 28763593 699251271 335217423 3075391 780277033 819615575 167695271 59720111 684109277 361602947 678047295 969013217 402790999 695767489 507544861 923422907 269363183 231241257 687650285 705214157 978232807 703846143 483321029 508117839 405110377 628210095 973749025 166797087 903209349 205447117 168493287 543173573 703703605 119934995 612800869 550071921 280769883 798455141 13394513 633723127 708549823 861057487 667657413 532605659 909205521 681265537 945833033 426831937 183209453 128932825 423160265 225959673 757425875 105486939 179516571 846462329 533452845 982690223 689798013 443604963 581670731 238355627 606689171 727801595 581359207 50143049 235862889 549460789 53004195 111744429 215627255 347400099 87399943 260405539 173562265 379334919 420012675 430701853 522100499 623427273 783449843 259619381 306534549 990878709 485332247 914690353 407241905 246084677 205988761 745511929 659763559 310444825 263327497 307911843 26994971 157182069 112638177 234905707 101162907 681619979 771484289 762015409 288361757 608789553 482972213 179677187 796469051 474198759 718191659 211367185 296410109 553834707 871333759 342061499 754051791 204587589 261964593 854944257 838772103 135152693 717943595 156781327 476129633 7068481 404712763 376732215 938028547 941505201 425197087 934895093 800042109 97593205 530982519 407665391 611901503 175777569 89508809 973016813 308466731 393124601 772030859 408747491 934027139 256252129 757440529 704914667 568552695 356687463 308994465 893594955 917295513 479773127 272978787 777682797 264309737 263933661 90929765 39260645 351342795 165809199 54127781 72001643 907001995 784527343 466713601 763248359 367817697 669220085 853633349 795178593 937838827 519835069 61088031 589186573 243708969 379472751 547655467 277156423 838422413 598633181 631834857 828301201 530904939 348947323 505523393 262894487 354579839 655106153 353193223 65292845 179278319 293276529 833550065 364098123 640071753 703926271 162739109 786407705 42728067 259021867 416404775 568605919 357402615 603339187 921464171 726467603 361043565 111344897 54344523 203712075 262939411 455352357 970045829 222414161 199433595 174015441 47407559 505143307 288224931 855996521 558673309 960689039 741620723 338684659 648386437 560107031 322343479 735859743 482137053 307125767 28479137 786507075 996893679 268072681 128102867 626072925 569264877 475358321 643464913 531472919 352577777 4587901 532738565 232240319 268384761 670856971 299216969 864382795 992067313 451034953 389168599 837481309 65799851 181286027 842878805 601314617 733894877 665142859 500606673 599071441 766298411 45950509 100936895 574015165 643998239 618402557 50102015 893198137 140362789 514796973 155203025 173026093 301439645 82042967 464127721 866597163 321700547 476069695 202614357 206782055 209893571 100653011 511571865 531579841 225129135 732773795 428684949 390059715 488933757 127377771 437009563 773212311 582869009 609008657 248239963 613548825 518922803 100712347 4388855 898617799 361033109 164338241 260687857 571259079 189743311 47541083 381676089 254169577 173681253 652679279 577198625 859257253 833525181 487307815 128207465 976486425 134064169 364406613 614871605 545451533 405480419 769722871 598595091 619906031 187142925 362514477 796764407 507150041 458530479 638080837 272855359 573055879 668169147 178343087 489438641 657502051 827074569 729366283 890667127 490452347 681295195 145177369 519252523 762476421 792231003 494253765 191650503 713774307 469015451 377987617 222129331 93353371 501069457 407847531 266453945 505939803 589691551 65031939 103809551 257533051 595584529 512301175 453095253 424570619 541267735 648973177 473255821 226340737 841818313 501700069 359103013 798327903 353730089 812389309 822832371 743851145 335479585 104685613 109948213 340480671 860181889 404601993 704779919 609092587 389016579 503462731 949945357 543503191 226864969 38457109 202082087 325952127 593375963 761226677 545271993 802584737 151089193 572309789 416995337 171712931 109965199 580559977 982731201 98980117 6325069 641252061 281970427 806219567 860782221 792440033 720515121 378753487 730624095 792373001 776699977 822065021 929889981 531055891 590922641 821832807 819313033 376039137 420079293 374632807 977641865 162687869 748538349 828403449 531087219 491913245 585643939 393392711 742488797 672563993 853970893 909407775 381364041 417621237 500584129 154081783 237192481 676475743 83808315 46969585 184777395 730883109 761322595 935565521 22448957 720665161 359667907 799763209 201267679 100424937 670734675 302664113 908675231 403767377 228217197 72322693 597857651 983601397 257461467 970709485 526202673 10546803 500269765 191736313 481433243 466718857 182628037 33940833 800080729 675353639 735620565 468031621 467585791 461186141 693903707 884591721 106259461 966347111 861242915 507245503 490600651 991740841 667760997 130909661 302360733 853834415 89964989 122283457 772684969 789527593 301434417 601727253 230824715 194243831 830400813 903930663 518939585 192272919 245389191 346572783 354946489 469797305 234609019 544152843 928330177 909709869 983060401 606585539 170778512 976891121 278224435 405203205 118175951 766725541 216421239 126503531 886707711 774758167 181329245 299256625 159884693 333972535 117480487 217155137 559315691 375650597 642692995 776804391 990033217 110426145 668560263 619035167 405401791 797878423 463677361 241356547 174250873 329421849 395545573 416728671 808740453 956216163 129600367 760894815 114511975 364191579 400632839 76738523 859480905 593498633 321096393 169545043 59895993 724867489 705307963 767214575 323276113 266638205 933191753 714989435 593999765 26124579 835605831 108342897 255512299 618534717 984697589 765872367 123866791 631233183 845203063 889706941 444274431 732996931 860959835 854570315 834509847 906899787 981305239 777200303 563906809 721568261 993282693 248117929 657992851 152981731 156278253 727095967 865727679 977512065 203819515 475416481 378598209 848880545 53223237 222706021 465851583 44004399 292577737 390368589 609827275 396953151 686617065 75337567 748154337 959579915 675691895 897453897 651168351 707735543 484915363 70672229 98989967 278626701 887131407 190338479 985718691 831068289 640037565 913951953 326888371 115005615 818737949 415085337 937851075 979156505 366039041 723734397 797061305 805842925 729792169 245271199 890498407 640959355 177116857 728908739 15659399 396490559 814526271 396294107 547757499 348187613 862167471 638655613 555027851 231629599 598016231 995741929 561395817 233383161 466113069 501835527 115155629 847135367 742774829 643762787 707125403 641760013 602739709 809025335 498086745 987287283 318333465 870848865 375444473 760774863 439926633 699763561 639063669 905253981 415970871 400958847 977226927 996061053 776638777 300596857 671241583 958755131 322319503 330543317 220779879 194499277 253426363 338249661 432316463 885477515 550985643 108628479 703543113 675380475 750576567 404746515 66855199 458259397 206937751 485762071 277719553 882647743 452840053 388823251 718705449 676549861 457202397 582437045 220283321 855744855 551762371 972339157 963724217 916997219 103968389 352363509 316490523 40371833 679465703 620435319 287150775 777206585 711825945 17220207 586965839 403466337 433537455 526621585 338441357 357333217 312004261 997415231 584608257 458415051 895652961 997353085 924453925 63364951 501799345 936926205 86017881 3556843 318409 618549013 413197545 858404115 130410825 909220037 330520069 666951297 408440115 961523893 359291589 447180561 180622325 224578609 103931691 204728773 297127525 285077299 778440735 478536393 204124863 185265497 524910197 872291951 946031019 687124715 735877093 456322101 984420659 595361241 659848209 977829307 343065551 29173433 530582913 245499855 880622939 666751945 232445093 68376419 465650203 574532083 871235801 783440531 662543807 823123909 938644829 865499553 33060953 293543543 798318683 501145593 659512681 275770599 167891937 39861039 148917971 955711643 675497197 119845373 996815333 677245127 143963743 457247557 246452819 492581181 567527933 770021653 50183483 978485631 113023357 239617953 530518563 863058869 524506995 825582655 354041335 851262381 361769573 387343481 936998413 464492509 309993403 518080757 406713633 528850533 749866181 901269641 660745307 637870607 227496891 875569455 689992773 489154887 46346435 957614859 301059543 242407717 280365793 536019815 429033835 239356009 801840395 52359607 281721801 680595577 171596053 561140375 536318751 603977829 508673733 761532107 774457855 508116965 702534849 756218939 328572521 534437465 243904925 922577661 918770369 43728325 691035345 139462219 404907731 100174297 879623613 231793033 680255191 880299247 170768043 888357187 285706857 658330885 319799247 827142185 864064911 623861951 11558973 55829529 508691893 628873841 674509563 925511959 413867183 269214993 504314351 281645131 157379517 464187197 526750445 898716939 537598085 735991869 659650219 54463443 651627537 800722175 431429071 757359427 997691351 842958619 679970269 189643559 67343029 273282001 507930185 530706293 289078257 382494473 789514603 366534983 690653753 399516241 530966919 98961373 266459295 274069983 919512003 893810087 807616417 660602771 996730163 374385973 625693223 988709879 903812557 188957253 979694715 836766007 741653877 192899767 508581717 213866539 460438261 492966809 892373201 549765459 850781947 728075803 283605875 499687381 506861857 744745629 994537771 400966273 824507113 478161823 249824333 747648207 963596479 578609357 262135443 320786909 812970223 615715321 983513641 97177971 520716469 67425825 909979797 378131713 914540339 800275045 203415507 930892443 317921905 473708307 280660795 509484549 693040737 989008541 651238549 775220643 918138333 39172255 69175565 141773189 221327267 952881371 703260215 641959521 236941151 322087997 193228565 671600281 602801315 733801431 579690759 995480883 197660645 69879271 382040799 392535261 715993481 307967183 500643277 19244271 854022871 570466329 597095539 856627307 894215423 750588793 569244115 424115955 329841183 606608843 790051931 960222171 686794291 582600209 105178339 222101271 310701095 216718967 330287013 725716551 569304779 506628945 359298373 895122869 631198169 983597593 947185621 677157197 903306995 524378227 171684295 367925671 310607009 475792681 729283321 758641411 725569365 933673263 492620721 528753735 741447271 546731681 836825499 956761091 488302873 309494209 28505291 244362095 821003669 570694141 709969089 777355113 560582123 398050533 818561891 532555641 179495189 111668533 766602235 670296783 595291125 351806417 82701375 232933183 507958355 709157059 174414159 960521293 384100319 834722367 687248557 900168221 890380597 702451619 950274887 530001021 637086935 738046573 76234355 392522729 535138345 906636109 732323055 426808957 456586369 844001555 296382429 800896255 602055191 753314235 303977423 230774755 460406029 216863593 559799735 222821435 102269547 855511911 455742449 305260745 269411617 233652011 26376519 739272437 754008843 976053581 591159777 928316363 469849065 987849363 387597913 366468869 945303653 751202023 994864297 296097795 558078735 831288411 176369975 114059465 253810529 374806571 772856273 853627657 306810043 248370107 39536299 402998041 143856489 440755607 207329635 731535609 758014361 674642033 65506815 146214735 506007143 376863267 756975595 877110891 820324563 770576051 842979069 988879685 322746567 312333643 46199411 364145275 704099859 410986813 158166511 898657621 1703279 488696071 329704577 217189059 751973761 304619337 935449503 611788377 212019149 748181457 823733285 620312411 971604425 484497041 383627095 254046635 466696651 418727077 329277923 569722077 801868307 894207823 872582881 691855655 176829391 401415931 309594313 984043623 280987149 570691131 710763653 421538083 131340997 144414413 901207649 50208653 680173533 623715473 958956305 433063037 557165593 544197781 122633907 384590959 327193645 383067147 883153357 886935179 440234931 829028687 303515211 135906211 18182699 422233827 727625345 995395883 923204605 697449075 568125489 354685507 138888573 985021395 963886459 398287541 233451489 598395389 227589615 256817643 335108687 599553557 775886723 983858177 342352075 736883301 254846353 404709557 989950281 281688417 349307873 503685741 266052259 892829349 4685727 330243897 135909271 344808947 282092129 493582289 695707603 919604279 156720933 941181587 40971491 549222533 131184975 920185479 209067333 493140759 10486699 404595805 535148375 350816849 564489585 526026601 56541795 19479485 669445437 619325615 462494107 403972369 789226003 457052115 573019929 855485733 766399587 561320995 406893275 108855549 763081985 602417051 86834127 804847303 348782633 455086551 661276865 329741523 610726017 56683293 716676461 589718685 575439895 81858399 486663541 509894601 725306719 523218229 587438947 98679585 209671735 551099099 122977189 473223579 362235621 855918905 42563477 555113295 577689365 453604577 228724853 858954883 779749085 917795591 914443889 936706207 767260603 323905675 592849301 17373497 678432145 248775413 266897629 834125069 299053487 452000629 499717419 120604411 178856395 314908641 931221063 359209233 149472513 535809465 51838435 904644479 39538389 325055267 4937369 385012645 381245495 301752303 996615911 149443329 498975865 70910613 555185209 153161283 491990107 963894579 915324895 258665531 549409537 633080465 441560085 621589735 163033847 212769565 651654391 705507943 13130037 631646705 319600019 513344009 62223897 529006025 765703897 732430655 53008483 248123919 118428833 236782243 161305669 884660177 7729327 242543355 690265683 38023365 732286887 318173233 459602569 57646157 454345761 617656921 690560333 594880623 515936145 723119787 519998063 650164953 550992219 466132111 244680735 778564579 557765573 443233933 93493247 655699341 92343045 71335769 805271057 155646077 488402481 751067853 151512003 101766405 678819403 781295857 152700139 154648601 477194045 727447787 112595655 166427737 686910679 618959887 322989307 121441549 749236181 938782939 548983955 268986149 791015635 509065713 53041927 42171447 20666207 640425755 850849587 226119555 118814953 32603725 570672731 150004975 695966665 203435683 311777583 92610571 172163137 919872351 430219459 96600847 717289849 29706989 418417555 659192793 133344389 288271329 473406597 306850033 986640221 44451829 580179943 954299525 347904995 785858317 332707949 733158255 130770655 820116531 688676405 316421163 543654657 408817307 1319877 222882787 885117413 263716001 96839433 235888483 214298379 422523081 286781527 333483559 258619613 293803707 96421229 595165515 600411051 884804173 806146669 343470229 799162543 314307193 590486249 903596919 709504777 39831651 469285585 922803719 186529989 229895765 705548679 462979589 576817617 878153413 462285517 888484825 324987145 621553995 363391443 340426639 19316013 777938861 603636779 969030113 522468325 378334931 470904533 221698863 355137733 323420115 986107701 637804157 696706117 470594791 69090329 537865853 44494021 786029683 459433653 396288131 479162769 182658563 299293095 554632595 399432663 607891273 4952565 112886609 853714355 794842399 399846923 281486093 571003173 175569547 124734655 45737151 88780565 491049397 85267021 586611717 577035863 817570037 120906075 591952679 957277859 783125441 391285751 804649491 403457433 937455551 86804119 179104099 628824003 146314683 115276053 105748307 895927699 659625127 561515449 138290381 991463011 858051741 820533809 752432733 833571187 300298723 402200207 695854911 573443307 246924259 345942099 596742733 972116191 359553583 531755873 818004755 680374853 708382597 755462917 768542397 825678339 744970437 44106999 109543715 114468317 127845885 221524563 698350021 973964679 323412319 801718941 118911177 557248923 189172807 326984389 512064001 953345687 499794487 141951007 613839329 320561639 85980123 287184231 480544393 614974685 143539205 626777027 43015361 954849713 623258803 808212417 91107065 81055363 164095495 617645653 276505671 719360093 861543755 327261663 267234667 103758385 414532083 964608801 197405131 156760535 766893211 742835785 814817399 583086355 438478853 341980653 57599269 209213579 795650077 372894729 927089975 481467091 486902519 563420933 679233203 864982369 820889035 57658539 117913415 535536025 304392193 789180723 91538765 969671107 683585569 415407161 950037697 180631569 272883425 566414785 91666509 973029275 568964633 334040891 919306815 209319269 4556237 303225465 503830413 886571349 534479657 683524795 716486359 634582845 273447297 708700581 630549863 935856089 292588879 441323077 383443497 946373061 857754423 710470159 55374005 11144335 888978179 733929441 153318475 393946023 62756521 730970369 49513681 873423719 449038145 114016283 958722521 659538445 865454095 921841733 346763671 236006085 586817409 218344955 290034667 363004575 973272615 733657123 925104989 520255893 108765117 9706251 837948957 545703817 374832167 535773033 911308545 147107651 137941615 448547159 201667719 49606517 903898059 219057503 935042521 69539767 75877011 415137641 188157893 339159947 413128013 749161421 62093251 138653531 955361187 489400905 383655665 959041911 536997735 734052609 518722839 384749851 728411029 10895233 756395939 842719075 286270801 507412417 912181421 745263709 304258791 982656285 23853559 667950073 38727881 79400795 255614947 704788239 908720785 481323431 5639813 856215137 999815173 442750357 139821201 799926169 146862095 535459877 322665065 6934087 365652929 912645821 548465425 715760869 27191127 629259303 382300475 742506453 167084343 434566041 951781949 616035421 436329705 228953009 754614551 167226291 363193889 604822389 277451121 844784621 645979577 231449937 288946327 72410381 364820151 256630299 355752067 915119101 793909573 667484177 17062611 850134413 585730997 181365719 925186511 745699191 412004229 126410617 45781351 45720411 718730839 182869359 793548849 79024069 220794613 601925013 826971243 531220259 134834259 756939823 400305919 753400017 153283723 581687533 377473147 664555535 38087139 753546721 93314583 292395783 239677895 981246603 80338097 701869001 76317637 274740943 709714383 129048397 375738013 88493563 289763493 137159289 345022257 321912259 1908485 421807889 891135883 758955845 945807985 22858955 874533855 870149127 395690769 544500797 180650889 778649333 259308211 137347047 548839947 145447781 277293517 749033783 393807377 381201939 549375103 349529979 986389615 999247399 353467283 949324525 342471967 792203819 957017461 915701677 11570245 242166037 79708477 594611397 531632939 931214149 381141931 111269161 833227079 867214717 410648613 898191021 978999089 511732203 592262075 3969815 747813805 62104359 733927973 207740687 751317159 54825769 474812609 475229475 442257971 468480091 34584985 314195153 952871821 329448073 707114583 222561143 680990739 677725159 430569303 972490081 657239127 416687123 689533077 57172669 494752007 52743441 227063995 290436261 910634499 865438801 229592599 598810141 857114441 646329767 316562849 367841547 481695241 157835855 492980215 472897347 153469843 572421103 527642719 612835709 358621795 500032917 551808461 382245465 507099933 599063223 756640211 396800353 224075661 968309295 549086131 897183751 320951205 888582981 473658709 482122405 523144319 693815461 994888773 628959097 781286753 670287717 493818047 754280367 169413299 695583747 634405533 48120409 791526669 523260771 952860779 160137581 58589733 322289105 742891605 190619855 516265441 156115973 999862579 488154953 603423565 521092123 529949571 981002633 155997083 398318743 575539825 777918249 10141477 601125737 974586567 375902637 997505649 190520547 135702527 409008507 489938729 280578757 924988215 32227557 643987745 833259827 104085559 165741351 52554065 752803771 568786543 315160927 361410785 533647953 60300275 170260887 10082841 507062867 880228487 686352833 411684205 101453191 686910095 153470645 186628727 706152729 972278299 397655349 247471357 564841119 842348513 449467627 971337705 992791319 856744515 805272425 64603727 849407459 416144967 237539621 638205033 875582931 170099867 372510851 125996185 190809117 347538583 39227083 496565357 322959195 695385917 593423663 740227479 719514263 850611247 834841543 48272115 643960889 145903809 460203157 996446595 616842521 520130279 380038787 939647349 405649781 908528193 900123233 747480855 775585265 134935833 100313067 903521769 284908187 758329179 110585533 485075853 179906535 478813599 729508709 871972557 76321715 664991779 742427731 499727005 647716931 11287507 479042783 537657113 649885511 536487737 320090187 606632581 793495251 159627663 799381185 531763273 870234211 404864947 542937169 847602171 384081885 475811629 998929909 954927189 252523663 949936427 644909711 521329211 364872751 500798855 773733351 685025207 501530583 451232191 187982767 659287807 533654799 43261431 119236735 653445483 909869765 367567875 184305881 93567103 9082443 372580953 544949799 251834601 48980063 178265879 670328249 242941305 666855465 831946499 687229385 669987371 730553395 945003665 730216055 805665059 866567029 276198099 896342735 744038829 667621451 356092555 884880319 72565049 677546361 425934623 887003939 445589607 286841135 755926945 245838011 882522613 713306113 260232645 927003953 981138899 658139115 57160429 567483157 506127889 10453331 521419549 193972193 503450605 659393543 653085703 768709365 943005383 487339067 478348289 895394461 720014125 762654605 871936267 743798537 321393615 830846979 668791243 337483087 545717901 480016137 606980753 979640949 23171431 935292533 407662165 124409443 204864903 304869251 700279221 225753833 698369093 913551835 98358265 756609729 182707223 350569095 790525455 909596299 632688549 102103295 25126801 136273875 236346037 812694045 364638141 716253703 503065407 827929387 589671031 851951491 132223069 619609297 149540691 441967237 275596113 861179943 345074823 209539131 384738439 368626091 502452207 751815091 928037009 45271617 739046423 480555239 392086317 894042167 975293227 127877559 474575421 943084609 154894853 882725101 901293259 796676221 525634337 641205051 71833611 622691695 59460007 992203835 210250329 548767495 809226345 484108141 747070519 446970265 521935579 52669241 583820113 486314209 748678685 224813555 346434937 940741895 223455225 943340755 718712749 31587221 437099481 464582905 529008911 573914753 300596185 999670895 138252265 933348139 39105463 600253735 415307439 811784021 56192473 993510907 176996093 577059885 621485647 562093995 196215959 418232649 746282449 897650655 638173797 445729191 172237501 555641897 76398973 468243113 188796443 541464325 247312921 73580833 269240475 606006993 314839709 360272449 93397905 476163287 428222099 227289767 717351937 861889097 667604911 9866583 496220047 370282817 800971981 441837761 618739593 381588413 990356721 603669943 830135275 845076651 264032323 930143865 816183377 212420311 546714393 508820907 303860481 766709247 554273517 783540059 100434413 582211521 136176995 626861567 991529901 637684903 689961799 597958513 691634301 299952419 314986377 94438393 764656453 456342157 148279881 663709507 950828695 694650921 38774725 301473125 178552231 531620893 149012845 271932379 713199445 322017403 842833105 369201805 893471017 941968447 425076909 693814469 897437779 966321733 792091109 277794363 709054121 6862429 313347205 610718729 850047403 275505713 909591231 80651705 115392895 212431969 951740397 795336243 823815669 298344297 821480341 794882257 865304965 398071989 156924001 876581963 307789389 125284245 619174179 893448139 759109909 918792261 417206231 678587869 813738059 445611745 114246819 222042485 36623625 390125687 767599309 189795569 651433995 365944823 724160461 713828631 964434107 795727673 977359421 28191251 178465831 478671361 62144735 798994043 432817669 252067061 501208991 937153099 723051959 896580775 720088719 716205545 815422273 580003985 376623341 74638115 465500247 258797077 936040985 614768175 401032011 855025531 346317985 199561383 589485087 217629427 306105143 577484435 348040569 258891161 422695351 752892257 660063147 182138991 376931363 785290467 305605033 625617241 380019111 717586007 5129235 241116207 315444119 662680933 111798833 361278373 91052139 809009433 458797811 45517917 728764619 363228391 624482287 856056803 45070463 435887531 414593637 304234919 983373179 255577775 47358523 767644161 742480091 351855261 617465089 235523891 805835745 89796233 900860655 446295143 317475579 366576883 720480739 974424237 356782775 133557441 328175717 151772159 758254805 411318331 525741219 397223485 841875255 167148573 306392439 975754803 235897063 716912255 917642077 399443087 986476827 837661673 725987711 730088685 159690795 513480263 692092073 110383821 594071707 285809135 953291351 917530265 391690263 903523485 8412067 698101409 564937843 234724985 134379609 665072159 217199273 613868813 901965797 35380275 430845405 995387985 879137887 498860265 136959579 245293985 481468295 135223855 215569043 494211777 932869061 265564897 69942307 944351969 907360549 743921087 591743695 962445203 355458145 256961137 102697343 739827671 249764311 9781899 417999689 500845329 48678545 190969989 847489129 500412943 270840633 299978943 473263935 146514437 293243179 791552133 174623063 9628561 664583013 254605573 263054951 920287159 182612877 682546779 231097159 621048039 167294195 328481927 294668029 938588149 641391503 758725233 553159603 53818143 218858751 140366061 485732283 576740615 588019083 876919219 488994449 218970557 733903649 271390307 170901979 64119735 341597275 306766215 373538399 555529935 635144053 150643091 699187477 469779789 987625305 299438555 668988951 734661341 956979859 568711589 796590503 260467607 917310559 680666903 46052655 766420211 353283991 742766661 370225223 499879643 583069639 277965351 114098085 459314843 614365211 775616925 104745009 478734823 674257515 155347569 389999091 448537565 332557879 857978453 825318687 712667137 397590949 808878563 587747087 521379651 598932103 947396505 457331529 196575477 664925521 946538213 83376759 692794841 424359971 618628371 669408621 172658447 599592389 669216353 154379299 574619431 475744935 399469805 413775041 192131861 784014815 559711169 271150735 802950455 830038571 902458319 389761793 685866067 342248693 802949359 374048947 527582357 117467979 731334885 986671207 983959699 513375973 743996503 86470665 187508811 726471969 528162265 205140909 914246689 315864071 736477921 244275341 692293089 517435205 842620627 345005069 180962755 309520693 533448183 58968759 586840929 738456019 33259647 311803711 182012613 559851465 184796035 718327169 810434391 220573539 871415303 521321855 443201265 833425309 657958897 921393255 18663117 99473169 776160019 311548807 321845393 922072331 456683049 108460895 593380169 530960503 654380497 889641105 199066735 621950189 867681685 468127465 829426907 709600173 581101285 675965015 159096787 141786781 672748063 757952505 952585735 936207695 484830079 779341075 565039755 285228023 164933169 912698381 120629723 748004469 212860741 79952765 894835935 376881489 211530423 283534109 632362977 68357307 726457443 211374289 251123097 687937417 19780887 980496293 16463905 16885817 211457923 905241801 150097409 139574773 146547519 870603421 412508455 16284555 66690509 328136607 36746725 576442995 989655959 117532031 580884475 601659851 99250415 957856269 575463307 679412059 74966795 907754565 98042919 948316817 197553933 207227725 87392193 917448069 968936705 134919019 129798583 282787833 252645591 329349911 524648397 959745615 696216423 975342571 311125299 579002523 813459315 737641383 977607037 698464145 648512677 79084859 160422311 745329043 916009101 553679799 121700631 362915237 288689061 900109145 334300315 449553017 478819407 471556225 794859881 304225637 65712081 249033917 698972699 954991977 8844129 963851711 24315833 642112555 850793237 416364643 779134127 986156797 890918127 817305001 633110995 484463571 835414489 719862721 191099235 911030349 42916003 975427837 377684993 668223667 649042695 102875861 130214335 304451317 634790565 108177649 723132173 303789993 198266889 620449305 322257357 36842765 597664161 440264001 726903363 542085131 358727369 865170565 755686937 883483441 650920641 712029223 524401001 977289655 515988915 287058835 585678765 6782075 214970799 107865693 78622923 579158787 892145583 937919805 318052879 27116675 923463315 486151963 44566323 157652685 109213223 277802495 550438223 893106531 154715673 455572509 22808041 901515885 422640901 63610065 836157937 448873399 278412139 726968735 949656763 643722173 822938291 575436591 816514309 126954649 820972081 147006039 390586353 403034391 221491741 30737681 737376783 578297251 54603415 379750271 411692629 646911317 574778027 682378993 935406879 719209709 710338887 169644757 396443953 109785041 652679751 775144905 477875385 232646417 517664105 204433551 855144013 776747109 221645659 99885333 666160619 664164139 303286441 750756203 634077687 775937899 972360401 57786061 742651455 335819477 658403121 814612127 316388087 378188223 690645013 960652139 353250237 128856103 331795371 639681511 994657941 193306807 151532303 769250795 721360111 854994365 990568767 728629117 326323871 947807793 924052521 372530117 312735457 188844209 162965913 372447257 554465627 76302467 799882317 539231989 893740315 434686619 716748515 947392249 717172117 858686603 90281189 372693489 74817449 441270677 873469381 2496467 448204441 840392609 465655261 913385911 384894227 857418299 200384363 221591779 726487085 37290911 673438109 2984897 843422309 318005671 550549375 810383587 716825245 178016479 503117071 544688645 686800167 191881073 789629483 564229901 779206837 468817979 832763805 206949633 279841635 440886197 619502615 81924377 68372411 417427213 792034609 403539375 645054373 389008653 442976879 989147973 661193595 381266223 460795959 415653767 218977015 169680017 532389595 783618631 284967999 304187131 464403863 729099907 564461793 74674141 338840457 188466523 420252369 840644427 917580475 618666781 244111213 492517641 30982943 80582203 800127611 373671291 918248333 771846737 140902183 719232177 919019207 196789025 276574983 877287777 758842487 40362391 456730903 998470125 190048815 128678597 556099775 100824411 622294629 17387753 756066505 455927897 352405373 497774693 472782957 358063167 567458495 693373635 165128261 201632781 538322269 396385207 448865625 920562027 860381039 192453661 525278743 13703079 614219511 425111799 82181457 723193527 885567711 768449649 486643527 29933115 515724281 206632159 301434013 239320189 969031675 798230459 197468511 201578343 237124745 24822951 697247237 186673559 578358825 57235059 250751083 301455685 931719505 865966093 270803159 943335263 891690327 860032915 750989557 835806831 894775677 64353095 177869019 194181551 983059437 515187863 272815621 398629885 795179705 471602961 868808793 381678305 396951255 442665845 981407013 566642569 317358377 502989477 845655581 634143695 965056379 518419117 361970785 790467375 672057725 38570941 784527731 771591635 562235335 879557427 328638017 762803081 623825115 924057235 890752033 660007625 608237603 945234565 579163601 389560753 980400879 114948063 4780661 2026759 825059705 663913629 718387353 692323645 972831713 596265695 275938101 817326443 511204147 947698161 104566437 360354893 670344287 293836105 947423661 420531019 867361085 788535167 763440765 670190967 408323983 872869721 160871335 742000773 359739901 124543679 932151595 858582999 700738331 995634121 997292909 783001457 434414177 698215853 545974331 122965765 739403569 846954961 63733705 786404585 652022225 733034177 160345015 725431581 910144631 789971759 928057863 432046663 513473593 21653749 105634855 574108343 378621463 110442009 4302827 369424741 743154175 275943365 646788245 452758255 790443967 23206219 416428997 6104733 243928081 635420457 631265933 41949533 339305877 394413055 536295005 60339401 649560535 555625883 426998295 218404893 35102789 266102255 604067581 856524611 292619579 600834069 204411327 577046985 390149881 357108563 824397679 939506151 85339815 751621651 118971021 838850425 17165145 58925289 738561533 747131659 357802247 57201551 236538891 528324809 556853137 310836711 566271855 660637581 909554113 96665855 104083525 329791955 393491019 278772745 192953619 201504451 345248963 799945057 160680901 152217903 874414255 695525257 991495345 181876363 909141621 237933613 959049619 678413815 808664169 209245985 136194705 629279547 101138883 968740703 695052601 34952647 502778275 613465097 195994497 327112625 690268179 594354543 358662851 554084537 725146373 384228863 480607943 475856197 181968723 386515287 148966587 375815013 394395581 781434681 243654705 67315153 259901931 739050129 407687207 332633831 2400625 235548275 361548293 817616815 895583941 588464921 326951575 402891481 708087883 349971175 928244495 580890553 849619789 948672359 631204367 300953427 953848569 225180239 781719195 818753865 562466153 624210551 720426269 452739823 621182625 603076835 500463215 974691387 27722119 710349761 138924235 157102281 731919085 218516833 18768087 649562853 297299599 248714559 752832161 839982715 828589579 487146239 771766429 252595237 961962987 240117099 345523371 38774303 928483489 102057337 129136395 540839761 62895493 5951297 816664943 210961995 841173467 723855113 158326763 168553031 404754889 132445753 913148413 398577695 477155681 417101927 385132423 102687069 800304031 343374927 430592987 176596273 579966305 939051729 33369769 822864753 965794417 762173433 630774035 276360093 221446273 832591357 384017563 516089307 94619177 285628981 360193073 614306299 262319595 531378215 728309543 355044981 218628913 835610237 563040317 289690471 240036173 835257353 814042775 224231321 55551093 711799497 749081283 422987641 379926221 187230941 793706933 620924449 2140509 713006995 471582155 829116493 121089301 679796829 464357321 432970599 424280019 891536341 160672223 338153597 961518931 519290049 340531873 752446277 389390401 852199179 855651339 974941985 25048877 827842245 116926085 218969621 254816145 335157037 305508313 593889747 815972047 5474725 687324733 666434227 940520751 346312887 451125073 287042225 732624097 862976279 125523223 712979061 830678787 748975775 834098429 842036305 32078993 516110677 79511257 823944505 281354103 863706211 619054569 994386893 924464517 987933469 64754129 737138005 898771829 569724413 208203677 618695873 735892967 870925221 17466053 837048231 117031527 631996387 161586725 61851463 515314789 816202411 329488643 405958535 285308985 482807061 457763337 145409527 827583525 309966949 22142545 838691535 771067731 679717127 712876629 992373741 339474131 355599759 431295739 164138967 681317535 974901175 794222225 34384065 935454359 378209 980563403 39874429 181771143 939716509 977363657 327416975 18503709 318496153 64533005 87547675 239220213 997809075 861226373 161456111 504358031 124467309 611315591 967328903 460232277 346313589 765084111 717971965 564965271 711379611 303603845 869307421 48547215 963480283 372289843 995116115 909352285 850877785 658410961 690570935 857124621 697441375 453469625 294963465 706240653 782434915 965759157 691236273 943370937 256986365 172821997 828696251 100530257 622484465 313956091 549582561 652400895 46256173 974696665 446276737 621682769 447292609 376552173 141014693 590785733 333189097 610798083 437604855 569916603 494668809 651485523 692885971 713773433 275061933 50539897 722357047 303444019 414456709 422229371 570617801 235935491 296097137 596012485 379402457 621115881 316640113 24769325 141586527 245324749 486673327 555999727 318373369 169729923 249294465 652299443 311566831 753074371 484919139 970100611 797252143 275576109 610310133 722543317 648394065 148013389 843904773 443744905 311928215 411422097 814117765 910046945 688171491 901820755 994160015 479552395 200961737 377401303 708654953 744481949 703024511 669375299 889622653 432803733 380928225 80406955 39703645 884569175 209053307 768052743 53683143 580139055 65949561 262125879 639481243 620973269 617890227 551879429 109715431 706061669 498159273 542497571 183485661 728590693 338864769 881201707 265689 13388223 461016333 870184603 880940637 562357197 844523713 828091873 366842133 12269129 349156285 81239369 8231635 69005913 441026249 285103889 600174997 353939595 238856277 900150615 365017467 964389845 968375159 416993061 502670803 697640593 765054189 807831405 595897361 833152903 308809249 498257929 790632139 337986787 289400353 810358455 528383179 405851963 105174693 808533027 494220791 608918157 233334027 287765215 44040803 497590587 688455515 223670369 16668493 774860567 968159555 265222669 830607895 972608081 385733917 114822699 290301771 270165131 95175909 289810157 277654941 182196679 817896261 349134701 906065641 430379893 507834505 972025001 155819827 103585127 579864493 911315085 306610595 318763229 232547147 537026795 599843215 997712251 649870511 961320569 333056369 449393231 344602821 357048795 146901485 222706893 581903141 151161497 736492237 745709523 77020943 750958117 703826951 198205095 860447337 302608599 399767731 502703093 236991173 163989745 813348885 423317715 765642839 598072221 288387739 112819133 213234943 900044269 249600725 137213851 393442117 678470615 31483519 934460599 410540889 68570431 551910269 569785799 447367695 427868395 365919449 819486955 932828139 736964497 411751881 957044901 675406865 795988679 76921509 770748643 955801425 850554897 22671859 26467325 800078115 395852757 910884699 502123435 861485733 375396453 85318837 584318999 141456285 747408123 99419895 481250509 666969983 535890617 477437767 922229185 87940189 706453925 681974257 391533137 936602617 453414325 527993189 627727425 209622203 625786815 187757891 840453825 263401137 715073157 511165259 844738405 268459665 182342065 752844391 20225833 270035133 792446163 254545839 541635955 694698553 174655589 679043929 662444305 441977783 497238729 477814733 773485879 187252877 56602951 221206161 88627845 361471419 120100111 247979869 451777021 114706151 15547965 840985867 36262413 654902115 569064145 739320477 414576011 319524131 829936565 18538559 738465459 873302983 64729529 727180867 956341293 812887447 730559127 227882023 504139779 266105987 962584559 469284235 588356269 944121119 594258509 292331837 343012359 738926511 500064801 816441391 443314261 623395095 626440897 865564797 218766663 732567527 738024307 476034665 385463535 475670359 342110815 637133663 120249037 993453123 190822805 702192883 145216197 572781623 651974159 387225055 195307557 597526113 91122349 606285061 442338465 456123541 379373883 908937845 718491479 895671381 560312167 516529757 357261261 116145097 731767757 72616987 32615663 623969981 489062637 554121521 953792531 667345325 286608943 929665099 113325045 833557171 990986983 643788861 472135101 677197979 23138637 914696961 838887413 292918225 273962881 61682363 197920149 723242861 271488143 530614453 36465399 91121711 431116133 578839139 451802339 574486909 700884959 10520673 104096647 72311911 635743675 585420147 589306229 622030501 252386215 550509441 445140653 76993941 137273393 220827809 104769427 141843775 936625873 481255949 130231283 679447379 760333035 232663337 87572485 734972455 59799753 573542529 673680229 37414329 668716185 370598085 145052697 842110643 853138295 804706771 558403469 403579747 608110177 567450031 301150613 200239297 921824069 764494211 187558769 228301163 597594607 630424737 824630983 27337895 193904925 555561349 20483233 664665961 68992877 952121555 486001781 392616771 77382761 762650199 547554593 643680119 834687363 376991745 526234603 33918957 640172309 292691185 409137537 638839857 876418911 739225189 684892405 874881663 879610249 17468621 117605061 542187185 188599973 79097529 949819865 822656849 368651951 539624935 73560699 391512207 806354821 502633015 384689507 147168577 812741105 123680439 382029485 328626663 267229861 309013657 614331101 329806761 271794489 13614647 293722083 399015251 469505329 165933591 485043729 156752479 613538547 441484259 346337063 656956395 990507731 445021037 475567435 789066175 255138823 691454387 278390277 625723209 245719475 268919253 143942993 270184611 332105183 231681057 47495303 444236683 289637501 261644553 240163695 303261287 38102629 355325481 192515381 548989253 460896859 805633859 764709741 471911137 122431493 948135747 8316185 930573719 906005749 268655421 308520857 773832815 11997605 683707753 488116671 742220311 567510647 103761967 568533179 742060007 562261171 606225175 552143663 636552415 624861579 88051669 2547229 393680039 123018007 241420613 706845171 73143435 347359577 174387817 719397769 779089543 768084283 584885613 518688023 976448565 299254671 518666917 427487047 823516641 60725771 307303819 792146981 192087925 878702675 286864835 588330021 645533581 733935855 588999703 973067045 221172327 661218895 992821115 720101227 367525609 89444303 829099019 755259041 305495973 112895665 962840587 263642849 49056719 245051163 224364771 514826149 987448903 561701151 67936809 276498133 148313237 950165431 865270423 172618171 877936103 329538499 552118033 603300365 309146647 541109007 298834337 340044011 933899937 897081675 677198973 910174679 428779951 731964687 858439933 293524927 869391631 328004829 511208101 385662457 597603641 889969183 452505123 612968771 333175369 923150373 130757191 486251199 902276875 114303273 119488781 880341247 642854891 487557451 887679129 867669749 634470915 868821399 129350711 283102973 745544719 858897661 603598679 519942625 930496375 679492437 296029337 809924041 936878925 345349217 874199227 105770831 87677765 811012809 459684781 509530733 564288191 947051297 792179583 586860937 132600261 426100449 695704941 208760433 605725699 321758571 431570141 251010905 868665809 148306693 904061525 269133279 583332141 773063653 180006029 812383753 644922051 121438497 447129439 415265603 386545885 235983291 299015883 298338659 552605813 328885147 446492673 637436839 888038953 140611733 921553489 348472753 377843009 556390241 506616889 359528593 366639787 256053919 763164249 122849213 541841921 607569371 3118207 347977745 465391743 915986563 404425885 270333649 435886095 219329779 339870159 28417707 623593023 618367851 278224727 413098679 735991111 716408083 304878497 947746669 833060099 401881855 731113791 175215543 784142847 728665383 510599151 288768993 865866855 225734507 408918417 936894623 467689235 66708119 419881267 308590607 501452421 495064921 148703241 513475767 907974111 161701707 585246825 666392195 629215219 632876529 699032283 234727879 57696827 678677427 916350731 836235333 446498769 277043423 393932999 986660381 227988607 775476915 352935695 561487583 550109621 488676941 711744261 512774783 983339401 904957879 378186483 676414557 448559035 567596261 394142541 668812347 939985585 546477739 312082351 530459463 119324795 359506383 934433243 454410007 822075857 431303159 120562367 585480873 357708561 640702135 488916841 120367457 10315587 563609221 573773849 406055435 597235991 453738437 307501873 80308703 150064097 241090497 86416445 199150969 410156197 814192039 565305069 128874461 303982341 746511249 348486687 233855867 453228117 725219715 833704663 791281447 684397707 114287203 924017981 109450525 474939715 641640197 279219111 561920003 529161929 422267679 371986831 991624167 845424905 291006037 176365209 263878973 571021467 326472495 436107153 334655459 744630719 666792991 905446247 174364703 637162845 681829501 194208313 480845725 513950721 89473421 74763851 911681651 478251751 226989429 429495559 518217759 369605353 302655559 8381439 610362499 184646545 477875455 929732079 120744687 937445391 527870075 278096827 242422553 152650297 677264005 135958895 494461469 761382799 121247951 788337467 9877887 442624567 873638897 634134655 572826669 467170817 883087981 31145659 673228671 652735333 421944749 954375321 850498095 891631233 77337347 987715825 777735011 970285085 420911269 898803129 466731431 920190119 634285239 232511767 217945587 403897145 377098305 431531095 193912995 600129679 365772853 535669483 57818749 621046803 988498027 450321263 48227757 979307219 751810725 187625125 980804809 281851525 472524173 939860599 488623053 497369739 889209267 253420797 522563359 688617193 931084433 565519727 218966671 787856721 975569801 855336239 612903501 226849307 429201123 987968715 725954555 688980803 383534289 551130357 614183323 390112625 776811 303965065 577591963 717017847 687477939 636293257 112859857 687591625 594309011 620077345 672930171 281040263 898500315 52866211 91266621 52891257 625279813 154197901 224748579 322840719 256961395 638601345 440187045 684154207 719532779 869132105 299213471 580326953 371113251 152871897 530566485 418176723 98693233 939726669 993338743 447795949 510228247 461166311 887158809 51317933 774615615 619758355 314751927 733796853 271928057 342928485 400503095 913854795 121756479 765743767 259794151 107109087 529755889 837272461 129600891 921319813 288454363 921654353 742803217 821993409 192232877 609058839 481853487 201954485 955226367 96942395 487345345 997735733 549548115 265274945 616183581 637943991 192398353 174113489 941072129 855621719 108250253 845121729 99385487 588622817 428284159 557606667 909764953 853611713 651813511 629068499 277789007 465941775 452650801 433496677 535951827 172181131 723919595 254758449 309577383 41408925 893588113 522026965 397575419 40591953 216863459 755343637 525052513 276537185 306414987 508368089 718397401 345546539 569911833 163993655 692298951 118481593 556225285 924619627 916085241 881060021 406402229 530703573 675670691 746850939 310005869 178468353 670698851 989139209 211702115 841151653 46476607 746164741 640504235 302688665 366496419 247465151 237355851 538239971 472825957 503158575 608992555 233602477 786390721 420972275 676929049 503606601 829187165 958733393 999049683 179396147 272600903 940644157 122372087 578794511 797156341 133018185 328830225 414319529 380799553 108343225 37001103 365874163 299903603 521791599 489560781 328674055 978852409 806501119 911017481 385966891 14587301 283712157 822646641 140255689 232653879 788857387 819363089 584975989 459383763 285589295 376542695 320092647 609674181 771264727 472424145 604509959 28428229 146303227 533049241 966425051 997509359 621144859 678213105 742802075 89600711 286353757 176227443 255081633 710086205 730469779 315228575 932695919 151987365 85369393 471852765 991979953 125636795 57097559 460825985 60939833 602491813 47877581 601783233 234462469 639417841 619851267 343681985 735939639 203083411 318364943 862472841 987881241 7213035 970096047 642906379 969268511 228983483 484390733 918574369 556053733 492696881 518057207 406144137 337774381 512817123 228516965 731090415 48896995 30265549 541795061 501211109 256740635 472976471 440868015 417785313 455567887 791074379 692927297 95115079 181337633 646407393 562191109 47333983 682213345 974373813 601956343 646163291 869039101 961959115 885834945 724336469 834890835 975311251 149907887 730752843 345509605 993098207 480951229 377441065 302531295 370463983 151968645 309811393 913619861 248031847 869376595 422883529 985894785 787030357 979427603 808936933 503420743 846084397 50096989 358422941 751935665 754043597 129294449 702444387 947991989 296008059 508446261 903185807 539980651 648849891 931911225 729221219 696891673 377734425 817766069 327982857 388043559 932731295 405930889 878054547 319264299 24354901 22687545 937874167 13900767 677097867 790866935 738173465 271831591 438344183 425586839 441574593 524411919 591668659 234780061 306943391 97929415 499184457 8789549 680194641 672927407 256229025 180594455 724463187 928168005 242037267 926056403 671954449 181027641 812573021 884844415 284662235 269546331 26203811 116056033 941022443 367228327 683889009 804077677 657477219 435078465 250461119 421917493 559208523 228345973 604959977 323303931 653093523 481496501 701670581 892104999 918103063 156792987 118596687 225190087 357038999 444803309 150261579 284493201 708593341 237301141 966280361 781794279 314802969 511394213 191270351 636905165 614629157 480537435 249147783 732158709 340821827 926571287 592412423 172488629 362438843 388115047 997290733 714592781 387906749 584568061 722389567 95205283 935990117 533063091 224460137 633874377 355691699 718069135 229293377 578536051 549033361 760603835 896151557 900976961 987628751 766022539 509518425 974418555 352340519 596546935 46943305 586246161 463086907 535230503 643165261 508831895 494477969 623917667 965582401 247127633 777027743 624824607 913693801 405453859 846464187 298874999 185020531 785568413 107813415 490671277 598619767 109620469 823643403 122841389 472518639 500233741 984395643 596930953 597893313 888226667 523860591 226160255 631099451 888195133 886720199 140621553 431685649 43817565 871340623 915326697 616341345 329166151 599891125 402294427 274526129 793264933 164338837 745576291 975612397 467965379 63330927 422568643 20219243 760253853 595461547 281900393 271280871 651216077 27144605 976642083 949669255 767097887 872125565 268166385 599018459 980552191 52953707 74969589 851436755 328051077 717288563 338172537 921746641 735467887 207208835 6177779 376448663 183020329 146835831 745181947 999492179 957038525 874905615 45316181 50133661 904533733 457398259 142223855 374843245 277738495 206518711 934779865 399817517 305845523 7768785 600145743 387966377 790007761 520637607 636691893 353952021 162037903 174259581 800539029 357288719 655304011 284459911 197196709 788340635 22678191 671621087 539844029 328834089 244166921 131431301 811036641 220166285 112034129 262788705 799669567 476441091 228508195 109159493 583074599 355040305 776956619 758980589 717577749 648891941 166607413 355331063 523827885 961208149 293425659 145392621 511173819 187469467 269262169 289317187 545572913 49741631 417440825 744826445 586435625 70130157 230122535 638052177 883731945 367197627 387048797 566383989 716191195 486146343 216061883 466985931 964398737 956640021 524617157 832904783 234368455 543155665 259114413 107440351 916417891 29726227 450771017 327459909 643181675 22100471 178970137 314553139 451513879 476376065 557770819 289594691 297818817 603948065 837716889 129459699 429614315 194822825 715471247 172908975 2973247 503524697 458341701 142998217 568290453 320829013 538839683 196511863 593373411 657194283 602049207 946125277 641460305 934219727 858787323 544910595 11542823 53801375 594036237 356760539 151523289 264276577 772605777 176871229 317694977 500214593 577576923 630363629 968226149 844914133 811744865 547927441 943687407 79853849 768262465 253886907 878377907 424975477 168521601 108896997 974865387 467955891 811626453 150818673 855500793 700028171 891284879 968197287 49230187 32163351 740684721 928861113 184216565 275994849 149294051 260982975 628523629 769136593 671954801 378784189 702822365 97394623 396382807 617684377 340004971 516493033 454722607 811161381 668869739 985162227 194241859 369598491 479500123 106933995 804461955 289434653 704895197 477657157 769300357 671990707 145190331 364792799 857663881 879596877 532198635 532814845 446104181 891910729 810422405 766208591 37481691 796658659 61635277 851422441 263492589 638238279 12877615 124088647 331718289 317089157 144039231 961605967 554256969 584991895 195564983 548091983 421207109 679762015 565194619 844712445 782883423 251521187 926859415 678396787 897455123 394128665 938136379 81416761 980633483 739985495 778184389 421158203 421027989 222101215 897476793 466757073 708039081 136008731 529763775 730939059 700694755 435950427 200338093 278322443 123836687 662755033 71295357 299594595 437035161 34977463 817125461 131584179 857558683 130396155 301670523 79494999 810504145 33447835 749275495 46786067 983396259 828454765 917548465 445452567 452985123 831807795 160670751 803864823 932019205 88445335 795400345 82905519 619095465 176899369 148902709 767849893 153824281 789939041 172268335 962633895 333244161 687930277 116987879 301265129 557079225 8235579 8042475 478396425 446500159 959145811 10229229 468751373 327451455 728193033 285621703 890856033 772849923 480882525 616287103 356177115 63784837 672655671 47501887 970950327 152960867 968371563 177738073 50582429 909266917 538456241 935433033 193408151 919653369 704847785 22892725 166581021 12639545 498101727 936172389 846898697 688863969 507646145 190003533 454309539 980519643 721048235 454576007 865530777 240400053 877414365 349255513 458014717 124026021 5882751 768994093 892257359 923875469 890034341 772612503 619311475 308046067 840138567 935098447 811831223 666014725 591100741 114529597 240769999 581841051 433429355 691074921 673932249 197246261 746360935 424528903 425466969 483326203 283762645 544251763 823234367 893459641 912822067 769922607 470185695 292127723 265921775 575259111 967774965 13878699 16554325 840591471 509451177 359437763 275107235 405436607 393497221 473265059 443185399 700744191 172858751 557984609 116478301 11903607 723703287 949955773 210954435 992401053 809046959 215823901 160941059 394579465 480377813 18369425 423352801 720263295 575718911 436212177 120060931 552384747 710903083 431958843 489879549 939900001 353453755 970561751 205612101 840426267 56928129 925371731 796081473 227629437 328881839 252039177 124820021 885760785 880315107 6658549 408159829 817735051 57347361 412131009 860134841 936833481 494200281 377999803 361646181 559891145 344514013 907052763 156147519 966665913 377077101 946661309 903058203 824685037 619881261 19178157 375050671 443166177 837392683 11495831 754145951 227462197 137766877 160201491 898440307 835351477 516046621 242725729 283682717 966994263 947196211 805805929 13133175 609187635 640149451 242169783 920983871 680209805 592339707 338363781 821010209 204838867 914449471 214819763 273104687 243724181 868778367 208338373 380457567 816197007 675111429 947571437 748092821 124809383 762044809 665038081 609490585 814647523 205193509 800396161 215536413 549859451 658736227 49712787 122331577 885862599 520182315 825655303 873785073 302987597 242844629 272008277 993117739 969850551 968798239 685579675 284113081 875939799 370683437 947262113 413116117 422865067 435362445 535717845 798441633 668719955 353356851 574833745 376714533 226294045 523500413 92484305 342127443 809004923 956988721 616480447 292924675 423321351 9505659 888341799 546113015 212654727 556569839 707003333 838773465 872517605 717604239 624575477 8838713 549449011 511744443 987842493 700034451 624444847 899699011 970755791 319811651 786145465 335074909 33841539 945054359 976941791 712913059 95649237 575791807 718468819 728905245 989409901 326962643 499925617 465320505 482994587 247435989 294555579 304496329 284536409 765600687 869542365 453731083 311415105 145786417 704634923 903248551 335649181 804365589 163478303 46377641 146280029 354244349 205164379 696085125 819384599 270978929 523892397 9454871 143219977 389147617 394003719 606010281 985936415 177146025 979249541 723445989 475845603 563933705 689361771 686408159 338301581 889760043 871122209 559320343 673992703 746817311 565882171 545378673 735803071 319055327 442256759 688749883 131563261 217603917 937501111 902506795 887229837 974019119 711397637 857862491 156974323 430616379 832152215 930831955 544496721 310242311 923580101 628525567 255199867 99794965 909208595 114575541 338063591 728225229 251268143 281391153 544100017 714559363 735428327 758999195 614105509 993418351 943782717 288385405 387250479 762138547 43342927 783535823 604537703 57663317 917608041 859523053 681323533 690714955 419126271 539212955 879285127 190119529 236656303 77965321 589785063 828650869 4158519 240571849 320820705 116117015 276782983 112788187 952201685 344119775 261432751 577483427 543599307 909154119 438836459 51730927 494434675 122297007 82845599 722448883 206632227 584176481 859858775 598132557 25600219 575843985 502064067 278399233 169479233 13838931 573643203 564190591 700108965 955727533 657249365 390381467 484999167 320207495 274679209 630158737 874452459 84717743 763635727 528756233 854311093 429179107 151753477 44844813 828618315 596463297 629665835 742517013 359563073 606378197 882323535 197768699 748359643 395154317 186232417 347384839 121048827 1881669 858228865 377365221 985141557 950479419 818262767 682482349 599640509 73745821 142497559 112896727 36953973 314605687 393860747 638144333 300769763 628827079 784609287 168313691 617514037 934506091 776693873 908005045 807020611 87721007 800464337 846937721 136543117 26395329 746615387 906266155 385734201 95964859 480034153 108484283 192201239 986626209 74157697 510268283 380450209 461891545 5356109 143123756 419638001 764051895 97240993 239657713 831417041 607432305 322020471 933336919 378784689 430395947 424527601 799062355 963911335 228183533 799708253 257231171 683754097 170459817 745691181 685946861 246371961 347797049 191649021 951509373 308443085 395127387 449770383 261229193 578410533 968590781 277926863 33600783 986095327 996800747 925547473 419031411 866261507 119599971 767006415 816582529 914579263 375798915 748928557 574072177 970325741 365035157 779453557 568199389 678762761 857564107 424819803 976544207 202804795 697347389 78858683 517110703 335742677 726054381 647467671 300704343 394993099 266493381 839116829 347256065 124194239 965610135 788934045 754478931 267246583 275766553 145860499 264342617 839651169 456079855 842121891 133893003 270050709 515987617 102003351 125695431 859751379 243525793 680427363 780601421 807837697 853894215 693901347 45311439 783282095 50934743 449831963 669087073 292373781 488000119 765319603 266969983 354821139 702819641 56701313 290654481 713546029 895072279 62904641 510794337 767813779 173769971 767174355 555109415 729927455 498992789 625922371 306295421 908540751 12277167 467444167 498107883 453217865 641365977 517100215 925768799 395119325 251807893 757469849 36339243 207687809 294465101 184522005 652585231 204539991 914164561 920951809 688233773 634542629 793730779 895505497 169077271 48279387 762202125 358075197 352802239 839311885 829107439 65106171 35320195 121673213 746127217 685998083 589192999 765399443 398796399 922302453 75224539 400527581 806824619 133289617 539013939 812474001 876108233 430784193 541471787 234020111 263178593 906975645 670319145 743017313 439513063 421131611 610250235 111782963 852112317 558537313 353990871 241623261 457464367 384001595 793250135 874512991 777504363 932540571 312486019 933256287 259388045 685825629 684969671 851700271 39251607 750818947 876362489 209297857 463183725 836856121 217587543 581083323 413349861 196854481 818307203 169085279 978907575 968067785 625783951 569672093 202393221 739710145 392444395 271567375 194806997 53009287 841173113 943753971 146140445 517320205 256142461 221338415 248468659 411051119 979121569 904216403 591534297 635096303 674027007 828444821 13468599 28475641 350179601 217202647 310398305 769832993 680531133 594482847 204028111 915942689 126205007 256644635 78372577 395706587 800409985 997941285 44295011 96016221 717717867 259843129 514078211 946148571 654975379 258420865 241980253 210327213 461645033 184871625 184670193 383805015 813356225 615949195 265164073 609418373 990542297 741833959 465791059 935918091 699795795 734191521 637013421 56438499 801463231 51440683 202487127 718625585 862064659 129983389 133633111 937858111 587131561 310828721 792355745 968887169 453289547 971988693 256355087 979819411 533924129 742531347 291454561 439178041 604065731 190609701 464435263 923100763 46356015 720255081 551443773 555816207 798362825 621355239 337266899 971188879 301056351 710472271 401921121 207600703 547490341 901397239 307311665 296970923 982359735 273835741 695037557 48275587 841045791 105744043 984888903 267307941 44282055 745574063 438473895 905886229 331699589 420995551 686785405 578849019 35311253 455921885 619971229 185555373 956910493 671039215 878289597 394613927 266186155 565885699 159490689 835882633 276774963 685015219 739935603 146445087 736145941 380637499 865455361 130020447 756886675 602433157 449480581 250564451 902540379 992552989 47170371 674974571 133816963 954250813 466066785 233703143 216546697 128237253 719589619 404876391 890784335 142891065 741841903 931355561 36552999 592400075 831903289 552321165 951348419 187471697 276293273 705205793 62761791 687267403 792102849 73346967 214305573 345524447 397187403 754892617 812420701 759382495 576167093 31755197 604693313 139901117 504832107 467261085 369612171 646247583 247809215 503587771 248130401 235025735 716892391 619182613 44375633 212936229 119301639 874463435 140199503 125356883 807576615 890473003 408653497 809604749 444357945 417188007 664854357 959013437 459671575 809389019 343483727 671863409 863663487 99430793 332856893 322436577 504302877 335411869 633333019 815650539 621801601 198934057 25823569 377980565 162999335 76692587 680853929 156347283 235321451 322871237 559553881 197493559 79642267 287853505 24690433 604382851 996457959 934252563 455092643 707881759 281282665 17309591 215188911 200043607 256822815 136338255 664570871 762105893 605360629 154801511 24450747 752300073 344656571 282786867 36960927 847119527 719021611 774530349 350651311 223883665 244967911 302542329 870113891 412515709 440133239 172647265 727320727 174134955 184823885 725939801 67165841 521185793 229274817 529308413 638193661 842279951 427497749 769576847 921682673 768718349 335119731 644375421 107781353 130554585 715800555 677663319 337953227 317797883 186560887 714897625 207577317 254490275 665827065 977419239 426983915 611915943 145409081 312120715 661852157 226740613 822927591 756206585 708309149 241090919 449586591 877209231 618613945 331275803 79502049 655002827 627623847 283787799 682155031 523062621 52338213 534404477 575791761 293912341 967152983 147266835 329938057 553028591 768878537 254022471 845106209 153935887 216728179 274854193 627961441 256173247 190137265 982730131 187854905 856103285 391757383 726413263 179043205 764362441 39888485 4924665 674845189 886826881 211527325 841377989 750500963 999893383 234325743 707058323 678975791 148110573 769073599 29254253 557790691 675601647 473177307 228875773 530719199 84111089 757039223 213274527 855796591 229988735 776483891 324835665 113056961 918991179 703105551 619285945 121710833 880102959 484671359 442614057 41587967 499715121 255315537 982427795 214818517 409960059 212809161 274746525 315651137 327815263 974236551 527153801 573306369 291201627 311600285 506234183 550825653 466586895 732184187 288110193 356717027 241820233 904579075 411834691 97402625 544101883 304221815 572217767 348020835 691345217 309783687 198820139 429689423 718718301 490391365 654900741 266968045 467425979 621031217 541052951 806467147 250665453 994151727 468283367 247739751 111603889 456245131 546611619 621137695 413640935 766143741 50173475 729221695 199812509 643712417 702458855 238261621 661133829 258529277 402849303 954659933 945504379 697064445 708771711 268605559 220013441 221582839 368675225 36799531 70192323 733254567 153479045 634958285 489316885 30403379 764509959 258595475 540765297 534583337 423768465 335995809 20183803 806773887 980017977 635774209 948371453 936601487 557187007 618954913 85208043 394213665 70614409 731372893 433739873 48009315 778910887 902561779 562827553 414212327 984671185 403158031 762014999 326839723 799246693 809387331 410482519 780139543 431706731 233392647 394384923 624577783 580013457 57015995 252092871 956184445 458440753 504735401 501591013 803751499 130486599 512085251 471076907 172125285 612463229 440026083 651770225 833664053 856195361 899809607 198007483 78877333 770324265 452950555 549221943 836896703 278915127 759058225 369881653 904452697 435366033 979020351 332028977 319090289 993696293 463086825 903299535 548502139 694807947 324448695 235390937 310706263 786712323 437375259 537580357 686235717 209014645 585964143 745111083 139893751 906648941 867464945 700760785 360644993 869025317 350278349 521610911 279853153 734878845 632894485 391331627 284639865 712181753 674591167 214827825 603507483 863981515 308236463 614903185 508693495 27169225 802552493 647613529 706130479 58624881 975133547 641915321 210965317 971423471 362323329 808913681 519401513 654537741 228957043 389361119 179904557 744571715 267946663 407957203 198998033 542990003 216840303 281243837 349878009 806554403 720857349 198063515 157257075 619560195 863175819 983776141 680725107 272699239 42573833 769194465 806038615 904508691 684274801 855236105 854839267 455874923 22485915 802189471 4302663 252700029 101244233 338856041 862407447 72722693 106853925 509335377 55354703 31574879 613265601 498747755 833927767 880123025 12630163 68665839 4250105 374465613 541498109 679319109 455746667 928396009 641750603 277085429 690798413 618488933 945024685 165135027 985185441 300708713 76565307 269764441 868652501 799233089 170791671 817777903 432431807 182638055 415451083 763221147 176237213 342930171 888119687 188846513 12430611 350395585 929788645 667412143 31655725 414902315 12497031 564116535 320171619 947538127 797891573 73243667 84221841 34309611 77897375 41761335 114111997 891543913 480978657 706620351 421987409 590845145 430969083 433519085 890884007 670035565 609574423 817518381 474848377 533166089 978407237 552984595 540065709 27697715 358414463 947138137 321543569 845206811 967184295 338249187 775546585 173591957 547903875 478895035 885762469 557392933 935115977 901511445 860687477 829697005 86216463 557359693 871268669 177024449 479257047 68599271 229177933 620483861 954282377 713834379 635944803 394538763 991654009 83160847 18346663 456442217 121104863 135502701 851653027 796278685 321486045 252009417 294572111 325776831 683620729 962379373 450190341 390592911 920173993 652059599 156605583 663584115 548017219 670925191 24045333 412433789 192267271 664176987 87275825 808594529 840927907 121175091 991203291 91000959 733443493 971660069 170541181 200933599 70410119 172250731 473322467 69415985 560144553 421488745 432891713 874051019 771295831 124305579 252344117 162214573 70661567 655604451 842601669 10338429 712759549 62956011 111234141 785577611 965709327 269908681 756404435 394645197 148934627 381084069 871817315 615658213 294318407 535311063 822545845 185399577 576386035 741197781 624308947 355909465 62544269 376486981 773062195 2701369 866473625 275653875 16175541 264472061 254683531 875884753 710198683 67292039 318641597 487998969 769567635 957464427 497864815 474634417 848258995 61394141 5237193 959483491 71672697 653503167 340208607 84372641 185372361 382948501 101512103 839160361 876451055 732022163 126039045 120915419 936926627 575707531 854945475 581711813 257759233 990989311 717090703 839300633 948380559 681141013 42423043 102448691 534761783 640157341 298026915 167913877 439311955 363015439 714903765 753022699 363862941 889128587 987655661 787870471 857110587 742522837 990742817 546730983 429455547 566159711 579213973 148898221 901373459 873147965 26027347 250312099 204341917 504356659 204482633 852457277 666818849 511739301 880917329 177464087 613968843 617804451 473874479 18913779 906948401 550376933 139749769 40475581 311552849 121633481 994824689 423216777 555531405 198431063 70526691 798165903 636584631 685124925 219177917 363583031 298145279 852150483 383389897 587164937 39991303 625943579 730471993 754178235 971644625 549605815 715365669 169848613 418108877 143708667 467095185 388574283 924031693 9466331 309273187 648383833 515133713 697091065 367368813 420178339 968532029 898912667 133346153 131959203 649960287 431031215 402849785 746441725 390947819 476245453 240311717 443530875 131931327 381339445 2298847 61633811 919828769 660544973 704979711 27026653 465990077 571493669 220698953 511135517 307976617 459345269 460618211 223028801 553867105 309792925 897128927 589407961 559928781 504880417 156797239 310100129 25817399 198458673 762649037 383647613 986281557 66694567 969813609 139885687 817036615 239395585 473530813 314414277 172838031 73914981 341834081 997601471 426121755 192365219 876364503 121880811 523021891 497254705 168029833 57424627 991680703 431704369 60571847 689182377 707338169 557416041 134930123 38521097 699420349 419952199 460906423 985633079 697986495 448962277 878309779 636082559 109648413 489847295 824904273 808467539 492748187 246048255 432218313 565430093 879242089 16020209 689580989 51741235 988457755 867984273 872448727 821557231 468555181 622302777 426709927 613088147 596573317 687021557 70145191 617368411 500825201 944396657 523840567 105386413 870124197 136225797 225989539 953686033 905046977 512481969 74264091 960373307 246156999 388570907 693262263 331596549 40443941 527454867 979166329 433810293 762892977 159608081 572548937 18475957 408959143 440400949 354581755 235157527 714125487 413155907 73893703 91716633 39418067 231622955 245711823 935520093 751144331 206486407 922724635 796250797 390793907 552776085 325877659 864424189 128368271 62463035 232957099 927398503 815163599 829737481 80685451 608597809 993187717 333176373 784599139 7106247 880027185 672645025 292717895 18782903 797912759 520417747 508316975 668630465 420634725 350843897 963877629 97188551 115155183 884094445 947353207 351594963 546678131 712665387 183760723 792467225 558850935 375878619 947597861 585671157 397789671 98317775 377309043 9970153 835829273 876718459 861711525 737626529 381335241 677378817 124683019 491838449 69439263 998787365 826624733 852816083 59083685 556086873 782633537 10253419 498467667 908266419 382237243 881952771 28501123 594514419 9585599 403297041 145100797 88574593 432958119 834740781 726554095 26298473 471377587 631099931 806448875 294883173 892212875 701978311 373466353 79559379 410414787 866757701 588584037 201663675 315832019 270735825 645662995 373233357 96984091 655975115 860029747 614166365 954288869 957401535 938270305 603423343 955180389 32502113 587581091 239997095 769822383 500902287 666050405 96750165 988076489 588944455 713247867 694982767 394932889 663217849 148239141 757895575 351826675 512642613 21467913 875597075 815395213 324778807 640996145 667744721 157702923 172236387 497395987 400839019 58364663 974599045 874915725 671650589 661515967 111853199 35130341 711977679 714446013 800387739 380784329 167800851 734949685 22236399 515995979 376049437 481797453 962751987 875792873 469235663 511376921 237578303 896713611 15827629 761560463 471742857 323889275 898633193 436322707 806378935 147353457 712875097 268165869 180215253 938579593 249383037 671144527 88248085 918487623 458804603 547352403 551839185 386024603 927832611 14168951 335387791 67537879 683352045 154214697 859825401 854755259 472067577 401095349 370877667 463690861 258768907 64780631 233730885 382408565 829461907 666538033 536302407 342082767 768666795 832075595 321337137 778320339 949592847 396546711 444197751 575060553 39792937 421686511 211037619 831862621 657427719 597040401 793981867 744720547 668867937 179119785 611572809 681957149 607048341 789848903 444298401 908725291 66271145 996170087 925862125 232584863 849480529 142917991 647612303 659527081 291675871 550709905 16588309 667817451 139018069 142705685 946383409 563931239 888519771 301502993 149653183 976179083 415205181 581019265 532455617 298353711 764692469 800564305 570259557 748746891 575829027 451149393 875385337 303721801 918034955 462049339 831087357 450710133 105853855 280828337 232089363 630323843 79020917 334245179 178462981 711856465 203080141 295374667 645054409 330675493 464567693 870815545 641772407 456653225 452078917 366341703 837167699 676056823 684870189 379539615 882507209 293213321 262943523 531909201 286823789 289678407 738121135 672254039 114681849 61916027 264988929 4635027 95337041 847468507 292553967 571375053 184375423 703888007 647233271 935710901 784822457 851093761 475445571 91945703 813036119 562772023 684530081 903791333 65477343 841206143 838482055 873244691 68902137 97457557 235441175 869982663 791766907 129863585 563707159 633712697 69588575 712148015 794506741 978014091 26292681 723503153 135901641 403101893 885915909 20976137 500812629 84895447 551887747 547314811 786085371 416183709 17031139 382197169 798215887 460448471 497658595 704235589 749995909 895250735 762385011 66485809 272996221 152926517 162558627 570186715 923395265 829918819 181541553 516552465 225012987 603178009 923908093 519727111 378750599 425556643 934781205 331614299 39331683 41256495 296369833 500373011 600711733 758227929 993536153 507827867 363628879 137704097 515414245 824979401 415114147 276109425 445753015 527466203 630431701 694695705 856626023 271427443 286935851 924503889 593442155 381193889 461308565 359639487 857552747 474287067 911259049 671216615 268373295 382219773 217569189 304314687 678436009 686886475 513931379 650493467 275039481 596358515 270205345 735537857 696923999 571156621 948307813 411840601 83370055 410606609 233965985 245828595 702834243 854262505 612241627 617566087 932486417 402212705 434024769 763386619 181643923 750047277 578991531 742878995 466743251 891731307 2889369 291845763 481804805 452843937 441318195 435697381 476652421 925598395 838971973 443488697 762149589 841801997 139621705 416600423 827655585 563474521 646375775 518858307 460073915 866315455 585115723 154311043 412677665 37799375 72183679 487500877 127857653 3758461 529109777 764752549 419297153 571312425 18324161 814696575 758636345 557475989 211348213 511545525 870445753 163024623 148200381 823311877 457887685 495110605 422782929 869184029 288931141 275662893 54134671 559193737 243293775 419243379 246718975 597471175 462770973 624843883 463427535 369534005 831155219 414381133 861538393 325398813 619362491 996973493 452890265 620891057 193806537 659092391 365204537 894219275 156843801 183424147 516955271 998618665 625704623 503022413 102393721 355558135 503118771 853432337 579376817 700797255 839841403 426921349 323676277 937931471 147585665 244511159 686761139 603541299 817440105 300456219 448485891 780762365 253897215 720540559 819150501 205196443 89241907 928686937 598969217 91273575 788563749 83593253 368231203 119901347 725125651 418230793 420568773 286779003 553526125 971420291 988637511 446547195 488321731 211515765 774203437 996247327 697421009 226840111 454261929 326229961 354409595 560619111 214708881 895500481 185632205 761450809 842442595 940151225 8366329 26293289 353432905 986585417 10482521 76532773 876419603 832570869 281508979 678510213 464440883 881716515 844943601 959847427 26792397 222958117 63270309 591925701 139301799 152443701 549429387 416108631 341837361 418240629 6376393 759162545 866654847 296643821 893037221 917791535 44596565 744926095 371458711 693501591 696478231 152556083 896140345 461845781 757255635 233387675 549940301 965270847 364465733 24136049 787806911 664821009 172225223 42397511 64007073 657674993 769197925 370162579 864981553 257567407 811761611 103233465 245442511 296303227 442973777 604557311 594055945 638922229 37203703 707757723 709347985 658399013 173211749 346082467 367406659 679601011 264747751 26962713 942905889 445508791 709634423 164082151 273251671 876246575 522425013 167427805 170211129 100487549 433973221 34916021 694556735 548185523 763120121 96857617 188315409 856495683 132264583 207175289 985114487 974649867 486160589 945842013 897794405 272388175 377697973 389605657 397915127 563379135 974212045 682258415 3949167 331318127 717426765 956814595 12600635 457491419 450625043 291542379 670965993 418445801 888653735 367210783 301413689 218760167 336200505 226038273 154142221 866134665 187224989 609995481 984029807 90237933 179879765 796614231 201189269 181918873 541881737 235928599 165284311 452263033 817478407 951840665 64302009 303835619 858131781 65663303 527924967 555150485 948779877 916071793 418349365 194226353 496777517 751319887 358381469 122938825 990494219 718651399 293759299 731873741 208815639 992168351 439779443 863643167 577743121 965965319 740145053 704984193 170586975 502464027 795398239 404720163 444696339 624339611 339170941 650636951 515319521 907643695 239359711 905566429 245927721 287785835 337818781 721374297 242939123 580448199 351983597 816316377 208784111 323254435 996896053 670116497 260480115 584842571 306563583 181491487 369718399 361908973 191407105 625481865 148071097 325169573 922567187 639317819 193263729 166331251 553355067 318779913 299512221 676231999 853680035 456786229 240658399 258167773 342637469 832422239 87884157 443911427 997374629 519301271 468466791 116393047 962503265 803742547 746143537 746660957 391851415 137412461 29950493 983362953 146989887 686314797 693598227 370025781 873999731 369553473 524947873 803523233 45332085 363737275 789109245 670002677 174993327 936290843 679284233 431011653 933750969 395271747 310666057 900886407 175159369 234862725 992954607 874503585 123588935 82864275 999888083 174287191 449990075 523834763 389315697 41251933 435036633 796830449 498119665 699021645 61257467 75863989 996939555 603715237 495655591 193472299 35090559 105408465 991097223 898080271 447602725 248880163 452863087 511326599 491951833 149958097 292989783 860252705 412348683 131617025 618130535 299325137 176002005 536822967 2553575 775136247 969979893 388134375 995700299 514758229 897992913 202861161 274068271 388657689 61725049 228372481 199747157 115900377 479685541 991937877 854932905 446171537 641500851 134676727 532569407 110402985 670284457 771856483 285648977 556924907 347022139 78818551 496652355 190338191 278846651 735423741 470228383 958995761 435323181 80384167 666295577 812570069 484992307 985468173 921150605 399487467 233072417 472965939 6288893 811922757 2809323 126002431 540676759 978297635 727050291 266566723 352445865 811987241 281086781 28989369 894420403 251233893 498559483 394767875 799817047 211625035 493096965 138813609 953998433 633952185 986875543 786729245 64092353 640758261 848874393 835856825 464732053 376264107 238729371 450586811 191113249 175461871 699139029 969106767 75590861 890091843 410154277 186854533 975590447 857021575 564208405 508763223 177540609 163134987 180000207 12604071 697156647 968892037 782454831 573540925 706568109 558458383 803078323 72035275 322378691 774649139 405534337 914247913 691499721 634237913 506984041 622805273 144311101 525285465 757618657 307872965 175913679 679763057 398627851 41197117 915361103 819418693 95876781 42289341 390666169 208354657 179594549 792572257 595677491 686345149 359707581 607694903 472468483 383634101 705580033 853158703 54594721 135434255 281163883 323355425 946161319 50254583 417891591 432514255 34126293 852982017 55653521 295242211 888846107 999968045 550242659 175430637 613510025 500458209 432465545 448008039 237004125 547291367 841817775 318167217 256615671 63294581 17855789 552324375 602754533 752184361 369039619 464584649 147635161 819865865 630926295 184367327 424371119 922573697 880213241 373952091 345207911 388498023 257648225 518439207 187223089 14658553 365447087 823126035 805964127 498708699 202254119 230474457 26176875 915770649 987478201 87279385 26671607 413057323 817430271 674626399 471313873 625388779 627333175 384527385 907977707 238406307 971456327 218507939 503932513 898202619 73161407 286896189 461164405 237090573 154016725 480365329 932961427 470267219 386695531 646063407 851216207 253279923 273740551 423398799 645954657 485482619 357482455 780781335 261164209 873274975 479997365 449762187 591689287 397083005 113623581 729947297 885111639 986142555 770669879 683200751 418550589 110225637 292698837 234766069 753586557 51543921 355680107 849557537 952324799 332727227 739370267 889979841 844820953 644758249 212277417 10034191 451760325 455059339 673648775 912828203 958418341 130850961 502378955 504685599 593195977 352315485 774787893 211609567 245737119 624209841 440726571 352533055 310636741 246730427 193727423 811754757 955493629 143339539 433006501 188615385 748087093 118093233 99957053 3722313 539846013 400322559 280565903 915072723 645454609 916537545 300618059 478496213 872269653 534626883 422740933 568347547 847225555 922921483 354480641 281413203 779188289 183704613 325854371 113881367 242824055 376600577 376065019 169787627 998184571 484484979 911920383 426556341 743503477 790770615 571717201 296326473 220008635 581087859 616893751 124309087 278432713 721821365 816148639 394975127 825877567 158082547 675378211 836753019 933881833 174531335 665314559 305595517 121889469 272820537 537418523 389454839 521019347 979278133 646835209 912575783 175576177 634914833 84117501 226266425 927309057 21833803 617599193 696874815 640327701 68561607 592355105 447578415 687649129 756197841 86105351 778305261 33338083 204586017 23734625 202450755 597897099 212774867 800789167 162177759 871232147 139682667 91489303 52607835 477847643 381578969 816439401 527502395 592077155 987453551 898620189 966336997 966909783 739567597 238409553 920169643 220834825 813991287 120755919 779125193 630381687 715308699 70975745 267078235 965154753 888986445 188004355 690118257 945907765 179771115 701819793 356042741 309587525 837610299 782187541 897585095 963522957 14638953 880493469 266738339 356165071 896173835 276686561 879557173 661461495 777649949 916887613 128062479 256586519 783975175 446100157 148864167 809747309 758605203 263610125 416665697 869921627 931467769 625839751 795392645 90834027 620281555 144495143 623292997 350364753 719104811 450919831 388015545 389615081 974246249 527476771 899703011 418124853 88290917 881623493 74801837 177690465 123194461 742536733 792628199 551566785 386666485 13191023 473267789 698816719 145614651 114911149 711383419 807612973 972723875 742974829 581805567 480822955 619792395 78535407 99668041 240935223 330865079 609326873 866335153 582671343 444718935 377908347 684558201 263182101 505085183 251701325 123866059 191435799 858394155 128515437 590703287 658825347 880789185 893253475 46818615 897424155 731501583 400158559 404049453 354148027 903006155 791424823 279049057 923567477 927533839 584923753 982142085 967845239 980077923 788084511 940417073 474270239 100456371 984289063 99580647 171357425 481474903 604343543 455141903 333465237 45812999 666221233 85065471 603871201 421902829 734101275 553219051 654670545 512068755 528094371 954163957 152312709 390890481 690245217 377785129 973376329 858340963 142949141 658177397 371931027 275720365 70361127 344419253 735610107 371923199 439404707 825819049 447194695 947915245 814160453 90195963 181274463 861949299 962663 118528315 975067739 459367927 719341843 697549027 836756081 698089799 484244473 487528019 47478023 602189207 894492527 51055063 837114025 353295493 770719605 678858653 80201225 135928855 10352305 716166337 968893697 732721593 125870963 467303491 861609879 313497409 630216883 366171149 375290613 120663531 76407567 626788335 428880493 983568223 55138255 565163683 220525181 691463847 889606627 295913673 898844101 936938811 227146465 587739115 202349587 841535477 279267335 636861821 694141785 810782237 597004607 127497685 191286449 798643809 405776919 946780467 13286753 120976851 444957893 634087621 460928467 708353267 261539627 131935641 187325083 643590821 889362895 795583911 879164275 410832695 997311711 55323349 994443837 959194461 275627827 903456743 490984455 271658293 264206155 297482129 150977539 209358147 432872527 269589357 415278221 685272439 988516107 872209147 7634471 444491813 977894137 300931747 633892477 197759241 975045945 874988217 623668067 863668299 742007183 30884981 495947731 136067957 918243181 867392759 592139503 933060221 843781353 754993225 997163271 183525571 730738115 770951261 859524745 620904457 225399393 36641805 495392531 575225213 891564755 322360855 308701799 445175477 996325841 295635497 561144689 399744687 320867769 758631887 131663685 469453005 790098835 829264775 222378525 513313761 418515469 456562095 115593309 285178653 742508673 802705 693447055 699615007 834026475 391293535 55427433 772535531 549683701 169468979 65274051 585236721 58709997 266654987 729671329 604955651 380742089 454066133 129219377 551972961 854180651 381225821 330428099 549274799 60115545 75155809 469164243 361197307 926060353 600456063 403577605 308579771 95907963 844673601 107514403 466045129 183627847 936844825 872857891 262967917 727849869 648153695 814664221 496434771 369029849 919604823 332975447 155637393 993513317 84421671 363719737 167160483 965660689 368519649 212961369 884245105 403140193 341135487 365455475 635820357 246764935 929040099 188594023 74399959 775181145 467133141 987629377 604763201 407008597 572373511 892559927 915802893 239876005 987061523 429501347 799165987 686275095 688210551 431953669 412118747 433641251 990356895 626861837 831889907 837609703 129261019 952119435 212667535 306447915 396566887 990013309 525292861 412277087 574033503 924955139 788042993 495665559 590574545 859655531 145088521 760375703 937044653 114133287 755882315 246238913 667547339 337088465 521800931 299002921 708399599 51664431 420506469 977753989 38504127 737928747 538118355 431093809 825049037 438113239 852061581 8479289 43726483 450508401 325233507 564849481 997304435 75483995 919932043 238690745 696696245 182155039 255185567 283365769 389039753 160288881 203790247 507336033 393805323 144862507 559982865 137777549 693890877 927529811 481476783 433384711 451846659 679408659 957446079 816869999 385376821 414980287 618897897 461945097 203441799 614244817 184728121 816308167 652333467 361711595 369751075 78362687 824837885 916340445 71622275 671972783 800947229 772790421 938616995 645808129 752759123 457864753 682289453 696784579 179174113 839617779 838442293 570485293 715002351 720461639 646095163 95360029 260226451 978032577 804335139 477151003 20579263 157333019 261115451 701742933 741193307 21337655 1237049 334947749 359153197 166554405 324958263 609206407 115031525 115238419 735734973 275956517 661831455 955646303 419290039 239868493 371386715 309675403 452197243 714382709 957975299 829596741 897949637 919496639 284481127 620837213 603436733 365415151 21984449 745530319 95044077 239433337 264989489 856583359 923913037 302240879 695278531 162412151 56598585 981807763 450160229 949324653 87316085 397733195 298194419 760509241 859212081 143375529 151046445 734453663 856903167 166129505 444461499 640245133 578632671 651806163 26479921 62276627 17717813 274312455 671199239 864380781 6617551 755440557 673273501 831189503 185774049 48123675 789509695 151453013 215143177 918334031 516367899 367882529 471261259 632837363 498337357 816023613 780132375 381476439 635605205 675687855 945897281 498099309 672064667 933965215 809840645 737511641 167936627 981992547 159607051 467453921 256154645 849425271 648195165 180642163 952760097 120894587 699181681 503796265 243335713 677756477 811657511 68251711 181129 771071407 812936897 752147615 275126445 971732715 501995757 719266263 339849939 409513015 858691523 423566621 111886369 732545277 713929403 642582355 771154091 560010447 161018815 682593789 842790249 64916587 453876763 356804685 187249467 40045233 852209539 695489051 914993131 494794671 759155989 287195361 410336043 716918679 451605589 590356685 177321365 74234309 48932403 47456681 137471399 99839931 95505921 910307823 849587407 65631781 445936255 786645439 374519897 771992021 608595155 961292253 183835267 595379401 479739271 276378809 326657387 320145185 63636369 480868717 383051803 488209963 255943503 687989943 484191621 341946203 812157831 441736189 408619905 362535239 645438053 836685391 235570643 266430137 263562367 822110053 733805345 469884823 360282067 691030685 465816063 916809205 773739715 925682173 794170339 725936913 353765153 593429305 366110769 568273485 493707551 672296099 155703601 143338035 433179225 56549439 72611093 389456247 843985625 679185071 655366901 386175989 593380871 92269127 261870037 357174193 802640829 301732347 37416859 367629267 772545845 651359853 295066137 241408945 445874709 938631393 636324875 991483845 717176681 557031497 6523919 295236275 430422185 743993403 537501103 281203781 723155123 550073335 805810267 498490481 382064839 915010917 506323057 462962767 319839639 975444497 841204781 928730915 982657591 92727349 216090811 826332507 124041507 85661615 966130987 162875783 574665539 220841225 207001977 736578915 573266657 911178349 310924161 283606739 611317429 403644087 98968593 85852897 333015769 465771109 257524185 985969347 633143253 693168285 320425073 687470289 487319447 111834159 874653531 436064145 96526449 181837457 370367745 556428971 737567267 827021541 302895541 839069687 50825423 810938609 525074605 896145003 39382023 57135139 8302347 936451373 436798909 560769685 729235163 317577865 293349711 567269891 563541005 381797615 830283905 568699607 26493817 325509119 637549699 251851549 881933793 675178873 819600617 391063953 622499055 60662343 157951663 552150157 418094643 960422273 60016955 602121501 404004903 45880157 394143067 877144045 547953453 214216259 925274181 688334421 390068875 785578937 472754835 4856661 93575543 453250423 647637837 240165011 140737543 936220247 552984287 548153695 352835133 81252187 331118623 451216817 190436611 593633455 459460939 463897383 190522665 185007269 833530629 962713611 272021609 982000315 292832095 391197255 553070179 455896209 353386185 479585399 216711587 695870197 366994725 490368217 800443031 709952729 483198647 580881489 716203163 865958489 861435689 375714163 340899055 892084151 915892885 521681269 982817725 459111007 948208757 288666933 725405461 65016805 811154095 222926395 884730865 649907971 461786767 394847157 596685617 912768155 162057679 351249787 190572705 135990973 802027399 8325391 102815215 877494679 517736765 187443347 551311799 827766919 266794977 801195483 931456633 186793743 253574343 455887195 34818461 650779611 185140397 909841717 579438199 84704191 823004341 375866925 115167551 887853749 602252143 634498741 583851541 161620193 719354321 871416803 132497411 153551757 24773173 380687479 32549373 22471725 353392485 184665047 529174487 638394205 293483913 261429525 488507735 267415521 161046329 590435813 101013285 588854689 972865651 576080807 970760143 947836595 222270875 561287267 525700819 53106257 299907199 245149639 128678799 147966431 422348625 458554413 644820559 390688745 215111091 408252819 608850241 106553119 264529833 92901535 464264063 596811617 247814815 772467617 451483661 580103853 132973675 279929231 802905297 671339571 537423945 283460363 16042911 672877379 686221279 688475 778146095 574581337 816012347 217368941 975679521 269663769 503397585 743113945 152836607 321390671 196707457 244380897 306173499 842161899 37287053 971641191 263986991 799114509 61858723 380877311 91607833 753828851 380670169 177502941 893060903 331214861 512104621 883467235 550600805 31069163 790023169 219860373 636824273 821258571 804129063 371632165 706419785 210131469 719815887 637448297 978520983 948330815 559147803 557481185 475702125 524941331 908006543 428418739 994388323 699921123 855902997 548761775 158915325 113640501 897192199 568697933 767516321 394888627 463887391 316284075 892148897 284003119 25895555 382000529 108426297 744301479 515232705 18106991 941828743 438945851 710924237 312339291 393163157 97433401 578760709 933974035 56383829 389878547 834826287 773571329 132101791 276643685 531034999 387798067 419580469 380714481 303399283 331418721 844391361 153210787 463297311 689544167 315000021 329128335 499560419 421650385 32881639 545403885 714502281 420619467 258846555 550641445 648558663 411871791 348187257 25214655 71389629 651802361 505001587 344354927 594890733 35176657 829237601 470032145 960698183 4205321 932034885 150352295 72715933 531015061 907589897 628657757 973596207 438426647 551725951 817260423 288044193 918659795 585086557 417438879 833093631 436238779 72159045 582423881 521816257 378536293 649527491 406950479 581689539 772743185 555412807 165488805 836021835 237325989 206271017 888403559 337129221 720732593 503841963 798122457 389242629 460693101 31046391 814165603 750249933 597218231 256191261 1617307 345237309 91417879 117057049 524341819 417624229 307968445 751803079 769948967 860754361 955538813 137678069 849388649 327164313 884905947 433043027 830032951 205830599 973983483 516626809 518433257 908546865 144116397 969940201 844268803 521373485 984425319 182748685 962290227 708144249 218843467 158413877 110512201 530970681 479785247 486700443 932791617 961371897 505288529 833626207 429982015 708712369 85887737 413726605 950331791 988561085 857281239 730729493 543011233 330198241 846040147 238610381 920790037 208097357 365092985 416308861 889977769 719071123 488758021 553024711 954820685 202766003 335777105 744857409 248841745 656393233 890123111 722224483 9071665 213054331 708766455 876569743 755340819 486716197 113092183 937176331 182251069 300194479 459609479 832322829 370114919 834821145 568755501 382472107 979203947 411103959 697130905 300317669 104416329 319011511 15726019 215804841 50206513 156854013 930345033 734753477 990699381 672716617 826941043 339745779 772866957 909499053 706951473 634851795 54280735 355664537 249095191 193058289 691546871 263344111 709876841 322112955 392868871 943752689 354584587 99083149 135265387 911700303 906569357 744920487 807286117 200780059 234861093 656978737 983810913 892350933 404230837 550398783 241699569 866335841 347547841 447890377 143494611 132624651 982970493 174685359 898263529 100934283 966004411 580645563 212288573 927611133 1890813 346053281 291938819 908000999 742221675 999050229 140505493 323354165 750393297 118159421 788929915 553366333 436288681 765269983 214894427 716208571 800948499 490978607 689998601 228681173 275553491 726752101 144845187 292507929 281810267 86512545 571337707 875393405 203702977 908403181 904639115 909827163 433462467 391200827 994590679 307597179 940263373 431779173 638883179 522805771 645676009 246018091 111031561 149365661 430433745 681167413 237750687 421840175 894522339 376707863 127773243 350614569 324880167 229994311 609880349 395761495 57095243 50064681 846118567 191572971 22789801 774995461 878730341 340216967 424500541 318215439 724415495 168656431 216060849 973295707 169262699 251689293 640282451 243210223 97110165 12945083 613420057 99336369 198704301 947228339 690357669 701566323 656094985 701903323 660952125 504513521 225905955 467905089 606328783 288843209 694378143 847561817 260532467 462250885 934558793 788360193 23218153 889515415 420717841 765889919 347836823 486275927 958783253 481932927 479439503 158073865 394429593 373470487 647742981 505639891 587185927 813999813 775130329 463334087 953069041 16135019 667980949 935161313 500279315 151355483 248310883 884782591 603870801 957455173 914447391 446949611 723997367 350059339 358182727 121463893 639384951 239222255 375401473 585891547 373678571 193349665 477023261 209525497 2769305 353673523 815104531 648256027 390212393 925351397 948437505 693253521 507947379 29345627 838880431 22301591 254911597 166961699 291447949 510241867 577246269 607889201 938957999 265436855 91788847 184324323 880370649 834500043 199458741 615336445 731694957 72516453 434248555 733012143 254291583 513294657 237805075 184488333 607595205 358608395 297193879 667361939 142420891 420744787 173690895 286162985 771510029 424033683 911662259 103027225 736953031 796894509 179515109 817961625 267111201 652734313 747039027 998255433 247258139 34564215 856821327 666538027 742218845 196614517 475674133 811876525 897719859 450545503 688464519 309309093 442392727 189414945 184026321 976278353 142908457 164791179 477284933 609074773 600322605 408480855 266126689 898820797 679196565 474772773 667741895 95462913 738903029 967849345 864532545 236339965 875525265 681374939 878464451 850959607 178694477 411133323 872096873 782816921 232377 663471571 370452853 763632893 789538829 325996765 503792979 137328797 76996647 319883193 892128919 842194527 131538575 984617057 945987323 979511953 388845939 480835253 335871587 938529767 963326893 404301697 16548313 263723649 121620409 211446643 557394065 741158623 97144513 855425063 676345575 248272117 88398227 361539869 826088287 207014675 751070629 236377279 875410849 915273463 148017177 414195037 511102851 391944905 564004019 61981745 591854079 291339795 853921509 400510043 569107513 980572877 775143623 394344423 112825469 935446609 410223125 737520323 176764219 625671785 522331447 60325835 356953617 317191741 334050365 319210943 444759235 51425639 425906145 279204937 162795577 562325727 202685053 909494007 487662985 9987599 37442843 583631943 346628847 679682499 321203307 923062935 904314571 561571119 637775299 868579635 874111657 380812529 949628961 28961097 254534207 626076175 224348975 239269621 595779173 865882357 159225403 563009591 172895265 146407545 877952829 487294455 213250973 646204119 112352211 446379273 387446571 995256503 819732549 426422053 466612295 459046435 627291777 636853739 875289237 83881873 10584353 593014757 50526945 331265249 642066529 732277127 708559901 738735189 524802859 434446373 805989477 500605339 761000973 237577477 27231225 415137993 794454077 212938829 506367561 112280413 413345437 605027345 641417959 477331259 396889265 332998473 909397131 854400431 582120875 952009429 356698653 32764529 99455329 126179455 436844963 86752413 991001939 894137337 209704789 972947897 813079977 579845085 679283853 361043119 115337775 373196969 672223437 879122137 921402719 112408011 552874689 177908977 888290135 651761807 415992637 25523229 631104737 781066035 248361017 610328811 89136231 924919253 83638237 462970961 507609861 905784703 669628273 532065449 187425145 896579875 597328489 251989691 871048489 362988699 392341345 813536947 19548965 201073061 134271259 306308391 912919845 112722669 804748675 106251797 134145669 277823237 957729453 63916511 318036305 938245475 436529107 821342807 586935095 944686443 459863127 879451053 984063115 858151781 441692361 31787907 841185103 103546755 552972247 221649371 91965995 932138719 317962591 831549989 910247789 993159799 58558819 845028403 755505163 373290039 110417167 2079045 326410919 25364463 862356919 842317567 498837637 338532955 373379029 124942959 941373591 393704473 106584589 172285193 993098355 223661747 841861163 850675627 773815129 687638427 456926239 711078299 341774641 856558889 237542663 710880645 23308679 424756639 153916455 380426367 29606549 924839975 499225063 412637445 775109177 329606609 98890973 797956607 932744955 797993625 179072195 846479799 908294923 805664347 898772349 459113187 927015743 565086693 157240343 45592483 452507157 471580647 398790593 949267577 770956471 103079929 553543899 341671763 531502067 665619359 299919331 230776455 912641857 609972541 994251913 254230995 258727359 812279595 990338205 8805211 803222837 241851549 559414043 254593709 22624017 138041013 166263081 989940669 681632109 605089663 223248653 795512297 592792069 99654379 466083647 599881461 765319491 367264721 383589719 690415121 855085875 64018163 279184667 823599311 239611023 32743419 56353141 194943537 513036215 824221817 56706423 515226519 399658417 59487463 511239007 368312785 722445611 465808295 838516621 558414355 838903677 734112257 717297039 195813117 690155431 677317925 545694999 325422479 975998799 688996655 590942975 383497277 980547525 934462495 639211085 629088215 867981569 59019999 649149227 338972827 212203681 589077567 126488045 370139953 780092653 312355321 257104395 268844963 439056341 367517101 776504621 606698601 766083055 186524647 797143067 926041951 404572025 231847189 111162825 151677129 172601181 435069587 88595027 319984215 419256873 134192545 951345659 120648731 265857813 925735017 340166189 210450837 958058751 714883323 48003195 65225385 77225839 178470993 551773091 158847653 469758355 649136459 888227975 958212413 275572035 919414709 774509361 345820559 122247681 473700157 3925973 632978721 960782319 64519295 531093967 13807839 187558113 881030139 181217441 995760671 289944395 582461721 947959545 288922013 461274959 259086637 882223525 849560705 89733553 10585711 665109157 284355413 258943715 265839359 748041243 352772369 573448187 298219497 165628753 682016783 839710137 594919963 550213565 726134551 228338563 118125937 528255479 176424535 785623659 198202793 721408195 235046497 872244259 427991409 254277647 40478005 22040081 130791255 163998699 103373623 397239863 538428115 649396627 281485363 310051909 30780745 783585387 295934049 202853525 636864259 12924157 384085341 4836133 214268463 524291583 695366445 860658843 318495721 445444937 881257789 535159111 103096111 781199583 787425633 76420127 434650095 957584367 183875801 920347589 793025013 125893577 779308875 962796415 450534911 882043625 991685569 505818171 525720235 488059381 777904049 138013585 452240259 374857907 332327417 282563267 61150201 604002587 886821855 36186035 777709159 928824901 93904401 551344629 953549067 477370743 344759713 737178045 214488339 207478555 24171277 115699435 996371851 177560515 684914493 457850889 405460593 13213995 537305723 82608451 497376163 921702201 630588287 559807345 615366635 60689651 711750757 394679059 993048571 544007569 133958065 175077711 615922027 426351981 566329683 469517045 43659199 202857225 850150301 955933053 351818589 229491727 706786895 888681989 584019095 99450455 305622925 143124053 891118761 999049943 125682405 700270557 139837105 696880823 97648203 241472691 713434809 537303615 411361567 795154581 930734259 771143651 990320417 310869997 369971063 771151165 840403845 405948105 81745353 581981203 782065625 677815263 491380559 505794383 171205921 519580561 360956827 13591045 425000125 435824869 8808231 848346223 325667199 573475465 742200405 11379951 861936791 341013975 33151597 974615827 979365031 922124235 402371233 468174991 726986417 221132813 751792905 183106105 558187811 825231855 756914087 426919707 539121365 660665701 350304101 343641435 724727295 241491985 399468821 187433295 788945739 69812791 21905005 755188847 251651269 844954569 848354065 469571171 723121377 489546589 833292681 874003443 309005693 9674035 431410757 79659541 853667039 990166065 9715361 703377633 228360881 102160615 125756895 850828443 120097037 81281165 974093347 744541871 376986477 667654657 2960773 703018161 926899641 751416523 288744185 797427547 630098235 55491099 165824865 658322833 808001449 281205701 786312841 862427487 606705697 263618893 699870753 734350069 7696939 137529559 923097793 953747377 13736623 957958707 689285355 356864791 864555269 201911255 391863817 412008399 674032617 235079653 36439403 691976879 752777347 571768099 242465611 108478385 73946975 666013183 616219081 158314235 47173999 503083409 851997169 69577683 937199893 361754265 765842099 701971889 993655061 320557183 193748455 983327021 80712601 421060687 578670927 681064205 752918843 939113923 312518035 822571833 892144117 141362235 141625159 75225543 739889709 190178747 414274019 144642547 717990833 241036789 942459081 228399389 844505781 165983039 237590591 274821075 160660695 167115673 666959483 504974535 162873373 595441577 323960467 657887699 374735859 146740671 104622985 681293053 449588783 79248595 735680837 571293551 911069711 168252291 830322587 206792827 979258165 828607767 751047491 448968861 803929777 667372671 241592029 436981883 94644217 31717199 513695733 323510749 619425769 502728395 859509753 695883959 713379781 868463831 645178181 673500707 769682491 484569857 761134105 688719207 931746403 988924293 802755997 505157357 999903925 40581695 724521189 223650121 86061595 25659317 120965609 87278643 337725153 188713499 449396873 879073683 232428987 996687939 203500943 381501041 832876231 851929263 348572591 869638145 938626699 664785029 705514621 229402783 786083571 68293271 625115007 7787725 931373651 297797721 534391069 836260407 558660717 606560491 753432485 9226417 98283361 627151383 370795605 663312693 150107327 653579593 3973195 223760613 69295739 127778969 526889361 894076431 296868853 404251077 639179291 839841575 820007663 293127479 941692093 501678533 456081559 817009919 740079165 878714285 644508291 210119119 983145537 627143627 594386865 198829581 894034525 745083187 81546629 944152761 570310919 622201375 847391435 862329993 283033763 463956211 424822459 684072145 352417915 270733113 757385713 374917775 357859261 860208805 982124913 653730157 423285379 312225813 814472619 780233913 827314385 434840711 5445491 38674537 761847693 302884905 754422021 85004319 913741705 322771279 997635335 331361311 49376385 997138805 602624903 502684253 863453203 533600827 431325433 677284203 620851913 541609069 99457339 70929803 951627029 923448577 846001811 911624099 596077647 176422415 484377773 911003717 136872379 788645339 743680927 964673701 603315583 526293971 209564901 706097571 675895725 335697287 901389415 116182729 55444801 74716595 103390575 466607425 730489625 146019133 416690101 180031719 704196863 825007147 590686293 241572665 819010213 611805877 876924115 385040989 355915939 910601267 866673693 92937763 280482683 566095403 697276299 772649731 891726487 10729799 359495639 701047579 451281737 631685721 157800999 97542963 667125191 848137055 64556295 628825529 397515317 442132601 307495791 745562567 353777563 551784181 441445307 772713497 730638569 264278597 914508977 770346521 941810173 708955907 55276157 349284565 54190739 733222389 452824501 760090115 441370967 615215877 855759957 981222149 819579097 763112517 299372227 411702241 782178963 395111155 546979535 559950917 84224999 729400943 122869417 659668617 156911389 953075015 77639665 339808429 450790503 198061101 31569071 257632601 841969885 763066109 507164235 622944473 156792705 492338105 587399837 313555495 997008957 597449101 336430307 877576161 437019361 832928205 812945087 305565521 614110247 789338867 578710851 96777057 498603697 288815521 287231969 348366765 133048837 657357733 30517623 509251955 95604633 306914545 166680393 878280345 573311427 856435361 929312263 655907503 825691845 206251513 467304131 45494253 983385033 36752737 258945023 534842929 283750367 600116079 565905563 539978755 866056449 319626203 263703271 366053265 482439951 143966861 274782615 778667445 54879445 944081551 640586441 292855531 467190531 501643537 39398659 249650781 940320559 715543665 996028465 417336537 6337247 215806257 621684393 221505493 506028155 100910335 636894761 526883955 572199507 909624745 466483923 653557879 359046049 841557041 354814009 624139603 984326021 709257141 241932363 667072799 751011339 403109505 696138347 21126039 629986081 98471177 743663195 21176611 42630563 325099755 827946827 653392851 574114897 73859557 400573645 950493279 360201941 55153383 989466081 842940199 25451199 16859393 546170859 26447663 918453383 95138927 470967737 269618473 496063123 427300245 10438271 711639147 287259175 518845951 508068059 323760115 975508087 519838045 164344275 622065515 665552285 215829135 827744723 975781921 787322265 512562835 548578735 37058061 831634259 881821081 800717225 62790349 524400543 945311729 632068193 271567529 778085429 487628569 50097639 284047247 833742005 368932529 642597553 189452313 82541995 708731271 937375897 475365507 889087877 602324107 180782567 234061751 257526173 323233757 750307401 742078531 208335159 487195581 313037777 312356189 615976571 149530007 548587519 981138407 578050423 694446845 408216757 342672229 887865129 271359661 236696389 26424073 286712431 508749191 781107553 588479657 267027731 955571097 500998695 165960133 553412295 156742421 950781723 791321221 898536485 594179925 398627629 593501877 134606765 845197791 627843505 360849103 349286087 859130205 742944611 94308593 197848773 175217315 698969961 682463717 630342115 825237419 454817873 320227349 626734655 806595735 457468687 924872861 547633891 379613365 120027651 66613819 567944897 808756087 357281775 512981589 580062131 945074041 442685697 696217083 172146551 667364733 730194895 336543459 986639545 27213679 196840533 825730671 149839883 318533987 730391803 251085989 56073443 623458451 726781835 379548981 576636069 471941219 300176957 465198195 867783577 490050909 623554221 328812641 398753777 436342325 220936415 222724519 262981831 599090375 365746241 465891987 425159961 957967639 426648235 171221019 744806099 740291149 232377687 599556833 29071815 760382911 932149739 726689321 390139051 68663271 243162997 747278053 130999331 116785001 501907817 945210539 52985783 754085903 287780005 61497019 420048601 570217933 255380591 330575101 676044257 963006399 784569203 563739389 71652625 476466985 19630789 360552693 887913875 187529843 433445607 617804995 611163769 440814643 970841785 558913263 837256121 567335461 923742347 79641513 944365879 938689577 850852115 169454023 871268283 31314251 199157355 689720775 334769653 64512193 692885789 294056659 224030081 387433699 664179473 829294521 29412833 167310903 870852767 613407217 862929787 86719077 370106245 586287769 597101217 300224323 129773543 744322425 740606605 34229197 898005329 985859071 741415009 443420963 345074107 421068357 426586149 822215571 326194305 870993415 185111497 213656461 176362857 868463021 9505833 680902321 138521501 753687369 534628357 141391551 971095223 437007759 833154311 824574625 363381169 967211233 644228799 244991855 663747059 258941507 544845223 569753439 524360263 980502631 974527521 690358999 4814307 681450149 648633717 142729059 469517157 746372599 761948883 494472373 278338003 598139403 647244375 180741033 336251801 465759787 957612033 486670145 671440781 865806417 885116603 894754729 427782637 837658651 440657749 16718643 359945053 490790353 285426569 651975517 881799657 565397859 126398199 892508103 627552777 61147495 170395691 282224959 244184471 503980571 926897045 583645367 550849245 88730217 185675405 67978827 778390403 124884703 198536787 47788605 113243555 617261749 71550741 58365433 775778487 93987529 38757601 17162515 420276901 144861859 701356209 443991109 888534715 700502897 535418213 682995825 49541293 998433035 394955977 527450021 621809561 471315699 382713995 498715157 912754949 655466315 104187719 886567193 737695709 766377959 87070589 488866357 71177079 380521787 357968533 950682645 873915023 265124201 857261027 36769165 822192715 115848501 914662815 638239895 413717307 717103889 78226921 906115927 811375695 669110291 172091341 711390999 80693225 340118779 62525497 585423179 274501835 488733487 804313353 510593679 265414435 962790335 526827005 472014247 911648649 673953379 36537277 91914363 202466293 942019195 943340253 860573985 793089233 662480395 514797779 921769171 826340841 666951363 946892549 780160245 518056817 197137149 868980151 838691347 708642055 845606583 92146973 551136477 461141167 418964117 943905361 541761841 348811737 152574699 583463505 619827987 815786585 689383087 241498891 633740715 484513643 509601407 968686667 935243343 431446197 369742755 405038799 40469883 197340485 606357257 29852469 663473615 165912721 693530697 342382343 391380761 32526707 892809379 309201337 978864969 748493107 444069375 591446431 6357375 268420733 809972203 69323519 785167609 588111463 143601309 683622143 930772007 714955119 333986805 939929265 617363353 778079353 354227325 198426129 676530957 297723345 777512545 658967805 214273123 994065455 957509241 491716159 215501481 643870127 588630341 334782089 22035217 86887125 234895851 468961141 285423093 49033617 52077371 44612737 171544539 430294069 23187117 15878681 897224301 369384065 96417631 432710287 598234493 209205913 75719449 85254425 509662729 480094219 377964875 112206043 196754225 688723659 563598859 551812573 598766915 224225335 383246103 652379665 239969457 856359445 751261401 625731151 647806231 171902353 580653407 279411547 255213111 848355393 442037599 298535131 677793533 453299489 941307195 124359777 233500795 689692057 392806393 677351015 526592239 928070259 914892871 59971407 822017211 144271079 215087487 803885665 744109929 182814095 705038493 741921999 509917869 130444661 478051657 683332785 543084387 578275073 329248469 853380107 844067469 577054987 688691509 292526531 154074199 211428305 388063241 398872747 296669461 601171959 183432091 906581117 632170049 29212555 706110935 464915163 612300159 210179329 50164565 70131789 499653529 333329463 522336341 385884483 225288579 91835761 200924093 87236379 683608921 742573151 853352989 681035537 770774877 318384917 224563885 5888849 336148221 455333647 439968843 75403243 980015049 620493875 942238335 258103257 288477821 279765455 410312825 833333757 445431805 242101145 735052813 274069533 171796563 479122091 976221887 262484975 205554611 846946445 843502259 442222089 728182651 502970923 749445047 790882541 170705705 364346589 139209799 537903109 28671853 53704027 816580223 66581153 138617623 24181967 200162085 389589243 635416611 942011331 950192301 412340021 55426229 375452975 790348841 24629845 933722647 571483503 664761947 586543953 674563519 318801223 521477803 894759423 633463365 78220519 154488869 829602337 744800367 945580259 90432131 825598049 542151719 281937207 392219941 238673741 698319743 578932809 622220303 925175395 329884595 827267559 124027123 78510339 177239079 508549189 714280999 866733941 180218727 623557377 723269035 579162601 593447461 994433057 290313765 918539643 776945723 875368721 373200869 269767979 329185711 764650919 679092195 656600289 380119979 948791071 517865661 725227121 732833153 55185185 516598203 353080467 977901999 852937911 567076301 571207143 690636501 278823769 759166599 866621433 455590593 369953761 360704301 586700343 584705893 686993303 860696483 25580285 740405725 257071913 740299127 676924555 797065579 264224681 797157605 744361993 998612091 238260631 190283209 859530379 80803743 447228887 791728809 370327561 722504341 787232951 642449335 566233187 111751997 360513771 654880203 560816741 237860517 251188369 329803105 225091261 687231487 552509485 804506017 402014471 360580007 540345263 696998749 537365185 676538911 461966187 405665801 674733657 325523219 865467677 343789253 569597467 111381591 379207917 828132187 211515717 405619941 52367973 593535799 50746613 998164961 854846331 134913649 391714103 598209941 490274701 621371591 17340921 481350261 401878627 231104163 700535829 533698589 903695653 161855509 702067791 796418639 746272107 581160399 499711053 508035575 759756851 348996661 698721187 105064489 860936927 491847245 450921671 375883551 674491457 326420679 878395935 119883069 317474699 408559865 387183855 33378829 80175963 946462689 996109931 541348677 518442165 502786345 56127147 747644861 24894473 398153247 456717747 500896889 501173289 903790265 31695977 982745511 218459989 445282457 260637089 554975639 397430833 608256003 823564561 592387013 273664715 980179177 150260317 534808533 555718041 559556067 266545165 246850705 529897589 289967405 661785235 503274223 801273255 291008943 96651081 483335431 589208283 165714427 396798317 505359135 75912231 13227333 840396075 415010463 771099399 739089517 370213013 748664605 604015971 107182845 526864033 79667029 873085061 899437087 644342323 720556583 779514405 257150895 467860243 679640481 440635741 192720683 845385971 514449907 238963639 833574073 818760811 928874621 906083355 987189801 195114493 873940669 715356641 137470963 356053267 304783715 894735303 906641973 870401791 892528447 175154417 263509943 190560759 333954639 1769965 884978407 465868319 938244787 137450927 874575071 897181311 961867193 612846229 795611227 507853833 134343379 765475173 39058629 250802837 461387421 97689163 730135339 977327077 102524375 71309787 540311875 905507491 800319089 394913815 811420271 660945759 869581949 470316383 452412085 499836307 277719347 382037891 666749379 432479393 735213051 86749881 948824049 63411409 985274717 661556891 980982079 282384469 112806413 514893617 303807571 777069637 829366247 307662823 622017407 100639651 656993005 743946901 665059255 485812825 181376075 193316979 167712667 304241207 736554835 691025195 932592245 83893239 143148675 2066377 874293551 229226043 918948477 770517953 141235045 47471753 1978635 434973167 446866517 731984983 578379809 213875101 167133669 550305275 756246235 776060789 554779045 698038711 785979515 250505355 137913293 590305973 753377645 508640607 608206907 827373061 920966213 9349845 211651959 570228641 470106813 874788155 80376751 13679465 440631993 477223239 478236605 509745705 648785219 309216019 228327965 392248977 152170383 780187943 978567673 297438777 461402105 300275055 179410975 519358115 610777349 280172609 199128069 243431991 702404187 442399577 606976717 375293769 166563793 963983071 374959675 212891921 208647265 458137181 169437121 857474737 845405999 117360587 967250293 776737839 486129797 655129221 263101719 911422337 90966745 173426255 652474127 480805243 165194691 740251223 857692009 43478243 36619529 360277557 575603935 105210721 746217363 992874211 457582545 564515973 693009015 636048327 94295363 326697671 516901359 836060589 922055655 833790093 80605793 164409295 481601809 229344539 821438291 555133125 191332805 431828391 823232125 332201877 175633319 544070725 118561975 288372399 649193479 207573243 581379335 721314023 452895965 636842673 291752853 698155129 594960327 824754741 880106681 910497805 728647949 134516549 662633449 758825389 926026397 899081599 44555979 179700175 595455761 59013487 988630571 940419667 10708645 487687043 822860027 616917883 161786947 974037271 958322517 875261173 583594103 143621481 69590911 164089561 618053757 894526119 245812451 140608159 515395375 763783389 507943187 367496241 947782681 93034249 961834701 511606491 346721383 669025801 332424433 4657745 838740977 856971687 190795661 415372719 597798967 209683351 902920403 666507391 159149921 235918445 347789343 478827435 676923195 305667759 310519539 544809607 451830847 75889603 270198267 721586643 87248011 549126909 549570057 35224757 5995239 129906835 410918171 497413559 909576131 841987241 207134547 246503375 691753525 539091015 460895227 596607835 573183741 371642463 801979527 120492321 404138881 735728331 260658067 851532109 772721873 674526025 720766945 270437493 299595427 744075399 356183389 804032663 39773785 901128977 491595291 412044821 488308729 657983075 604224339 274385089 83532593 364825567 195476077 238175949 468293211 47820751 833163761 307406805 511256435 713477217 797533333 476960227 91494691 735356079 752400945 968365663 307889081 357484475 501897929 966660387 56486955 481738607 358044041 858090855 327188763 588237213 10262469 867363543 378132429 473809659 856734711 669635705 318709043 484574253 618825923 73918407 253914339 513274555 904909811 425351583 705935901 451268119 640015229 753132865 184363207 404445849 735560825 733910879 958023283 753844355 745413675 910871821 466024277 119030527 735348993 163518151 744019277 195899167 127235979 366436725 27629795 580821209 332459909 575190881 932482119 584635409 458619091 323051843 477525583 207334799 117257345 937828149 582314361 758104579 777252287 894113727 387056879 926503691 227487979 392044751 769032063 340519459 640504457 360600247 136415905 854015415 338663491 635610423 770647923 983711255 717861355 739566705 554989501 560288381 795364477 502025719 856638189 958947851 336298781 731699131 297982747 615248585 866830359 731533595 679627785 502235815 881420253 453657563 175055897 249165953 188011529 211025707 233627487 191288089 156019809 487822495 348649615 672573459 922880463 975954227 218789387 316551941 338225509 625938509 203770583 801560681 517834593 378124987 23899045 506589339 100389411 546694579 197664203 727494889 277012793 893239247 383478345 312708737 968058453 692268567 866298567 671786879 19348049 222807799 453061777 321313763 40000563 865285957 572359073 848756887 41378341 330534719 107162517 757952107 670152313 924812167 495797 493962521 54465709 50069551 365470449 254660163 656703587 740964775 159068383 344589423 588918373 922300881 51284669 774011411 378279335 748488431 491514229 796664453 879228483 869851313 413692821 724916487 341980801 523451691 576412245 583726017 778385351 770986967 455821971 282195143 761340841 539288737 913926613 688330001 317461733 750596815 674797903 433711999 423747677 822818843 827235539 76378077 894373915 974182307 891585507 471509977 425340499 237438183 896527015 473353743 492343393 225917657 460256493 134058751 91945415 973411533 241251627 877006867 415066417 939766145 483292033 209793689 748758899 396348951 644324025 686921935 200679559 184096543 658454847 892177619 353961105 244211087 126536747 256977329 504026331 156431297 830054973 438263895 534747867 101531775 642714843 101831329 765968681 178587633 698961685 641264207 673776265 796526255 510701731 835814921 431247591 142421687 71285987 817604707 410317911 690175597 949655007 546035413 786695701 60448669 239202625 569814719 318593921 529718399 973866341 255604331 53002023 296747695 710267975 929328139 115886011 777864243 727599249 197756601 529108251 431910519 813663377 590658421 841972549 457347407 216359743 954252839 210666857 124434941 137809209 875403939 885253847 684046369 276959687 605734815 889510411 731289803 24743895 353214399 789408681 262687087 934594817 29653645 728308605 679150829 658384517 858292599 708146553 180592775 277083723 93651159 427404983 111038187 817532897 180686577 287016573 761588015 136969597 613666539 354235187 142405073 497768191 784445401 298104689 812950963 947852529 672780209 771983085 155004711 903356287 99128407 73814925 517596381 707690369 617521811 942453341 209175287 134172023 891271447 633525391 78320121 373610119 96220029 605043839 180964813 769814913 895999811 861202093 810637005 613704669 835173077 184329929 950881971 62229689 295143045 720450725 634339749 390987229 520230281 289634105 931007793 371053241 68749061 626556845 123715915 608715105 500651777 923595849 453424465 626189209 484540271 172877185 515779849 92185029 74826535 937425647 455201183 548585973 268953837 4182105 907871913 288967391 743865447 387668137 732846883 139221221 905952551 691225331 22006389 145563405 680506281 586104689 37550953 227521029 243610185 13713029 717529909 425848101 125596245 198134205 810791545 962243439 539221245 129021643 171018807 86289541 861060185 932103307 592398559 154433467 129500781 399063551 704205635 92573445 794670623 61332821 858474403 55106051 41094721 420701915 436523683 345075967 233318029 217645073 383637071 384760293 47302821 734752921 68772127 324997453 937337105 790993213 956053231 273934709 376542787 83451123 618301445 561528137 557926291 135299539 503925261 185853267 761690179 658277409 24833307 310163661 179314813 233016649 103048881 383081109 538040913 211388639 549392559 981144115 251039929 688906141 687533157 20402901 872258711 147372647 139762567 873642069 470195123 797701447 348853557 218509361 172604349 307124851 903438065 716933261 176522577 849961283 873260457 192905021 329530095 738314045 104270003 959252663 76282369 568398089 846805197 235826969 366082007 540273021 41922329 126938409 736380075 598515859 759323689 117880667 401676447 138921071 72792303 906779841 973209273 854926941 6909897 894315037 946573807 978012621 998608763 75339991 616503831 512151391 800679477 591026683 934959347 875990481 962981001 218617155 1428781 443043091 824652919 533169679 384948565 320048437 632532579 240173667 465771237 1914229 607494683 580578289 337262397 483276595 551071699 889419535 858659497 502558973 967682347 538997181 393467223 854780291 246024227 562826913 23473251 550695589 984884781 745329675 964142797 485553763 341695261 442480883 197757565 697095655 964153393 245641719 161908551 353147529 462555403 766475359 999342563 899830463 834191549 929895707 719031539 347467057 682448567 725289407 868291581 94435239 597287387 157518223 781967989 860984339 893202795 113588845 619703989 82374037 737705495 735557613 353664253 451673965 549591281 219888709 615131767 188660231 54790777 402708819 50074673 760787445 864102291 975067549 152521769 120524533 431153803 211180373 844080701 163165929 123247641 586634067 372096825 891063515 626151513 601180691 827257803 948902399 669186001 636673213 460432783 401554097 933406829 589237283 418302467 807514483 198540419 432306105 210559893 367385073 486533071 33832095 26590355 927521789 217421943 918865055 497412661 556092565 761894921 250710819 76907935 471962331 812245627 214328903 514335963 188494617 626630951 533409225 719615959 876534723 145084373 51119119 354072429 696470133 615449521 735988009 106948193 398626547 569812051 379270607 418425945 69204005 940191411 658175583 451249897 831757089 707604027 291249633 513822857 277917217 341686709 112399621 158050201 964675977 561815641 827242783 583734115 672253667 856745667 699806003 18338585 427273187 673043961 762175205 510051539 917908325 685476965 251835779 251608725 11136109 598714081 447014153 379360069 239662883 764117415 477840147 763091895 858637277 732707677 987259879 240384417 480399381 528052753 223996791 873697447 670415215 214018103 761889883 866043729 266927799 671521709 113853135 207895057 940756189 409029305 238171579 508116033 125472257 429621511 54087601 410246943 894045793 751666861 194950629 970277079 837115245 496743721 343026487 200742779 280303285 828283997 949204271 746156033 607571701 200449435 793741565 334204237 163710737 782515859 393842807 307700519 8616725 313385575 338131229 911534401 111309107 676031129 55584021 547266611 786534085 227692569 884436015 657518721 498444625 72333881 824228067 316782993 848622465 170978745 718085455 178435765 900958759 317751229 637472827 990851623 567077695 480885459 889251349 74857481 382672111 716231663 875025911 646784355 104515709 164725615 547392157 680650535 446496609 211907607 625649009 513589037 922430005 939664919 123006849 209466167 90188219 996318211 352819843 378771439 130771935 148283863 487900121 293790181 455789235 668070907 836986249 267203733 996603253 683850297 809871681 133430619 488433541 601959111 505245017 996222085 738201457 28804933 462089681 626253891 119790059 400924597 790198607 798925229 368247503 225002373 24522789 740924869 628926495 377092235 474828615 105217141 626534663 702353413 450605909 688767373 843837147 386269591 748955543 790944711 56627219 227966029 637120765 301581765 731512151 729631647 121792797 627060495 555230831 601355881 100802871 928164117 75406671 850321905 357243185 251211827 197418771 797478625 228965019 261501609 830013181 174164563 447254445 349384609 746929019 223206081 546975813 284633643 811344155 436605201 194458859 233548353 878847389 463286161 509397965 932160453 272089827 73331445 237769669 958721917 660346359 362515805 93706063 487569951 602578959 754408265 588352405 939811649 71886211 517317293 428890467 275087973 903715543 945427417 65903157 242654707 466135991 172653707 511034151 611108415 521501687 210278635 648961535 171505793 927777425 534745731 459864111 49900507 606180009 716740427 904132045 243748435 123275915 368108701 413904025 75245535 530772135 698311235 832766715 389388117 198503579 274223973 293171455 762517365 927773227 216523677 85736799 172110829 184643647 124473827 60277883 495694411 928031215 478307745 145168727 639268105 548588913 470669731 522443941 359684231 185839403 605190941 938391481 579145743 185933479 240997037 113017751 653610709 243257755 674384217 755343331 52663023 87141599 879456141 398535149 662540381 667061113 182302239 423965613 502053389 923778451 583423819 406472385 649691853 697760639 782467511 216279921 310049365 920768185 913668467 627833259 737174601 216236263 670392559 612818953 818310963 917961935 572498957 211300551 237511553 731625833 464727823 350607055 873903247 367271119 319756707 907156653 874682779 354088259 419085791 831682973 691403987 328667695 305585985 424784505 107131461 888828715 419177389 990761165 165373673 843067117 709589615 310599109 46047139 733241949 491217215 107315001 594426941 522462595 123735353 652256937 43324005 581006995 898956259 591924795 395027637 76989159 808204839 869099969 889963953 110645765 893412191 306952623 157699775 12513943 523547205 858179621 283231539 218824049 910894591 303418347 378517315 749537419 949950235 198134129 921195795 293819917 970083983 177413069 322768301 464868159 957686965 305463229 11084287 384673685 234593365 862534317 814399459 49335723 529555355 625413031 764516125 868123715 993989405 497083491 542466131 240757577 30522585 41225283 42429463 730051793 97568049 502733645 305517541 584859669 940828149 622240559 771859227 631501433 715346267 14202435 492568579 886238855 781246719 518033541 34045647 736174835 564582117 197665951 907038871 941884825 830907517 35253471 838906461 427295355 833010585 269610555 195271693 405244103 34633593 766725459 154853747 977219531 509502913 20205937 443042635 347047433 942795135 861938049 628091447 777040925 13262887 513429275 930535871 881878489 124591255 170780031 760094037 57902379 62113301 215127699 412140369 250385201 494601549 276998633 922638839 980619055 225656661 846096821 530366573 535430029 631121577 703125463 7629765 815333601 479902767 677243607 985234425 896498917 561924151 794211557 174014187 734979965 702678385 147470039 191248739 525653429 115274239 526152491 841505811 801446591 53384803 414666507 651673747 401616117 992152203 994918213 812518501 141896411 293022925 674725713 179350515 347421727 499619559 114415693 759740301 174306961 565048573 566041601 949397101 316706607 340866717 125656027 111032245 3204889 379315643 592045555 832722285 818996379 977285043 296449035 305209733 675064875 873453135 623172741 160148187 755864931 896963257 881251189 709475371 447485955 770346629 229352847 858179873 351141115 695165621 272398645 681542477 158392155 720105641 156404075 950985513 873052001 265577265 455415011 605051157 509833069 406023553 779301619 444940381 574520077 245333561 692713115 45678641 35956723 591304793 479935875 51041449 189414139 494986837 871080183 274410951 766787879 710236925 516334833 10354291 31031969 873031823 667111183 561800065 892204481 486093747 624963481 162362537 675126783 701065843 794261119 357118861 92719357 341240647 34004567 936584883 814250377 782428171 659875679 21347473 146971285 862695171 423581825 548922493 247649341 499936735 907290187 14895545 12565699 322710193 203193333 814628973 33678739 903768313 143706205 399138989 677394497 416978587 573026057 416512369 734943621 356389605 229519661 171498395 545683527 835650955 908476059 123376369 194972815 115902891 937702613 510396201 18111633 487401163 18547715 274540247 5944233 915232215 54102515 145195649 32911707 855276581 874159387 295506319 97228367 776570481 507877275 894319953 569311067 268767203 86430781 845223423 87524473 388224261 723434349 716547519 280011211 721997519 375140931 534209941 215433377 665877915 907847039 5556341 334517353 550383153 478614151 866437177 465015233 986320063 190618219 947632289 71171437 915343319 68459235 872681045 29901141 151945593 803445581 204071401 305602959 23446537 722754993 322339029 150722901 239326035 848618943 772216953 408957963 513723279 263446989 950406943 491054651 897517657 120327129 660926201 617655963 929948599 866850445 577574689 460008195 193398547 596794935 993584791 995671929 379540039 745853903 193133891 839482661 88223373 242258931 795225849 811466589 868970893 260524009 735289455 987404957 961136209 985325221 360944201 39235973 132920911 395173305 950641169 563121633 432886885 102301799 396772661 773366183 400637401 257283223 825531407 947399151 224827737 755444181 849524451 942527999 285855735 738003037 497694935 571129409 693638705 746351625 25596159 987542343 53607151 987140965 384040785 602006733 989865595 967403677 625137585 666167481 557829517 456403593 191642855 941176339 371914817 187934631 163464613 1764877 737345307 776060707 459516293 133114119 309390859 327185351 562240517 754478465 284696931 510478093 833963921 586603815 181567203 507829267 608247419 406194635 616412335 539361953 34481145 983682155 941541973 359137319 679672111 725493799 401928649 785146553 631663141 84272973 64713835 732447771 150828749 946388047 401231355 100884145 501599233 439742665 559718827 955455627 366999167 833687677 6480143 994065503 314419699 294513239 262285605 528016015 674741229 729394025 911079247 487699489 558728937 134387697 528799837 593495491 946753349 147309649 914260869 374089421 891631179 141761043 172221283 673513023 639892267 694476011 273827067 284913601 992495619 783513525 582949563 750058145 475268303 149428083 138775931 999979221 728242811 726018641 500706163 59847677 458440663 185076899 785643341 690629731 645618333 150306787 643363605 365572083 200332911 399278003 992692031 407821125 910659541 895376611 17289641 296963735 291804481 485922913 30519961 704541397 822287883 552671307 127538617 200625801 88387957 281914083 680309539 748665069 247766953 27964823 327310417 777004767 455396023 614126069 957472555 47701991 254225817 681088191 63729403 952833843 289949489 498831569 178208631 73666205 423805767 120086077 338929597 946154403 150209931 162791217 877675347 502471273 528008345 976604939 151298343 201902275 248559857 341380943 287465099 535410471 522669565 257622181 463048253 954208691 111549709 277230051 392157029 772405549 971529819 571078917 28166799 109002247 575008777 998260779 209910957 401406809 29768479 325220001 529808417 58807263 668960397 668265949 385274287 829840129 463010863 219054199 37054849 696958417 61625797 998980917 650915889 248872963 886866937 163252735 863107001 658330361 100226395 193550061 769764479 517067959 777473893 828044085 253937233 782316783 420553591 746518077 53336419 43990519 127803357 897171089 181385043 25227727 556594373 807705827 731742247 663211293 435772747 511016717 5362507 332459057 526968943 887342869 719498901 527208451 790467611 254237221 932702529 608999217 251584543 313342863 542268151 744250627 483079475 653376977 106255553 81719399 909941757 452190091 840529943 524305143 135162369 648608395 171665365 185987057 893540021 856051395 959590207 49708857 858178157 924267341 976447747 421566563 542146415 492537711 909026361 637576101 27755747 288180115 597377881 227231963 219971033 211228237 490180429 333127825 23066185 173710167 30586465 332880627 269200921 498641555 586830665 669085915 716583437 41628431 811435043 241795781 604805849 919086589 138902901 166257625 13418519 560617401 22087467 89726185 592085319 532662469 955258777 930514793 28439249 678799565 801442945 508979321 220565769 406780325 339789315 640232931 66921253 759448647 622189999 876565265 522466891 974292437 162169 294994463 547362431 178048159 671692481 537734859 419290037 231084819 482274633 810863995 626391751 559530191 230565439 586144831 672374899 750389653 622272825 978883023 627365991 208978001 798193461 532021897 880505391 456697367 451459479 956094325 179852361 735292705 655265067 11953987 75119379 739046355 89365289 511745863 895668695 932177847 686467117 85039237 970682311 186458243 161496891 772505249 681486077 196114703 547527875 321122537 940185975 253274719 995625881 915630937 455188001 734238369 106617849 479260045 253925837 638144037 895135881 254445003 233786929 290830951 275124567 189124101 339094257 724815115 492007639 788126931 586574487 39642843 64956135 985146993 838113681 887801037 266725837 975609799 820909881 657306873 330290485 197732199 17502417 64058789 861998901 629979781 575522947 146191929 923358537 217025025 932521057 27983435 577949017 540404579 819609441 529713303 876708527 908069339 927042151 791064573 93879555 385903423 691937083 610983049 793245041 2253583 17959823 55796337 478564733 676102513 763573243 500839695 148642837 288174645 261213955 311232995 270833809 364628947 708686861 287784349 888386475 536514665 211215979 327712013 692394633 101019839 576820311 351005233 695661495 982595907 445459443 774941993 764743725 526141711 934619719 462721347 733226055 275684063 81095237 427516401 16068299 677300253 705543109 802325965 480748005 485145559 516464265 260821917 722944043 584097731 719112507 825477963 227602329 404266819 938402925 133723883 232028821 619350619 55889813 818047925 228578541 921710271 350196757 589068561 100460759 271457985 989396537 687315335 987864045 493545059 537130033 728707019 545933879 916708939 875379477 82420663 510934307 438512843 766683111 845598033 85865091 720788183 646275217 494110147 197936535 283160847 521946339 810447457 769260033 819125435 408893335 899107237 624012499 609605835 281322831 19494961 178939775 243110613 188785043 485556693 630100707 455353881 483069907 129327231 703602755 111298173 705632363 644936013 57916495 168406929 257835931 777318273 589658137 824293773 103507597 160995207 190786595 80392271 750180433 39007731 351870797 877075551 112047329 147770495 89782247 980511723 275358751 743928077 189559461 224851405 720284369 259292845 525500325 464723585 134484397 527370381 231409517 83975985 349901385 464839947 114039785 220043945 307236903 825541289 21545839 955523685 210396593 818610965 276533181 370832767 256181047 204982303 812617461 216446403 423135729 302890179 928141481 806246045 411678469 970018341 89702601 347322917 43884663 348310159 262111415 152314395 94227517 204473975 870584885 919232231 833244461 925273461 598769779 75858581 748373001 342054733 904597763 786922463 859043449 799331053 636702437 475784995 9150993 645452133 91767677 502353771 678030153 247378673 650513305 982087521 215775361 483712501 255265389 473763937 110393605 287861757 284649111 649485673 237319171 738839227 86327069 10328095 838597527 324722441 232686699 852947411 580936127 185979373 140708181 17682557 598259049 959143823 52129821 93395387 850107235 922278469 669329763 101432277 17476453 850398603 433000247 574651065 653350677 437284097 858793999 754420993 297465079 294266229 144043973 100597993 36018047 160397273 603078817 843150683 477243911 865319495 178270801 343412963 2569167 100227845 408314599 192997053 59492095 391940989 161278435 689832899 82682283 925435713 857464103 70279041 100592841 16535823 921356805 566026531 886405949 137363911 816467503 180959873 289275601 970777463 859695299 54810907 294959923 655508049 929528645 604098327 786910973 310646193 883770533 203212871 471976115 817715993 757173815 739332895 349618619 252260149 729369783 389136831 406826345 263780055 382455627 645228271 64865267 635556349 476504193 134863135 513478013 665151687 827584333 811264869 940250385 934775939 609211407 981397631 949560733 31888549 522099079 35350487 210553083 422376899 666748393 270901883 249262319 725257383 515561925 743632419 419630623 199326007 158873881 873877037 341789981 816724359 946485325 758352033 389388645 182350037 810796843 338130733 490537557 380023427 923530219 755003947 227042359 313643291 904768553 930902935 406152509 770999633 930008553 791468571 874527871 519552257 734805657 136420355 447881473 581684783 684092945 608647243 805113513 692235779 746589579 535324045 421035849 316926419 79850157 417893653 82045851 318999577 660440197 11377615 597520449 4035449 983607431 308049747 31805123 931762109 947213713 688594145 684174483 625529051 219969257 734857311 548859913 313237995 550095163 462848863 619277673 201945649 504268699 761611797 25060825 602706459 403242635 233404001 542031467 452734521 874803947 605982411 16079129 211188295 124396299 932859779 689725893 523546665 46893985 406237023 123410743 845554409 995230407 797482717 376369697 50830269 721459463 791921959 642768411 957204221 820807241 860708107 119381671 983303983 131582693 371067393 333514799 908275195 623130265 749367591 21342979 909142841 623531401 808810051 156432989 782581215 955974977 762962633 757294943 482830611 807871929 351843531 380914193 491317537 370866253 50425357 326683749 731877499 449296067 518777073 867569971 474644155 305873989 862912907 405817149 490907047 343887981 34447503 278049325 777489447 252808245 952797791 237888915 39083347 845449987 841155583 123509225 641368417 941790629 537055265 591811983 479532217 385666385 827155995 865149393 250388705 424658593 174495469 105968095 956577681 271910045 489211453 321697233 124289955 784479665 648441693 425485225 963786265 14430899 654570049 950966863 464064799 189600737 284404873 95086745 17972999 705263583 850779261 413484601 802838351 573292729 566635533 379365591 643286935 822686439 660114895 652329209 396023469 664678979 2509825 737193231 550665603 781373719 756730253 381672565 119705141 292805899 416192769 600234091 339728133 901559353 608703381 47337755 527642463 181300763 156242981 633980563 973272791 467167383 951027773 411295185 217018919 625792763 132254475 456640949 654834739 124111611 508268131 354870789 99639045 511663541 206489031 39484535 520376017 432437423 885794143 209242527 726040307 72453845 350900471 474765827 593456365 791256957 502428939 667855115 462837611 614170979 320913333 917503495 7367489 896951213 503626177 787810607 922404457 49027819 82162587 123013801 632579335 453146637 493635675 105625977 567837797 835110261 521636545 877879957 630612983 913000421 332521011 612225489 968162395 178090891 404044225 912301299 818742351 574287103 571916067 885468321 97740737 743797817 472738231 811424111 799567557 362491299 335192453 925896405 331350165 668817161 828620349 246899763 752799893 422679711 948153397 158272467 277608785 430011395 495749483 802952169 275692921 953535289 165275785 240109449 208003821 534326705 861749725 652108729 826909611 641786175 255790175 278877791 31046371 641873183 679341741 770080079 198722533 667894519 776895501 757779775 284383021 365061589 403924339 738310869 996392287 260411183 728850545 892632469 253169223 684618207 868078665 82420467 685725141 676470573 867487971 645857097 611332393 545485253 574927307 655798997 541368195 922356413 216580925 68014787 15491405 516539539 689362707 587198501 633303325 884630059 220507097 288753393 237954735 333208529 177432505 615246603 157170659 642244669 200402321 233069373 322254279 985758091 445268953 771926581 391189389 315236927 985938879 691498893 548243855 671000137 607626253 265951943 273770067 205356539 385920573 898820687 710420355 501277973 564992877 339523185 185496305 582801339 441595749 996124265 305814939 735581563 353556373 974919513 541294241 743823945 902245905 75922251 483336785 194679683 40027805 333568555 646574877 235812079 364732829 671428313 305191073 424163769 138448161 419856913 338463903 130680183 282465759 889235839 416274947 773408549 941488185 100245685 571019233 486308395 152566069 322791465 587469425 908618579 915082625 961617471 843901467 906105301 442529397 276748863 20324455 815261259 450732305 349950811 165205257 573539263 63831805 614328235 179965149 1749657 105001351 558629169 921597669 859734449 709407909 282311383 29891405 553860933 579253751 953160557 814313065 650780153 296613831 556788397 479800755 26251739 4560895 759017529 809372879 76758879 802476859 337195161 200279175 219458659 545590201 670275135 794162127 156143403 91695713 999413379 122309315 126993255 818765759 663206567 802252711 436119851 979725 93295829 65538531 835810291 30407977 952242973 576045837 959068581 860200347 382987385 956437471 618682255 855574929 683690443 506867517 555306855 711817957 474466011 278773041 443724871 175082259 605871449 527507953 239965623 645278789 308753891 706270421 723516067 279935049 611807989 432428897 647641185 689839511 452097529 681630275 893042095 773889611 949909571 20224075 421810609 198020913 313412619 808846709 642813171 384125621 932155251 61113829 645407341 343904753 645957507 7462631 127022203 585735585 986797867 562036203 761704417 701964589 520234055 455376273 157208783 378316199 145402007 678379671 85375959 876207299 100628165 32263405 799480057 982325219 314349409 811197091 740086939 36511499 481191397 374045429 141729413 302783981 602081201 668511049 28203763 429044447 708218641 78749221 423846269 781795297 473975859 551853633 257531947 390342553 123280947 821899639 188553321 332575831 176963601 681564103 146390541 841909523 935335351 152337505 608825939 644198507 497462517 859026071 36250339 205869991 358302853 17939681 446798023 947408309 649337607 7345639 587565431 100246575 274652165 244375919 355316173 849506897 199699699 671042929 863550737 981045253 120417319 431582471 37649393 99360473 914836449 828940147 592364927 430678277 65241935 440760097 543587899 973992037 574446975 80266915 769410313 724903301 938506345 252900279 466246711 805262481 280097267 403635775 749060217 778484833 203201249 389186373 591418349 767129975 229514727 930622461 282224407 587137269 22789279 585669825 162692583 561258415 442237065 343669273 974424753 683284249 323465229 225879467 540483889 481904211 759285119 779701067 242977679 314015525 578607127 29182455 276241237 800000255 536984821 193146065 228992633 366132215 801738275 729287715 351980121 82933709 618817427 511456353 247126717 807264487 872807455 204022567 208396493 828353365 134078085 976124471 138426401 506159055 894989939 996518015 56518071 274649779 416773493 493346063 180611825 519218953 399530505 164038179 70813857 208760705 532399245 183705629 173306361 853824879 907811403 737840781 937629077 363346903 458643061 888407329 187760767 703553627 807633701 15614647 533186337 773874255 421479513 814515283 901073487 428270505 959854847 168362525 781315657 737086981 215258083 929107563 776385459 75379119 516564675 312561335 732739739 950165139 261845821 670422181 14188919 432556873 894850523 662022913 831724065 37884947 911177487 586249915 192977121 605317075 273741873 615237617 205822819 517743387 220642437 355835111 497962429 378198821 478819377 105889543 758635883 60201675 519490887 618757603 917018709 889520535 862550721 357636151 231807429 608979129 190971777 918201063 289287027 80343047 550069071 497907199 712795257 311592193 695736285 172155825 236488801 969460685 160138181 600658263 636262419 701903931 710297989 55276663 574248167 751661251 158012041 369349049 226474395 404215171 136312353 262626805 475177811 844263235 236130953 540450593 848894621 524039281 56847837 423105893 81333357 667401255 392206635 767747591 194611489 459198241 283057507 313218687 50798463 410484937 101525597 631448423 509903795 141686829 475270621 649351041 677878865 458835715 144218761 222957751 505367387 475657389 943729395 446972705 450368817 912795951 76737173 118917623 801422243 524592187 775578321 738665627 944928487 268317225 657884655 907048859 697915031 76210421 231537695 757776297 4138171 122475847 983313021 84661921 467537087 933319537 927201289 163570309 58342011 200993383 959405229 465792129 605285159 812217033 426602553 720199143 471344237 890010079 901816169 100173621 198070105 297506457 272821465 246716685 473584477 850248845 229484567 449791801 82922331 102822651 434864275 21146541 631495831 390586825 283943589 434238853 621725117 15801991 257965711 947243523 926690273 649489773 816065913 498902931 158238083 527633497 138792567 722415305 609159047 68168657 461757313 519060319 224926779 291430409 601394809 492304185 173517909 795086291 103871527 274797921 190559215 626665907 782725947 20149003 522718097 650278605 549777745 268546197 626617127 206112751 769132009 789613181 160896775 540402837 641237357 25428081 834137837 788466649 927310893 447549509 916966657 518811015 746851683 278189811 700415693 888184587 382818351 275098527 355167817 635858045 488091293 102491285 12443857 346021277 281915547 488593477 593214505 789693139 527426309 205489741 643559295 252490795 667485339 993815153 350747755 164173407 233953541 18291097 132698087 708731853 894022615 786873563 195760473 608753535 983438729 379112051 600982413 374084127 595307643 134039745 627049405 179988745 407911929 821716305 524695681 651855675 447680305 89031641 173017823 220943963 28497983 734085425 99371847 60673977 271855907 195654239 294089869 62228301 575807685 989160333 648665325 53853365 899082233 350037773 872819983 759224377 370617975 252011099 834166525 311401415 183135711 330300189 489911085 865765879 253637307 854832153 186643327 941291787 541429117 470632519 818333749 400635877 13730687 527586241 74962685 984289561 529358337 597232327 513278447 283411933 581354795 379150537 714863747 309143309 644378897 834751321 386625699 785007669 124597417 464102703 767301531 206977 206489817 150821683 759172895 625275337 930381669 744852843 216599627 941003149 905730561 950667791 758214313 350384627 274857287 176599673 912086819 943526093 764839861 12907563 399486221 562090127 687958711 45040593 868383527 422919001 797032863 774276671 446131863 212499443 177128613 522660717 629685223 650649293 960314857 39246723 779144205 261956349 142673525 712461257 538024295 839576897 10100539 731168179 86046907 139059971 899563539 90023901 642011189 855341905 14237889 455748361 142229611 835791331 703836139 100091683 61584731 922296343 489818661 133406271 7741287 257875445 590756581 183625111 70518369 693277995 103081871 22972557 105784443 761879059 584781419 902577 375873361 169830057 55360427 830805937 327970029 372291991 306179687 948879979 452456119 270656297 163892643 582394849 349132937 761073243 42065221 361101119 388607899 899441095 309094175 984541657 960593815 27655353 834251757 801148457 181135753 572271645 607812683 653050067 40607973 941546891 493790663 633068451 754419851 133091907 22437329 973713545 674413499 935923755 604084419 679550627 665256231 706029269 935329499 438293813 158336483 72383093 35934533 859608231 977578091 755573483 612342033 277514127 174956455 912961215 219835449 408133031 553388513 495952417 160208543 229393107 763561423 780262373 92100875 417740319 431366033 160945807 983261231 328559291 638005161 183018819 271670691 93506823 105660423 429708497 824501481 177058177 399993597 188302513 912629355 447729113 745466955 687663105 376280697 152912863 950403091 143794823 490148431 837706383 91879911 387907511 628194057 53101327 836802489 446981539 331535029 156790181 297135335 39441421 530391875 778192585 383639861 440205149 206100363 84717587 777493971 524836257 716557391 710185801 434180693 480029583 126777 330450773 182730167 273652617 765690329 802283849 430855519 281824915 260614313 639839587 332669979 51469151 189798411 49684483 597012255 843562307 282497349 459504311 799503115 979430719 90041229 799424817 48623329 243771641 720957177 906625611 303873807 4221379 903762827 628263691 765874283 105694609 150111277 291526555 585399603 66719235 729352111 442807887 3674121 813828449 651597259 136545439 764992767 697832859 635767841 32548403 861018757 241754437 539432253 841330131 570959485 102643875 699388301 241268851 691914537 533588121 994903661 639804463 172104249 142906295 381468445 493073737 641501631 212564789 924668871 494243117 131407163 893062639 751755899 746345837 634245777 125958513 778967089 326446279 59582735 560654055 775844815 886915101 826703465 823435307 640108313 867812217 404110783 953104057 110493637 456891663 593181329 533363387 670431849 900087867 544406481 255176189 766614917 226101887 403595475 939178747 30365831 28777609 212980309 674237391 566531261 553794343 876097401 376470853 374206561 329836633 130069711 734815689 710367123 890548289 868115789 551695987 12810077 224100393 249943885 159172611 997880499 530195847 643121561 462197215 24122217 35979507 372034137 945785623 351454533 481097009 799021605 886911331 792378607 212521007 670859515 44628001 979570421 675032573 696002367 190706521 697092309 534610391 23542461 530702523 576084461 120957217 697589165 449867421 913254025 77031525 62447531 127845629 991034071 728346713 423485629 343423109 682886129 5488341 227091023 516066179 444171995 943976415 561704501 553261807 831706491 517374623 69454257 766728549 312211877 993142379 11651171 591057969 936769041 509515709 11182427 34570817 530321759 953866043 530869773 640425257 301252377 975931563 876442457 188279851 184481457 947386885 746253441 239817519 224491137 165598305 676081715 867465153 332227783 342633733 391242629 133030941 227764911 660965467 468542709 995791901 683517771 63397621 399266149 806430795 352501395 691815055 655683879 741220567 936099943 422215951 597807851 286253207 931622801 375252859 203860691 191460363 687922883 715534091 201849187 239299161 454499221 957184025 852294277 845275731 492198795 560062759 796843667 202893677 814771467 871705567 289600327 365497031 175059559 408516633 559856839 949150761 123977435 80619723 375217825 42949889 394500997 642331933 498518729 539169641 375457391 983718231 99525277 56879391 107072907 230855661 632040931 240908937 838086065 315428473 268655047 862890421 863771043 523310275 395626975 399946591 655875851 412048303 689484583 84779491 791733627 738599511 946381575 574028361 24755561 762405619 821501513 145763135 651390777 664330725 325096995 442027037 464745523 348448443 398648629 983226851 224571785 29816105 136422529 592821305 544657747 845257221 190041207 557955179 569061779 593223257 965666793 817957493 208765747 453683275 622583063 29523953 666598147 113825841 223090341 128082217 380134591 545333635 860740255 205499405 28686339 99245033 645988733 773571891 974105437 553568811 103186715 462374107 580242749 369626943 353393599 475171307 309936379 919332157 826962197 362395893 616878553 918581353 502935345 486730027 759745537 408873007 746305941 542921075 32851843 895031843 138832929 906731343 743613275 86750463 553681957 795698671 752307301 897128871 547252565 754724653 491422831 653706279 76717265 160452229 831428905 944108719 289784859 899042337 501665067 97506973 317120545 631015375 123372279 883083637 498517049 465854471 610430455 767371231 666115873 36641509 998404475 388776113 127107067 994924341 100906941 594673637 515610969 652978531 652803293 925980065 569617453 283304073 572912615 444011307 623600853 884521315 363376585 185587707 291188757 129344345 72071775 981686953 479789085 2411901 413423977 68729339 932286847 786590083 919765393 397633497 616849467 599273163 556132199 545744985 421613237 262495583 318336101 897165495 986780859 313606379 54001131 549775443 778095233 176014791 44023877 292557243 323677095 800524273 191305123 435125153 688703021 464768533 62878491 715737567 546087301 695394941 372965299 314714747 690829699 74060323 962134355 252067999 608331109 788527525 950507979 885103517 806045901 787662411 598127573 13038067 154131661 742271747 982226449 186305089 398314197 687594855 903217163 999853141 428543943 261025459 849188145 398056993 642731749 279838929 375770591 520657087 695212767 890991951 522013781 600360821 651497159 279139939 570476987 910492845 169959197 791334895 217188645 435147515 316570309 779191417 154873995 70596631 688140299 665272367 324310989 34950633 966584743 211070441 141388725 53358969 999639989 223234599 621435639 828842491 129266363 254983697 321707815 274938315 112555173 758616691 763233739 782548331 779752393 653476041 290731337 264298631 664138723 683355693 909734389 276827891 483019545 980581993 751288071 480329641 777102073 921775853 141368223 876766155 318171513 647160271 169305031 364368807 513631731 437721807 512128369 614815153 821963311 627694675 107857783 489932673 778099545 509351019 518236313 380116699 104772873 36045775 408859775 39704747 258051127 420369629 378873533 874267141 904841805 585320093 584657353 671657763 813724181 904572349 81985031 560009833 565289671 954787223 393893055 244128097 509090047 984820521 447461155 201596351 748812739 324069911 116659533 48992865 573629309 119614389 63949629 581546565 123194119 232217593 953774043 382505881 222023835 368034431 728180217 716812465 797808863 116517267 903051603 235497737 238374881 273199905 776450439 821313089 944671765 849207745 266622751 571870501 982769497 244309427 204926093 697047211 144977395 349791199 857049385 434121451 270312335 926178513 620717111 887766057 759649347 730575299 663758301 770305491 710267789 263148949 906557485 431406457 20079951 185158091 981268515 833968087 236840155 544440215 73090715 381347795 967633377 563406031 41791845 767922547 176990083 521306355 74910251 104762607 129662275 860176425 138970509 803763615 836861457 739701313 8354823 721818377 57061695 388378035 829725957 448406487 995982221 713285789 70967767 85990107 132642335 629174215 648437433 109744147 553446787 674663839 370120647 754832287 146784941 147321151 881260559 562838221 954828283 46076259 289435265 620829967 9070129 963347829 506079477 422655 106546047 579559555 492003119 829421411 466796153 372555331 982357461 362245669 494338843 86639127 539097977 67777367 63511501 480799747 251027349 336328759 7711833 951937465 872179595 417613861 806559989 267517841 454842787 692992943 147307329 330564999 935039501 545861511 221743935 307916355 90568677 658578825 466179165 407443479 211000365 900685751 542851697 602920439 434632905 111803709 139179193 894165635 513953681 219726703 934962905 427107075 123211065 29159111 788059101 745300583 201468003 116231143 678259517 657044037 185746075 445547165 231087061 326988253 771382097 492262109 782227689 558312213 245943005 901655485 553255209 261091709 943394177 470230663 527599529 12852555 629432423 254941089 93574885 258203745 664735391 638362529 652416963 926218053 538710051 833873473 809687697 59997223 186978515 503188835 552686595 645741531 479174011 987389463 262576185 675911397 694008521 814780811 257422259 891203687 201772121 110400541 333026917 740852021 505576363 997169231 177642655 903019205 430784297 222644175 746585631 605263923 412128547 189298797 130573069 587386699 330901715 738515749 775966963 25543033 693778265 619476763 203915721 758959317 348592833 129133209 46140649 853675295 901529849 59138067 888784413 920944317 16154333 300165415 167431821 579357121 845519149 187340179 131408339 53202655 14085521 620235847 284001511 592915063 409763741 156204627 689487667 368550801 386397129 521610739 247981955 481083101 460441717 98690955 712315147 867924913 835366125 532317351 509294697 570219277 180644447 662824695 940471459 856454295 730912487 48067419 752351269 240789919 873563781 283288273 851612101 804887581 725308961 854298505 207870911 593466799 168156815 915108819 284608185 146559643 12976519 713971501 146119875 433332949 811728553 619426615 598311501 750181103 982709375 397200575 1689401 457352493 112481149 23789749 809489865 295887473 72773367 70338873 633991595 750881615 995848243 424772747 124517621 692494075 890770775 164524567 674033957 152663639 27574903 705107823 780221471 443170025 233096843 467115857 748200239 30913503 4610675 618880669 715145741 688299281 447244281 155342689 188822997 617207295 235878607 410347471 35189773 755301583 790558095 802688833 500743583 704117075 763101367 139705149 604385765 597380607 107491253 317804141 521131929 950597363 280645589 831114661 969492449 186306295 814064469 315890911 373055819 924650619 270562387 14604861 93427405 599162517 552519129 50719501 740006593 777815555 425797849 128393921 98764271 21359151 865842989 702266869 654374531 395344423 816261267 34270059 668572947 178119587 432901559 42341135 371031963 631302657 245526315 43815157 449897603 345678153 180716133 735352919 325323157 380840745 662031049 570420377 933306633 747158011 9904287 22449221 763807355 825611707 497680409 605157903 923262447 140039443 367781969 572840403 175358165 926396495 864881733 585474453 615179519 234495595 226862561 512632957 406551981 535598593 160442613 345289185 792119427 195371613 902971453 743723579 402166927 589098091 584358487 127652399 198631237 648401859 872696525 762250119 646644611 617221029 292399889 784488503 283224207 130315767 17480571 274698589 203921685 187957321 621587533 529656887 667891243 389065427 936444081 210489651 100983885 828045173 833854391 647364837 234372705 876276915 442469723 909386505 798906551 880174271 742555001 479638911 389198335 385916525 517336799 301580627 277350491 3368513 932932157 9648571 123586125 413058911 380581163 857910031 852316611 936057495 722353965 154593237 101325075 319488865 402236071 931896245 417047035 770630361 91539441 845712517 562975903 192261835 138791487 495576385 101121165 491185317 283356339 462259977 396121017 986298491 396557145 226990635 473575295 541251087 709236769 669886743 399582633 274317257 411436003 376780653 70662497 503693239 778453857 110121709 257921083 760663183 322553413 259054721 225762105 940104883 934466591 961454401 76037563 101184295 483652457 455325027 954054801 891885213 241554053 362028877 552477935 220276331 761163449 596873867 259687795 258124177 373203771 352591055 107328803 443076021 546276385 149640949 984346221 576597545 18339181 937357311 293348899 937124065 249097737 334924825 715399811 310636925 647229125 972124565 93126197 419800133 229754715 75706865 314156355 193167145 602486635 703235277 499843109 352054461 253514113 887459063 332344503 803865413 736986635 879725409 302352701 506335653 208221797 53897255 342887783 427629165 180807119 351759755 753208135 245492947 200018035 816746745 351200349 993916857 706408033 495011333 41586317 696489637 215751315 934508393 688218405 752622277 648066537 147442183 159369689 700987891 438270511 759819245 197684679 492959147 83666195 891136847 509230197 996352535 60117297 356439941 7969999 979979523 84579081 212539411 416963627 297013483 257557507 380334501 802841413 259434473 548580723 588878607 253644101 296104649 831823249 924413003 654277301 151000053 469387901 71521149 756213387 278221451 827029315 496381423 487156519 939428163 299165905 379661077 503008587 665012107 667436291 558578059 818394919 491678317 431975831 93160981 776117069 648200611 41296187 773014683 745376701 383037579 467521147 894688051 252793563 942195501 957348565 377489175 600308339 878220089 102758311 343632299 341386941 310087941 138825533 184913787 73623893 427543183 561313733 784798519 974913089 421326465 53616731 16452285 232994539 509459241 349257725 32603665 27885357 906641791 762290329 518877275 645998657 890492959 763035131 158922483 342681551 920237141 945885921 741687375 377680609 263405325 192049641 785542421 838159085 963351009 74367645 88758033 989177553 936619021 450669167 369038899 357184979 456064379 521744825 544610203 441733793 764148151 859800249 656635527 43890765 748194555 580597917 770756967 526700373 275264807 109716081 345069259 101714593 493326527 711699507 325388913 727428219 755966453 616135617 447274041 71615899 120775071 195714021 629859121 700022813 702756413 532018513 358851723 67559557 669767413 701297053 209375905 790475459 513505945 454560333 386453497 472293161 394576541 7105991 446637629 387400055 801884193 542748765 186182463 753798097 683292909 666540875 612039165 24083397 328077935 899070895 596980631 246213447 735466689 242240915 346806875 505771447 701905313 383861481 614471867 902950613 436403571 297521289 809795667 262097363 526220363 724920117 812129509 838147653 121968863 92350105 180162397 92119849 561490317 119238721 45081805 10631137 255241563 684431529 246055795 423549757 897355005 927906867 58860465 384166515 354272709 220314151 580504849 521755679 412564149 40088503 537681223 687081285 922042229 910107899 751460655 950346323 447611729 54895605 640928203 384327201 324640837 286608783 178640199 481460967 108268523 601517211 478965239 804309327 141938317 340056271 516168021 954623333 794719771 24220623 421177605 864491421 4816683 117272097 761824209 379931605 780323837 799546939 873261741 920240211 717727607 52818291 669045173 731987649 52097579 721285389 99991853 971810105 206435147 299997997 641748093 476041013 364361149 411931627 368967995 569811101 196031747 741878331 173506081 788608187 831239757 922253055 284684819 941847877 758948213 122764803 564577563 531767641 798572535 896676599 646903151 78337149 179241981 508750963 637892199 429122463 869220693 906453753 265484679 702456849 36312183 932439539 681027965 243196049 134563199 724090545 53621529 974587975 763293497 672003949 423534679 729739711 205298193 137798727 191359323 652232683 597803809 23049803 187147633 177218861 92213029 912173673 175763977 325923913 618900357 93898361 158415297 194788713 304446291 801492029 914507101 148022567 384580675 23246429 708462791 16882045 73610677 695164781 359883793 264315601 668049331 799236837 544072311 335057137 447690217 358534695 571214175 444526097 236465839 639589753 253289295 639030735 91314691 814527761 557149951 10182193 795944079 231446021 365558855 620164259 618903203 454195543 395085613 191079675 91006259 11731183 55249115 565988469 419022047 302835361 526602915 12684985 304938735 166630693 897425667 476242129 100722257 483298075 572505243 287142965 119803551 346865167 32268089 363128767 773611797 239905647 138229455 915677369 778723229 874997655 366025849 423553995 286402501 216012999 826662265 507089423 853867971 626468903 840966715 205272061 519082361 353423563 103880017 584645247 543892845 637752491 168469625 457365985 591005645 669514151 977529235 176949463 664109937 430518921 434291117 599320959 305460441 281516549 356650489 410658399 123553581 991608751 906005203 928494435 924976953 348664077 742013629 715086559 393886329 825844869 640552803 621283475 236072455 698778219 248321689 77227173 81329069 833464311 766646105 177825951 511428315 895243849 183461063 497198711 127300519 661521259 775391021 113364365 179339217 71994705 397037823 459564963 39397823 396408015 268208089 279410663 274847617 901355179 437483389 977242607 994190799 467116683 817764057 254202553 863230215 436325379 241576187 172650409 306852401 275687817 264114211 519452555 762421243 446803329 908156595 137470359 316967871 238223669 846046775 59587177 911158393 824049107 905080415 278808837 324475859 25635701 139665417 581958107 406586651 937457695 432019511 350507965 975784521 377742007 788110615 544993517 549068025 35577359 926291193 150562315 513744759 216619491 168650585 710403367 62001071 478686161 620219355 728089269 832369209 749501027 566726473 340129427 37942613 668030475 991716505 360444167 551146987 90952225 949842915 28301245 533039751 929355753 700802413 618496715 336927843 363090825 322192031 315114925 474656351 568308499 153234705 10505291 915409407 752369027 889356665 742396399 71973493 751580087 376470717 294534737 92168087 806156153 551813865 488728205 937769699 27331195 806515757 619354663 83860613 93041493 468191209 247450637 375382599 329799817 173446045 111320983 27645601 59627393 682101747 316173695 335180727 72172943 887640515 241908971 465995849 801917673 922637059 362815079 144197325 734909363 949517785 520210667 155193431 323749109 390349713 590654163 344198053 443901855 996231581 533528293 662940705 194065295 259752601 699901773 354982615 33031809 946537797 935490721 900647299 271347489 291413905 246884061 810686337 124668415 189024143 659121767 676774103 609733781 146631799 213543693 845690167 341838917 37012401 637963525 511072505 465538391 9000901 905287145 847405593 463132669 72975207 773612481 202616127 584092495 36564595 569704955 700020411 606601295 503441643 787722857 724624773 622890215 523899899 955033675 376359997 296244967 563674869 731211587 707007015 985940745 304555607 392805987 578362933 162596845 510961347 217397021 607528957 674025759 10041347 816178767 950350013 411168271 404575755 82866493 336528481 560979733 391664631 326922903 957038707 945297523 375180041 232155503 884775211 446745939 162632621 264297543 291794027 602526405 315373175 695395327 909189817 9002691 43945761 323753191 913093189 60547885 241908111 453517747 303252963 574733519 46371531 244520065 368062999 258700887 65122313 986282455 162422787 968215905 729265061 469957537 58399867 559317869 990222883 305049141 177065715 175158501 76885803 402500433 533897869 507302425 960260243 898890007 762028815 304169027 457240917 746568985 8502247 314250371 221713557 104680263 645596461 226782437 659943069 808312067 252516513 856552279 522825187 480392719 19976873 244676789 769799679 980440987 992615767 299615167 807812279 591930681 528957279 258346527 494456563 513881577 893728545 165642083 575430089 711384847 224648613 298705417 800454515 346585465 205350811 833590385 888181335 553161819 510224985 277066209 864998907 367500883 375312607 92927885 709591063 113292391 496701651 782016399 110084483 882680579 911856517 96182759 565766469 510832891 73841899 697110909 666514309 735418513 520425127 319319333 3803803 915981413 408361215 648306839 455869437 296271495 895432675 613375347 447908689 48618861 791890919 421711941 778277219 420257009 210957135 706882939 771261733 293620059 161468669 174491759 39013553 60413529 273835909 763854949 452968525 213469181 10697243 869790595 581002083 866098119 919510433 125961181 924323717 631941529 823306653 822828139 707950961 184960197 425732413 698183693 147572231 62122749 285444697 8596621 291742549 719525727 638068849 346160541 687959949 760444783 374590891 316919255 906687499 275406365 108101079 470344635 78772305 584049853 248257389 883762865 946285323 396813323 364270733 914655243 643749643 607985965 277405691 254299141 939250255 618964145 297818665 845066429 719408377 251218315 81465389 40540477 962224723 31170075 915086533 950391415 569960913 193858337 360000347 913934405 430627855 713962193 96427773 761964133 786196431 571610555 756073315 525028739 304342781 139582941 565332459 838241329 630258093 252608927 195303069 960044517 804332311 240793803 162380071 90381827 313848995 649153433 81508323 416847059 973360345 466985381 309175501 488357511 852022383 572157683 234361997 838270521 154396477 265842417 472459125 410714855 728896839 11971959 297287289 279213693 187371961 494557119 461981243 77261005 473944551 16867695 616736257 22085773 704964683 972546965 567614649 511913057 11279241 342501797 852002811 955810257 377170283 476051069 194564359 523186255 569055207 554366307 620984259 159425075 674244117 341021443 620620223 530386367 495897401 444561521 861921075 48831517 278294465 441988143 171023871 481086047 219465277 787448093 714661543 760144507 666684521 622049163 993816923 114502741 388909609 570901551 740597493 307529397 77089417 96404771 909522419 666078283 187702457 917869807 256817019 102148787 758192407 168809345 143575645 726144879 808623143 699039019 787740175 117045477 496833427 17456557 420494259 83404647 218085677 197151531 285028623 411114543 281292273 626686769 392659347 153753695 569128707 895196599 718894931 947177469 384980655 165427225 294887953 476251903 894060391 49391133 968225845 36835387 91201733 824601837 915511245 737302131 285448847 810647075 712061327 313274193 871695791 915752121 965820379 763550821 458196791 808852501 323033531 923013161 434562917 680635653 260056027 59940095 166314649 474031807 828409235 305074735 937000033 772473821 271760355 501592809 565962863 582696295 727219313 145437001 756116893 158101449 695224461 907478351 597886705 994926553 156909103 957639141 605561493 884759509 423319799 109678555 530955485 45159009 574383401 911963883 19781441 139156873 7625397 234151093 89041257 594745285 366201397 371867077 622399517 660291823 488482279 747444875 998324817 90527057 427153073 422129757 377737247 429315731 772353315 599300225 905522639 217153743 57820275 336332575 729119943 958437759 978052995 262972999 906573979 453710473 851227097 717357299 253263369 302924603 365166243 560011267 563091955 200360777 107553211 508025155 915482723 186246097 191792797 80010849 177038221 692180569 19410291 480821753 222935757 79772109 19770889 252373131 304777637 43538819 98603225 856060287 444457153 92952631 938920963 220128809 792393461 435880719 973284427 430249153 339688507 4316315 90770467 809959783 184063159 607261643 42373281 760699687 876710323 772825345 110030981 424895727 414824613 365502719 387634487 56262299 467358757 646914035 767885251 210169833 519028471 180536949 242267619 259974535 228321545 549399165 582085876 675436035 660458089 312005749 583333121 277246165 646916185 364183593 803565495 49404259 772559415 256354253 779865451 270067697 675688079 152403711 584611361 628774579 254229527 703323587 607926909 858864323 592905895 264181129 330364111 125690655 291016771 698722853 823537165 510982069 656991769 526921427 308053721 925243473 761800569 941632825 699360889 48693681 590352095 122607205 434392027 228894323 784409839 307225037 752239769 717855265 589259637 3641419 815978479 278883885 162396259 837360935 648348101 96901873 494761683 136988429 446393773 989309613 802722315 531163411 382278107 338176649 899406963 958513079 597799473 960441751 716393635 136436189 499926323 442510291 920468049 609026513 839513363 923025691 688633187 1214027 110786727 924716089 666087141 618362213 563928687 104647647 115260425 942483881 932501393 462999973 1505067 952428289 376137439 306363663 294955723 464970689 743961547 841749123 451656345 234515369 535613307 889445973 877692519 421171421 393942961 162763195 544791341 915100907 999121373 818059737 563548691 45576647 779845145 867600567 85720417 969107663 82028065 717602887 464393099 891256265 128525407 414085473 279501867 924095969 603316449 840575689 970487047 753266349 293283423 796285989 19973897 584452393 486827831 761318663 722516293 697875645 40136303 533750249 385158133 530089011 542442171 633709357 178267515 75086019 981087597 137316379 632145253 732740359 598901127 282385893 467855717 531016711 110692529 348909219 32439895 444038193 112663095 25739865 472045885 214301271 895845907 387346923 155811909 316035769 522135525 9840689 244829117 106237947 64002033 739280607 321445157 755956779 966443049 281146265 798798879 347731389 760818467 523856615 852782453 880768143 633475359 576344889 837356061 573756133 751414019 338113515 617398319 585845871 279283551 627804223 626669039 823219009 621006699 886552155 297616585 852324567 193844741 863556177 214841425 366337815 96576693 774519579 489014593 234302799 439336107 671195033 505762941 6250293 810732989 699018647 501910031 341970915 344602473 272436421 280266285 15677665 640591833 732020667 95526959 146467099 387470043 425916155 622089115 333945319 744013541 454437359 68138777 453097987 639622681 73379303 694533503 430794899 384716605 5843741 919946951 308126755 861391551 267342771 985433877 452365227 297714103 747505327 369162677 792795015 507652839 395965703 768380953 558881915 727880625 980191377 455682267 800724663 421535017 775976207 70769343 817611981 705962243 568507177 773589427 282141373 260222623 721541491 36434375 436755693 836781063 605053797 982078521 201954085 337941733 498930785 733860969 980104609 672541077 939034797 215247077 639667193 885224981 979271807 436660829 147531317 113454859 887274733 814849713 422414273 292049609 348923129 608408033 6048371 211447361 584730763 602421527 996064135 682521625 587334519 968879019 868412069 274410899 36927093 920818195 301376727 828003743 8652837 159448311 728810901 631353815 802949139 169287711 610206137 610792823 769752493 812827005 249717387 89173097 296999247 63895601 577472185 338354747 277309753 647324027 810004309 715190051 546421907 445060039 336130271 997056259 787351665 34091433 418609723 587552865 933621963 88189657 424443319 89726315 472799617 978108223 797054983 894235385 269451103 651604451 64261449 179475851 890574611 77968377 156516353 548518473 45524025 747415005 257264159 114608127 522686543 943947793 663879671 867376679 824413123 191212609 962335557 161251809 102954209 814147135 650923055 246560497 483701479 72457481 121400901 179269321 529069811 972052929 286022519 744560511 230480657 655341233 296802085 576501971 492346671 54776397 362385173 809617195 752996391 629030449 351552117 171580567 660313789 982192673 931242711 455541199 437191831 109408005 468241211 17924913 549097289 168986099 63108355 477419461 303525193 458977061 934034689 573994553 529649915 259305727 231433831 221543399 325113257 398996235 427726801 891938251 853133441 547718397 853054025 344866191 71251357 250665393 19032121 324183681 709950209 782305323 801217653 906256023 941471635 216609427 184037693 217032051 739185703 362959167 307212597 352619867 580126323 990834089 477263979 142900797 503051291 381217653 399896403 475817137 810198439 273300335 743916493 32175863 78330249 11585159 787533851 601826295 684477211 527968989 514014187 70515261 567739291 503270063 985689427 607841027 569446709 405581165 751186895 624036649 758173179 701743271 652816199 499076659 111309539 676495129 958804229 659679059 413658833 338769831 168372417 752873567 832025997 529011293 762001301 816141525 802662601 912752493 415107339 684648161 723846429 491584049 664526859 932576845 797833995 461654575 401445357 132769169 12683773 895842321 67078511 542381775 906470213 158444201 569005493 236316365 34562841 474104307 239674701 402246139 391153565 24765461 871301931 120431469 171322329 512115287 918100909 481574375 509233855 965687851 497014169 955932365 970026023 589998129 659833115 784053549 504474579 335111977 630271175 668829379 49007725 519814399 685828255 203197673 279582341 773403077 687171843 674261931 603820437 106560185 204117443 138242741 458253567 187829563 801812757 130414687 963258635 560729049 79820947 337146025 151959019 687018821 585305669 126095419 30699703 92161371 89230743 419102561 743673969 409297437 741797985 723900181 614716675 853200567 627366875 106153463 105852477 236884605 200989615 375076683 104269017 406275047 559782633 491358211 491663737 304792477 865242363 705988533 891676579 850436967 58249415 846621599 272767693 89419577 382152593 516579755 898916685 240594479 126695941 473967465 415496549 681954187 272117559 645716235 290762303 315238843 237392807 767712373 396627179 530242893 702685753 55946797 718601571 451713537 938287419 528813667 489774983 694432697 223621987 994570219 879857699 502075775 990060235 108023113 216985063 675870857 619797499 298075551 281244267 932404527 513331423 42193857 185225009 251422709 366316493 154572579 78491297 724209799 942234241 415696615 9500943 230211769 939743523 364517075 95023027 729270149 426041149 627243093 154561965 769799695 338175687 584477573 894884617 677468835 656702749 691643939 939885493 25979825 681072131 144482453 47662733 294508759 961043111 18359533 295186001 159517145 958048929 196954079 744233131 719151521 254644971 564585931 121625899 797244737 451101931 261098937 790500937 203530485 822697837 799854169 138194027 883483937 841875371 627299585 207256789 924319569 408238141 508189361 158808765 897806645 766785577 81266959 119526455 412852141 292881887 993462635 967397705 810160567 771365427 517403579 781823195 966792067 485251937 20731809 244754363 131089761 778226705 911597923 689915303 646967501 903508557 292949233 244106301 258477933 465335435 965054175 857488905 675985927 153803947 926076271 503501689 74506643 928432367 168662921 18874857 278532651 568322309 345592763 784241815 270528529 110421253 468736827 271809969 32493743 588682855 189183211 64312131 709386141 226951957 643705935 79947 168469905 287909467 71867033 585007015 752993139 587906029 853656481 364068641 174257995 982951655 420540643 767650413 17814861 514865875 551873671 255949855 547144915 313982619 829807709 360471229 983145315 362636179 737904349 532441517 576022439 306167419 116290087 636435523 472851571 468415609 666872063 716206773 716882369 860655127 479881175 153962791 932026291 221694539 548343747 409088161 537978775 877713267 978372999 107423765 872581855 73338965 951465607 429277533 634648615 909225757 915838419 146885175 285173297 877006433 84791075 137653585 694934761 469932063 117990869 607871287 855425123 764306105 989330929 80219493 537231321 302643713 251698981 321056061 443199151 334587943 186811849 429597449 928068463 644588237 151066079 423785717 961477325 619320823 265228297 994012193 326968997 35025167 687727771 89399177 749607673 206942191 337438345 519854361 527400183 628169167 424401013 101477027 616114669 205934169 928078243 574775005 635101277 789560985 842747653 665679979 477301987 196137987 307475507 479205077 245243729 223457141 807238249 412182925 129063317 165748789 609338767 409332459 273880269 850457839 604538677 232650033 246298685 848761529 281473939 386814857 257825357 456998415 333883017 297984773 641956243 748447193 116277403 318312347 401566665 792952929 44658169 193910575 293876435 536664669 789844349 832369289 863888317 553291245 565720485 333834329 656839097 332382611 899133335 508770365 652833057 641640255 406018083 920798641 561544313 486653251 795152063 243113249 809167215 866916701 469545101 549572317 919679443 460176821 453426515 256131615 208348323 721630167 361865855 568816649 241567487 563529143 813861931 994854563 332784947 509277363 287657491 675554269 827234741 116415631 638987425 788312723 719190047 259431035 636196321 200177541 830901297 437709835 169937039 450299485 246572251 514175547 55940869 102332075 96420141 109398641 151041615 520178921 754347365 429279611 528565529 487500153 14346211 934342797 409530043 158279587 575403573 47812679 60365365 80710295 108016141 960096171 676044077 234997361 629721671 576447271 468598003 580789553 786989029 849575825 532979071 626597313 634495761 637870887 836721 769650929 224202275 161507979 584294925 51278971 257648787 167405519 625877059 545642497 103015427 69713763 677457325 660690441 903057217 385876265 530651785 269368585 787693887 653893475 167837629 755719767 686443033 645481921 98173913 237997877 614416401 234971733 240000531 506111435 225207955 489980063 424970573 75907629 188983091 874373763 308459277 919756115 854507689 233646415 866386049 749224989 158999005 106255031 428861827 889450583 424298199 82759131 125782415 390480303 728774603 391181371 236606157 625002689 327928341 256823497 878048527 854477837 74956089 657291993 37449417 700393211 977263071 364371241 113833501 338680031 655205085 69218011 768953807 687344625 70638125 194076287 604630097 202218577 536225777 151204107 803247289 564957451 668209529 983214297 978860999 718743309 443361331 633127603 127947491 755909171 361984701 946043073 911522073 621836861 793625051 849038235 373157923 896297939 626513781 185621311 856396127 132129673 515929505 33162769 757979861 628393685 79494041 510433245 649196597 58495773 357557953 634333403 511278035 230454437 324300707 577584807 830108595 999876001 774989557 714148167 923258489 946854699 198325903 392533031 458178165 163019331 985843831 292863259 982386333 287938257 262707157 927002469 816437139 200502953 756935167 20749477 325524125 808241793 834908017 433695723 343737001 865732349 414288075 293209771 130993489 668302247 314141145 891614149 229754321 587670509 428594833 454624891 179871761 610787369 941428235 245299579 275488675 983155871 629925261 273726939 485030075 804667509 19672449 321929751 171993915 458997949 124997753 656929559 514392487 280320883 778601523 941960487 319256113 903283829 21684879 803502841 492275631 718515853 833754779 222613679 341673121 377075821 78364551 327055565 442537517 802966959 3143603 284392765 257242915 131645905 896872863 828272729 333527291 633411391 972491511 510018523 288395477 361632843 414104461 468709865 103394421 570696235 302435935 101323793 965878091 172374019 170662029 707004999 191209329 143377883 482493029 626120169 46860451 721330597 857654361 679794365 374966091 432513081 464915461 423555567 311747447 66084955 721771819 186848021 459154911 245693873 309167287 418919723 574971617 608651725 104494523 907316633 141419395 694063401 655992949 477089577 564187767 782173223 754225479 619823889 423779093 579417615 248189883 160657393 393356889 326769683 78750085 273216203 558745581 757489227 360779649 183190543 242501917 209793211 673778865 144109199 940650979 990496841 96126785 490830475 858155999 853043143 396702085 29584039 739710293 802206959 10810615 773048559 905852471 584148323 255737145 669883867 665035547 720824235 623984411 497023303 994071105 679438391 42471307 672163193 148541583 685941861 309827751 773462045 75628181 527419761 258153137 558281543 30450059 162224519 960258327 463231609 20936783 152761527 520984423 472803731 146785385 657377275 134754915 391542245 447826185 817575989 576460007 656916771 987285509 98469163 614564101 501701741 524018907 79717011 788059371 162048325 147357621 974510851 478633463 205399193 380737633 95408893 644653485 305673663 881432405 50942955 975269557 286430581 533853363 274092829 511929829 312082653 630202689 90604237 887409465 214334601 671761773 340739869 206189777 459837291 290916431 607994643 652917241 396920289 848786087 628743589 780151335 153352367 73785309 535493801 54047731 367972869 669775615 803246561 581479459 307494517 206508483 302918135 161730209 695191039 903414665 574142331 948152191 397943559 532168281 297330151 187020793 372671323 96622563 937793691 928170355 166607663 795543165 156281315 584600697 433552931 662472743 21679085 292904381 675611703 27269511 7245269 126059289 734271197 964035309 686817947 562972819 683550697 3242833 891289639 395405653 754486937 905734993 624774733 757024945 474005135 452024885 763028421 222352165 287586525 959556333 432466737 120505681 668394739 346147599 408569879 417560835 150593971 655320025 587469803 223499309 92564575 283943221 662338823 899380203 930869669 237303985 148173227 82208637 211104413 482798723 62643455 917575507 240099777 253985421 23686679 583474175 32214519 239482709 888448747 961361723 470088075 189342985 352539995 331182313 764446517 317303425 267109939 575761431 538579217 61276221 359623201 777876471 807021477 604139365 564888257 777263845 155683549 980751557 848693649 700168035 508696847 147387863 771977983 891428637 237712375 401763259 200341337 324465127 511867835 618186805 429855191 162098875 541263337 715479735 302986653 990784699 384460407 69058903 178090165 576702007 910082751 496898517 156021517 964552093 543970441 935792279 712805759 13281931 163428609 426156461 171103951 608978627 303086527 665875407 317740195 812965681 452090811 709212507 446073999 118743273 406127199 940951897 900100363 962722853 992413301 112903799 702750839 584364873 350559029 589952015 718741021 426638303 631984443 478792989 900982063 199013789 887628685 974121291 661540805 114829659 396925077 40266215 690522595 809541149 864357165 732196583 705376367 88482321 554893711 728761325 270797373 541783431 518280801 759990079 688289027 921637883 346750897 710120139 35258469 666656529 704212467 753710377 924465899 539459987 196036869 309830809 94048007 998494327 134281517 143430147 567809555 184253397 351610391 519952371 837431629 755223027 431636953 893647267 925642465 304766521 665923569 180210163 822084321 584367677 540702785 534831207 754313283 587310779 976774683 264050225 997386731 104472723 685472559 102084391 348386721 309654993 290670239 471833287 452623127 966306475 277676013 817253179 543973605 522425979 695680009 615296083 706489743 739480257 19995205 465652865 24693883 75941933 658408801 26473961 281037051 988239759 700090497 420696401 385765193 98214629 27971123 499313449 559829895 108757583 279815531 121748101 55499453 231257371 112918663 167112745 889356765 46425275 182434379 340205943 509849791 632111561 65753831 63252867 73215269 269303563 866362607 491726339 53670841 625201771 393221215 307965011 2971915 903221245 205644191 466936959 734578327 473361145 285277305 462501427 573448633 350454471 559239971 376594887 862439615 12544495 650220349 911227707 346698201 197173541 351301833 868192055 508812319 348210755 686573365 514404871 550487187 64750415 183088215 218932901 149951263 901012339 131724653 529871793 164573075 484962819 196803099 597327471 271441577 653323129 877750125 220240337 882975491 790712951 37189851 426137965 164706345 794400973 279779649 308619905 283763083 647929449 546901987 922061559 690382725 783885929 897308017 173164637 445559895 530032655 417965311 155489515 124872491 556861895 280361225 825266815 731620625 691878437 417721461 815417249 624052227 17950435 184192913 824488065 811621859 26602469 100030737 545615347 114050423 114385461 933762835 52422265 240640373 40116999 307700253 363385147 803188595 868746423 690799131 336437511 946690291 912716745 885158755 379298131 27352157 840280549 916204467 672885057 415906309 700014817 878456111 545799831 772094755 969125303 277502307 671946435 474853593 592874891 553005127 495534557 73909549 703866023 626357557 268942245 414749717 765254017 402827767 471769729 550229605 135305649 329357237 703325827 729755363 657319675 925814791 652784735 69372727 602715213 58215403 900563573 177431281 514978487 517392069 740935629 153966731 377063029 192158563 166859543 516282469 295627755 980293369 81222057 510247881 275230373 700309029 939585665 265199595 126143573 26583021 600058187 750449375 159524821 914132157 833338193 616434859 723290155 860450155 562726539 749410871 765546367 753491507 381931675 196384849 931550759 233331643 321837511 542070455 216406943 485176851 470290431 658550535 365211015 643794859 653895127 346687949 237680813 742956645 565914513 340429175 884917251 122475651 650547221 545145697 34846115 901494195 6864369 358572745 627955155 966680075 186749019 449197021 872583165 669097225 660798517 607663785 858178995 48363665 503039235 179664939 659703219 566862319 617286647 372944193 870343389 278242523 60075753 152711095 712515391 802644081 699137365 971170107 753838859 478311991 441864035 419724391 621704093 823034647 902417635 257195967 724449911 843798123 59309133 218494633 954095173 248840941 787661249 272780921 228389849 307771331 125714435 178927461 392921393 291887483 760575363 17200529 190706285 974033675 668445019 109812229 72066269 796161741 86647881 959157685 852969455 490430345 3189683 276667509 195402815 20092779 289290921 838422025 856574613 190434057 670373603 188977949 82320087 644642911 494863295 373679165 211688729 434961365 601818435 632466663 11427993 116203317 410358563 55892089 70083769 822601399 125212081 492273981 182164483 404582391 121949425 239079269 751741739 340126969 671775621 512401417 682689549 725620013 880768449 940669995 384552621 148932709 42424985 269520309 223445043 672354785 799893679 215653497 137023477 281114949 295408967 234667821 853139053 801708447 399610195 791180405 699092031 405130339 848273515 230168537 253502261 339998319 619404745 467869387 385779525 334888201 808395611 87252387 59234695 796581597 911064747 769620133 39957311 292119809 917603315 862570743 481577691 404477425 345351441 79712683 332782315 390485651 889791119 774032571 766282539 953099575 249513623 368067593 479996287 122491533 701241861 230463581 942505201 801165495 437117271 86447721 630279863 816343607 943951283 742132677 759162153 507497723 77139945 108941811 734211789 107498841 655286639 795663709 74244427 225396495 819363175 757028435 181037691 498018881 848403863 341446159 211910995 319387773 590013293 198751155 637884665 331132341 200169219 12326727 762503097 941198155 497827349 929215163 265034245 332792067 44807437 910602477 10151799 843541001 592868855 133006489 350250965 416057841 918789007 450873705 683040777 34235837 44262959 739947251 518240037 936242381 848242403 106053035 941285733 434415601 360446039 247160819 236769583 274996317 415646691 315667223 256904715 223796911 4740743 776310343 347740587 775225837 938682857 932543387 562657007 451971205 645475673 766471445 382315223 374985545 782936271 316385693 262198159 689957495 740797929 228882439 267345769 983142583 765289201 471071755 598833123 727341075 823039953 432225099 708533919 199437571 960494885 167594061 826459237 819528035 842364203 781111175 780122159 999973239 61466313 319046223 286216721 615545583 506055311 218594791 67149907 377071581 732300723 232554103 257566815 234416065 33786135 689089555 559225801 187714687 547240513 399553971 429654859 271608677 613802591 684337209 951260105 494023207 32568651 931149163 596919629 701729251 960152705 735055613 900272651 716801567 913233449 14286217 389191519 565817287 58310677 373832591 685148875 222128689 55325369 716289657 743907579 616743961 817419831 731028885 857086659 440328359 154635603 172184353 391078429 16288357 402306687 346496317 837088045 707031625 519939281 691452655 952843069 814718131 135208713 713289003 120190401 119359589 972881549 271433675 883408215 205261199 657789551 13729935 481558717 866649795 136906851 458402847 6625761 816989697 590535625 997640463 243923159 584826283 759295657 111054551 462152409 635349907 937440435 352515799 450362187 547549675 45824571 634935641 315763385 337516625 754831685 839928463 327091155 812444363 96906869 294468499 355553913 989418691 570243611 339185509 443965097 288831507 780217133 234025453 367526291 301143029 912296013 750358271 219101831 971257873 683327681 889121105 204426241 899707249 155535223 197898119 677717157 49714059 513962505 123061547 961527359 514296637 941081011 175956907 259732671 546110413 601858141 41788257 349592901 1849319 432850329 711749265 448555281 332509347 547488155 892247137 395646093 64320121 837669957 921191397 638125647 277973075 875074075 411873043 681581075 325535355 172776271 516058063 202203577 416027561 902256823 895589601 892745295 956381177 731340499 499550459 42282247 781072879 94267593 272950199 90846267 834150267 510577513 724883091 905049713 556230895 306004523 158083067 435648339 644709899 952773165 926809153 34999987 213211891 971633463 728774811 709560207 926253877 198398137 641257517 516376841 49932997 78398153 141283583 939663209 442563843 583707941 478395651 769749287 230897071 772137527 367342355 276348893 160464379 117353997 598457837 61745485 415841147 565875551 328649533 347099235 437893933 950166665 339795603 893384243 67838067 873339031 825442923 986195189 489942557 164344373 395711265 236997393 530796897 364551357 242020867 652814351 943599323 766667563 838993985 439867811 39311759 615847719 783116277 879382185 799494123 594923523 326216477 722750499 682401991 116406195 147434149 531531325 900937819 113426393 23309149 679747403 456979793 835518137 771310335 633022663 43889077 978000453 169266477 345303125 754937339 572009747 824187503 222784191 589454337 705698659 767050039 20897017 453178891 370842139 796292317 881704223 218481609 952161227 422209699 103797621 968565583 964966827 410093235 273705315 555174425 954819225 823425309 384767103 422646799 125198365 386160859 982009731 290785403 624296295 548614863 692741971 271584019 435102285 70746305 453315065 14372597 283457101 199405665 823695275 807887271 204954001 937716811 34667969 983312407 652007911 918515967 965569471 231734167 81818053 348203495 748472403 443354341 278644045 383221843 185583693 435693353 980312389 315490941 710317993 471290607 405501467 468387463 272257675 44854057 817917159 116419961 650057791 156307001 653688937 963218499 847918645 461531875 693217801 615562945 594464013 215181137 254686419 100513971 711759237 463464989 110909571 135643331 981209485 768790849 806857331 2940289 57727285 307403043 337819309 266777703 6080955 213305233 595872993 197092565 274793087 846064319 967101797 25896215 325203469 179868747 534499385 646667611 764230427 40629819 856908291 268752061 52225411 208514043 533360915 576017981 295211845 881980769 273485921 781825989 294872977 125326761 55632523 37980451 546713017 41708667 832960729 847731989 761294901 323118817 309661755 730457147 48151981 120261203 789114439 969090587 715333607 366137771 900524091 270827051 881447643 362249267 85087745 880113343 678238115 248610963 814854439 109079069 160216449 831569891 297918435 958655341 881456865 774615713 420140055 806376381 109720661 399089073 257134665 988460811 210039195 544306017 106671271 225706805 894067349 435772517 921029641 23382279 266131533 465878235 886333679 198648111 379147767 982224201 825069697 263247177 982685677 680571801 987741579 770460885 23005367 534018085 205819271 803380795 577771515 186738343 158673301 436907471 309305741 216094023 826511737 731518663 510344299 20149135 29857445 836873287 817067959 551694709 849896239 285612121 181245883 89792601 799179479 265987307 212437739 856073725 304783363 930635993 801592547 704962959 393836739 750352609 322640741 19021989 880009679 476192945 117214559 928506429 651272581 967606741 613346273 999367099 730287341 195802827 182341927 731072491 401032373 458836465 803914643 376038917 874201655 893351569 484886197 501928613 651496559 863545309 647059515 107137231 142784263 33706991 814808323 637776115 354806093 478718661 391377937 767166947 110956343 130897227 55292813 902467551 311548519 342727763 268179405 735689101 351096099 74030995 240903755 356854519 538776921 440002223 790612651 325791891 640207777 370109487 752680889 827051583 184812603 663854725 433519205 117760065 919100943 440938251 293300941 635566661 152259497 569679103 36332341 277589601 194865731 185073805 152173319 656437777 943834811 243667399 769823189 968368957 100699803 497220515 322254939 826766639 353187087 689982725 869545341 993375647 926558701 985251253 623502151 898278313 330835641 927390053 21618155 916602065 226324375 245880493 988042435 846958597 927038551 640247825 408231253 340941469 309732721 730942711 38770249 781287251 949359875 72994993 56800375 622350157 200210389 73898873 418597845 759669527 375323223 130177393 680376971 295825833 298108317 17865121 749357023 691632991 418244715 347047163 884325193 232433919 672495651 986855767 395821411 826246325 978995673 915175543 194103535 780008215 235177283 212576517 706862553 361178145 210069437 335258515 241682483 365024825 228342099 572588439 393702715 532671277 460410289 200355443 346051665 153301811 602204975 957900403 249972739 194769381 579550669 33678791 822685955 107742027 978622515 585245575 797871917 253745875 4044973 546131637 317325443 830239823 606750773 668946747 117941297 162242303 614485355 464007401 263068041 469616773 420153747 161087097 115546377 833928179 288842655 201670285 432542547 687354043 882841379 810085037 249609777 581204411 739741027 422951497 291820439 495145015 344318019 24343997 896587425 113175263 116430675 85766985 238764177 970748101 15711947 791963159 570697683 541086313 484148361 231837495 286627067 635150001 355118869 870807203 155672003 241671655 7894173 404339773 694705679 499644609 243590139 66105547 352735465 758465885 606162859 249718019 951978887 71068737 662808791 547080827 465172545 879310681 884820557 347741365 405539227 914972411 233207171 216834585 731986241 584380133 27174299 104083707 719830279 322274617 636694617 464267411 719983079 533875081 52410161 125200387 678416133 859051461 787092533 715950929 72383149 554376527 852099879 594692211 826720591 889402345 598250605 706663487 442624137 314540227 983672857 688866679 195440159 301859183 31648479 822354883 94691065 757927149 435971871 11615927 670233133 749204641 277893089 348660939 788294647 620106585 388502485 870651487 694492855 181346377 904009809 250218687 312738297 852123663 119593043 377340697 524357491 198185905 812787077 902950281 953397245 78635931 761137461 762455053 892357789 346990241 858123099 70352787 4789117 674464005 840355221 836199145 680919791 522779495 724638251 447247303 623898735 779780567 603601675 452486099 920391075 457658571 242638031 945956753 560388945 899172893 162966451 525187445 563951729 592822805 888984225 743741657 443324701 34788961 649063463 198477053 344153493 582851347 395449211 265926665 44788553 225098667 614369663 239641617 459034571 980315147 470295479 868899339 924278739 333688197 308932949 548700379 216233545 211382731 700498479 243770955 106589491 592080891 130045893 377214473 720276169 941221273 840425023 500700335 778848869 419190165 700774249 334934209 755208585 530161475 264824253 97851813 16490209 104863583 351379801 110878383 760969025 11697935 835007239 930125333 941697697 115457761 960208177 314980859 683882793 698571721 101378803 4428139 885685281 72844837 957856523 319584083 567070461 317973691 312541919 970198925 643263577 536042425 362938751 422561757 774559991 58202033 917380259 827399913 975850691 775447713 209171881 655441731 362252753 672370417 915860119 7497831 382628187 47569003 451134241 278138803 674891971 305036103 737694105 399695729 690463897 726279457 342304769 270379987 151613835 70203389 124224769 660767217 325296503 238677833 771099879 482730703 190808159 86272221 329919657 148433491 836691823 731314675 316195561 761204303 701381115 103953969 64609003 265327485 437962365 897236645 102811041 463104127 89254809 743724227 888747169 764904669 49743643 917071721 333946155 18855945 730788083 919562717 299947303 392730203 315421247 534191817 601998881 232865303 187184195 254667591 851281491 379237987 853905767 971028947 745764763 929955921 888869953 328341839 13813377 982309339 371792523 172111883 106609461 374963427 232726057 265927357 530908301 281568305 552178727 693696895 919577353 485118583 72974261 510447833 977138639 635398477 995910963 233266361 100630959 195629621 919853343 614972273 800435743 850173337 128635689 352864961 11790401 32123849 232704289 507859149 510329819 86389759 305474563 2695457 406002779 363949917 796771573 487758261 867038683 610024939 777187389 417906661 664431127 311547803 164876883 712066935 81583993 768056133 45230799 617181589 431238669 852415915 249324919 800593881 84778639 373903991 549748021 437922109 635928409 157009209 246155035 368454439 908753270 391921771 402368359 732527717 948412309 70886509 103978617 8409133 768197387 140903051 615744479 839546649 135874777 664212469 654125899 283259441 325174437 175791811 578208151 715850209 744418751 713367287 800236489 190385919 555093023 437230969 891073035 576373705 349851491 38782237 465801393 872050401 843186133 575610779 32727859 917206105 254614879 138976405 519159609 488801955 9603741 778394259 120856459 73732507 617907661 350960645 936040221 417698187 689387987 341780551 961728523 544562715 318120259 842654873 543907991 144572773 64922451 918355747 281321517 908475619 84512993 687685625 986017375 277871739 704962421 972591123 960566763 746756475 674488381 381735507 75589043 450953623 184787217 502367871 941945793 46568941 830445939 994624077 635393609 249927683 973810053 922026577 354695335 683633349 55017755 154796817 587878493 540160905 546246313 359165429 781918745 669848331 160368209 334549069 308007593 545435761 960703703 693077073 865274381 673749067 63985837 832545831 694187623 414753161 151545065 352601299 923154179 382834829 126188107 342140745 252986705 936273945 899675193 767117155 212189167 204495963 373999557 902546145 446923679 710390251 339101347 103725163 297112655 145171137 938875443 91231381 226232335 426006343 461337213 577220311 531493915 524133193 121334063 564899985 761557463 838032123 335069347 346733069 245153229 591379963 889325271 254877567 668501171 513708621 738840689 698717179 467814497 237299553 546985409 693924487 512905437 644507915 485402557 739269385 191859023 334440583 742469895 557372245 94421261 604374907 749875941 93615137 358687889 358562037 854899781 680464403 568199297 402197611 374862015 108654767 68636835 442441399 472971669 270812009 577076463 430875425 987061929 521047193 635593341 590605397 869699983 326910595 988026515 939269993 719914619 914119757 580981659 982867163 144201039 331091211 194366503 742999949 501216911 863002291 991207923 281615825 17917037 627992873 626225381 904988249 927418303 535179575 483324931 203016513 718729989 33271691 391066245 735679251 662466405 415664063 353288389 667557815 609513391 469598549 631303493 891148679 914703195 841053881 807239599 78427709 780139911 672091703 851305947 210710015 910374395 466395915 651003583 742430811 426610215 835551319 819253635 4374341 241726497 282841635 29713519 435407899 440641959 191766113 687778295 327914659 607927587 573886955 924488119 423344137 426611875 813686143 713796977 85083107 868261599 403546313 92350993 73681709 796910131 444400987 141366441 788193103 88863659 519558059 672175991 724749075 595878899 436484125 67808475 209842609 494646373 378212345 581801061 911134659 758859261 715009135 339301827 904608337 742224483 833824669 961346003 215088073 89516777 684105087 316742551 756933885 370910083 38189313 472440123 791263789 404660179 473075443 669184275 818815485 487310877 931242255 647792281 76786299 137874003 60419831 100162927 98739227 575516939 770977075 36657251 749902011 381749381 206954037 843642985 574511263 460944295 198322517 588015513 65708407 240043265 152458197 222628919 43583831 364824011 563423199 240840623 6676411 45309155 50648963 604073365 390453897 220421585 186775995 413668515 432808719 445884357 101857641 819491261 997792515 360044691 955414613 867537135 993975167 537300927 872128047 621483625 543118859 677646701 894992787 771852681 96834451 635489133 78690563 276593619 554500461 867840565 101120995 263481839 43133015 856028135 937112457 496809651 917468021 256381769 198364205 533834267 871725907 583431369 804337 782137415 356462313 616653695 604814301 843575939 476901523 930755115 42549985 207498821 176392469 904192053 324427993 257490981 11697823 953644713 323055493 206085865 361514435 224752451 523604879 510295673 965373569 586201437 827198343 857532141 43247423 607146241 895070439 286440827 329186245 938916831 910263055 535528841 671596623 548846669 171867211 622067107 277029493 511204939 890893001 130137723 706867775 802274431 468806565 646759403 156259097 368844601 355744735 772267001 370311897 880484209 466496353 692064719 84129467 979567557 48748539 122270399 142618215 754061181 315367013 266717511 775576295 904722313 67248453 516786183 969234865 323390333 382378015 659189453 417524645 450314909 968565353 468704651 916549637 214660813 380951671 976031579 304598401 961975197 602296463 311275395 621749547 840493891 847147993 360675437 87561603 463996833 990835045 150392493 723946349 679371579 849428267 495509499 998130487 810254917 600093457 961258047 808830357 650953105 446679003 482598017 229510309 170129825 199045693 146217973 232884971 986084251 931587025 742804215 298813527 788819537 22212119 44407817 392212285 766298423 164929399 506802391 299578713 554720623 549956165 819343669 260269265 22483645 406995895 480501277 491494709 203031699 980804851 480556209 77477493 965715207 974570493 811259199 92134897 51547095 606108873 465402939 372493679 974282095 121539121 264013117 375256093 882124761 543855347 897782281 664521613 224105423 920242877 920483723 440373951 28602287 432514843 175293655 262674197 339543169 311984267 943927847 384441185 871216371 460581227 179311071 640421077 705282143 852871941 268233097 885203469 851102657 295998091 431676635 287398419 849800899 604822039 783952045 492893009 25598643 332419495 234635267 189129371 580268423 107616297 708352265 531917361 561462497 796834409 467179539 81303735 432654597 970789411 66679965 836013627 403988967 492929785 896331335 539323697 630112793 273066869 240186333 339380601 629363677 385720837 558500949 506256725 100122137 593786883 41696711 690556019 128653151 545401009 516203639 93956841 751249635 220753467 52226003 430421555 973765509 147696813 184648555 119439417 914970831 736768259 144600059 889939525 874545131 199310367 359636073 119117839 372793013 441035209 850496699 998303409 229204651 467589043 202417961 383089587 536893427 111959159 707748619 315887107 661750877 722309267 809850855 37741299 597744225 996911475 950510183 264529219 472942109 109138535 854992221 392260631 285615193 497207209 170350279 218463229 380264837 982397275 867805893 238323689 719187125 510069381 959471269 231021625 63494829 525464601 296100313 459601843 980367055 307128303 701949179 840855171 207117871 957117899 853989073 627068221 114834561 674122833 333513541 572776419 953302823 215322137 871093865 573109461 611375655 499524759 663552379 141564387 345772335 101064495 65075675 775840579 58295447 522928167 347446295 992265871 522846303 968145845 372737249 309870543 67355439 236880111 673538069 153078895 256841043 239772887 784351157 751712327 856240581 843139415 305294061 874334863 96768291 566727743 346489617 761357553 129183927 917151817 411436699 77330041 23053675 893783063 642886701 991007897 619103963 144782641 343216533 524238387 723250245 728494855 412676807 785173643 505403279 570663415 974392025 838648395 374603849 478900797 118459669 700945549 385683627 494659331 790782945 406685643 413347475 401991517 133460947 328600811 184232073 825477443 415586469 761243195 406426811 604890775 984199225 770074225 554678275 455526945 147840415 18352551 45492445 625548945 85957637 239504997 90738291 713972611 50479561 25106071 340584339 592032375 502987117 48761491 379675059 952611287 485056671 96151061 490723829 990318579 819688239 237296965 788149789 19013635 387327513 68343725 678432157 15929645 475180161 776262981 148887181 832467319 544409777 116066153 180150441 862550225 287414559 232670173 692195929 52147223 716711267 495562191 325241261 369529865 488229697 141084887 288875357 370610767 742707623 615255535 945242569 284661885 476983205 926124157 895771125 367280395 793001335 741998413 768076947 573527129 221818241 667002777 966774009 721544627 601794383 112353785 489265189 391182407 290606737 186067827 359548353 293587505 297110055 418083959 594907931 14039921 195014415 739636697 941326379 505576175 985383289 903140821 572968079 646316415 124360117 718109459 717165199 219779801 508135745 415244701 477038617 649832093 938608573 231942633 414993351 532073813 491978231 743975895 560819669 587344243 943385823 997181865 516537133 24203345 49404565 822562061 902836829 905004847 768598361 280185371 744656027 74367029 132889751 973417035 928882377 965402999 318874593 837654919 272800875 63492587 593357813 508266779 614906035 631232119 815798195 884680377 32000375 985850591 146489641 55188355 909060663 276736215 980605065 963835645 440991003 191335161 326287663 599459859 27861999 126952387 357112477 565500953 527306541 686181025 49007485 104078287 388451571 157391589 100175527 857829979 795955723 179136711 627990035 243714119 658965215 226991207 420121059 834803849 515792523 904324303 522079589 293578111 720009677 131348721 831597579 138361839 846835723 775694501 98538609 656105477 743327829 895356847 493158233 155273815 392163937 279645365 423598769 725806819 996184465 622235209 679872647 576692235 685895659 596024807 318144539 881940385 416997663 450400493 258657487 513341909 676336001 835215269 757595437 478411849 223059731 213568065 670788585 93963007 582357629 406952409 957500639 756660071 496456717 54802801 495254547 267289427 468295353 477329647 168447149 250912259 539249443 369991717 964859907 535995163 931372175 220765647 118642319 853813673 167659503 666206345 812123893 226286369 552798425 460635617 520999679 815878241 534127757 463042887 675290273 367485103 216113395 465946389 258263801 837190839 218496919 253561737 417393477 447519631 642836147 839955407 288201715 894471091 273403429 464007415 428677527 5962763 6562421 309753595 870346221 920640225 533275091 371690941 888736981 904517355 95727893 295121925 973436763 494620233 998899897 859963525 198143669 915128701 602638825 680067797 690988859 465699957 650377075 453806199 370034035 892525961 134096079 892184021 938453765 808777329 768537883 162489151 23812551 345216343 350918687 739462641 723691701 294924231 480398153 504422663 286601967 202654645 33888435 260687503 658872003 495092351 774774297 615454841 322387105 576310761 97457123 375211933 564795433 108995875 967846947 914266813 841446683 278331841 623235981 116503939 274705505 37924031 314920579 442141055 383560467 715301763 775477257 618753835 254137191 668624091 494216913 91669225 237067717 416801787 448872499 637914111 97256883 33154435 834569003 230301603 806227177 438997621 65548129 381814763 459539009 290223423 394567717 901403865 217889981 583269559 276603247 519864151 71142537 721894681 115542237 672431669 44087799 839518477 193992375 778202413 548726405 595121823 405271277 441543647 678137811 562309185 688363541 250252503 883275951 808733141 530038381 817008771 607868427 983879581 684165855 113846335 318666755 466757961 165015545 650976075 804230873 748146411 178132723 86715857 659093497 749533187 165688491 495956449 686344951 28983413 320931497 335090803 429105293 159866255 405964315 249797229 727951773 534652165 852144857 942671251 470544437 530756087 863166565 400773531 877998729 649774053 162984673 759270683 532148209 217861569 491285025 141589651 64836081 156190943 922303129 84436337 36321077 933396477 595029611 35399939 978189457 321399357 838550107 938714499 758004735 69768751 119526107 61212945 116089763 354125513 837029633 419156663 481237703 554790501 370258317 68588905 487631583 546646475 875641829 457567995 288766087 852329769 556118811 464207155 134710915 825026833 794366177 450980537 537008827 973373827 585469085 642230811 536126277 716226787 816489041 827668183 664382811 961982717 313139117 397486667 1729121 757875209 390828811 861179587 67285731 967785891 4255337 760734317 488783761 392802257 48963181 897247331 118201417 208057855 356194149 625822633 519545103 488604161 15615053 944536613 467721995 891861785 744246721 363986347 757155221 892223719 170535689 146566899 736315683 408059003 767719187 888120989 139488859 415354185 598359927 831472691 932566793 647828529 408691575 491294503 481762077 505418357 937920245 257147347 674478007 665853123 947324293 690012277 687304725 523713073 502384987 773424185 549323431 935006011 820829783 22579761 630768125 906022601 380469507 299805779 129535445 289890087 481559435 567012483 49524751 558630663 803747527 66341259 74928569 106637451 768996151 308356121 628386309 400859703 861656577 782860743 68052301 422331381 198254069 809567769 387451415 586936351 62232715 757800309 813256717 190757999 192720609 513765933 42351873 957871883 549920959 451163005 900138993 893356417 620564373 15395971 177348605 979698117 89519481 229697353 394416499 980472629 886378537 825176001 697814213 403496855 949065743 177264323 729710991 842379287 414913337 618331409 443491731 300691019 731708509 307245653 382999485 168655151 649512413 292501537 951836447 668097065 581596863 136994539 650608119 826003465 461571505 217352983 696921767 579443199 735502349 282367469 259325625 381225133 41181903 800438431 607321569 884158741 706625439 446303557 629956347 881793959 64973775 241853921 51995401 227056437 532344147 133241181 690033719 877031935 438505421 163816585 110175961 177592489 891225985 814926113 164129897 89599807 861104737 853386433 834393227 275464761 530098947 147523063 212957705 989310323 284914087 477503795 872167383 744195379 171028275 2086861 255608337 819684645 150817847 780495111 595345659 155800925 50671595 85161739 565948413 474215261 401588525 668758505 976787117 440232709 860295045 336342683 10565573 737491877 970625059 954971651 143636009 871616241 779954395 220693481 937688035 853987337 702503217 928444415 415734057 838050415 720149833 487581917 928606035 632910609 484866291 390609669 739800037 528326469 112870565 645494241 37181325 666310089 948552833 402820801 544484123 634013631 109802829 607784927 341326475 609399225 555540855 168004955 924263425 294549673 576931863 644444737 545631945 944519403 987864557 390280575 786183763 350644553 743311457 757080305 693118781 67132909 442486399 987568215 518488139 377120107 943558657 385004635 548789095 387633603 754669127 976758669 10770595 765000537 633309013 462340967 704450875 385896955 878277341 69591881 840066197 434019293 672211253 628247423 480334135 123450013 3517021 689469497 139555289 830083649 413084411 464672397 252633683 239323189 659435359 424584577 321018539 166676559 151975553 556484861 148166155 205413325 943996671 939128017 429817797 818146897 381337633 959179191 808466519 3523821 858505943 188361807 819396705 759364881 363325621 794570789 306991537 986086303 76864767 958967975 616088633 322795481 155482521 843754545 898005269 753117293 629887505 788684033 145182599 52636787 790469795 631260229 858557947 566055013 396208939 210431243 353630467 160284969 74738735 957579083 120208989 712277259 456657379 623754987 869425641 359885507 434537241 837400751 275492533 383658605 778846803 271829323 992822259 768988815 682088631 403070553 634687999 127480085 908571927 277919065 666127195 307507285 440986343 701016755 524129715 896454667 140784967 676931259 974543579 200426077 297686017 824404137 367474637 897774297 153838209 285370269 378791853 11439477 635933919 906610593 799990469 643630475 351886041 149158055 809520521 235431651 421083353 949352841 550977429 283847849 476478191 98435335 868885163 875384949 892726733 298731721 291933625 249168703 375512023 100252769 318046157 624932465 92005395 489613387 534853927 279451861 835787569 20846309 750751785 656122275 465911431 661481337 931564639 901825911 518664979 504356153 751023481 153016663 965462143 202023487 685807701 174863277 152101913 441103497 926515701 57998675 788445143 695947013 298196615 287121539 996244315 295105663 534133851 976477155 799775465 962702005 969256685 592022401 670808693 618987845 16478689 88927185 6108305 330247353 919134209 573136561 666940799 388186499 324832323 606778983 19570725 375643899 34241727 550803103 181321493 586805861 894124987 262241135 673897347 974984167 418760351 515697749 789249615 8760211 327241475 578566451 157212419 178217571 754797469 25920859 185645257 233233209 710458707 329856637 637610877 235172317 720395825 764989371 422099613 244555777 272697959 267062935 83543631 954284095 408356181 898962433 613379683 16510229 97375355 493403467 732740433 278015983 866765443 688678197 399384887 446458397 763102277 476363491 738368221 344381915 447419319 307662563 454062257 226886981 269544191 136738857 344080333 454079849 353629545 436517139 410743021 538086199 337697383 386966117 61189499 754565767 551185557 889507919 644613765 435216157 813568179 303664485 945322945 536380831 613479089 310579619 332297873 872491167 454659233 49674097 609711355 615650711 300923323 187604633 179634861 668890089 388943207 739202897 166748159 651828189 310107693 22021433 972173041 666110371 785163457 712417875 633780267 841624151 729134335 875557901 812442617 389735675 912324841 315451453 954364757 942050675 614190507 482782241 524587741 754783127 399937687 523503965 770812379 42433051 730457643 505240829 937668921 653620641 885565193 262004345 630172819 375189941 491935483 679634093 372095271 598293447 521699829 344056029 768520411 469521455 592861971 847629753 129101631 614988591 137767319 549868629 645863051 136099823 310378989 614977325 42620573 926665605 599110313 232469287 281367549 753132517 629812613 623623313 117284569 381460721 360409189 558416415 766081547 951491445 88752211 866578415 835565583 288184351 65340035 543638663 532527631 17409675 132446033 65387475 458511577 183590969 46560065 749987881 551367139 729261971 235548667 591869255 605375567 161727721 349749589 410639185 100786657 376309621 804783689 404279251 810510859 817247319 731409915 944204997 809374437 315300251 162746037 37947265 940913195 412253999 703726317 565794769 820335173 601219055 398449211 802093789 835020611 507475099 420870757 19926589 559664605 12281563 975663699 53469423 962686067 315388483 876830491 486072407 397211145 579448651 148873975 774187331 157522257 818153555 327866957 548651751 661270433 697956519 657022627 199988705 429403639 271965045 84329393 996243767 59418621 450012377 383892559 264680789 254238465 910481107 227500419 786274577 50583291 645176907 68444021 334614695 277380489 998276629 956707965 420543165 333762291 272974313 918763537 199363427 865719079 777076583 982212055 351915273 845633727 871238425 129475739 988823441 312613367 493646195 623911759 453653309 405003193 906650569 688970253 478907323 970690195 189785441 181474587 509474593 824823227 337465441 490470371 322258157 294415379 789218013 235582967 873297667 910254367 288836557 418606101 881822895 892726801 226861585 975582493 164265385 311657151 8962931 681590045 195378957 291340969 500295589 359069767 836593249 569107447 4217153 801925111 160340623 907823733 107152069 692235695 323787505 890070685 858001311 457951259 246131777 171358349 879376667 506679309 501616037 899185933 504074103 255297411 750798251 156508813 564142801 827089567 462486855 41613347 671216179 413026475 384952537 971435663 558255759 582880539 294753571 523057463 387118013 262432395 989378131 216873259 543308161 38257085 548602623 28966433 454878337 464598685 787321635 830402939 973705553 127238463 666301735 684440383 839973735 255093469 515096277 830275869 274515495 121900249 920771685 252440425 653903833 748440001 59394419 884693541 233953967 127485001 737995267 836012025 257520065 392591945 650935173 186423091 55472659 735351237 460957643 145028297 996047755 259251689 35862037 316408669 844709371 702749193 208586247 412410419 894227999 255473823 30004399 698885693 846522005 460173903 207958913 14656273 933817575 24619747 607170395 922831855 838592133 311384145 416816515 39713983 276250061 53259185 179994789 651527949 513212667 49933895 632117719 501894419 557927227 988306049 382052245 878668463 665936285 609383663 47164613 256714345 482714653 504127821 250231735 36774513 916370583 143551359 155675931 221622685 179535321 445517969 467670291 140239467 292827283 389840819 590184481 5292037 479107165 2361155 552066099 960516409 437826233 866888645 403621791 148811647 936920081 110073059 23933987 802278901 825175735 365803119 27402723 230670435 258716641 770505061 659192941 423511095 470244529 385301225 765573555 100005771 745576755 810095431 899276055 217189915 633838935 404534513 58687069 209483343 967766517 769606529 478850737 958982713 925634511 712312509 84043687 378911885 447132303 987325839 906809919 435680685 674928069 692188937 525285343 242017949 27517931 83451753 878161233 190574607 921856355 196879119 542273483 558979419 861841779 96448905 634188779 730784123 439818065 352903305 838389943 39132701 497366803 939486441 917360797 524549259 477883067 632543663 172866671 5844671 154381107 393718021 841743979 454069847 210922315 98068799 187282233 64172443 602732221 965390805 978947811 349613179 704621353 508583023 164965857 791063949 759433499 261071829 496753679 901699343 777225985 866616571 816617905 498493931 745297975 13046779 895711351 557770927 825505277 547406621 48650355 772964499 730264189 384728007 55215397 557325941 588489671 458092429 34739825 343632349 422510293 227197741 11714469 46134265 885806727 44062089 541958773 710820513 420792489 272211115 858216959 382763861 493615849 272463047 317358025 925919805 619503587 980099385 794167487 861572903 867477527 868030339 982910007 406679689 817835757 373811281 167801069 923568261 241272761 358498423 464956937 88866271 307339955 573282287 287526933 29496073 802119675 401808093 604905479 765685017 513600155 229702283 745569343 995430095 895531399 640837743 994149759 997637009 198543507 643512097 928690167 520244847 755017605 879332197 277512761 188671265 837474053 364321065 473582149 975136007 990546337 546360443 923535485 339069477 253109975 127104157 425574067 265378859 833524741 941714669 489883417 104415091 221366135 496855031 224887629 510549499 112743771 836354161 725100373 756860007 387584203 949173299 802744475 297398027 713335499 610895169 189065977 938713821 59983683 5459657 368055721 363952251 990969857 862976027 286282833 401766701 850259907 296576947 816828417 118340577 386519847 94639669 43298345 957657647 318036919 21245805 701210537 151636823 354921701 775439181 448535495 886038849 971165963 861939951 522139439 27009915 132744295 856700825 847280377 565806139 492916263 563876787 658554781 117443425 81267543 415602133 681305605 842143095 568249845 757851061 111456891 651864233 600788959 338455353 143668663 48642511 858765279 247570285 520913365 867938153 116200103 838808963 336412505 167126685 617768399 614261719 684972595 921003067 68949211 5955305 817494709 181772219 803929649 239943273 122052767 322291771 829397027 428616233 891112981 151800707 102407661 341805857 22018725 210703107 330352813 928839289 795338819 140681425 693823085 777086073 103765071 899185323 171527967 766312853 480227977 83439867 21181339 312768871 236661283 889761743 559216803 375246261 988912817 291415517 568972257 348457321 855634737 512601479 553617127 257358231 726368517 785403859 499617835 688220281 10059005 553109359 51179025 685179505 41436239 359258035 129244641 130722061 123187095 944109985 110849229 151636991 693529561 789406939 738138861 377928739 611171715 740369589 898492995 806159997 730075501 27862307 22685625 245941045 993082831 272310725 397782561 988007071 254149459 773083365 245733681 701111353 530385413 931848303 383178379 101304741 499550809 759727867 181304507 968329645 368950317 968331977 707239473 237732167 559687109 953788095 198022725 618825867 574887121 375383917 77314617 691039677 524925797 552711179 147807799 362490953 16183549 13222263 451827793 309830083 985804161 814321465 69804413 685272805 696573499 325843073 525372061 690310803 561240289 610244387 616212861 693011159 298335377 333709475 249242061 569411047 863503057 547429669 288324645 222701851 28299407 643385463 918109447 517262841 416603933 459195157 436739037 235753769 423111481 17606939 598103543 699856257 932254731 260370255 52575631 517190395 596658719 971305509 440125125 655986619 999125095 547268271 866830501 128638221 366134597 653541807 59635231 709210211 857129341 938655373 188380427 902038103 460900153 327757397 970487595 504022447 347038995 962335937 458175271 444248147 917106949 227397425 390501267 890198105 222120821 999915945 350263271 346526973 398833201 645833179 667365765 69821855 256771949 579208221 129603763 444754637 348628679 12297839 558408103 81019703 865521733 188727671 224192375 632811197 640167763 73437573 941889827 259308895 459151303 655819153 672013465 644353095 54658781 865563193 981242791 134065357 220287037 889839301 743245575 415099239 14825713 796387365 189131609 129354941 316110961 323270637 292442665 426154647 223472023 593635169 579683045 5632233 379400109 809476195 228833257 429786829 68583771 401036423 59296629 211483017 305663929 519266819 43299505 989010311 657465669 664608437 370906289 966547803 442500323 781585187 449327981 155490493 747331297 723974015 683980485 14606229 496800755 277573281 993379203 994632939 371927095 407835397 696788571 593461747 850847795 277792211 109832929 747012361 163138513 529922525 161226395 601008303 812654955 773641367 68016111 886314641 647400635 39605025 794370353 5449347 823680489 742815045 813140377 825020285 693068927 543802991 490065479 439887015 463463539 559325877 84153157 199277641 9520421 328650715 499130501 31377111 578051159 352178245 530156769 153694701 599642935 403503621 910588697 130169679 577859931 601969613 918838485 129893349 68607937 406181377 340854185 974167749 575278029 541156263 149528075 481727529 470664267 77395311 42427487 79079029 534531699 856369325 383358957 690018611 288860897 44022885 744308201 444407319 419558553 429348923 53476455 552698365 24929291 782559613 763165549 353708009 942678025 743537191 66882017 236268035 284331219 562663381 729726101 804140193 382169359 288857805 402822981 467709757 363385031 994736897 952674703 575710587 830188145 843894537 888747005 227327015 829711851 551196961 158642945 93971505 118324091 549243953 76432883 466558905 610270925 240397515 294943767 220084989 993113591 313141283 431357843 664724845 628996213 559721241 481314425 175355033 939440175 554750773 218305477 535736637 86187631 164652967 688521813 528044605 892749549 867508805 527357939 23208869 431944901 395763343 798402129 466767783 568511867 131568299 584929799 738348957 32943101 105554025 337527703 262047501 671833507 827326017 679858795 244167329 463446311 480525393 312776661 580520747 280948141 859160929 304114699 993939111 819998663 356770271 923716913 903194939 181407335 21304549 891481167 414823471 705028075 989027631 557753941 706212085 6984985 181762599 304542497 764352045 351104541 86936283 985784431 817318039 245526413 532229377 186982635 525541407 976768357 681294843 646673189 74685655 373345803 277275087 362892439 101783037 446953805 585866283 665922723 618174193 354848097 178613607 189746577 682707009 392002529 637944707 53648785 450042527 291272917 107996453 666806721 316670951 903130539 988453535 274989341 958836763 60234293 399692517 166799249 546451047 322868659 53821079 369587437 369532959 327151559 810536703 680877035 682063291 476225411 247997703 636769579 744014819 855485529 689249355 707697721 924461151 728723239 449410569 771022981 830604579 20532529 684892199 390781031 967821131 794404647 211528245 816682529 786867225 228632091 467157099 739040477 563522555 433461901 691144871 549807531 741781375 680123235 284360561 191214725 630469221 479331559 638693623 181590859 800268431 161954767 703722003 102671561 405671687 737709625 662695233 618955181 564627203 833716395 173017003 538826643 869037275 996721937 601395231 386323451 758140691 422748609 351406611 433356111 359640407 451120761 92840617 405941727 130492795 578202971 946711973 793693413 96425081 603772921 768509561 448518529 15479157 62694979 868355387 56291263 560126651 456606107 2076587 926126989 101476539 321425859 980107825 709192647 167954197 873357291 978851545 59590957 417266055 574183845 619477085 815312233 622598401 94810097 612547357 363250185 973170323 139343923 36209181 687414155 612716153 471746873 450066959 626943567 453864215 509541431 609451079 653698971 223243257 663186379 680548297 385956515 454384335 233701115 552492601 609427841 66198649 549603379 496924391 769911861 687597557 235676231 732664779 840016807 144768883 213791609 660240515 664647339 393444163 751946857 872108375 430202617 605054179 340958503 425143861 738521649 955212787 801817129 927821239 130677469 500618559 63762761 561421337 3857265 907622845 850141391 186945605 210689345 907457927 508366953 602887367 473999763 461939423 71324713 986283227 518169229 581693231 569248655 419123035 955478083 707557391 201578109 460682707 822051245 492464693 83787845 209467759 743966123 720721033 957556889 634750983 301971975 382283027 417092759 583260443 288518259 209596935 559483843 559357651 931289993 563796671 239104781 844157691 860014023 922652353 717712329 465721357 829494427 229635255 812081331 682133543 214207313 770832757 220690673 505641489 823825447 558716149 659637521 733538363 96057659 793736537 780994567 646974907 227071383 751069167 403101233 130593617 893651501 637632041 369541717 78324323 719591639 674355875 495657121 390120961 832785747 103119391 83983271 333888481 920600141 146922633 353134949 165684581 759311959 316339701 460461123 905168019 659738855 869825437 142301707 742978329 24181089 146036965 488971509 348281681 539113997 668140119 38473371 507937591 137997085 561080487 466582279 324325237 950116779 213664177 993385377 559630425 234027189 648043895 805026371 338043097 495641127 610925863 541065255 674895767 997088723 50076689 983271155 502903767 729146991 877014193 613542325 141995147 578740895 907290025 753435617 868540233 150719979 848663241 963242069 783837521 534366149 569374207 814755925 202354825 493504133 215717481 216888977 262378627 753573485 924798795 938679837 569680755 445330087 397293325 641908087 761120057 680717891 79129157 126090625 572935773 286906685 884097709 110892171 534437135 166095217 872560681 675537739 306373669 124629933 838884805 346899419 850039837 3247265 322566835 556693187 660386849 814464997 617675597 668801009 684290303 651717373 542365207 561394615 106930223 999605839 848840383 147724757 774472399 936469037 27940117 170702959 770850983 63483345 800184343 918358801 914943269 701425245 721495269 106528691 883781217 76151255 512891851 596212657 620132381 450051125 317522751 361649361 894457531 790454349 400032475 955903037 160934991 442380001 875759711 24360335 417715597 663930267 935751355 656755649 772640471 45534731 155818751 577989689 861857585 39051947 237050217 167427013 290452301 924636125 14572633 376596379 310404737 295968489 477757789 670163029 905835469 479160575 663143975 266292987 595574489 400799803 391148947 708308473 883120881 562993309 221334691 127052837 280550415 811260687 740559233 480313789 952465361 196625505 552776837 516563299 248836223 172058189 972628263 166926633 443655177 122959987 854254345 40891265 411480837 653033311 761336569 387972167 396608945 60666239 843546601 393752005 4169463 465806895 770173941 36478883 998378341 967292591 823423839 837652475 269040179 372200233 282126227 533214279 248990271 739359149 689078309 589344877 851091727 811455797 636192207 33273787 182715351 817758369 749568371 679778789 538534505 456165309 76703007 732877833 806190663 154038327 62134023 722986925 7264153 494668971 886640257 200010173 259314221 626492825 979666199 283709837 522046073 134396521 730376047 12970463 487755933 9158255 128707679 562267091 773109603 897710563 944661985 529820155 623240503 465149669 278497303 136270663 486541617 267451009 250511953 232462873 890480145 986772389 768551933 570728243 523422525 213689901 456987065 222542531 702979525 402253783 945909321 152876895 507472737 1538385 228149141 748490501 672312687 955440937 339241907 907970073 972425209 5023447 57288157 119210089 790828713 635104703 582547831 475058217 897710043 452308011 488676619 632445175 238238603 596720713 990711119 436164823 182051427 146608437 834272283 264073017 338387633 816329197 933966709 215380465 343202669 525963359 246640261 918437435 559519029 531464791 367042209 127451581 199514959 49154195 469056581 72089989 61821103 630733745 607023121 410976009 157553895 765700411 581444049 873853731 174493497 541004451 259757435 947173659 314237837 931938371 483093031 874001821 819856753 575843929 635694363 441217471 180057371 865155603 888734401 241144831 353219179 610840701 95467947 632412991 934138347 744497045 768525719 806901201 565777863 296480569 77960293 666937447 188539095 341507123 411320099 119644445 411420569 437106997 825490177 153350269 883333945 181690839 458405983 692169839 140553345 631266205 679015357 465388877 945734891 584600813 403225287 722215633 770947477 825718811 121025871 737297185 346317383 788247133 219694675 711153611 56497265 690749143 932547827 910992579 384434215 156994961 699877757 61488487 466367789 134303869 89926243 580692349 667714023 631783027 173908801 775094833 727063141 81624119 813346265 435734809 502712669 795391343 826801431 387057969 510422321 956632493 170364941 101443041 23570663 327752043 541816057 322437619 644103981 190571275 354189885 988621471 176772443 692574677 1062755 35879039 258510451 192378619 512069151 228156571 750280727 236981909 818483021 34912097 933751707 373183141 576504303 765604259 206290675 647319061 620894257 154126241 842920383 606765495 637775463 460801023 329020489 627933505 718447627 206937291 825736317 955125335 813946559 566331001 828497139 578268545 911406931 780148965 155973609 904196911 822440117 908890713 980507211 434904765 43235075 374578303 355481251 994667373 798933631 122395501 691592747 504757091 163921047 399638175 759196097 754827447 392048347 620858363 390723821 373832797 788428295 229933263 99255517 401305399 5294847 223242961 808504171 481537297 333581261 330431771 967489557 545464219 307786405 739083573 494069503 519360877 12175589 369946123 485890045 604521737 61504523 721958643 719932805 819691993 214289093 432800939 45223861 59306797 172381673 398349911 940372819 631493439 916139373 617197699 701359315 406917679 447151991 379114023 777207111 193939209 314820433 627048863 355283825 574156477 604383857 978753455 826313401 713319715 115135855 981964935 695359019 28632061 317231377 176430777 377119617 370870259 55838017 357001797 978888219 998268313 287673361 583169937 350827517 239997543 120103101 734091365 754873561 866702783 405698729 221117693 110822661 479793127 930536545 290728177 247961217 723271445 403973783 268426313 439686643 14695519 130264357 730161265 90248619 76050631 563317777 196578623 480518817 962986549 861427845 727028719 112265075 756628093 890685395 390451753 206343529 940167255 866013817 467533047 53292913 414051427 329583895 593587663 676940581 603029037 374028155 520565137 993956803 629638435 268153751 183375743 78565167 86433697 266555527 15862345 125101821 626207207 829525389 971441409 535998307 866787613 255359251 919742503 689913917 165880919 457416113 903960223 838773783 999809933 203276575 53298359 349665053 818245791 161612095 46542115 107524649 514501209 109454111 577667585 522250167 905581417 161357809 568829909 598296815 124270953 537228817 642477199 297074851 816423389 160868353 721817731 326097479 691217197 28900205 291741037 443209467 698941863 971773481 686065011 868557449 630742665 28426031 529404451 521957979 915283185 342794657 252984179 245757581 288460521 171537871 26904765 79725789 47901285 507493927 192740297 935837617 707657785 112019527 432181189 779228441 356307243 976883697 767484483 16715725 668638945 503523345 160166977 535303723 473138415 965643195 132529447 600216379 233210827 371408169 473917889 378688941 197037017 195452607 668449091 558859989 603328611 698480647 576390729 748613047 681608343 700948663 572394461 231369207 585290895 577853351 264716393 16429795 308214863 103414747 591052481 222511735 990386365 353999233 657873189 607629391 882301099 972034793 420246585 805590705 704458709 850918799 667447307 980060047 499833817 615730967 567478031 426154369 834382145 261791819 460825893 314626755 346274943 526862881 408151695 851387453 806208235 994663601 313249531 517424769 911126473 193371713 557497471 789117635 822625599 24086073 178522775 394362339 219816287 236424751 676133675 467023209 493003045 768765663 630881157 947930757 973553519 828490537 715215709 439179533 785811463 779141403 822713293 114906753 70267551 908357861 228061277 24588551 986802127 5435367 394708987 342285935 988431897 55875999 776171001 694619441 777472743 608637117 878928663 407948651 73608075 268431377 452425337 299385317 475162683 14436249 368333485 318761229 593349915 67771765 42020519 410469373 974437171 54185715 331921605 115266417 578327925 457591173 893013453 959586515 351536057 761242565 654872043 841145137 255061953 19781241 528645043 450944577 313933879 178024843 743327015 265244005 947065771 513993999 413200039 907226787 362157975 212799549 824428547 95831465 784962909 463353981 455767409 156035279 359643461 590003799 441259147 700892693 475940737 706238079 981035353 809524257 689308457 10203855 598127431 144654149 174503231 840701773 524837933 879700085 847158701 852167971 79691587 121756241 333451331 629537189 94096435 294751265 506112443 345137997 767951879 588452565 888237239 511223999 246210615 321263107 279406781 946928581 823155103 768657643 54649155 320909907 681419141 27787123 893725855 974317957 554416787 393235755 894140691 205238941 507715555 349641291 796554697 643474951 368873967 908293809 946962385 688970327 106471837 52204773 404793637 258712903 978887483 597534997 42757029 68589243 467020157 594549275 979271709 678612925 134715011 931783795 537912637 87488897 909657807 616149831 881190043 468545635 636694607 524018019 464136125 650060007 599795545 922524227 969538827 463706293 284575145 375343873 819115221 811564963 577431399 136098665 400048213 967221931 120905757 462226151 980976811 75630833 70784451 434668947 426637283 198454975 218180533 452487469 478482411 327504011 692979127 648308765 920288671 175660013 639023351 983340655 641990591 242981033 619525389 304025821 77843957 642092973 401780467 779837383 618411473 698566665 794178063 16434225 351248843 370359801 350516525 847463627 662571593 340521441 780678021 391978735 473081999 515594061 331515317 512921499 629107155 299443695 503427261 888930421 479354409 477892769 75373839 122937549 12006807 51929193 306044287 106200731 979677957 275986799 965446729 727682429 16968513 650049545 903476757 656995771 805284873 625691059 997637357 229916995 249562363 590790669 206150471 156359343 956973219 822050789 491344643 330700347 904854895 976108077 374036579 434675409 935794875 139724543 535100181 71224061 59211717 480112289 286986031 340134395 669360315 179245181 251249199 573980837 409088425 131654181 407148537 941860487 598593933 215898711 15965659 913611981 70278469 887441395 932739975 249319759 384311451 687877383 23228447 450043789 812739905 476047813 192749351 746324909 374562769 799993737 512632203 630810497 918804683 500884949 600601759 546732413 585758615 9597781 810611491 382165953 988678023 281960667 310764093 736144661 896372439 341745253 62449269 219398633 642684837 38178837 639887559 401552211 23539963 318685493 574101387 445111313 720443339 641733433 645632905 420584845 108228079 736027323 194104045 528841431 570935077 893502083 846444621 591872417 894498841 979922551 825427367 976531279 318962013 380697771 947862877 812069863 616863335 719073885 839204673 488525079 51422363 751204591 760484227 514396473 405281857 181062891 113549765 93654089 750232459 960625415 145033737 247200497 982267795 653110553 86089151 574831485 578987351 790409003 367955129 255460585 715948739 494206563 161170999 784335 168543657 901748759 721593821 659311995 219282111 762661569 962992313 482100953 317935785 446460677 996700223 58483073 958882543 829834925 463883597 529578675 477947651 241872303 119595305 76276821 78019901 611649315 832354943 702783993 845054431 70888525 598965349 346270675 925947411 599387035 180773207 299300291 791907563 785541021 336874557 233323601 867782237 72570895 502954337 814937517 149302861 121987797 991582585 705585325 448882051 392775929 105594021 63773135 372554415 29673905 853808487 991997501 118276463 515028309 462658477 875967685 8685375 699243115 590072271 372340959 326549131 162157723 550697861 467081641 694065059 830702013 91915513 712343275 821366209 287503559 355671479 864492563 748553735 983174879 455019955 374436665 144252541 870313553 602871371 671420959 847956243 908190607 208295747 90454311 686982309 836703283 888926667 99796581 191195635 336587779 914950519 404528781 843880615 668497897 420581699 680241153 412387921 126117111 11850389 248730565 184772971 301792105 111625787 986564747 892225111 260028325 722635625 864708009 824604253 276452147 81224895 690197535 604017837 516004293 147824959 425295253 748419939 247877179 225467223 459161431 765316223 981531029 184675293 518836575 251430123 71753727 62379277 17890635 521725815 803561931 129097103 464765795 10065885 859318391 607114093 172066711 702403007 337752485 165288223 514735229 807830435 821872671 603911809 47261779 564786175 720247513 902672343 543307267 565296681 545549805 803668177 407932955 18163553 451187617 35375489 127271379 295602133 644619615 600773479 349863433 773853075 587251899 756806247 31915587 137898389 338464367 33844687 62649269 822805691 450501983 95652691 490821169 328102097 263964053 568216595 688092473 802535813 891386693 456585103 41087221 316458355 729423307 462082745 598072627 302602523 151752361 732047589 961903721 959852005 862132875 758999759 389243063 695533349 669104197 259740575 721653991 868835603 477698001 990407135 70879589 750634959 45171027 617912455 548629833 841910885 137237525 831482865 183419219 575406019 977935245 149223141 660433129 948699077 780208723 333945233 540037403 770744363 498022699 407493255 795591585 271440797 356434433 670597063 831370201 586373807 458357481 838092213 890099147 704316631 721219869 109500957 941498151 614644091 44879361 67035447 312212547 477479135 637827617 298424991 888698653 779003191 269869 391305307 344571487 441649053 996853765 723290583 838943319 812745487 516153767 594717927 335661053 133528955 402635843 527590605 76759023 446502061 634577705 567722281 849408883 416878435 213021909 412791563 173208445 195452475 379693035 873529319 142081439 910536383 20837943 137538205 880657691 96742499 855983529 149559407 534505945 509841275 343695713 255221259 217721189 940935757 753699487 845807751 725597179 203346431 257419213 549249119 787082101 55760803 899403139 784188539 994804319 264448309 942463863 326228775 311461091 682525331 134393231 886113045 49359327 3874439 265809111 346434663 855560139 292669379 382548097 591340447 84539349 717856225 799739623 791190701 201622215 410611807 248131215 524650469 906916891 704972713 208963363 251215619 80529647 409978897 888844917 112709165 455250699 227499213 648841091 774580463 468772319 57239297 56334191 496794435 40195967 400475317 154377345 400294529 916894127 506406363 635110193 898305649 109393107 262841675 343947545 797415999 42844923 493142473 62077435 396573569 21443805 865540859 776613059 195231539 348116699 940871283 733999749 572905147 739000315 972945067 388189561 808661225 406625515 657942533 273832967 762584301 460184323 737050569 444336567 966945129 24409411 710780713 767159357 212644191 759023955 69456445 324717685 485219647 393877633 504702217 959268705 920621531 724979395 297751155 406204717 305581939 446917049 93015373 44765741 878124203 874791853 494448977 145279963 148208015 907821195 293660193 235181019 879149207 710565611 275445829 668899063 643915679 290398987 196916269 757553187 679710445 994328023 703170359 655168891 534393389 892587993 782902943 789146947 568946547 177387083 508377745 554018531 512140353 449205771 232214301 440429041 109916791 787145889 64268093 642669351 368030053 947869499 709738451 575002473 175108799 230781875 985399973 349921473 64268197 218741127 227680617 583759205 405416857 235428059 343465653 485118637 274478473 455626115 624261899 953702429 818361547 7688181 650796501 129932387 865856541 13437007 783169123 222730319 729036961 689736023 512585455 811989981 283878121 745878399 588845467 614848817 394656231 106227167 607103341 356973975 534236151 502511923 876490075 827137663 67713507 314234083 606758715 632588937 350002645 41257985 687736527 993040499 1538657 412599873 280525505 192396845 699433351 693195013 439453601 746783175 307157931 979203665 411676391 402043519 287450267 667473367 69955065 968347573 279664779 619646445 823447837 482429941 818480921 301303955 520201347 217084917 83976267 784967791 752810311 37638543 811382157 78686673 216615529 850373829 807156405 912523185 220457425 71014593 506593025 839979693 127342419 73939675 190184979 316992525 514021287 651047305 130276091 134980287 838838637 823651187 66554159 129134173 52337713 738157663 38052747 570646563 446482273 495751237 823584083 85831163 95456601 384901183 78406965 564397939 290536025 19172239 351018569 862271683 824994185 501706913 329937673 731050439 39816701 253217799 389639259 294205195 445953453 625368447 801342603 311312059 884157561 467245291 476337233 930182577 9691437 80353109 25380809 98852457 468445815 371011569 773181817 427415051 878519795 504078105 732894541 973849449 336584991 777141589 387878299 52178423 655134313 28578379 670341663 312543445 878790173 693994447 804891903 706244555 106607993 460616415 40731081 648287817 931743131 425692317 899949683 223171173 120925839 648992083 251472983 643631071 570297411 323943797 512148797 538277149 717552529 216647327 941329489 180072495 752217917 303247509 669992745 682229709 26143469 730255935 246600899 357441621 457073717 215998643 725570691 173368527 571564939 550634027 35248437 932383211 87984469 541097737 989394449 195335421 804672727 471574749 312573363 603171593 622272325 479571797 446707999 541300145 615566519 84044111 926942917 312021577 864702257 172903887 161959801 343998663 757069721 772383997 533036407 308107975 475071171 543746863 92958053 246625429 152260709 518342623 123096401 872213533 275346467 561195697 814719919 538139641 804697221 460331121 657291869 210883173 318856701 275413007 603400097 447985225 85089765 463478187 454729511 924460599 626338683 573525379 456512261 811897187 321286379 670558471 881007289 633438381 288788039 427951559 492916261 31421341 177888901 145298047 160777883 704092515 95678089 457061907 184029643 139381205 640545819 77688975 411024599 295968883 120908525 771525669 65831745 378598243 971975575 858099247 711467001 417008245 673320603 341448755 69807697 566842401 316722021 826871513 164968201 44071045 657288513 446355193 687532869 889415273 845703787 663110281 736360337 100089915 415473413 481391537 687756007 470670613 343504919 275352503 304040863 788815283 473163923 109061139 687696511 131778431 990537809 772744031 170672567 762945415 230063379 575500381 639076827 507055489 655567235 20029177 113977575 948068047 523641905 25722693 218181443 673109365 654345879 481154687 686125241 632885031 898680343 515450887 3606911 230446647 186534137 277261931 798402357 101627047 218801007 961903709 48042461 57883933 996589201 632060857 262627045 479031275 427498849 824547969 606890531 782377477 893799369 623096289 147900117 695363595 458106265 835622699 506013343 919149893 191767947 439715037 738985101 874856611 212909633 770629529 328929303 539536827 706773315 497583913 63364633 212587981 137520641 33499521 244746199 528297151 938667223 8045501 910606337 274744865 469501445 412744991 37981611 443577899 331398325 984272915 39414609 533889211 931367927 498883373 844882905 513183833 350414789 346662439 293455249 611651891 52762113 31725285 351792941 964999203 789188977 437262961 82095307 799461797 536966859 607912449 732288753 747280099 236513701 388422637 461227915 649425065 921056641 914518201 334525167 637646963 233417415 43541521 471818459 174596443 718561227 33575369 623581553 409829677 443874245 660864731 188600387 972289877 43538903 890304107 188935491 907602411 548376071 300400325 288425421 220086447 691391563 458843737 122142121 112825865 650072951 793158853 857931269 784646149 511048785 441535437 552516723 868127069 286924929 342541913 406687219 298352751 870009239 865966463 349776361 780789317 982752779 349439867 575635235 422809993 537385027 839129261 164926677 391571351 920798595 569343649 403320221 658025325 436974849 159328525 221502593 657612465 6546641 761877193 3365357 770456243 185095417 608211675 326160567 819503467 115535969 643343725 5317403 57699447 597611479 421360337 57251263 175010335 512041241 900777603 677707953 465221713 735145413 151808041 549155943 685276071 816838759 411957897 171933883 173589597 435758445 900377243 433887735 199859037 12152371 742299257 473714627 997309235 546471415 824702051 607250999 835681563 843920615 627672009 75951825 647012335 924122895 6271037 853502837 533355835 904622445 741601399 188170607 371718187 922699999 791326559 485626999 131028631 834779951 559213821 947908521 797037055 613072401 392732035 317276299 694788745 316941337 159000145 187485191 651663367 347360205 418176231 756492151 466866925 642461843 134853105 462527381 543937371 789461951 231443011 238377863 352666649 931051399 459098069 443440603 664592791 665122319 568981711 118922629 563927275 401692767 308418681 184282341 803765459 861660009 522476615 466185917 706059449 477187335 457175253 164132667 949132203 942715639 102668005 313005301 608505185 234524135 241866851 196314087 707762489 651787875 812685155 698096249 878175035 691993577 769637663 792032373 769112341 869170645 818819833 816572947 172666657 576908919 172733825 853869807 172387675 807829499 254917989 929107725 325185645 330853755 994538627 928733 600844451 959257081 489326813 808138033 285270777 567640927 480204191 51594313 312259081 161767807 503372317 54901961 928029471 927682831 821356241 975639487 173746471 749375667 951571039 173277855 118452153 213995507 965745811 251706439 743320597 177816129 19948893 429234173 494113313 469464053 55850971 971126381 273778543 759607123 798514001 272874669 101543475 681759617 918044711 146531129 512900173 204732817 385797875 63211255 166161477 172849021 381021551 547255351 804642891 552768807 587355007 331804073 5945651 342113111 387719215 417554287 296920961 431379135 75083951 382991371 774898777 933255927 962963807 280906091 598855307 713271681 68442813 321892837 797326223 762142919 734727289 91794743 421948547 954884377 4632675 757138309 676413229 951696817 706349431 793988187 172919041 351125937 619096795 810351025 321072657 21591329 284011733 885007075 639771679 919943153 82741725 911658935 214016403 773430013 939604363 318171481 2174075 608325383 279465381 981548381 764999053 866021299 194473749 570342595 932914475 195848343 406993133 16517361 315857497 586032685 684667755 936148657 480664521 77232337 545302767 802359609 23710417 622507473 887538951 894887719 874737265 309312603 990025573 198552449 997558351 358326923 772190435 280396981 1428413 43246689 389756039 43292053 378053295 654919879 379640443 473995359 237376709 147697805 365391123 916553659 797519431 230575469 434985415 217883571 199386405 867897097 212901951 231948991 84023795 870407143 420090179 146478779 107310837 238256765 328495047 871544811 978666767 572924961 594162151 650607103 297464529 468589077 771134949 912742665 57728883 553351809 706174765 85202057 209248721 466045305 959534929 61524067 304906103 867865077 324913935 205679589 34419091 608812245 573025097 996485827 644887033 795270629 973816841 777711131 454459947 20509395 294016899 688973683 762999889 948160571 286474515 547713463 372308535 599904413 546362939 411445821 548408921 339552611 935264681 115087297 80380625 417640923 889657387 74245995 585891435 148640835 515496897 991701445 192720275 419159737 710394509 420036037 201493857 158947401 390946267 128444875 301744277 194012641 205317403 482858649 564889237 28244829 802774763 761415263 108281969 548017789 271111693 887156655 628418529 283972585 779173487 52147849 426810435 403121717 815182881 53294927 565120415 391888089 495763551 771580883 170424229 815643957 99546765 466695239 709552299 911829395 428805941 91559497 642661039 954443813 964659981 865896927 153875035 650614277 618983917 423110771 287500285 571488307 504467419 796565471 705106573 742136471 103921663 290678109 173090985 9092869 440871855 169152659 697329047 336612915 667609445 146283663 487942731 56393413 56338375 94624455 145721431 359963205 167094427 772568085 673525501 111512097 545636313 563657665 448766501 674223795 429375641 200466039 51320155 89392191 530064929 2362191 582884059 410627563 283837147 721713345 139236991 271442123 604203353 350383031 703265489 204266197 582101847 250669179 396177921 736146925 793211067 157843909 618818789 754278107 631172747 465018801 15324669 492359249 184483839 970947267 766676081 487568361 95714161 748405995 577581837 790509345 195951459 228545147 548824395 761166437 24297855 148890931 972749385 29032455 962617245 744212791 809418191 378215741 753318581 974904341 246746955 169319211 338889705 311926721 917319383 726171097 534085511 436638619 938583601 841504057 188451329 985334627 585785791 629409315 733197555 823230027 183330705 59184475 297070623 447863783 102425181 676534407 206800497 122527541 928771205 397011769 360182011 450021783 306193167 445969389 164013563 574503901 153005737 766153983 765716945 235479869 130931883 566085565 256578061 446467667 383374357 681622871 285897309 542428195 755217551 53662181 749086623 704364315 920719205 782014827 122552533 104805905 591979155 743946959 552922155 872225091 781910963 518520547 544075765 918433621 726151953 659614049 560936365 871543381 842641559 224757227 559467765 404170423 499709153 559680265 157963933 491839065 334812717 953171757 114081171 289732991 46916961 702808495 299549685 157847001 617350927 144612817 540836869 605819771 770492011 142261693 886367023 180999137 133068373 538445187 432725255 337117937 712838229 837333533 589596231 492023291 929719705 928338541 945212883 683995311 663835643 176917051 70761399 203770925 513454839 306320695 341190691 563006459 705061047 692330493 709118069 238907143 415830281 570848525 346892849 259652771 545645157 454758353 98539519 251607437 674083559 57764761 760871605 280278253 270431067 905187999 589137999 389431117 694086189 45978885 987773165 604863909 732658295 498608083 797455323 963960401 2078453 429926393 74567311 987812887 959665423 972726611 275218849 234361633 552896983 704619425 515161047 607905289 464298241 395791245 722127641 697282761 114623469 353450919 759900031 83291079 528904869 237935977 168184895 733530321 606473429 620109875 938671295 804124699 656216277 904172625 225194379 911198531 993319075 64181233 329534293 288060495 654670571 176183343 48606711 545647275 646803959 531974667 557936503 359344173 851429057 184265071 834298623 839215121 896060391 75948585 629948897 370451455 396835505 548501751 378766491 80209153 265796621 38183033 665311181 330273935 923370389 837721653 585444165 628097923 197418117 9011615 789560565 286458151 32683719 806147857 899106295 901465123 199828457 383973067 219389329 214875023 417265699 420030455 1183789 155551721 927326033 967744931 112672863 642970645 416938495 753341901 733240287 641983585 526244441 439836243 627028117 83469697 792627511 378322945 146568585 807970195 132479259 416012165 16541167 724215581 60566311 34910843 105011747 380630537 93870639 806635617 752607399 104354481 153979815 256402341 201275175 462274767 650728623 139621525 112207735 95932043 706310927 378657385 886813841 989653871 413487159 48745029 966505367 43925361 61685309 173904435 554823383 409745905 647933665 868259361 147696325 959888561 156936329 514127083 908460281 185413343 422576965 534564687 643743031 502081041 254355405 469362425 399896171 170281797 996840063 962179963 547218857 544051679 883384931 995493709 905750827 790112427 410548265 967878863 275829077 890167521 927355173 162149707 164186545 216398109 997537883 411923443 739201013 408252515 8274285 261889249 444369145 942785827 888410031 911667219 739312577 283668015 55796503 307728501 32406649 334596039 900429633 929903321 444308853 890946193 517651065 808834805 869440049 358257301 856380587 704159341 854836301 67761231 573112431 95573961 509906581 950698391 383040005 845190011 291014655 582935733 431992917 622104285 418438819 658870101 562469355 32592685 760347847 610380685 22260739 680735895 248174035 144655577 915813751 52238125 428202333 863861025 17447889 789317093 527578657 176654255 90145345 352693667 19790079 566348859 824161949 260294191 939057155 840552927 484557413 601016123 479487843 252644389 66900927 822842207 604049015 369648629 123667579 566609183 690905285 935752361 838010129 932891617 544408823 671912185 670412191 420294903 674448351 743260687 810325229 514495131 914291579 126875767 230614889 389905647 452105707 78753573 161004077 321679611 340157053 727846007 847236597 184907697 896437923 383492403 905773099 196922089 99033335 397023109 159396829 26458213 929466431 602485763 326279873 369318607 569944165 89873065 404782649 315281591 401730427 947813853 518269513 450298777 873647295 337888109 539484835 879744721 655881619 950974863 353411999 3957933 168727167 622612957 610813753 848567645 546865211 136445535 52978713 855977977 765335713 567484035 531234449 252693379 108600755 614972955 85649301 627456997 420421277 102012519 331548101 75928303 353013427 374119177 909996137 411472219 224547951 687637779 741622385 946242507 695602803 997503991 808747891 777084871 873524365 481384083 885111471 467864767 359957681 568291883 669242379 494954255 54631413 508220783 798238999 814202615 258416547 410927985 428911627 246710177 679177761 122649777 707239109 938447901 128185349 749368853 645908427 993661541 25922825 492657639 949074257 428951131 675647247 292538589 512338985 832824005 261635879 262688533 850500823 835655257 449698431 921659669 870865021 446998189 7791989 227654857 971633135 670290755 973911691 210903687 639505571 120599171 115585903 572305933 912823221 71779521 206937073 434479485 619367153 54054709 181809933 269975655 268750787 947559681 88124903 826517185 105546307 373601323 28379849 213992423 283141169 819036841 671785 92778909 440388597 152317777 299539359 869817107 258674075 393457891 188560111 718509019 967624669 22106893 212208903 422220021 172721433 967432541 527550711 55153605 413326425 412829261 726750459 363456281 548689991 974310461 699436919 584769573 419087935 480131193 728284663 67020679 95633727 944743983 412066347 292400709 438381293 188973435 120419059 956230859 958041753 658525275 662237005 873966061 829409339 837686717 27058025 57665005 886622065 8312431 42474391 344174443 861523585 493460521 309128021 9095287 496110431 620217489 251827779 916615559 18412701 706669611 597563183 756736117 352779903 784472939 512206091 106506121 525125095 729685419 739973617 538304113 721341289 467538987 775893543 62921535 173957691 324928275 400174359 460600177 328296249 744972919 548395091 654975727 663008751 436360013 590154905 511244549 231755657 56441 328856265 993954663 767149535 292428229 735087345 484993843 160810097 750272223 613062467 232540653 29780837 980565601 658075931 580805253 640410765 370422991 417497083 688009295 928664157 455019919 250939533 237793287 859032821 733801973 598539177 170587347 844805917 35657271 594656583 714959681 538727237 172226169 284131209 998370373 853961859 804142021 622363581 229525053 44118421 840844041 105612117 413593583 543210469 801843743 778238189 14839177 18305153 105973451 756504903 218880925 779308321 329195443 41079889 329255465 43431715 217314153 985057305 939975061 456895631 685906793 578250207 785984427 866945811 239516433 649402629 310359715 265618697 267917483 717585429 657848343 745000557 605640809 962691011 573534737 296904169 143586659 350724587 809786361 416552905 243740315 772191377 254286761 4370697 191584253 240683229 606984283 294879811 18688853 810105893 545253301 484105411 518939999 533010147 10048707 722689397 918067901 425161147 766965503 692994033 113411831 613745271 427145537 118907767 142451071 824870667 840684751 947722221 457316525 414333077 526722649 396901093 238986949 546640979 192167155 916471441 726484717 557106867 806682395 651806935 833972791 818488905 809299891 230443065 176728221 761185489 124510987 821910249 404931073 135015979 942271449 134918075 523826987 353401699 426897975 125217075 330856141 953428911 823657133 484379253 41351807 239064423 180363049 907222097 799186371 653257489 801214973 874430015 962760451 984016469 492264169 180915037 155857039 899893001 543421969 933626225 702975393 830982185 986876161 339955183 119982939 676990165 922666417 883742441 600009157 36907867 878692221 512490017 859942097 397566507 494323243 442452479 414148951 379814117 472794341 743973521 540078617 418743625 330271045 334839437 627465921 472260161 828793413 355419221 425174239 649600229 610809163 907169005 193351405 801705323 976965925 136297735 792518987 559893051 17605897 298784761 463408965 585520859 530654609 379863747 71891979 924515075 194294213 662010123 357144501 217570189 795236881 438548515 885749317 853343099 382385483 686382079 902274211 914755321 318919089 847254079 257174435 573362265 770602981 203113259 546379517 988508953 516580857 1245875 634323539 93265625 146786399 913636203 837158955 822960231 35654899 899699095 38786811 739298997 958077439 361914395 299259929 632278495 842603819 698647431 21160647 72488487 851256465 590614289 907882797 939992313 984640427 346393499 769878879 894259689 166478431 858669227 227261525 978430385 588275195 874648943 883641585 552337715 469566515 967359425 487683833 996270719 355736101 941349149 938005539 623951299 129694039 37267885 31018755 735960157 902698677 205137213 111917087 735637455 405427091 804231753 28400351 475692741 772355763 252753643 343050899 760588819 122511669 256447983 425817971 553033651 907330985 859396545 590159269 881705417 212332805 113781113 670210605 904695199 229809061 364428247 886779391 686514345 154027597 25122369 616608501 755572099 404497195 194128327 20574927 129270513 898054357 691923489 477980213 963541723 56089417 433135277 45078459 363370327 952336107 991162739 158963417 407970207 231424905 470251555 820325615 157649175 276832599 221162771 909028935 37585483 700711923 740222017 569763605 112165867 384473953 219930711 49870957 334083541 154005265 582559139 772554581 755470349 548607191 609333021 142839219 792065979 662601199 695868257 970716507 40569399 162062847 199735227 661855491 792086519 921579541 640436503 968115535 860657569 899721127 711479055 29923273 907245313 631106447 845913823 632512991 369599495 576929045 69522033 565266411 725760467 774086885 451744081 993164849 394718627 561743381 722311097 800203223 590931943 744627491 258543497 711384049 37878575 304625905 287291717 700365429 639175481 940293585 27706143 494821191 690571237 659796597 662587373 602670383 497490497 628552441 936765487 118021343 734967167 142417383 243239179 323990001 734491129 620634919 802056531 795631075 654424117 220403987 133805179 8527651 874706397 965658981 869831587 820323325 162821315 478288963 679385235 69793709 366752229 955113275 732857 287129429 468205155 756720705 424129583 615858429 710971019 255892659 509703859 162695831 126470863 744746583 44004523 796351229 671961803 611376217 785192485 96377069 651780161 934956623 991435229 996830739 776458781 11318069 68106799 533294079 972437875 281293939 697734691 688307501 746595963 75552979 136211559 67300859 690170269 859472781 871219283 354438067 601710689 322090811 905113831 950528389 27207291 813458149 258451915 845905295 165202119 803392249 391688779 573581261 482726983 536360009 54574691 866450731 652357927 868765461 33905581 135203961 941120955 362820097 189817459 836221297 74427261 115447577 695763621 823549877 349155345 595065557 280665817 787105741 286721601 334863121 22223183 61382187 253482241 97180179 300519661 962976807 812261997 159546759 621696581 680847107 924122825 563303299 471426697 229094633 924615549 703841155 219452063 148107753 286437919 716282733 356406793 389252349 550818665 521792655 402327031 285613831 730995263 256294047 484358211 805718479 97203371 461904055 397238377 132589317 805352675 391711327 228513939 848347461 572779071 59729027 971542159 267996433 112701507 258009721 216212181 97058765 815975837 170597119 538879361 359187663 757027101 329708345 872570207 96965199 811848383 127615411 656738011 478649967 344294055 490521445 205530895 29655095 488032289 31719595 502638775 638390935 992554141 441061449 679593787 77046123 462819515 834072687 25728941 75333235 798901561 242353071 517670849 344420953 753354759 982926857 918189271 140420013 819396405 730317793 822773497 708460521 376288255 78689541 213817811 629070957 617189835 627488683 462544829 106721157 703579935 446651245 333906613 272249695 260054707 934895699 658763623 252657431 865879649 714390473 334250013 190518189 833016873 921601445 583685073 465593611 252072763 239161123 17281313 824243457 633488615 373691883 73163605 76975687 68690859 786476295 661051227 467157379 267169319 578095597 773485773 985702457 93367849 91649405 987219175 355388383 660783011 711186681 521559955 298435785 965629873 378556177 683128415 776928573 150552981 504321751 572401025 965100643 307443643 954533579 708497115 753865547 992446133 578218961 135257331 588072429 179141697 45871671 612305399 112692271 986669631 634653361 691612863 639385813 879076797 659488093 18995147 129611411 901102575 102233791 862459971 435644675 548322091 932952775 711407347 29201829 809148409 44259785 355129175 280049377 743299587 397826945 299093129 379645707 166508829 696114709 190536275 805970265 661288001 719674643 727353893 346560241 294373523 684214897 100335125 818593239 60486749 167992201 191405539 725651967 474889747 37899299 669637621 402368067 577126225 854869357 143413851 840105313 772973529 669352697 397974477 886371591 60959897 474095557 458127017 888173249 592381599 316342585 693813239 216283405 544262699 493583393 886281829 739515977 840871839 883185073 565778253 150004159 171323015 716405893 22952363 656063649 968443027 301249447 502582569 360434441 792692897 644449663 383773461 827495157 99394995 174379751 75507559 531944785 725378551 897392665 732391355 379103471 778622397 235563451 464104541 967870341 603156097 300341211 297613625 382050487 639898087 200263405 205745383 344556815 378003131 762054865 273657255 882983675 525060589 833635271 325394529 937371605 985878427 729699715 62097825 371200223 103313929 460857365 830792865 363921477 349750431 506328315 857153 745520147 744612597 682144285 733325829 23510853 837217217 888838341 574189343 452463805 242323433 949461675 160662885 514303555 572358521 585028329 705635415 161281417 787198625 267844359 115555867 641924903 891768513 686395379 195958401 971367841 565805913 747975935 629765121 81397341 927431955 159285995 969519289 189421741 853642439 505253595 303441777 469714635 451862123 443190109 470390935 507427033 278927909 824452453 150117189 489266143 671338817 488638801 828606519 416970959 345985841 263307751 428753111 964138881 970997393 814365009 825952307 811130295 535708195 24545321 493046273 82941467 396486609 534473835 978665891 841761599 424838067 855161 136894749 431176857 476693247 864402979 277705761 420956557 604269341 489713565 66430215 836930145 800111765 611792007 758997451 950541643 869276187 931685091 344525077 534803809 633383819 105225247 319381301 408411557 378591463 728123923 297122597 377905153 344935771 797957623 357018495 468966469 136867897 380088693 23235981 318209323 248838655 981512599 993993791 72991061 869580623 487459797 432667435 935966283 611968499 58031371 788596625 614413181 392382431 800282751 463125335 813346631 629385775 531227867 624491021 379551211 352050725 807099705 87128553 855694477 162226221 895117843 747520717 422588995 805913819 554325071 968596799 761396997 128612841 628041787 356300143 959640757 55615803 517250699 182107697 18587675 791997915 700995423 70700041 995177959 467217149 97820985 171744793 354844085 613273853 172663815 904649525 386697477 969226335 291365407 420644051 236243009 355503819 16837949 541931535 974924729 391362583 45513097 685463221 598706853 474261821 717571213 500640817 782348331 66635617 512515649 538367131 213257807 314614477 20888577 739536307 474451719 200854519 747090833 398240223 662719785 246262903 903837727 692283185 495265655 797378579 403488579 147783261 659858841 430833587 640564215 817636803 630528291 676135533 579315105 877593195 472381581 858067581 238856973 127369989 815891511 653118019 331465075 566798055 35389805 18647883 921988977 967314193 989000029 836712267 902005767 571845417 383454755 457186587 164633511 134965375 920373695 202235329 338494757 664613643 506029849 599337829 367395517 981350507 201508101 318807135 946364695 613186789 333680441 660266533 619724349 978083949 500556635 324543581 822452389 10311061 153431023 885959123 247657519 891728033 79538537 882604409 689861405 392850035 617551651 788762985 353027869 35760543 713912925 503292393 805303877 295229785 635582783 380018275 403334675 197332099 636674525 26227817 585126507 989742755 129263917 324317881 15646363 261310695 908669971 54847539 835459669 193599783 916951641 936217317 47962299 566325987 575544237 80900353 109363537 795436097 357379241 655256547 489089283 390999315 470932433 960407821 419310885 164345805 478848651 344170795 75803767 899420303 349006379 464049935 693551135 794664481 779264743 193068727 660699813 662108915 564842213 311809605 17212165 290116635 452341545 453063427 106738071 465012311 121285799 617918053 360697123 678192913 66609463 990355207 706020309 61495639 885929629 719106987 640062531 918906593 156079487 527175229 635469931 18293005 244869231 270569681 72257199 951970787 40529129 402158753 16325857 475183889 145708619 423855887 793425201 753854705 332491487 820760233 94731585 701775743 419556055 12742691 524521235 652707685 217477963 424379221 294095895 920457455 411920191 196079171 774860831 611843353 687356057 765857305 802886763 146700413 431421227 306790443 234060959 83485799 735972271 336246003 834850249 763342275 509281479 621499157 783092061 495945257 683653115 361378907 851401785 248643289 589883581 577904315 972491171 39540665 301374821 612471117 853942855 553055321 854117943 35645781 487060795 941316849 672813145 959648065 18662139 625132385 193379037 450344353 899470447 465031213 6796733 635116081 594792417 143807365 392564955 520745173 640912903 627976259 672238335 869837465 286780673 654077669 221232859 168378541 676239185 245026961 455596039 551622511 927400165 334692375 470083589 64990563 740659733 917214447 63243071 295241267 431178393 346075189 273520645 345999281 306285211 285117365 443319185 835802329 987388839 745716445 144433925 716190927 910886833 453569 181412969 231166943 540643863 618544163 460855727 168934011 278359197 363136619 623677359 717831741 521699955 22119079 713147691 759221995 887366445 308614029 896673229 40447855 38306247 371486589 939829541 948295899 103992743 825306497 837632429 170474349 749917083 454703173 470563269 915855749 880791255 791238433 231618745 465918641 647262715 475799317 156482489 98527907 569206281 588427719 562972381 846535733 811743087 809727625 832115751 959494765 129709827 801686863 643841153 678475125 663074561 195319737 401564859 412759969 822149137 57553935 181877389 619861609 122093117 762828353 246759837 421575029 13658109 977731299 354668145 118472077 614121773 387631161 25626489 194500517 870305297 445230375 153842193 914886617 243051609 712446013 516162425 644470891 771139607 726446769 522656219 339917511 425883851 331759461 150903623 189310079 766900825 300914143 22890165 469782609 272342543 940859725 654643467 694984991 782052257 134417289 873561101 240952051 425321005 173723151 615780721 705434113 719371065 488922889 308704717 855906213 604945841 770888259 952803745 881650017 686934763 832939065 882838619 350113761 29938083 888395525 598043977 772764665 930444033 614911857 978993315 744507811 649643919 199739373 844348559 268182787 83597381 654652817 117798929 871027555 712353149 798968087 886800415 938752569 215440383 607418349 509295245 49356829 342604793 883477789 663823649 517490131 465850365 620862049 891282561 119404873 384088587 484071191 741572417 185226895 174094983 222152007 806319833 253807329 454101821 892989601 31041193 109641123 99355237 208673659 93065467 547636575 285063067 362112979 150011395 662034123 623439077 682389587 897710293 605629375 798949295 793451849 183306871 766874175 739433421 975050669 66438351 268375417 738522751 681351195 553169841 379791037 809024363 822125023 66234835 836168839 46029723 546512869 496270811 564994427 242933893 424536007 827321165 128322405 693971209 981087937 758159261 300354103 406890089 999209661 262897445 517964043 160051539 591372615 702533155 77074727 944617693 823823001 284250051 262927091 286519683 574758035 60169495 258635015 381312557 195811257 718329365 425158937 336069927 533440573 226220193 222509839 568750371 467866869 628293509 693935605 501797955 315233377 679641455 537667837 16249609 989517223 69321721 694166659 165210469 929315225 759173287 345431815 323427243 804589995 991963103 956497977 380592023 313618173 469940723 139104235 701026127 566800727 260284959 784046869 468774495 401293863 731062655 363354847 69714113 840296839 260865059 326806417 584577485 788391733 733201909 244793247 489574219 11171221 478719445 651449507 211142247 604719291 151543423 421453923 374034615 823673181 424057247 213085641 694937399 489340889 600134855 503331305 145792333 117293877 830348909 671581949 246751177 78640165 574758133 197969767 617297371 381326331 465773479 165189813 312803877 961391545 703895989 770144411 750338473 199270151 914472247 485770223 234125013 786627377 188496943 216929211 502776449 581209137 16124295 775178789 830557415 11090343 134736399 340802945 632636075 881029079 548156291 265080653 687714783 652370611 754218879 37937451 196841205 446697681 714883729 502012389 713614283 606283377 470218537 417597553 229190311 207830137 593729695 38228199 274231093 536271739 702207541 937779083 822899593 220458153 351440917 432413129 318040867 988370153 485462607 89899317 431035881 616009149 655481821 388581513 888824613 313146965 567755681 238894761 560190093 838846091 510855011 818229153 833042241 296082395 767242965 48761249 771904195 550435439 324104847 553754119 754599425 455428629 890120979 703650903 477851729 763217731 913496521 799124793 322986097 240044571 744428551 1549187 233289603 967676259 887187969 864516911 291162137 214019465 596228569 103042145 439909669 64837543 942342811 551958117 134422275 482904185 444529461 508390061 660038781 501584743 314194819 306660819 929063355 836103555 86378821 528487069 289397079 87856257 693915941 845757171 18798411 557749697 268923315 58793707 757575165 795118413 914475625 472507841 578445115 703309521 960470183 295385301 241085241 460513957 704380601 332794549 814216085 614377159 498624205 347509777 470688341 6188001 78730239 12298953 619690213 39525443 462177615 532177629 922126107 197795039 394216615 475456887 451780661 461061211 713640919 740231151 660422613 820512249 593202585 560470715 736297227 65735849 101479053 93045379 335992653 434606085 822287933 499661071 289908087 523315017 593064477 731199058 204707021 44317791 892370051 219399017 744862205 495201493 141867951 841563543 930473503 897043169 773408975 94644551 3421613 393740901 723023089 421061389 758948235 607641575 86559757 394163873 253461003 486824341 700080137 651757547 657368031 153574471 162570665 636733427 433603877 804451453 409677729 519327725 167548515 667235679 33501067 171843637 446680453 889766329 319404263 138964813 492074207 37591301 741299741 850960609 437481011 569282659 284951937 87441605 631789985 899803543 526467659 797533169 583333049 380068883 145581467 806839181 750831985 337380333 656385403 208782305 252732707 72445157 225826269 972493667 998961559 143110497 37075355 184171945 648284665 107910001 404569971 695738493 397541855 128669133 54667539 141458629 889835079 865547475 913611271 164433815 52224149 988191627 884968141 292263213 251435413 971401891 544925635 677451243 379322495 612939637 952032307 348383579 61268463 880347389 310895439 826735921 422162153 313619173 429815601 400572489 963111389 188018299 971608535 250419111 992932767 880612789 600711215 622480243 936649835 40323637 14342405 352102915 599376615 863020097 743187479 999332561 568235297 270516679 443518211 529943937 537242509 131935 137975891 742544607 512370697 717284681 90460281 749074395 473599195 410052717 140946125 10719381 521573807 335403351 243211411 2225483 518099611 6929217 423725041 209254253 733969693 878133515 142707961 474552459 762614551 487278137 106375845 235944801 917723609 112717821 291759063 21141717 240787225 414997549 511942231 168629997 578573299 966090311 572012503 818388449 282252779 158632567 950849777 328452361 748652529 308210311 411825187 418673131 590000983 746188015 508103385 501862193 97053917 702267347 722173539 373262253 550632359 309718003 100567805 250152283 478034497 169407429 648238787 979461217 954282405 867423323 939063491 940796423 393393195 511122553 42709485 94548415 559722137 27770243 788207129 569196073 40832287 839475335 349935883 368899077 451564113 103390017 415151465 428111679 149446699 45247245 442989509 228567017 196053781 421117425 748457881 907278145 451897049 540706207 694471751 822927527 641721261 21579373 18990103 65979049 335185713 837488733 390547257 438831609 469902183 12809233 710461129 528850547 537667517 92672987 934388681 242810905 84092937 804787379 166393373 838208023 810253705 29193529 499279261 552410049 975400417 954563249 286121725 61789071 688726045 257345549 748741855 995616809 342845877 765393635 380770511 411041111 884703621 506308721 34431037 351526669 158235345 811869345 282296705 778188391 334426697 114787587 736471261 423061671 176845569 807725001 360976249 526679611 495664501 904621271 947869801 608350641 883567755 750308019 738821541 905954505 59678865 331555725 691344655 858115429 32764475 81637945 655918447 617400975 899984807 736307003 156744565 283755389 811533147 424694197 92700349 293543559 763139395 741977211 573417159 83624497 90586549 644437761 356339197 890314279 65383535 143370857 745309871 817395773 473994643 468617849 497162263 542676847 874888883 628972191 167783765 454462171 577972159 605352179 779317877 321521363 255765529 747408693 330921829 384698821 927793027 684334027 605882625 903380305 119860013 661893319 602529289 263752501 653320361 73484509 88256549 786165857 374409463 947278445 238367977 64415717 461724027 676744831 992313037 611661309 67490051 531433923 84540977 560501005 617943747 825429903 51781217 964095137 516383065 662906083 654600331 92704361 595053003 236819813 887445707 555343685 251226245 700171365 630436641 995278387 177183325 342204889 701623413 311232867 59797903 39495011 668355483 645708581 764529857 155819849 565624395 653138167 718416897 105363323 801109541 103135353 361486277 284429453 443966899 714948217 65707495 44086979 918925671 253413351 592502449 25531647 76253851 203907299 122941899 391344597 416325775 886055853 635003725 319634041 768513899 681553327 851081397 653750221 963236163 767335553 228607463 231846229 670519565 45569241 202152495 638035013 646852527 275845535 405954373 717782127 757466349 722416859 930674757 669771605 209897083 321003713 418052275 846982429 840353523 39147179 409347967 996861847 352986323 29113375 383732733 457347899 349233033 530402759 557102313 827002409 221748321 327879287 683876201 92868389 260630937 168412713 193009163 85240993 903040847 540965119 75335619 182187953 97427597 403126855 111288561 493944089 406396997 995724147 60720727 318441533 656924239 333451039 666903075 625884717 39402607 444503053 472671979 823849121 522798923 227580457 388483243 316399863 364809079 341463943 844401099 126878007 966703209 687517537 849153045 465966863 580033925 553278747 748060097 879387351 275001619 437073727 152868971 453640849 945455429 504702593 66480151 302051039 110305075 909175485 636318773 891441685 931673057 617552885 327740567 504716583 896336693 607873879 803754621 663859895 331313409 828967475 872289675 883144203 782090753 361162501 937263823 100949009 97706193 252676719 286351293 770824801 831623937 745865281 205806899 826371643 148210171 551017065 862300791 372005765 551884831 405696517 427203125 923658703 56307113 414045785 329062787 86220625 833949125 799826381 349457117 392315371 668048259 399822583 127483177 627378209 867871965 544483729 599581365 507794467 134043061 329485697 374311479 2518219 916916435 176265165 671002571 519488663 193391849 113023405 81432565 840654509 847357839 537958777 459219619 645086685 229990983 435590071 364454955 947905949 549132667 975289871 48889419 749719311 505571195 684074583 763554087 291900409 771928963 85004683 148065867 889935305 625254575 904045259 875857327 660427929 256616717 568813667 426551471 645753381 395969677 243683017 97444113 623695063 937198087 514156439 394558977 12003005 153711165 605186189 648372499 222549645 271270617 738001051 41253191 686258343 708820331 954233553 224438275 204648981 930675821 87385965 129692689 499940739 654422593 473519311 23949479 183275593 991316013 102721157 382804579 124242279 39931239 670785 619752011 356653699 512499717 682372319 261092555 513909997 191441417 594899809 793916091 732018333 170230365 331401201 341302355 227455795 62988241 509130471 962862141 86661363 430758431 327474619 781962371 328541645 480853223 631523855 107253149 70598747 180096181 633849009 491795815 714180827 276101623 765109395 325301285 971757107 246726153 978384849 347454855 960469235 725475883 827519149 233763743 635689553 330936967 729851539 526689773 463435567 152997165 651607831 636350549 401143571 669563671 421094131 878275109 581534507 219616037 26101513 841362193 813201745 702532385 907935591 980840503 868020993 695488191 12009025 568573725 572165221 542078613 123965165 271082671 692676937 6531365 146474741 629939779 157200935 427573207 494514431 408125589 739143455 350190079 315509729 665098445 372039925 26541013 183866773 412398965 964765723 361415033 177878077 284417923 373139367 432717813 781972777 991061335 494140505 136721469 607913415 240452019 39856537 801296421 214502069 65217221 82362483 284909427 889799351 786152741 101204129 741567695 594321333 429288141 254633857 311866567 533891013 587647009 431631131 895500505 170905121 925325043 481610015 320460387 836939309 476806005 974349793 78888881 544998515 772710213 329326949 510684401 423445929 47074409 450706511 700695357 76080039 139376715 468865775 73676697 215372403 907821253 61594683 842707435 683969845 973344017 96510165 858632711 242863939 271067349 721472003 103762597 828413721 767619871 720967347 625614437 743747927 889470309 578738303 69126865 178637257 822363265 72378531 877313371 558653029 791701947 20135687 326400605 21810243 3607487 250595645 189448725 596995753 211913123 968392057 175972273 443410945 504311269 817123229 523025981 223137501 204259177 177238572 924255159 2367227 318713979 10579803 377885181 854352955 2119635 971158525 379819993 501035947 647976333 136527507 678167549 267086971 562307629 190350403 95446529 952836875 918307235 22664671 765173097 170726363 651263553 44685017 197014683 585598615 4359623 205689431 175580649 532075281 79035993 922099227 788124303 359472199 868427653 67779477 231577003 131432793 61303615 624473311 253546311 534971029 678896357 342849461 166055765 500836461 362018877 724846721 630800045 711515261 962264179 168003921 660927505 90246791 461149469 784665309 26158891 166738295 905178425 8194435 386670989 774847071 582980137 289184329 403510701 746989437 124582589 832230883 430555631 20789043 620342827 43970979 894981019 922031883 137596175 182168203 436648419 883698361 658570349 936356419 616183007 904020249 799084723 743713303 235343505 912361773 913733815 769867777 372998115 213209889 772310711 19085729 760002981 548537161 730130775 106503483 208725395 352486175 626335397 197131969 22607689 649442375 833999637 732729545 809727317 191311755 510381701 119487891 727324199 967885279 983733049 820514821 995569943 633463647 425545441 273133743 731416423 332308045 655531921 428170953 852630849 583474199 620711109 959070001 144714421 940479565 655964259 979737455 332245183 503849899 282802617 429765811 293720635 724242197 572392573 813543635 871125239 74175125 140728777 345529165 860972707 186109023 703574821 825539659 401994711 840134609 419501439 541819291 30740757 110983785 482056745 898238899 949422023 223207125 238103521 579743413 211113277 284790251 106863055 266506087 674099633 491277729 603512445 195275319 859812675 982134301 583999715 159094845 868190463 780748457 857883997 900054075 721697749 567442619 918613679 462241683 78650267 927050475 837981449 470949721 323743255 738843135 286308095 270889793 952412657 526762465 207078029 478124203 139120569 680016035 393877017 38585761 707972841 833707905 838127473 725930445 496015075 983329247 777391817 541435787 782418413 777205321 882625471 955209945 250277949 580949873 60234329 237622365 622244583 70958385 213811715 251065449 105277681 563195791 719826067 671683567 880804419 305757621 281788229 673725843 136769197 914372853 673084353 615985819 660231913 112859597 878171409 285094391 576090007 845993181 558079661 330119485 835279427 801934835 793626479 918653355 41612379 572262145 854993569 724038955 497047611 415845155 893902571 587268939 229584419 722348955 563296101 652033601 457645883 96309459 150613133 352561647 568838295 465762659 620067655 172440283 914901039 620491011 555532769 357579059 119858659 258449301 568514319 294882767 676419197 469870119 214183151 184198959 876776113 554755563 360340999 240630395 380232211 303485757 688184385 683216511 420504617 284070047 100166647 454676149 125695321 729605053 140692195 883522109 942657015 815101547 809690925 874481883 779611963 820650403 334196319 401047041 885818437 842079881 883341935 692752837 279636255 931930983 929208509 868292583 571750331 26067121 506808587 754663629 543366387 59900419 85264519 132606599 364716423 126389023 912382663 341517261 92522271 420104433 660900041 343346429 929172303 195939469 659935729 610450719 242516621 847191085 219769611 739006177 517099837 936344117 292024143 170146717 742992551 629095471 969975129 609749071 51210751 862938577 145781805 81478817 716273497 512451571 221937723 469005281 952588987 369522073 367595093 470125061 574441227 204443889 586694331 411257519 907673883 790296651 293158931 329638437 368223399 286596899 789864549 840655957 903443789 258153757 763452973 460113367 242030487 50371331 622655299 575585515 356038647 504383435 450983919 908465273 342882245 38397837 128969181 423098125 830573125 926174351 983740707 311954913 323093917 820530745 184571197 656824789 898258399 116419617 939083283 647779949 33621511 705623299 174151919 54213851 689022193 321127359 6969225 74437877 532522605 347049571 303955707 230633017 535114789 46600991 115990223 51358929 442074297 972649811 472533997 553856141 71434405 531198077 434770863 718986719 857332565 544461645 5507277 841651947 964961817 314108563 756003953 190097527 514849581 44258381 254336295 87719155 111645359 852719259 368131043 502214515 122721705 571269323 318373123 723309243 765534987 668389967 666221389 439941679 243473587 654198721 736735469 516063453 569637469 53899239 139402361 561870465 703253685 883722923 327934445 758897781 647779915 834972193 102998959 415825605 322536089 952331649 176018317 81009437 983025409 151096371 179737021 350292949 464573899 681023167 71591897 266253037 984081703 184329689 215378921 206520077 470409779 265025883 346758491 569740929 758893547 557821771 751339521 176502851 203078203 411096277 353680665 794398963 278084339 674415431 81850443 49858517 168707277 503049505 586946211 46473179 548184681 837017349 799187349 511725211 18402131 816998589 822601727 322026835 936911611 329488445 909993253 907846125 32947129 135966369 691719607 860611575 566465999 311442731 222242503 561094057 965180519 796509255 320445141 27400417 788807825 764533385 471492295 218811943 472415303 660384171 138602213 82618795 652500841 138406801 605793771 737365569 234123971 848428869 884157425 542672491 300658435 983879675 92911999 754301265 732963781 86949391 936283777 307688897 964673673 748540421 440805197 453617457 496112057 695167877 867332513 369562307 350434725 425132133 275956639 350862909 6958983 921193887 675365079 264056589 944903295 110426711 31228223 304761163 323361433 571256023 474312755 345278135 181349827 399043477 598104951 485016503 936092377 651521577 756078651 993083485 322324123 601519191 574121489 170376029 186337969 877048589 346510841 865760535 930789039 505338203 20685143 134067347 324171533 232728445 65708793 953596545 913250859 272876503 375725587 107383863 722139477 710474229 278743875 93780661 418391993 848518537 737295759 483464609 228597619 857278829 967316833 821520459 157174403 457737383 839317907 330626217 484880849 583223135 440030305 186806877 61805105 948211181 501432941 865429421 3626331 687201735 942135751 943514761 246309103 320782995 808406245 695309701 344476535 591622941 341447073 842351331 841239911 695642711 891240515 4518795 805781011 60525147 591822457 359375371 576855233 794303343 53140565 597502873 366538135 418241789 691401557 166470935 849432233 459022999 298725729 107607561 474939631 325705467 161473989 79187873 632019273 307433225 193754677 495230903 982705537 353125583 546609103 966427591 543255881 396850815 158596631 519003129 541049147 167783285 368274429 72075805 310617045 76136243 324021973 440919723 931654277 266266725 681335643 213747139 768756887 570314205 198038709 40109097 877999177 264822681 915711857 457599055 416836537 579135419 962049155 318440265 301629425 144452493 819954249 79055323 279085027 175360131 805608841 721718121 676817257 688599353 866322031 327056131 852893249 787749489 742373265 78564449 987817239 701974551 580410605 792637153 815499901 681074749 14903015 745094795 35010025 631321633 479731019 951556365 595031231 637677349 896676433 773650111 129500999 161603027 820609939 121075107 699349939 957303521 714907931 495164507 328631069 327954983 737505873 578706747 372416643 534324137 861768463 951363383 618617297 286629011 704750735 873580785 50741463 32309305 432062583 348578221 211307089 576064789 975340499 70435933 309246173 773475787 230857757 42562201 293397509 764815397 821879341 554975133 915844923 665475609 77443401 667171665 468644055 719384767 781171745 160446277 407440667 582086491 728774089 612024241 822583089 221230171 767081663 682598515 1928233 144233039 177406437 166412309 366686207 30958835 438696843 412097729 196523663 128105003 490077799 255297363 337103527 553212673 313616019 117314633 518084855 862892203 69353111 147578057 49799959 516944769 542192225 311777187 932749451 657769993 615417923 989618253 495905719 229509101 904852477 413044713 648677107 743635199 830999475 165175869 176538995 752989755 521960689 673371831 822585433 99375301 56115631 783597425 298358705 203227369 852870473 572385319 158700395 528017177 34414469 410474307 9511007 448904431 440145293 50811089 417630031 841818673 958640379 921397133 229268453 283379657 970454729 903334865 572497841 471322313 571861085 667968681 423001901 79047533 922580613 773249217 665995963 973595163 28787319 756072817 336362403 591449179 46204109 775284153 217160981 470250975 549891215 16848191 913247021 627860871 56386601 189273939 991411179 756826195 653459057 134726637 251406905 165358703 308060069 111590061 14012135 967375405 964794983 187086807 355628463 801255179 4496585 584082779 471102001 746740395 462139197 55818195 309838585 995800535 490714015 312870269 148948597 103032195 561670201 522843455 107069441 557116361 669393587 953746857 300478173 150089967 39734567 908796401 214775603 283508831 294236431 311883513 840681747 779550637 778583121 296749127 444402039 464413587 897811513 573297417 995974463 852232437 804074625 859760921 724227639 17426909 145324097 279401971 426791437 957854847 447095553 202474943 474812253 838807607 287540653 755412047 576170151 392699527 27516313 69491223 818533715 784629275 376882567 487544633 135835317 59559367 682437271 598327417 727470341 435375493 98906457 214016585 661821539 918842745 903589059 399167935 647514075 240139501 343225137 988021659 980215899 920774999 521006951 419292483 956379583 841633103 61813651 158094281 760267717 101254553 405270091 827957473 767168283 127839265 183803277 309259755 915999311 21352187 472133053 392115439 107665625 135100257 130807977 168505245 441635869 759680695 370830981 119054921 490486885 694038409 622320367 942212343 688438239 915134087 991007211 425298507 16603559 918463889 247169769 917366933 432185019 128359077 601585597 385609931 382316809 139642099 761714083 788698511 219481181 875395019 469987905 372311591 867170677 138153897 145428645 798212481 691602159 989392689 853697091 477857079 371796565 125090863 407165947 703050885 737688857 946145941 699721999 563905875 15573397 402795901 788208685 261017395 605732359 393447469 484809835 835962969 668957085 635710221 75568199 945077927 613705059 459909813 917926563 979988129 44492119 391826139 538745297 666901625 97871191 162005861 607001219 878767365 406809645 858543967 801139925 796512453 904995979 16828923 751342417 560261343 945078793 907701139 337771999 726308387 257405995 253217965 547757785 825989641 399672663 728121075 917061625 378335663 24359903 752147513 519051621 666032863 192260351 687419255 677443755 380305155 57850837 981961685 661502911 56329271 494781547 447554969 265370111 741279287 954673843 980673339 145430833 11639149 78224261 642854485 503964289 111718375 540128675 483089065 422035333 309097053 391725241 954849059 193964857 408137005 92104787 959703 381479685 725599069 529144557 568715775 464120755 990726047 767685353 908377341 381025915 250909003 5726095 976795487 455204855 128114525 284857361 916728023 143141167 279749503 778175111 33172033 540027537 302152445 953926387 156227231 176341743 277900753 407551039 806921759 639445129 345436571 912226109 899421455 436395011 481481375 341814179 625523439 140131177 285034703 523980565 216336225 481743667 582350529 657966617 912039215 675857213 695872693 11566373 855738189 308964813 1333137 997141391 913208279 707966607 462929381 558430875 696418577 981423001 744383721 605677165 911251555 20057703 361237883 951151389 636062563 275206367 566907683 406214047 168934091 725147727 929835281 360279253 673451903 380189805 776105755 516542091 544471433 208506963 860990143 363955825 571322655 827861897 97961511 894091551 789955993 662024955 254856993 804018967 967091835 874791935 724842531 959737283 724723315 496492883 728916303 935849587 696588881 698380827 540068715 326261089 606209041 37266659 651008741 679285933 879556567 541268643 677594837 258848099 67460335 898499511 462995963 763242099 276872905 508730595 289643967 465403829 444296197 930689111 665468205 474954987 883998561 548311205 471330817 858243773 945984205 240394701 773431701 800470975 346267225 208812595 607101427 599281001 606556483 753515429 315614411 218954525 152372971 718699097 717126771 904570145 922337757 50294249 947201771 752773547 589686991 158777949 442390745 860081105 265213339 278188833 38201997 338535573 782634051 92712459 512957695 955644383 304160241 64468055 622245581 545621379 922165245 863155629 395399487 942654521 975573213 809897751 833922373 815493281 579767097 488919563 284441717 350684743 67090135 574584681 346434061 398418585 805752751 289628275 52581367 252648947 770792155 180476377 21131201 901450389 812771741 454679725 37961633 510884775 225830497 963094895 194584953 607117885 364625337 674814211 398198735 218548815 870111075 312158133 202151121 759316925 792715585 425254463 752552791 80304465 728304733 444829881 853588449 211723711 801504235 300661673 186587543 18552475 272045127 4732159 334933829 716026219 146215923 802316559 389376101 328843415 686121115 647812501 74101783 670073965 589070353 375784631 436351007 113389611 444647763 205187075 341235183 417346287 959431555 781562223 335543709 170121923 272732907 214388821 847663849 727158171 122710527 233324157 211288121 585078859 234241115 215096597 674306461 566854041 659659203 610440623 162680269 128132907 666571551 48765769 956404007 23479445 799331717 858809675 63745715 590149709 215009071 213911681 971744031 268385975 67813503 433192989 809024453 6167325 749241093 580618433 882407329 464435885 975723119 426909041 975938653 98160001 280270235 361143447 445809479 669466525 453971853 516569357 800880725 333679079 942963821 963777293 542803241 191403825 497591441 618645821 999844873 956798263 634211699 593153963 902766307 587801495 668286647 563649227 679465551 294265051 688958761 504880253 273044109 517810549 442894265 713058561 512560261 842141373 434480775 56428043 887426243 203765751 745279953 838255531 335436417 234527049 717032711 856273247 796813471 957076677 477135801 735950607 163315873 612050279 347731619 458385925 465749945 831472141 329208489 625744375 405097405 215095425 837374423 686260229 335319595 60130421 886015071 299616177 17739053 688438913 12452251 875695083 666590355 415059239 765968657 656256517 651728079 275976657 581151595 764675775 669192709 265225681 646402939 887396157 425140987 982148445 757296445 26106381 935053857 888427161 206753495 445241379 193455755 500928653 525104527 199207389 712794365 168354857 704354013 54619137 163150553 604798795 706051419 101105337 822000947 406922671 745251275 693733535 485167553 95646209 332037145 651986861 693091807 266357969 386612823 830000203 303600025 304889241 58008003 642097219 130494107 859801019 641023933 355855307 4135229 917286271 189994195 219425411 336600959 537604375 744120247 204256365 706457609 381464987 134555205 723997431 479141671 110568461 650504319 268640759 740006867 518246999 214720401 583653547 320118957 898523721 38939343 971048119 175646969 169277085 531887281 145317159 815920041 36971509 87798239 110084979 34798163 405065175 527965729 442478199 528567860 190072761 547020651 802755449 2792249 334133233 978795737 257391907 813184237 381094593 516411821 13256335 787946377 682025299 475041875 807791671 135549163 150630583 231126879 291728129 942653851 218210023 582871691 164630843 526818759 520846787 882460603 464332185 966174793 362128919 65095673 806668859 245399453 817288337 951642747 861494179 345406189 827386573 911335321 278598591 255025927 184111691 976305111 156183781 221110113 850655093 897083617 92719313 651768605 116650139 744601739 828449707 722380799 77111031 913755599 471539453 914664315 143651241 312454609 802297535 676143011 147295421 926749405 932733515 331543097 519152161 320923491 130424171 977596323 889045681 641120513 262808903 552721907 90894125 405412731 161429881 213918685 560768319 72128441 638474491 688290241 547255413 401784529 445848371 93491367 68664141 299090687 878007533 886058815 914368551 411338915 177479521 164154079 511671369 772409161 38639915 820608645 365232359 763592871 463403857 301687771 533534235 736090517 115427391 478853681 519234021 467263257 72783563 458059129 736346413 66872157 462550321 821410135 933266119 441795763 357267993 997517841 180609643 51336855 200216461 857590679 252064185 120731823 907331587 37241469 612121405 133654977 486847835 839660293 624320869 741582021 994624471 962374679 454907787 74884053 854146341 681078849 386486003 517257521 450254683 599673017 302668229 123536457 341538807 254741601 589981199 599687855 560002781 985501885 939261135 146588443 334135129 172486399 751902947 285324405 55952675 893601023 112102933 798222021 419822423 411967033 696629271 842237501 211369339 436529877 852437379 58424893 862879355 410587811 47922393 272588357 24214955 236703771 741780353 307880193 148664267 161304925 747536589 981707077 932776447 287778605 29612793 567208201 621539029 539237883 986430499 665081973 697744707 828800737 876335445 809331409 749260707 989505693 852827009 973538705 758651069 514560661 691597441 705790289 494270141 651938777 732519443 783771859 935222841 308770337 358757091 768233475 613432623 720992971 997101443 252092149 743286785 99781085 336675177 850556643 213904001 855307019 293566457 258982193 431116511 618403495 40621947 478846057 777779901 704940725 26419233 299343679 155245085 321372119 310616325 563297679 430305391 590304865 423185701 913534811 215207813 639259975 594036845 414522321 670327967 742833451 281819823 820760127 724596577 235733841 406801569 230668581 537841369 887112363 658339047 895988005 561688187 255190225 856261385 365513227 910633253 607653629 401267321 722929607 946014749 707344669 21001615 9481079 928985103 633742523 187994253 679247455 926991889 378541585 431274653 317120743 248587935 745869053 759984849 921651109 903252641 531061769 169336607 516594771 643041377 73532767 257744235 791994581 995047061 331852763 242238077 820815415 888421213 732840955 926456069 640244137 260051259 659161829 844870815 826414987 634164765 449284969 132713677 573029979 607197275 115792125 918786549 954721737 19802541 168341699 789955177 165290405 55616061 355378305 76480867 733634795 743023511 305310117 296053253 50424001 791740847 487838793 27649109 895797613 485869539 667156009 952015945 868775271 941023223 831493039 265219767 783088711 579091739 254570727 522045025 893022163 505183971 240869517 949190897 344716533 848152139 547988731 550195191 22060735 874631353 529513789 615831533 142383983 764037371 757791743 228209973 566860133 988618309 131582105 321899287 676922927 176581431 109212683 234308803 876258175 66152659 337760763 2417237 296221231 838353799 584576953 172344269 622411077 926541353 658124093 938746389 840948971 278571253 673987621 395980285 302461813 659365523 384136379 540625215 850727515 708069133 193990377 342966651 209956165 233388251 428193099 270860605 932577531 331371993 326773279 422007029 749596273 116615755 731052619 315244025 717161923 533540833 313887837 722602383 952620339 690171565 896099729 927567839 64024621 726664239 285771459 278479609 260443205 778250827 757233531 282862551 640967731 370448463 154052327 871451481 728194783 868057071 171432161 287249227 658921553 323211849 833856741 981026139 306963645 645374691 363734811 338083365 128272767 91078313 701825877 356780073 201501723 433504497 613124615 400556751 36827961 166051959 714604883 482287979 914882989 559581283 474848765 590603829 763812725 801383743 177864311 925255501 200155827 601764355 640619991 632940991 327491763 64211721 708108509 530760825 694050021 100777753 302974191 889666903 461123047 531424865 845873951 855754777 896332923 108745075 615746849 305389415 357965455 630711375 212385365 963168213 490683443 346815321 498306243 423461593 694088355 556264029 766450715 326602201 759281987 144103827 364157105 71464217 709450397 813205143 902145161 88704717 65896807 730612591 45302855 292633103 766201721 194210695 217325115 307604957 952331481 889185971 915983195 715553829 376446639 669113395 904755785 156998323 933056593 386946989 521551947 320536133 895488059 196358187 284005967 89054585 295430925 319925027 65925103 761851865 145163411 189963125 806183527 728148183 264482499 357504609 933471135 581175501 176231093 458588827 923672361 702177275 186806191 414170419 986863417 794998153 334113819 328043175 978313137 836920457 36195979 855682527 52988181 155202807 245785275 646683429 710183831 363401905 601756817 90744113 127194637 728252545 936408339 54192159 640725751 579664153 700628857 672834675 583576443 460419091 707686941 309592605 394001513 739899629 494658433 845148017 982710585 615161363 220635985 268087851 253781769 112433111 978650463 337871473 60129185 430744943 721130153 589137871 829565553 640856063 312483919 989232703 424572815 756795279 346592415 10267417 961948857 242659345 180442123 682525221 989492313 365212765 296414767 475464847 81572477 856614711 194714829 182940141 933195229 827935301 646578385 394630971 923992789 86469913 713205581 970174943 970982513 448219181 773947519 371139753 345812829 788429283 122090697 821828809 342681843 682318723 894431669 284105441 60415023 144473151 58353911 800000499 459478713 928099887 75492715 388130413 390571491 842248023 655345171 380148007 343554977 290775709 258204955 336091227 926987157 253394131 788805847 762715821 612165635 61242803 483651265 156513327 281131229 392835807 582378107 64061779 440037049 786566879 932053205 921498615 598128599 280653859 32549053 152154721 682334493 409012233 533477457 856233021 497071387 825590221 720360915 472523679 579681033 663461787 110104239 753455111 423672773 88912771 684083833 292517723 865611991 402780287 775761387 725674213 350745455 65229681 812172265 600552539 292132193 915324959 949837439 800555229 388073009 327910975 447749597 854306797 393760259 492852839 710926689 398283897 577395367 393408793 954693775 518421463 56147091 980754879 649725455 217417925 660558825 565562793 207166647 192973925 969438575 762560273 243893379 905800521 230695315 943887385 213939603 562304611 759302509 745834951 784506163 952663567 770058173 152069905 573010649 73034519 610329579 749316045 269154077 115768739 847223043 724973501 819009733 691005005 494766273 39162761 621812153 401312015 298557055 892368325 549919761 80495183 494339143 449429481 458366211 990191579 413791689 711509847 923167221 616587751 939151195 165141077 723007347 6085649 120897277 531159833 892453935 922077279 350078805 760082617 477643779 414386237 359687859 501172791 337503477 468983169 699542031 229920635 161392175 305048425 743908359 632311897 898636035 981601175 624250851 422623113 587234287 300106523 47146131 445593003 997420947 783140715 361222571 275408459 652476349 83918179 509539439 582027991 242358367 246772295 42447555 709419947 150250643 668934341 277691959 428903687 551797663 205159925 615154945 836264467 806665197 118432849 178735875 61165027 774828049 887779517 213200577 364114031 804311493 464305035 467552367 236827543 420396267 755068269 232889567 974113319 581985937 389278849 678802067 325533901 463757289 309074765 570330291 610793253 4403535 863208381 608738827 820575917 147798853 302107173 394487317 955902931 806238583 227848775 572284401 734188771 40919481 347383363 745397091 656683803 323281157 659424169 819982813 770109337 206623357 264927343 314339701 638787177 693091439 894159343 168695785 14634873 228879695 81475569 861124005 278292387 327945397 677003169 669167795 917544363 890283109 16936085 556526029 878743863 198292299 656570315 768713041 746435547 727305339 958112935 491493447 288453133 32903727 399000565 341685597 751906865 513084619 794601197 331394029 616828817 103827417 842383915 28796659 114783579 124013839 151941811 876327449 641846697 367575365 883764469 47057581 781149823 100008831 718310341 111126693 58455235 318772203 911777119 740581283 287399241 689468119 467507305 360225261 922218439 261766597 486411505 411834737 691341793 203074131 562333547 623309511 881009695 625791821 990120373 371837487 344577779 345168297 28110357 145349263 859357111 685039487 338175031 478651513 604988329 748764949 292315185 658789665 791803125 192091603 875871105 997216103 802788269 645033295 336841225 282744021 837371591 144131653 381781273 815426199 546589479 190136725 603504231 664051843 728393877 899931467 148002575 65879069 558516419 981005725 833120405 733131657 912083529 805895139 54118889 440359575 95583145 584545187 167149149 956502975 408358477 778114951 784271537 466409247 269890439 399731809 521929737 306502015 729876365 833914415 235375345 872493903 268850819 879297809 26136161 900242851 986614129 524527701 792542903 248737599 364646217 318639469 768587955 464196485 86791139 775771891 153103495 663319945 797591809 7563181 430670023 167261441 519568717 881378693 404167535 813293385 177351511 366823565 186768103 958497389 786742937 711750659 806164729 732131865 616571509 712847177 251339227 234156709 692590899 888483047 937867053 58432529 105846533 688150423 11395825 661310725 1404163 651242285 331201173 419889613 79475759 77935025 294390767 943541603 142187123 640321613 74690621 343127655 821628319 720757333 393958179 857678365 431777389 586925123 141506989 541761399 379726719 930368697 630680915 859542025 507916379 81161093 306047729 59010327 771824247 96221339 865131467 49845381 675848745 591790355 915925137 624240611 681991091 587513905 81132631 218553705 833752639 996314209 524690841 188506357 76772061 946720311 438409021 661210383 822172039 446170989 549050257 761354213 453475357 546565093 734831945 474370641 939306347 36322479 751384707 949904079 138292257 990200569 248936901 972783753 209131479 634218273 26772219 458388045 315768335 369184169 999670395 619328913 905510193 171725887 471830531 702663031 11455889 125965491 687506357 204437443 836501607 575145473 136596259 832255975 323654355 808788813 821193789 708719611 142961377 619708641 947483237 163826619 427679873 356028723 727204189 219765135 188832393 133190107 459142229 337218951 344483263 270167197 751558879 449890909 860389323 380313703 443373051 428533355 236642365 805935689 875649293 58172091 167273357 747420799 540870371 581787645 340503073 545768301 655239345 36795783 604173117 604271775 524098325 823163991 41258519 326534085 189457685 160752663 30420675 505512383 626734877 130480149 906093895 910544779 36418051 861209161 815919755 242912089 842581507 719242833 584988509 530850169 624732611 38670965 800329083 845516137 129621841 742325923 713639043 236161737 103782691 583869813 123680001 967753831 632470803 170049831 746521955 462241077 90044779 171924131 304519941 912037197 234586579 858446967 86529829 224524021 917400163 915710937 510169073 971151767 329315993 668893099 728760693 577148613 896577113 284331377 169772719 199631677 810846959 985003101 124432509 105998815 909005331 179006021 715419305 778425529 613979361 432380585 960969959 481407997 337126109 463828401 176527307 239938823 980108023 626475305 457907163 891123033 977899651 648780683 235027069 120912287 368800317 942157557 394947333 651896491 354630987 546633777 104677289 648872059 513287227 860016041 671893133 867622191 601413121 791982201 563644089 351072789 604640509 772409183 360717087 27103393 972557809 194852289 796256153 86228329 869395211 96499375 435099621 296664373 7594721 619539937 373951153 875457009 770112879 845772979 898820745 136823211 308693277 244862769 433241833 431638435 16740789 229228297 138243891 427264827 603474799 15398543 111707569 573814525 902149095 206099909 852739727 340004253 252801313 920324947 152758509 838558967 435899021 875950983 132753351 791616783 276648957 186592599 134293257 622029069 376545969 298840421 186093189 610758215 722014797 300557045 802968817 344493367 692882911 885904633 480440561 84033153 523405531 532610823 546737165 845055983 923204127 387803231 822508471 944131957 796110577 804513513 468755015 491809329 216404477 695796273 430171647 135456609 804775001 116044401 793358857 521534835 822242433 901304199 686165879 979190011 159034203 359161851 941920319 842548149 973713717 990325757 825498181 486994305 826764485 40030819 241244753 978190699 548573735 471483821 398808851 700477097 204287455 790442241 844574761 384213395 390928859 941047599 282696975 664018607 983124081 298326957 3830833 356274597 593456479 147386781 546204639 889135691 233557705 713969861 19741011 261592477 163793979 165865619 955985327 325565115 252868013 753336097 106133243 979772915 761621115 277109291 329584935 291777973 121265259 243929115 359124239 786760097 989340841 379570941 22817141 233913719 813223625 665979277 37703165 631433761 746913739 223820325 20983869 248564407 322398997 232187345 570264237 94451055 109650289 526666045 593673647 284474033 364644885 881428417 550826123 693897219 202477471 327847517 696876657 707299101 893140757 9813175 427278717 470617305 759329507 619407903 351860143 778857017 831365601 139430029 831382513 829866345 557994055 382062495 921208083 20318907 827664575 694078365 509634255 64257453 520605011 163578487 991711431 454864863 635437179 281499331 939940737 421590047 425741331 309029055 924330867 66259807 288107615 878247253 391369715 773761467 273607439 141856531 2964035 524332917 866063413 897604913 522195595 655178745 660320081 255047309 411295967 712300251 528529991 800371375 881168439 402936021 796962405 501450949 263462259 840916681 539701087 313815207 670909535 852625095 107850835 256862167 598817961 183065853 334232263 971424887 524863213 239816905 469154727 386117211 651431339 615338413 350530121 900705783 919506509 946975829 475794281 102871405 266669601 261767573 702819887 883192193 433288037 562612071 713589541 325915301 322366519 39420399 467738433 817357295 721031587 347151991 371060451 653756959 961198231 983685235 742026445 428018843 456915695 483727999 673081645 282817141 797619307 139128671 143400091 551569761 385012147 323734267 61613839 118381759 203346267 724705641 610451699 702588055 643665625 704089059 687406611 737521303 788664211 435749325 348205219 652182809 146322381 537012147 333713985 219025435 757177275 274849861 601517809 920688195 145926263 792321889 992129571 138586081 388971265 415197451 719464875 639676907 753088833 15820909 270060229 181456131 473877771 610241241 353806103 925139055 607805205 658655947 159356335 513274141 153427459 715616999 293483011 47741093 736131935 715821305 262151917 444397129 75760279 24863985 203724725 620689387 522238469 208126447 428911879 480230175 160286701 5972273 60922873 92000281 858261877 691247911 58919177 765688507 807965105 899623009 452436251 563756425 811905175 875718813 822730363 467821237 92336139 459062715 630127585 823772949 63652565 383933129 431633769 65031977 194082215 702539513 228245399 436098071 893733403 740955813 950840411 678985391 706756527 26995795 648045063 196298857 628508879 738807725 607855707 83421283 637496269 612959365 971911035 435205733 632461279 45958105 16301813 444975583 10537001 161690825 974506685 178818279 51046067 44687267 939595313 752929595 762662767 57560793 705437975 185528133 206817589 61863943 216501915 833855251 115919561 828895983 448953427 731906907 992668625 140255357 349548861 269941375 748837855 544662469 358846651 938555269 291124079 129413375 600713117 680140571 445910237 992575123 524458265 651680411 279386487 369433609 163418057 659357441 800866925 267500309 234135735 55386613 363412439 934650515 85663307 527531721 849665465 877301125 42841437 624180593 92123385 347277847 508182571 710506895 735943785 22105757 420894041 805272935 489869251 625814673 3920629 661053163 635016873 361130903 675773811 399564977 601989027 227876473 787932337 969329401 423005475 569327659 161972979 145381545 931171457 519062729 84438505 407234129 313813759 753609879 938477479 874329897 78866631 722522877 418016169 426387983 502903785 472361873 891523029 474521739 718680927 195614477 485672313 50017229 936566283 985668693 270442059 148381097 817103797 89320307 860033893 762833827 703015437 570344093 773861455 766108639 10353071 131913515 415737335 824025645 913073435 945415329 196981679 414822659 767376827 864910253 271870517 656190595 747178207 16941343 458211505 265372531 680726721 198791923 411910573 685352001 754976643 583783245 616285217 63827461 780801067 953597817 16257129 658803071 292106671 92699367 304497481 41798679 615312869 812380215 873661681 751415001 351261839 698419239 311025141 617100671 652605527 712897703 972393553 97292137 234075597 134046663 48831595 763262619 349643883 245356739 563551761 533751495 436285329 886680321 714114423 749007939 127866763 714039047 328283707 657027855 331644039 7983501 694797411 280206801 418746785 341670509 275182939 114023641 462093273 545646503 207546105 328978207 742958359 609470059 697664633 185553729 328189231 448243209 479899523 878616711 235046105 607623935 416914209 430523361 631013559 981877741 565689035 855195363 46037583 145639073 122575707 101813969 630602517 683728653 473624603 775430031 956326755 488633933 543244211 128303275 733568889 959289251 875664699 473623649 576157825 923037051 354445105 25219213 906011017 344511591 2396793 476439477 607628431 725528613 773072225 831878157 829100401 426948245 265304733 142711911 856191227 500348613 781582411 645638981 309089243 814988265 645892335 636063693 589089709 948974679 790749817 439283409 297546223 891084439 542355773 432871365 902481167 106397269 602049783 210360267 751800667 419268447 460388815 413848231 777611787 341390005 339895631 37536203 904761923 271646073 793133421 318876493 47791117 825741301 575423881 399590635 577783639 131161245 544164709 10134801 466713851 131708685 810720303 352835017 673162173 532611847 237986173 649215947 522879299 84427129 146816589 964770683 707308321 263124849 566598657 917493723 339161551 768117551 991389547 861676443 990075309 602803477 8282557 539076629 238128645 676908719 64195477 729204805 898204169 557183405 524839927 952422357 874984913 917269229 951173971 372207635 486155105 885797747 601086075 348661493 390079903 103049575 555982767 992650269 217386847 171342111 560582037 436085711 87855703 748589589 507627573 732913663 639011371 476079085 34194955 454711103 768463715 428215155 208936687 895422417 204114545 743495063 883015977 388181147 513621679 574744183 598369381 818382895 395169627 106234967 497225913 641384897 167421089 180187807 241505185 837532209 670746771 127547623 925379845 724352777 525425703 367133669 684348463 350184307 422620737 800391807 788303063 237031755 822047913 264477889 273491991 497601551 91029265 104602843 126558073 421540837 515017233 190369325 905843685 968596637 167804461 149001783 701158069 847457455 119959243 71338403 474006689 505783353 805750589 715148105 835697875 724806659 27621821 948956447 136154071 259066493 252734573 639683403 900123809 991737019 450531413 941951257 504326031 818000767 587503207 447576059 390520679 670131249 254759547 43920013 262592085 706818527 797949523 585312145 955885295 584570431 413867673 100464369 97236273 453742771 370854877 857911493 161995137 853546817 748743579 240096835 983102893 108763543 296837935 667086035 219824619 982883853 13447911 150408445 744948693 252740771 85202163 774387061 92041587 672010241 417687147 407218711 470448179 580933747 253108817 867507941 786469863 704779507 865951887 958636811 101823949 600199199 619895541 384579547 92507533 201711937 929323069 327944147 943118387 268475203 441588489 238613909 15603507 409344961 473094369 474195691 684576617 856357881 550383925 197843401 254385695 780097489 198274145 71157067 141735423 74170585 510397093 954676915 666668573 302664521 913435947 453587565 148708601 95383807 422646531 688109325 175612793 721868419 240846887 621121101 882127845 994002947 487862393 6111761 354838265 318071385 275094719 102889315 571974349 932433921 833908143 884633463 704459241 821274149 139502303 643759785 647689273 861464979 393353681 59125629 674848275 602097601 966350061 245086107 854569779 833891281 421454983 680150233 990055873 8233351 833117143 89689137 603971911 165863509 745053183 48186055 787734461 101264467 911752453 393447655 475278975 820396349 400349407 470814977 282374481 918514043 370635361 807846579 804431715 521966877 109270097 610647489 860691015 723043547 92893783 879802643 833774845 911248661 889628163 240290239 499737833 461974735 750388687 464064513 399305433 353114811 914581019 117389881 30973441 407513135 473889329 711648243 573725439 63145001 462037829 86201061 170631385 820371027 255946091 367811559 653574649 705026555 276148905 194915327 657975609 769285401 424275943 583037271 4899029 987980619 678960629 421817409 24665455 894577881 976604811 768684601 349239063 433090481 475083597 981149411 612196419 829998189 825220805 702553355 780222157 805762377 635869537 928629667 655340285 984319791 764158077 177672901 656788609 231678125 568485207 495773879 545631083 537097977 161539613 314671331 362425145 817593589 620741341 317944027 722269651 372571173 572249231 586314077 921554565 455155643 56443927 324273481 250266371 18587021 850808639 502848685 302436459 872762139 47221173 197971387 835342913 345547405 205776403 139650511 447167349 112657327 235631325 564131947 457505625 679175931 576361849 521732667 41904303 488011407 357914427 961169425 520078487 117366069 501435993 475106795 374649761 760885079 113304311 24489963 633194177 757015057 114691615 791388507 552805973 846224929 266045631 281421743 140301091 909775597 94822577 549193603 62073175 37087621 776817081 480969625 224386951 286777759 780769917 242548701 33528753 841992861 100686735 708023395 649487929 763948165 125487211 931300453 484533995 706226439 411798639 323428165 956294143 35816567 77324773 221454739 882580751 634452695 403874047 307569661 942176293 81860815 822900437 146898017 116617385 453762733 899705961 195964097 64224373 460706663 458580903 350717513 817026243 517609887 446638171 596696141 884833593 119124633 202092353 996423495 218133219 461991239 170371323 331113435 950507323 408791359 681794833 441176019 540923673 307857857 807664885 301563685 15191491 971180725 182280959 750969577 716818409 117959591 815476083 569548899 253107359 145626321 401909111 808116737 994779747 407829009 866081821 375055955 859015703 809192431 650020703 541451541 910402059 969226907 987588383 79457835 751943925 205753579 233496613 845473953 258322159 669742941 375839011 666877863 821598337 16707867 411756977 938239901 450200473 21203187 227502417 62683905 566398601 610663517 356197485 621438851 245521681 652787831 774346069 445201139 211305299 42085641 365398851 460936269 837325537 865350017 352970585 83106997 318296493 688928249 835718047 686860407 226776853 200643629 434123269 934312453 897211101 124577413 596211049 720931577 480946229 71521555 527021703 988909849 219072689 32439435 434095369 811664207 278915405 456102223 474514565 373845677 344047983 979658339 707137903 941211505 184810469 581110905 255117353 396830715 729535973 636601577 488349695 267575257 82115593 940645037 151001633 922298045 516225881 382651763 955604135 764268929 511256641 701748869 419950995 932983595 936834967 287208925 681204685 612842981 100786073 62079769 841618473 345465347 181492969 612536449 795578975 661434621 779580825 508086277 842283025 214646395 583236633 179830331 202895301 29295429 604896843 992645985 553376753 124032591 143919219 477373537 574155755 382930357 975032379 178878921 673323253 444898745 368015805 673709777 461606199 290937799 613988979 328893015 193073861 822426481 204007491 495151587 345608343 441731957 88195193 562948771 469804943 745215157 966547151 244499567 394642291 98098491 912718941 273895113 520792567 640601915 403078827 360128467 437160885 292241425 628332197 541980513 344090925 616414527 152564127 925222375 830798793 211825523 186139227 113732999 196157657 480500091 348498425 534114565 525111445 566869847 858451209 68411091 382655267 35136297 51585665 708606471 714136455 500701243 140035261 551950177 914687669 905879555 547790465 121478215 881772167 439821081 967225339 494573001 223062717 565081153 483684801 459088799 753406975 73217897 459588049 301237033 165348065 215791265 132117647 289082987 620269275 242480421 309435337 595006229 759856461 490630233 345808819 704500097 39562881 490390215 172196331 303780781 919418537 880856869 478070389 960909375 433746655 229217611 593191617 349454213 254739491 553388861 520620195 465325691 115143773 89267753 659717463 295321533 511533409 332425055 411978371 159149715 821709797 677373275 812091189 410877931 99672205 953004737 548616417 486954845 731223779 185376093 894998631 601984553 100097621 328426273 805712137 937549367 748746557 313278247 823780725 522173717 21302239 870808245 316051137 361000697 250280289 81784371 125631339 27408835 930011351 988780089 161172565 21473277 270630967 933876349 238050257 327460819 372476773 609315047 522435217 204489757 201803561 951963773 316816561 354716507 548684341 697062007 456728251 311704243 497287715 994641711 258082455 336042741 491172977 162047269 719397023 830643609 155453323 709141513 495820429 649217469 96731587 14272941 747006599 592397609 746423375 16172809 422054427 487033677 136585811 97956165 616628541 787642943 739693015 114322089 19108683 622171581 478418125 117205417 698033163 76541489 377455631 260467167 75849385 295687081 565380187 971328785 26706107 250496731 64449373 915105833 491025213 860676137 859307685 898211899 45668759 652117145 879724719 101468545 69707923 66807001 352475609 670607453 821461865 919473731 510408045 547649117 231235251 435285459 329858203 212643125 870665081 126671153 440932737 103360955 554765353 342173615 294311963 828400889 553456021 828342081 802717525 426217749 290045949 923288457 841994239 233905251 772917253 385595595 31962067 741920865 310278073 619021561 795087475 405391537 181503377 845158569 41263719 477432861 866999145 832931867 276712993 408428955 765044103 133616693 973159673 346110275 897125271 294381959 734730801 205005145 51235247 919297865 434456051 32801097 841049931 658434649 446553679 918397607 656874577 881729087 469242431 760168493 335087119 795236907 631825573 90420927 997791291 482311153 270994761 273573993 90869231 710749461 139960283 362322779 536188595 651131323 839563511 890307315 331012979 498246067 657045277 400816821 993995141 212960115 775018935 605750601 898731431 877714205 418069525 916265349 80252157 79262581 350348913 924590435 339290131 134771951 882175725 297138951 782967265 149237917 576162449 57726909 375609539 137624385 416446541 781306615 366409085 141299267 867937277 493768527 993333311 454907567 939807073 266704267 664231835 182641215 317287715 737630611 945754513 554204243 165500371 1085821 282383493 407545583 391149803 224775301 19561541 17951685 786595275 223815179 502607623 508326699 587566271 30117533 286648421 266007329 260171765 745456875 452827239 543257165 974747785 210191061 471181433 670027519 619883387 973177435 266281585 960087599 986324661 988420777 397731723 94021243 555564037 107042065 210556781 905405227 292786217 175878671 237475111 738083631 467089345 817088073 311323689 830009883 279028307 903927687 432141141 706522931 121911637 632027069 228990957 793713755 543615259 122270213 448653473 114120993 26631659 55109029 117056643 583760833 104021229 308468999 357735443 882380823 466500399 730854591 813313589 116199081 504609967 414666885 128213301 442654121 384704331 858594369 432229323 238651887 335462863 294490363 124709397 338870775 962823913 759894503 811547795 628880105 915259445 194433889 673344311 419556759 291226419 807506923 276972629 57324405 474250827 672326961 449487785 770292643 220091857 535557895 911982425 191625195 724673787 443178597 590103283 194141625 441182959 193191027 835801709 167544613 408592305 602903417 933488929 518616045 259834165 215114221 874172119 6460539 975974485 385899365 845404861 62493919 569437647 480865707 909390437 515697099 248101201 103688101 251297485 369335715 276131431 168522857 403599197 434836333 282729871 366361137 336086753 494235097 885687079 8391521 586653835 832865853 864956025 974071171 84659453 834750871 471413943 54286923 842066747 664448913 95029755 302450327 485511087 999185785 323774019 287961957 143865139 51218245 337752187 767490275 201552385 125275287 693682037 158694245 190567615 714012083 567530215 613756517 874661755 341634699 265822325 920995207 783604905 898670007 4236969 63713687 163235369 807003507 754643439 589267335 686324283 283684519 615503271 939479409 931487891 708098533 175359757 397361049 364172607 574189665 533879885 564587373 669905347 426943739 805343609 312497277 196797951 86813501 192566663 7637381 46733125 717993553 56850267 295687531 916728645 81626643 835622077 250705461 476206369 646412289 718425439 371499035 821067867 408512065 70080473 464545397 346983395 685509795 464475823 321926345 161936651 856299423 626960711 746621889 234555539 949217619 630310643 802107439 115372959 861129351 273628141 376239121 870986941 145274793 429831255 915578759 36381921 16968659 105096505 790049247 441016937 779678145 300216197 728007305 912875547 988389597 913246995 160485925 928088097 678659637 694496677 633040755 106136341 781915519 295717349 798132319 903177457 8045085 306392677 822566651 95074333 752225813 282116763 19910789 128942691 492267797 832634857 85671005 702312953 91301749 314938011 971875089 209916543 920387893 931430113 102459731 901437943 477179643 906680787 625839871 803555279 331092249 671202931 46617111 513851357 181514371 369128107 141803975 350151007 767855577 155383883 96143715 518174713 254142053 215925773 774463845 728847031 920922385 497760403 595970671 389798673 508622713 87886693 654353487 849331171 144137435 264427507 943984887 298613875 376882461 341076121 411561347 589108075 515222991 437236631 937249591 711175141 821764905 234279447 170319483 947345499 106068745 222650153 573752291 537221043 274070007 149369543 939840813 924962363 552159777 882642131 546557499 680999591 484992609 687970323 614614039 412555543 948591923 344831805 737583607 429008397 605400001 451661799 798438963 78551927 997881049 151091603 357946703 705431467 321184753 228268203 783790841 500906085 997360683 783577469 466868479 122186701 703820107 426037063 111142499 516654445 175985347 608623401 898506307 51036477 363644075 525379369 419421419 781361815 869454527 230063421 742317263 647688005 431020903 89254459 225589133 347965039 324534451 51694821 911008483 603981231 578641243 35778275 349307329 831921151 730998719 304387529 508757303 336932549 808054499 469044239 86208385 259600589 982689657 539398165 157363459 586902351 377613527 5130023 958975817 136706791 460960763 173707379 702031875 71277211 330702991 507565589 936207889 417572055 241698785 348559883 87446641 146621041 139124201 502211395 858428243 365240229 744336965 467105419 638702343 38671131 581506877 652425627 929852683 486993117 234684607 832689689 507977983 766626657 348757861 593522313 973800881 761176711 360189291 881296223 852906513 808611473 433152443 183110645 767040575 325808429 773081825 253533067 500612731 725487729 3073561 719727177 737874993 337465307 690407997 39996995 491303155 400574287 378575065 962530927 869394301 337865753 650016537 726118321 717011125 817210865 208139989 558349267 581631651 249372147 39485325 615111811 816171899 996457893 116783977 452772955 995978391 360040435 73145909 274099679 102988669 127452209 251587179 101583477 496655063 577688351 720647721 573811569 699878265 955025377 941815863 208066825 209149789 818488581 600872197 661182817 443736741 942134657 93060521 861511043 502690975 819834287 39477475 682289757 544168637 494460503 105999385 853119433 726600603 570821029 670184027 933593483 371613179 182235183 125108575 907480649 447263177 105347059 163509895 661196437 628896537 155390803 720000985 394057707 16855333 692931617 518180099 516582825 358571345 271351437 802053215 381592089 897226791 587807289 981823465 195833197 711734875 489707303 646144587 588371133 191025609 954408135 752810451 182882061 93718643 346907371 550105975 707766339 410932103 728080595 716812761 884224049 314629205 245428259 566999613 739080593 325595481 181708777 360363925 473652485 930217271 907687321 118212983 177376789 741418937 624992785 352110371 745599027 545660115 410708631 109269633 601246135 182654881 785026007 90687773 394186981 821517671 332916967 676914481 160064227 140585613 213569603 985648283 702905027 646810537 156695763 620530147 720500863 753947767 804139745 38144825 610659321 154328279 477934371 645905267 708301305 703193045 871335865 433034511 418746673 513433767 842613541 522798903 508235065 286721445 988415829 52544697 410905491 790394709 171183265 195532557 760914601 75178335 646032577 825359185 611823307 64030617 425274335 499711821 721692979 336122623 697054599 783878767 936056579 71292593 568226733 633650383 698179651 589542653 26960815 176792623 999168741 592003155 581893457 880942833 41345473 445588563 513260995 77673769 890005913 462296251 898138265 185000843 385294359 894316155 397108431 138883193 870755531 800786085 548331467 95212791 557869615 490683249 325488219 284672439 55084707 345155397 604746163 729492495 318266227 32198061 824933491 269041919 911737295 890244699 650974621 626053679 354278863 379443243 255508383 280871147 44563317 261927967 461152079 279455533 557664169 490741859 912619241 1584275 409134399 673251145 432651541 446227301 392662511 691904591 984266717 651931027 729693531 812415253 240896441 97344947 517399563 954262121 879782533 930763267 557301871 455204157 802151045 810294125 144487907 680039341 681078121 226433151 514599335 883923451 466952003 925447281 618812389 854567827 484269971 676742689 798914731 798771209 508952637 679479573 81957111 439731223 454474895 106132097 198343081 217952927 765566013 819533367 217115271 595416495 851807845 721011641 98154823 922919291 22735501 984045871 767433853 302806361 65621409 253810791 548922031 956738771 812549879 799279063 769718597 527242383 236481355 609606047 156911503 660919139 893868485 788559497 144700357 690664265 909082863 275985665 866705933 495354981 552679873 752818719 192560491 271131137 486634133 521661091 975023829 977859473 870266419 881235443 319479839 39644593 31989961 558005023 67885327 38284581 487000809 314722271 38327371 525833685 226814611 615836051 958884967 807013335 550692395 611203135 863601371 345351269 318129021 510531987 403297031 104827619 508626113 121972713 965108021 925427677 598412179 567338815 390925721 693099011 626607609 186000441 123937095 70048051 188896095 748430123 764775749 214430577 771176857 969826571 242071417 407131621 403565543 974088311 72658871 284962789 243138543 689081527 926326965 381224941 452875451 782061241 152665369 300582557 30401985 797916693 944480359 740345793 249190367 400931339 498546707 87398223 491562587 776936579 460245109 357697121 827163107 480079627 966727121 621307447 479717257 345154521 685285197 948797761 86128587 612333773 998221309 260332047 6735249 404749425 778374103 441283679 723031845 206431985 540785855 799250449 124315455 556546853 452143999 819486771 153344507 905643917 33839301 187866101 379361245 35496783 523348011 557419959 638838485 727966523 647503667 202592249 652207927 267709641 271471177 97750119 952716989 903077655 466676665 293518035 680470419 912849389 910552255 235203131 859449151 985154747 929329789 459457471 255677373 147349 543746299 487717805 85907557 788063807 2958891 726859383 512063743 720224029 472561895 392471481 393243319 702712383 650278381 345402165 551997729 734743131 640904937 279524311 71497535 311251 916567917 116483249 860552817 324374957 754476015 37738497 542235529 297499287 350669011 597412905 524742583 717686761 439562593 182936243 616611741 879579813 687649481 373351251 605024317 543623277 158629673 425040101 316548101 472675477 476245117 796360811 429680589 793258769 662840753 795887633 986839503 562428289 943085461 110002731 69306543 950298671 220444643 120849459 583893631 400471815 648694845 148853709 906266545 161042081 280655659 418011075 989773859 451626813 790447391 800731913 549786139 998192577 884265329 629346235 918452549 190189245 620101475 235114523 611402677 184534377 953943327 274905495 20696811 699312291 975346869 820074943 62645453 215587827 760753439 981855055 655078053 644439177 508170559 852077355 288991785 799269945 436693213 711711069 786922105 367362183 400015785 177612313 841791767 802514839 271914047 524012733 350673137 804068663 398712097 63869127 882405213 844574691 929414579 738943207 968992537 897097655 105545035 174846445 115572039 121865593 879221793 625815509 300801145 48561565 735368279 482188995 321976737 785722677 412737781 699502081 846732571 154663683 697931499 36441861 610965937 116266095 662432789 954271335 83879819 744115845 486661683 798024429 15523139 167806207 660962799 264727681 424089299 114112829 215457241 703661877 470357153 660983107 24911211 662906949 373616763 208850115 234081797 354708757 114544789 348540947 697909747 385936945 579080845 768828723 251857251 443737675 241345641 168301769 234134897 955860285 355674517 216648485 433381661 937938701 183966695 519580479 819475537 210130149 970730141 735767477 236746973 539742743 813958489 179151823 39275897 841200417 230933291 475584636 998827723 676423331 743963017 879885651 761668183 395270763 403497807 736100245 495144851 897941099 29874113 879605029 141148373 386600383 278681485 416562583 819651165 688288169 460581323 616473377 442610521 765773973 386766579 880490913 846319319 462380821 704224751 820641693 601538767 764097255 60630795 576948039 650666791 410856939 774284027 816949111 302263459 673080111 33095133 325193385 317368311 101631973 246222391 143685125 832530621 608298089 858259445 553500765 544878197 199845693 679858539 460904229 636109191 220981261 910514779 24119677 406048327 449500333 258196709 110059311 97070571 223037975 762586777 259849125 229447577 420014959 262693741 550079739 202966869 597060351 104940731 273843439 913941267 258287419 94082123 967157735 50808749 581726655 949961545 853919731 443642337 850423373 837779787 701234123 532419933 974535121 803347279 996073933 951593389 837343071 77867705 7068929 470705999 815521585 358997077 141627927 810968225 359980971 512449371 894965859 561490157 330069591 861999207 496040169 509204837 403417323 828226685 71605069 129118755 845890111 708401165 27450077 603101989 833451863 864336363 636913045 952847705 92312673 93391955 315421969 968207755 465977773 848106475 329889687 475062135 26529975 95822017 432218905 757487295 390619427 315448649 408700463 884211181 809183675 274025825 950168341 474517871 953494901 736004943 874487987 874028703 205064297 371755199 359341979 828019391 911365853 403312583 517088001 114892795 998360121 688894437 635398597 920400479 117383187 523627259 387900783 124952295 158083879 789842521 806057263 866693237 692120661 435807669 284080859 237335761 939071915 870137387 528236531 570751405 725555545 626191167 968376477 919030179 986458815 174034913 35232425 270591793 675458395 402811235 676530319 684264899 910783453 954985605 78231661 689982121 741410581 827496555 606096139 456073247 90092801 523053473 351425751 380855873 305483713 924732703 225481963 701445661 150785699 478879555 261780483 616262307 985683737 268745933 446537097 927048619 716094909 339584495 545127563 474247929 895226197 265938237 334687423 903450417 133033931 924685491 621533575 213293291 43609907 274184375 58273513 538340251 907412165 669145369 925616275 866435749 278159849 771029513 801423069 640152143 726801703 201503017 652170695 750475983 601166643 714959995 157105143 546807099 480134119 222535533 39183295 142409877 181376843 794153941 291418643 503021255 760046213 975086833 983898515 239824801 101056745 532503653 360849287 794382815 5368565 566809405 124477663 293763613 295427403 707380977 211987249 498431977 508666293 900746333 95548861 12369075 435781671 855594181 271806057 594248403 8696253 322393817 137853125 614330507 264646073 754935725 225603337 819038979 50864263 68485053 359869203 400599887 670893243 847563759 75267435 384668519 234448911 337111185 934050879 504459053 324704359 301047895 801056361 137558377 861062349 246414687 633476709 531749579 334131317 101999663 920066909 927558383 896482747 85730995 331970589 152374613 867912995 444302657 789778977 176806503 923896917 260743063 795165317 655257717 725701927 630893527 903425807 223499961 643962003 227183507 592550193 773477971 928123325 310917307 23800577 995300687 210747631 592252593 469137983 470490523 256608415 136177463 45173587 359227923 946916965 908833661 920313929 488384375 705732103 87546645 202210267 867566959 207801453 160567039 601963113 21785487 552938669 516631199 649893623 205357647 90132737 176315587 552647735 296732175 226531277 655573663 809170301 971626011 151326877 521966289 696899021 371703713 782250275 367727711 271591115 432547517 993865273 430800821 28861895 621329263 294958309 490360745 208972473 819691167 549817167 767483511 284894527 841607457 687434191 88102085 825277857 821994669 198796763 760743585 392543693 220441827 540789529 12593793 224886877 595811405 680578645 406409279 676918157 30445405 536277633 446800419 399257159 141749613 756146103 455739867 933435671 143751101 938328637 428407161 14670649 938127477 184280957 302903933 576387463 811815849 23764745 626722507 200500621 446906447 740285855 919408047 927106679 661450061 659159583 107192545 184609821 596708967 104269975 868264317 777644031 826939729 869805369 991292167 402569795 798881445 116630881 625803375 122018491 97540833 430533265 900430601 307787739 445976945 571600757 966761361 391903683 809181095 128692959 177227565 440291643 494158267 46489805 338048619 541059763 845029325 304759137 538701375 229531969 255752423 617271269 871923977 130364325 552095227 760711629 138073483 811089221 765110497 688430005 295183347 81689905 662247261 652820063 906803415 640633119 381836821 588886967 558579763 75274353 501154205 101366737 584898159 696629549 800496491 724391909 136684885 297995521 385518307 123662683 210806557 94841415 938945613 385114811 817271139 377729275 454179803 71232699 240059435 232182727 246182053 374166323 440256741 81660153 551699375 401695271 971999075 142266759 972389087 534689475 333526757 683550225 941806087 138819163 964828943 160893921 626282467 52042601 61791471 95818211 845356815 935099025 340022265 194843055 640901401 812685725 566294795 583181445 273445233 948388483 130888555 231282763 515130481 62941275 895443397 855650451 428704343 210711657 695066415 150619537 390066255 792071963 626495525 364004645 632059241 152146177 196535181 960692695 828495775 713183191 835128757 994791895 603531987 287510913 651832659 476856315 394200525 500138249 950835841 346130113 37517631 153879973 818093513 622210387 266657985 587623341 242263315 789854847 576167893 559995815 449846967 315281853 933720293 494698813 234827379 377774123 325622337 805336641 662580843 109141905 157254437 831355823 325717035 531763549 246794413 858495659 642224043 876210599 585359591 910488961 118890055 893375537 748334019 461502115 18027461 460137821 119131161 751426475 315442001 813541183 949041323 248807007 306350719 189572747 720011043 837970857 653416527 276791203 298329873 581566619 654581799 12715915 953362671 458380657 577205457 539617013 246184735 460094097 203206019 21287223 224371943 433099651 859472091 403391313 815669117 270577147 492308959 89665259 330823415 929360083 204672251 465270609 825240919 762958097 323033349 133258365 751370631 995509471 537885755 317289485 926005847 338774159 952165697 220457033 653939073 614491039 771625507 720931105 549207205 501995953 523367257 648463659 119970383 712620431 81473215 966968485 995356397 840335917 630062745 338740857 41589211 800459173 776669847 496062773 178169433 421078077 74056907 482505233 636630673 699652449 388920501 587647467 772696211 909535903 507373113 422344265 196503383 678281911 806643365 368904799 746874819 224012427 904428973 645805567 708089243 484401701 748660847 143819435 511278229 674393017 893705841 698405003 618204999 330060963 107201695 854274925 449377841 918002277 404972111 156125127 191681729 419147691 797298749 692140985 257136197 883825481 814509457 127087629 809915127 268064057 478346453 897600815 884915959 539220895 111030015 19669047 479298895 150471109 287121007 400452069 545244915 546020129 753126887 854473119 565543863 693954635 827172245 969079925 678840161 713281543 947928593 223543327 858488985 20102209 235791699 36680699 743995373 281192717 25699781 372173843 525139675 209696679 908752691 57639953 771524801 988926829 379199953 907379281 486693355 146753265 199683389 609534159 208354439 230309089 571663739 615995445 902929839 418551581 551639035 994780369 797021799 135268259 129528977 942197147 334990485 410980771 375608953 603830065 88602637 12947565 68568921 151263449 595285383 439029885 329694783 961750407 997675939 512618615 872823457 224145613 701909483 558210599 6058841 415464941 599717841 112467327 8475055 570456783 206980015 266758553 203923535 945430783 148382147 585856443 253998159 733444281 775967033 675997773 806883885 479902167 337439523 772485095 732557517 51933925 10269559 460255807 278007931 312512527 155383833 724391227 774341103 936062509 13533139 917216743 615017797 763865533 970625875 678621557 555942657 562119659 514628659 886742079 679610131 789408641 320037879 580064971 200388045 931638265 991786757 630624963 358131439 267226737 774196143 510407163 208717981 616799409 373348145 347767147 261922405 609902633 349423273 224633915 121153083 865805549 415299617 917226163 465485181 49004737 300019083 562530119 50497009 3436041 856487871 838506897 217971395 401154773 977689471 946877783 720880009 29396955 319662709 782026627 223786305 693474685 290652211 12423465 121803597 799259329 446795055 704064643 115032189 855380565 283034061 923768307 36137991 267243921 532056917 370815751 38536837 32266615 659611897 888418161 42200833 185571753 53192401 342076429 403729891 539139963 653346015 548252637 880679939 987373793 672654349 706823439 133917599 44126075 111271211 284982257 782628699 114622867 989267957 691741699 572309317 481035541 740402695 914631911 654434769 30925977 77326319 257217383 277779677 959450205 972244509 517760119 703589549 601868621 125243369 315234355 772579569 315237363 460396693 603478239 299968445 380110217 339509835 631588323 83752077 538585837 273422619 155146965 232208199 835535271 879371775 311966319 296234809 374248165 743782361 406351765 881518617 56846977 252736113 304320081 652118785 338531833 203163001 951036121 280595321 135739249 819992969 41251973 262176879 834926269 482433315 335880409 826117429 362018899 395531185 499960963 601917577 815991377 285698691 403167827 560395155 873742205 656550867 337049669 978595549 186775627 604820929 617816189 313070431 411732941 802429273 550821959 416469365 368501445 250038665 503986451 611523043 703816345 803342381 964383105 934266585 824558171 568774917 207688271 841917675 267603391 431001275 692961645 689961493 751519783 14302175 434661099 841566397 226800535 51705323 816998919 701365425 38839233 172059199 41160737 912599589 921728763 783398695 846891975 484378807 465840453 933290707 801427881 225148525 765309253 754685529 222024103 129199283 532770123 651875007 886427585 439126367 386409039 33464301 306101025 520860589 248594159 773404083 402017567 262227781 446764659 848657611 152791089 585022257 747756489 91366869 562423551 919262953 179051659 230030429 396120911 307912007 773811191 857754065 283120409 443603861 45606385 479041165 746607479 687613563 396914701 33364687 759072171 446522129 961257601 204616133 130016289 718076885 978988329 250695293 196268907 589394859 98947729 265025777 845172551 630909665 553116901 894659841 839510423 717407275 104553215 75069303 456253285 480026023 299957595 643474181 104636389 99648985 14618401 892655429 288280435 282697393 425066787 22921655 789983377 522999427 85827797 103794371 137576171 715417355 172907863 336534717 691125843 405764721 910033523 963433181 744789447 320464959 144456595 119630915 939594857 953496171 395451603 732821753 330367619 525851733 173222897 623455985 236174473 696796607 249404243 55568133 468596759 754574807 543653641 621441013 125439729 27729971 861670859 263911273 655549439 354889681 430510071 394176243 911701079 198157331 247925909 503797007 61309491 105642443 347270229 668714523 218414071 426740779 826684043 921592673 960041773 585521617 273743419 608040979 734330249 378755521 753733385 504903243 621200871 661600363 565496387 52337671 879273803 971664545 53544421 825462325 369341917 365828259 670765963 702952353 599121907 834934037 599473019 753440265 206499591 29229573 130484647 658569995 498514621 314480617 779092135 345417009 213006817 372382875 947346103 902343405 78018915 809383011 331875007 689700759 916935011 833778925 992694609 603498099 398751775 176017487 880664481 493024167 236117255 186033669 341882511 311523141 220472235 601099255 987051939 728357449 390269639 124004719 561830925 560013199 424891199 723276837 400956323 67267303 948755231 749145907 808298981 229408251 820185241 12235299 316100345 934193003 653752583 994588125 170562223 949474739 970644463 626921403 420754815 37735999 849623035 446036597 874858887 922138719 622896125 438610229 431229839 83779663 364334065 585598599 646611973 396075051 937580541 115250527 585410563 691228929 36834663 433925659 802383941 768735681 147897255 851617665 901307957 510772803 351699287 696112061 392123617 432741963 346541881 92178789 48473087 684951167 623558969 34258549 978261745 201268081 483731305 559362899 415550395 27742875 569913607 269293517 751266833 791554911 536034675 198713369 774363717 894488581 10265403 118122961 158503001 67388605 379175185 347590397 261503219 904881315 313073873 508822795 493128293 715502777 589629565 506930125 122996131 827601123 495053121 80832129 104719181 565332729 773580401 57290447 397396651 919219631 749729413 644739011 393936557 224418727 40037925 733557969 942826729 201569389 684931865 751237333 233605279 901660529 295014229 962973977 657239989 927140107 728572405 106457159 294309819 612602749 247177275 739261299 244451561 750722545 418679445 79114013 696607005 521461623 217607569 80270379 864837343 502261769 525971183 170121445 946426461 501368199 805878417 92276231 83146865 753428157 961855873 807604137 913522583 715740249 477432565 804763219 249601273 999327223 694828869 16494065 226526563 131426583 131037941 475428057 911376977 818151459 751134129 103601351 68633309 653294955 268091213 952591843 57485011 704202281 922800323 189640119 385608095 781167997 175728439 796876859 61918041 683675507 229329653 454602955 478097345 264346617 390209645 650810155 656870207 535869419 762525501 646904459 715781087 445517321 769421609 237635197 19398235 595952635 413866265 311384065 648386833 70192981 185781283 126942331 191161099 439531663 813537923 595999929 426535155 969761801 775156377 228759535 42724901 138070287 33521649 277661883 921565087 721780943 46546497 664970273 522364167 148477797 564068961 444568721 925852589 444841681 695101271 907397343 106497929 667324923 838449997 37431625 196684345 763941303 672914581 235459697 121514501 428300733 804144299 498929255 801402587 754762669 222829365 864020897 842609493 598287377 868699385 316798457 18639791 852118877 699939567 38708151 326290131 459680997 40238897 790359175 633834829 139675631 858910209 984677505 41838681 869622433 237669065 445788445 45993681 419823375 303147297 293890629 317402177 311533617 70271423 457406277 344460757 169275111 227067787 446733777 144820069 835134715 201548429 982656263 513228913 932368415 3246841 589639275 366656799 867269357 560157225 151532269 643156289 179856355 538008483 510150111 11596619 175537263 613266449 618835459 184326493 890817501 986751559 12077689 383802431 997187691 449850429 726061009 300213345 425428023 744777243 161875711 655207641 928934987 977859369 225600609 366513253 329714585 448277211 833402045 822414447 925787129 314868173 314573887 168599557 189027119 949450433 474082685 938424543 942171105 826071459 205472885 261339739 858926243 848889991 277403019 277442177 145580779 541353639 2021003 678578943 950639645 99091303 907136941 336063023 663821441 280195921 858807947 224059917 515055689 605309721 348990767 330326851 944045197 509610139 637007617 219195421 294165073 967418841 998921179 154861463 393315707 942399489 489293559 44017227 320536541 844555361 784962555 776370565 708158003 374266233 926497779 293728817 680304923 48812523 381495897 172648935 688824863 242521987 806927365 233635815 890645167 721463857 443574845 709461015 64114473 907138835 232038321 64582665 79886793 457507181 170287477 886947825 995054011 606677927 321188869 621953967 227548175 129138263 892798537 458477515 930550977 149735223 414654603 457011317 63047085 405611563 980987779 45173379 891081121 807285823 51005259 86304883 843679053 262717603 847444075 781193071 349357129 348724151 88692945 586888773 687709719 563687417 216552143 153931373 360156449 675281689 852771877 971491589 11897785 780046055 359640309 320810453 800966421 541026911 246683857 498157643 734231639 603024551 769788331 106344575 98651019 402051077 528571617 218080819 654390945 209778929 698514999 859601865 484367985 79327493 47356125 735926613 730306493 353241601 250340966 291933579 745424431 651536597 770594769 113688269 357467479 110030993 562000513 465519135 314454959 541742451 755287877 128593971 321147801 182872027 516687699 83610719 261808219 275352407 143954757 964616099 58233643 731771289 755795491 472946085 122440735 897697149 289925209 704218551 80117049 613211139 100419773 496929741 322737507 137560411 101874573 895712647 234090349 27832791 861901675 241942317 873098001 478839535 170609769 729438383 725770735 196437579 645085943 696766115 7003283 733135027 621940471 543821639 944866155 811717403 335689389 395790725 845831635 699691423 235780035 908862955 845980427 345585281 870319187 575599025 567942973 700419885 155249623 42134453 589005945 491324727 502510645 442034045 975404985 549311319 645477049 537956413 422236125 659873397 359845149 869812679 506614961 734932633 187587193 857729949 61040611 18753527 85269587 128237543 391483407 681713643 830980507 308150897 569686965 653241337 911812005 108365239 432486973 344172745 978817327 343371219 562860283 239057713 867411291 661483409 619512871 213147435 59486905 684273501 616972769 654654681 806392895 468253263 325487925 151395211 938404425 77099815 218183441 436112047 718512539 487860043 23479633 523058915 952830563 223764427 641914291 744614633 583608119 811269727 670813925 14161071 589213717 898011237 639428467 430188101 255383905 625920997 405661403 162053863 737851113 818022031 386508923 33382393 29755617 431387321 689586335 818734085 65900775 422191201 896753525 301668289 588613887 869900849 439081497 866859781 172405913 987005559 220381577 582530007 733426057 959334443 133739955 312187231 961458955 682086891 481675363 1220339 159878853 831323901 272017495 399990031 630282693 464740949 909907501 301204563 841088383 290571141 209901935 577216651 727318739 58019279 502025103 85666221 205189891 800930075 248748775 795893969 18412733 980027637 616546741 775279933 888728855 777673625 434502439 697421147 956425359 829674209 341800521 652735421 773548551 420992857 692666649 182649887 314264017 853480235 73877365 140511847 78319775 459407157 75792423 424140187 845954189 744349167 749412833 963446515 486905893 196030087 843012667 71283401 617085775 583675847 431906489 187179423 887651429 913945897 92390337 94009633 561967393 463375819 576724389 605035809 537968553 735578997 964208033 948255901 392079243 971589015 546427603 551793845 322938555 253335109 775876933 625516471 934689431 272682819 171539177 120355861 326879461 513551605 654350999 518810987 189255889 27686251 923605265 559396731 878704113 610432859 749564417 961203505 89749825 354859815 471211257 228148127 318557225 690504661 78033519 567689475 72853875 232651795 642301127 390385087 568578647 720666937 980725065 676238685 45168495 744464967 731630375 656515985 487695811 812228325 62337657 518016823 157553089 69166177 134710081 910512977 783881275 538354865 473468521 570467339 455541617 135282037 8539843 854707641 813591559 604388087 931607557 623860181 74281481 944354593 785606099 435906049 410248687 129482897 17605811 31826701 41446805 918579071 540579099 510906343 814872385 987273433 635316833 129079981 784179359 351387433 787376583 718935969 917538245 326675369 114355063 267526193 737907759 465306423 55489923 431049195 220532675 468897627 341451489 792616335 238689231 812502339 346010739 359275519 392342535 521155785 588370437 961027399 219554187 989996905 540868423 635493271 23420381 335201101 176257745 389995085 981638123 204896323 861465893 139690733 438336779 57766595 99102125 755500575 677536251 86746347 75773369 571451065 282290655 506929025 670514051 562305719 377525059 369721079 780800299 832202809 545556767 686878309 487335357 923846795 670635471 556447879 125993001 530335523 660024855 940553413 975592007 575121561 614869543 63546417 182199257 179920819 579144849 587105919 955670407 591049305 25934677 629834001 201428965 456259747 675152087 278540779 443140715 543270855 788007141 730759871 63131771 113373483 388100531 359323619 57955419 187928923 981853921 648353111 299838529 738287881 739863153 534182849 803728707 351654927 564151761 286696817 203632225 666168947 459958485 727404895 778195337 206294879 503024319 488892457 207463049 68128293 477160751 464189719 283980827 360366403 547727671 179973911 429975775 229356889 500889671 851409859 1085025 374406709 416650049 103434839 8667151 708831689 609368935 484089533 876456005 298498351 30248809 527043203 879845187 415978413 16190041 169403361 703242289 683364269 789998263 386471091 603445283 290211267 212257127 118634885 940009745 960329129 129831093 177910915 974290139 130525505 19275097 98217607 852739659 924537753 139302255 248962573 442089493 92708323 982840189 896837693 48413645 802411643 713028975 268392937 759066873 479671779 321071515 885918853 182979071 318934471 363398589 449975089 98667827 901043707 791101947 622879157 581299661 602824057 487622627 167827329 141677293 671005027 957839723 992368299 69867677 665756169 152938989 135657203 1411791 45941209 405413681 740060351 885173853 127653489 197953125 417667103 239591431 20265875 806516507 431692747 920585589 565704747 338231377 215992353 692503099 914095437 303931247 951010857 733550799 861415731 211479361 842597011 481338773 315364417 602710777 429841587 9442775 728424961 33580857 908400525 323097283 945697833 918771461 171059395 49520755 190388113 857182407 472661417 210772715 242826557 43790681 368527925 486327057 139562331 314981621 787376131 89586615 372579899 862851137 18385759 106419353 32479577 482678603 450783797 974913877 507543129 875520647 103620895 674698357 81761797 169764309 752703577 226025067 33849171 794362741 398987979 292190863 740144731 531652889 639830789 273677349 567844707 892958421 895634497 131221331 460611027 398697511 946025817 52271659 18620737 22904049 902041559 228687785 105159785 259547781 453414635 24542891 100030507 396106899 698366571 904215291 710026387 236261437 382907863 815404619 590211543 150021381 606397781 918605619 234527567 195074523 876407989 555035701 180651649 327855121 611642991 852341435 379510295 407869031 321132705 93322775 826851043 534872577 47287315 25308287 283872483 261418861 371785011 184858647 410369079 277626783 866943259 406479335 820608557 882932981 819947655 340543711 450463799 313173555 679753953 939280093 547345135 777598345 526707511 146928029 611847963 660849035 908728639 558421451 838424229 334591029 702918235 29327863 815172511 299040751 6637199 311867803 154083143 705548931 192060301 190213657 40198399 417328167 252136365 411486649 67530065 238574203 559864043 328889003 655731953 185283457 400342511 367849485 588135865 734299303 163286795 259385563 538003375 199994819 253143859 963089665 27627005 232867347 157540103 583900751 179452407 783247675 230309327 33868671 77392919 30752327 534542971 744798513 763939583 192247983 55239329 514268913 890312829 620856143 321441153 670977583 922304645 778017645 135621377 69866307 206116911 14686643 944852145 464257135 443425983 315014459 618506441 462151389 76577953 656798335 854562599 730210717 871073897 619923045 981128785 868760233 286788049 894643515 797064315 730976225 685601979 361006005 977316983 324373521 898036279 479475699 193631945 987686375 132436851 687031927 659226261 90065663 102283469 927660335 436331689 471770841 929456327 91438193 298139777 356434399 871876879 160795129 940503351 864805985 453235061 703566319 496815255 886448025 961151733 645984733 464956941 970161831 919247027 438928827 706452401 12027799 697836793 214550755 703768899 575365719 519642173 624235807 314764587 753334211 712269335 201399703 57159541 769403035 516941899 459850213 575469787 878814857 275896263 177958659 575411643 999512859 749914523 297263703 455656735 592404175 561872899 333979309 515656113 811096069 834398563 118362941 931312845 807876099 820697927 122782883 806208881 9310205 393592671 388123109 432668483 482493965 28955275 791080303 41166739 26651187 884115915 196830231 480012889 515591511 495507273 309411353 767251251 6674509 930241371 911134237 896550505 55481549 615671677 39026733 416248297 339954295 877211983 936372415 885636171 948046295 27179935 433998259 818876369 833707867 525481311 891342155 975469405 836893789 524493481 415105333 966205827 183132193 961645507 246118791 375545209 686710989 431492119 183362495 97829403 808924789 7717687 286217153 627437301 372252689 481474529 281805529 678702899 547391617 966514933 163244223 354884269 793060239 852383361 176857231 262165219 582088941 869909175 81937359 744655867 829749557 343817459 434237801 660702151 114564837 578450615 860264119 415366331 225035627 447059631 123491955 678921975 576225299 415106989 806500291 64001859 286229787 674972591 295901493 39415311 402197153 772356309 301479871 919117937 623157167 126811757 56614331 166383399 727597367 252746731 453287409 697223067 490392851 376409573 118471821 546496731 980303105 826112293 669615653 303425183 626302381 87271825 807945399 936329285 484485545 303586621 631663269 815850965 990853739 503829351 664074177 592322813 435317079 815573361 842633275 767730711 9375925 57930213 991215541 420136223 313575095 132184951 510979633 789779647 68906615 189488643 736160031 234748227 270145267 117769613 86067793 326580647 890254359 665564989 769899271 936015493 762856885 967893097 157307621 399571753 838205059 901720459 843944185 58825855 134083365 854794567 797315767 876046367 937603363 858594663 926680829 877700937 114716143 966022113 566284049 85989347 37678049 590296013 449096095 318005119 909620539 300356207 409442749 446227025 878166311 267599413 44505575 249504825 814216375 944517039 108536069 562812863 282698209 715853465 543050081 411422483 317128841 733834967 932627377 227992841 577671541 453809011 25513493 127751205 227599707 343616419 181939471 723307403 898019281 838568383 354327693 977270795 779241051 642969165 294499047 863249693 525764959 453497589 888489941 678923231 978924847 637805967 482550657 765021207 610880773 528957201 812494711 583821113 308695555 463187617 60802475 372639063 719830063 996449931 221760379 599493683 210755967 512841023 56005803 556129845 852107977 399856221 947198059 780988267 379597007 669820325 25133135 46385803 640058683 532828673 180949843 654202359 307622813 37332617 588892381 956777651 582628975 677441395 725388219 133738865 652199955 493434663 877738785 488087943 733988305 13328171 687819183 222938613 424802009 753396023 866552423 826056289 436651335 316777509 843471799 926341661 48997147 109441271 831644789 788585757 32692031 568458201 29360861 434464001 114993283 255394077 353015703 425410065 873511073 804025921 108630701 332953661 974779193 449050853 171189911 626476569 825080535 531936215 631745329 504910313 653988331 440358409 336617663 733623953 86372811 803555223 913651441 975863457 709017021 416985283 246279129 444481873 986275817 99874553 371332343 748358013 782683743 332983757 899148335 107024049 354119193 154298361 300921039 671321627 932290551 841118815 629168267 868247439 661808581 486831887 881550977 288733839 747946289 130058295 878827063 317678403 899343575 186117429 452557977 939067767 383750967 923502475 527171325 238921639 657101753 357921253 490235423 195516909 11457457 226519831 159377191 872307477 732502871 560496923 555814559 755796875 652629195 969838613 547693951 357153383 653095193 236250447 555982369 679615081 157643567 284978749 879385933 398896375 959109865 638227323 617033521 689370401 773291013 167209421 8750687 952778399 914148657 316848411 159578839 174329551 575026427 207651707 869586173 255539129 485812955 869735463 9727133 14519053 291750453 939741827 421939183 705813281 26943315 527409435 185413775 425275379 681685603 545526431 243281539 258199085 8758913 928776429 823592759 273793053 714852011 53927433 642289791 339938491 138924751 561357085 735633819 175829157 653543097 785836411 848929841 66105633 749768999 283624863 413717835 26986787 524302007 830673965 889311327 240712253 896006899 513564401 393787979 501794225 722985805 928261595 8775253 960214375 554900511 160927243 754084651 945156843 43686313 508926655 735285727 687469689 264544019 225946215 691674351 621088747 815504239 959289235 172627779 431172043 311793337 679818753 541684517 46150729 333742287 333069201 203992909 413782587 367463547 681037137 699823063 303211553 571661935 16328307 902880583 232647459 821018179 978560849 208598413 464523277 477212027 455369841 426619131 878007897 477927037 803830141 4063057 913749797 191574429 98396231 514703029 300519481 350735377 681387469 183356079 459367171 430670077 898731823 979954491 442406301 517319785 775005883 229078961 727814085 802411591 357754595 483412441 837944801 820437359 753761603 946319071 928530431 804652709 828020125 311456343 202984667 947340687 365570781 802208579 228328657 427251135 166538775 580211459 210817769 188646319 975351171 221988457 211962321 381593025 857591689 113836709 999394017 660839229 793698225 466075225 396976409 159393621 927017391 657075847 473753121 603137569 95763551 799643037 691894597 229432739 760792771 168580211 573869697 74482373 918765831 196617537 353637231 706945113 924080511 754378929 496114779 451731989 427242917 127800527 846957359 679569309 556435229 259490319 430871687 38524793 649959089 222429263 52983969 802973209 22011733 301221333 735755875 824026329 265618725 47728715 449930847 492539643 751093349 264717771 964496841 441940133 545340541 690855887 169552769 505688041 556244739 920795199 705308431 552767425 234835633 213413989 837367201 322205453 436497003 609265655 39206673 783160729 1524795 483602965 927617243 833626901 875358807 540574273 915352873 33165849 578464279 826198377 417477065 170617639 286673663 871875811 445450035 905608617 31483325 126205293 990882179 352890607 59983137 56324137 31669125 729420083 755269415 418975657 357452709 143507605 433400307 859958495 989357821 218592289 121699025 425242663 307793481 968954055 812584753 509695563 434939633 573659231 386149811 854401907 957047303 92790955 339582229 422812729 341966143 563237459 477380423 543741079 184837113 895586795 542240857 840189683 759550527 589929195 218587015 229834523 336621501 489520821 752249911 553908035 322441419 256146831 13162735 949276425 146397543 336941999 892667495 590547059 614573629 468724267 517781113 732414189 547760535 898192389 723660069 314922573 570819695 844721957 523111323 302832593 193436515 641103711 894261035 619787547 517055419 608808811 192997459 716848443 816714853 350110185 499894195 314302887 311310587 981736549 687477529 881361211 137405113 575980621 447042167 753723707 507043209 533825533 857069289 900620373 767207161 220465077 79897009 410382241 40472385 431562397 970433851 699199895 643274813 289665993 281769497 417786145 29145209 403167025 660275209 97335435 479238689 927033525 39676651 387236489 854060557 525609761 317172173 744976185 637362879 34293027 629769699 335977249 385248601 851557461 529815427 616138797 856337581 197089339 101372725 897275057 63273013 248625981 200599205 584745071 586070283 959433641 199218593 440558471 869862137 780067005 441859881 736216457 701038959 256241047 712301663 505224297 260761731 405432385 715316109 602144135 268068853 421608111 833912615 652583077 197331499 194425781 8816841 29897969 762818869 434851353 539701301 289294337 887274443 100070273 963068505 586706643 758176331 746290049 67538499 764708555 969292221 880291471 862064691 12478133 700706001 201963791 400581259 681430985 686128859 119415883 739777751 105035427 780813023 140258673 996444359 343710279 502398079 299660443 97381689 46455077 276544271 276923341 990668081 298917393 580876421 645154797 703836887 604861255 72414333 550864847 702346369 712948589 773727555 237754153 134124969 75056273 638551747 910307231 612164595 922557223 937342357 108572089 152737323 87179533 108286969 403271657 472892225 928661641 947624151 390525831 280381779 499601735 102228667 489934295 169147045 935637853 981620449 672300799 136004257 744129609 847458851 437364497 539908825 972666349 141606411 612614921 275578377 397761945 608133065 387249093 733635349 431006979 954031923 567099663 782698505 445475655 806708681 808600217 689047317 39539177 883403697 983828731 916875161 912766423 365819579 860662455 356974869 538807913 472378719 763366199 786245171 259232857 578955707 611225549 853179339 103469773 815212183 499033263 182776787 453824593 876934241 327921665 322349169 201169885 508531251 769164491 104716017 650951117 921837769 915481087 829713093 936320231 279758221 598010229 354050185 492625751 34780557 202793199 965304063 117230003 550209663 271231767 586467857 288115703 479556549 217249405 341398999 772358793 705590627 191492251 36785033 882728249 770323723 114950867 911301769 798585399 656622869 925713261 613289829 251719973 147564413 539381403 949569743 683283461 662947051 783937397 127647907 81426501 547131825 873158397 643826915 711611323 60814019 230222621 338943675 415776165 818883265 397708709 863765885 332685223 205467891 231061839 606850983 203031245 701354057 309975741 699868635 729041551 23827545 52986741 542410723 361765833 762452579 8668909 110264755 329334719 198808141 221972347 77144167 521498401 561345959 269900129 163703105 312926979 18674855 446398921 159110317 658973153 553940783 310402499 279433023 440151201 292173253 39681865 8242865 170234769 103807641 820693563 10097895 155361637 180833919 989001573 208328427 115698747 750052347 857573751 631982577 188987033 93660719 990759945 866746453 585600619 204561903 377948829 95629979 756682247 563115697 268159387 662303339 590752043 431972753 676393815 802125723 80998393 842682459 129316617 694182693 640232963 321291387 292075985 496856621 646442297 647139337 52068283 188751615 427785469 475120837 376319669 141044235 369487121 25334039 956870555 577806063 331158693 401252107 186733869 842513263 389991243 415689563 604229397 752472691 312214531 806768741 709461219 348733713 37376049 66152755 75775247 852707205 845841059 593622127 543661567 555034671 66996877 405410165 736698615 667741339 306001037 681304899 301073197 782313087 732108201 582346623 851668149 932454067 982409293 533627257 196497813 440166973 56217423 867250473 14838965 702234951 179029227 532411949 231795427 145212963 826926535 526392523 936974301 742389325 60175345 12198647 281346369 937631081 103309791 438704963 521866651 201833027 768952683 810636275 804266329 554230221 712737501 98975209 212611031 975504417 373240803 151130041 345488467 416140165 132953743 255543447 852340475 349529955 453514337 131524965 744156123 875107663 487840573 959473577 145417713 725560833 64213615 868250769 794111515 783018593 574208431 362326517 459349539 187559541 983962137 99743061 417754555 114167413 758624561 871150295 608975741 586412987 680482279 867061325 716343273 722971593 743846799 802532907 639822439 469359435 590956773 328041105 692198987 323728659 317485327 671002183 49976267 525355295 250366619 408141245 475668747 866379153 627205245 860741641 969938195 26475443 291556117 247920105 619099349 281281273 340888357 762566855 793153067 394389503 905907931 361534897 322576083 27282823 330159309 241735775 61984121 711008637 279784695 604427311 487543471 308529653 457389505 485398825 727027179 398748713 719137013 91236603 771585169 334394747 568876235 640894975 881007337 382684795 493291743 957782577 246132005 161553367 531970869 220509755 298160735 927605613 519147837 506174569 648030101 409824063 80740041 994199991 783940787 915558009 569992985 335553215 370946955 583607919 242894289 966312653 109155539 593672603 292312575 546166477 961251119 235968161 131531031 548554327 823823911 368066379 708428279 927810731 454137645 603329935 356794341 143174063 875487897 208619653 491350413 148035827 668698797 459635059 533712387 89298607 62158995 618938561 884077001 95516867 606329181 536871685 569105343 441216435 730903809 723012089 280900149 586447793 923897699 908338561 333717473 790984593 883027275 310170281 138095325 156782039 100292969 80115361 561247155 923841959 565938011 924672969 616631371 844438481 405116573 400106655 36570365 516677581 565387163 795459283 653164935 41910969 502727333 728777269 707848717 464067675 835497717 389537729 477230619 168869415 50457517 187227803 334700969 954764335 50289877 556616463 35556371 135498805 210331741 747209615 292953375 427544225 57020193 282549685 345666041 705015169 914053601 203342663 967040565 579090827 881924167 961072943 837433043 313026849 937932771 167380607 745038137 510291271 998853423 42271605 183215153 628149423 432585357 303324785 868066033 266736303 585474373 272230145 449288727 29477959 461511303 893348055 489819305 318773021 220209775 969765069 497002771 830070403 340462845 248916457 85611563 785193581 61264667 879514197 35568175 230126203 41795993 656042085 17691587 368025333 768998449 288995217 93996275 606080971 721179269 873398657 615602231 702202257 861046043 837274877 531897195 283756683 2103913 267586297 581003987 343654813 283332549 777103761 673677341 609121623 828721777 325528327 292990817 790186735 363614357 772244679 693646361 686845255 8186437 831369315 60780075 955733477 729383033 244908697 564200165 716455927 685415441 313527883 509238267 907223383 632851673 426371 645057675 982438785 693003903 422486133 454237211 11376287 124691359 971111549 989589399 840458365 895153849 1439005 804890197 710726039 81707829 506959107 912096529 59780103 950366823 807395581 636304113 240120473 777324679 694508299 460574341 581777337 802796469 673207119 355325117 935913599 623322365 537327891 896501755 925943209 596719437 319398349 48336129 504568483 176977537 758739989 599708669 571416183 120237145 545673903 470178695 163207903 986050429 197394825 468684695 549689145 890696833 105956019 446933655 904888717 27651291 599026537 611121747 280037259 9218545 188394255 98293503 202866057 113714183 356249647 426954809 29714309 779675473 941896063 470266373 399896617 280318697 307012311 876568019 154671043 457861071 816088635 814000503 541289291 790897643 959796953 263613997 761578845 637095695 441571329 296752027 440723269 582551543 869332527 577285327 642638831 636707649 394015239 22821183 608536309 556549751 485369173 866667461 560251283 291724045 151454731 977523113 560051 675681111 646972227 646121367 801077473 881107867 455958595 324914341 613094743 878782207 575992693 690196817 583388405 493460629 349325163 954638975 360568383 4064345 373815777 491171963 98301799 903164457 758351549 568261117 265372483 197984975 747277061 149910817 836317267 947358973 751002097 773730411 275915197 230593613 697249755 930070475 76154451 959982141 396967237 571201427 77134217 744517945 546330073 354452867 49611391 124966291 820004719 566299071 52503805 661813377 860142333 98871765 973997169 672356647 414718379 132793785 131792629 301273485 417532353 895305417 872021575 584511397 70350771 602932427 333793483 889929799 864623899 828897003 39845525 527393335 826837439 235833023 881999451 381964059 704550537 793469251 378761339 648422533 751121549 635136479 904643067 310050543 103843845 607957853 456344463 232874171 57061715 893880565 914284169 936064817 398724613 738835777 619761643 958468995 778463695 745262923 869605725 682598857 157966727 542587259 335951915 66740231 866163767 22783145 631651409 117006115 471685125 243200275 995774313 278540783 828198725 436408669 335753661 902695461 989741941 540660629 383064893 376921447 9399351 425634351 148485247 726413373 28772437 241736457 805224899 588480791 122086085 820344423 360262127 501940051 91304863 896938489 2280341 587001389 270583591 13457875 704159207 84698577 929194185 179970929 530310603 688539215 927589913 447330489 742411459 329159841 201382865 20671737 695784447 260613033 654112981 398417895 636991833 886223149 805756209 157229213 996486733 142194915 204428565 242112163 321357061 202791777 554629599 292868325 676680527 773210921 289603859 791153851 527094691 740784037 904157529 947571421 390815261 934807077 778733447 160130165 928523145 402343651 701364119 877602829 380342867 102826497 319394735 54621853 559677845 738298501 935894293 257068673 759586827 482333541 116232513 323824765 343195421 282470007 337906379 502081217 821158365 808209277 370897529 38846945 227191807 881455905 920671795 106841049 519685859 547262451 484463119 385623823 483634323 173230955 280063817 812047185 369713339 144026863 958823745 901350611 753608627 1960645 498567301 186088755 140705145 210798877 544065479 173079671 326001849 726552851 943758049 705868811 504910269 954272679 966677977 662412741 185026431 263331521 596577241 494803681 619645085 406702133 835574323 961717511 651756127 607349435 729568611 861014849 573802419 956142323 17724431 313617159 92721203 378375785 332944383 392415027 159501083 77211787 829083943 255090957 426456149 950181301 578779297 833396547 469655407 446279207 369662899 690026727 364988575 822397705 374934727 473948281 8324551 224136559 639215217 838835933 468313965 790912337 178157161 995035233 144233407 11524239 843382935 767874489 188966293 121707509 214170627 680399619 450957679 400388145 39621089 488662211 964177525 434735839 347046541 929229033 943683443 600895357 847286409 784361929 760621029 16473209 39131521 929874207 883801317 355762207 645363017 551315731 810968637 398170029 155774169 409748271 842796381 83201089 991596889 175850345 198891611 41422823 171147025 69418273 420070647 266882189 916357751 350309913 337246615 518506765 893744419 189117823 44949579 62567979 278480089 992245993 73166795 980889485 146997381 361790805 960148597 515505351 184977211 18411045 326569809 586015311 60181301 443581483 294181133 442936971 735420631 166280345 397367043 905625791 550013355 928940045 631520815 545410079 546007909 138942347 498423355 363870403 75018467 442005891 187182197 380015791 820580131 946209479 356977877 353321161 533859923 831073687 112911607 218205669 283257543 507092631 830552359 261264825 570119163 323708373 289037137 401303529 964662159 20727751 383070221 53499133 513922639 246151751 677814683 83267943 936475441 459922333 319898339 495787649 603726925 532616053 771300977 323636617 192395239 994082277 779403135 399340715 205815149 340087401 105036525 771445241 172154991 35038441 894352447 995465321 302490537 278657711 323254951 116761311 461419521 385582963 553682939 625681187 7107965 961097807 206205883 30517479 60553813 450582221 882728973 412254403 468896225 653712341 22678209 151349563 772267431 573498559 406015055 807122869 296262737 571633737 510744277 362006403 73130161 790812567 736209691 484094687 385190597 245995319 991404431 235147755 391637677 265122845 759718731 650037679 971121079 895654567 816961803 956838173 802871637 884347291 258568761 61309965 781542945 920608037 2244065 886838337 441835745 357443545 658886079 741583971 735892863 416630201 872613167 694874883 204969997 438327077 685953591 228159389 954621897 166927853 238580361 488763277 920182291 525289543 358490749 61156129 132042617 616227277 341569551 25969801 770383533 485741703 9098727 249642717 154965387 511507427 713995349 195528991 344559637 520304563 62651475 539670329 580122999 494525237 825522811 938105083 601810181 157081617 788369943 765324575 288333113 819626835 289548311 605219399 201065653 827735663 432885777 844244475 348388167 664335937 259521859 952896427 79647457 64637971 679433625 404021683 377608863 92270735 795526301 361221715 727357381 264244425 945032327 16669365 639920827 533008193 754180409 996946921 390311957 984901851 836833593 971572201 752650641 458507749 83472055 268388503 355271441 11860757 220133511 407451321 472746399 860391045 688199981 526864133 240505457 750809789 507548619 235086609 495996383 337582505 884972341 413353055 240862317 943659935 429044961 568550743 258470345 234337883 255714795 285754445 673961921 760537605 365651999 861177465 725322071 345055271 454343913 195958013 877958569 349430969 522500193 405190111 224229635 521341719 189524039 980755733 921385433 618700037 145756417 451465075 398990281 846235059 573637793 253370815 451448977 14558387 315518427 369823649 963083041 676140805 817403663 279623337 923840649 845453325 166065989 130613585 862834949 356976281 452120365 489357305 497906937 126685661 737155613 117371883 798827505 255857271 517589269 861796443 291249053 702940523 431624123 74100061 127019229 359798057 392112991 973028599 79111855 874592901 105430009 455676945 529299779 10808251 70159653 810844025 542348009 344824179 967056687 605702381 113438495 139085751 364371461 234081803 846818181 570232063 74947131 205564767 1292521 733633317 957124117 951699287 728541243 271181425 329370741 577270095 717549467 279886991 510730223 577607813 682448201 916105623 502483383 709841191 755431601 733739777 606962863 478946625 182556517 782899383 981472349 626738129 604523041 134575621 570111471 806205365 512806347 66400927 262428989 763501753 6124139 697831843 521243079 389542539 859751989 90008213 900854195 196891589 125334659 506893413 157721809 878196459 834159323 14224485 524935067 276341091 676404711 430942039 933848107 295729281 682838139 70939227 676326219 96735867 155198097 963084289 456894315 936109429 274645067 808743229 558791585 130479735 989010679 396624493 439647915 527763059 299379207 599242327 345497587 279759683 198667287 986492199 920773767 502346917 417056233 950807923 567981087 697100615 855933289 92461369 710453273 687362997 236474539 572442845 869694077 744812909 543611113 362474539 688609529 122561997 776206215 448539483 317185511 731872031 379219215 344348167 667029827 67971477 331764789 396891193 112868789 899136583 426671829 348301657 803320207 116854327 580527857 332808001 716540869 694596943 843498423 335438123 679918329 246986593 946344567 484163261 642604657 775534883 289772973 869401859 441377563 137525561 476283901 619666805 424653967 724708651 418734897 612343025 847613453 237519979 435036989 963332279 603069307 238369105 637158205 63413625 855709289 329073185 664757877 193958987 205658895 740619265 44405069 868169641 119428941 288469507 853829211 197808763 422999463 641778721 113909083 988275979 489351245 160063549 624644653 601158673 311798809 586904351 435739101 832354727 749131145 142575993 376911777 605417557 747506115 785248483 995199441 231909385 12464535 18149599 967047923 137311509 846880379 315265495 717606575 825869113 602296721 900618267 463373019 582529175 577936031 484083429 357421171 482852033 692782869 869844823 753584279 641114537 961559303 862254969 314257813 115583661 684746807 26917691 109536733 952586641 241088269 753904505 509065487 301085573 914483095 889537269 78225131 592245789 785126539 368134483 595364443 172351061 864593481 148113451 432738935 168873363 859411419 573900785 982971253 814552229 104026605 94782215 173384635 529768641 290666967 230258873 677261525 737287297 765035673 183928885 221130869 870845165 600228825 881150359 469879671 762591857 574227689 92778209 918325469 670457315 485766075 998551287 141395155 955337089 689861109 865393839 325640619 986833389 795608025 83445697 623654627 455145273 494769495 270300623 322277915 183721941 547401481 461995871 156243489 734367651 442537773 246407911 765438439 486435047 148894889 256316861 636090761 20399947 148835853 866396963 540306249 221125353 552980623 923671873 780665491 890135867 36068113 449653291 784365307 572058151 57151257 96905945 733714235 175324921 30880213 758250539 683131957 557661035 474012447 588477421 535155703 781005973 664321651 76586957 959515317 401424381 654493691 59470439 574600647 939085459 626400131 98441787 639059633 837529003 816252293 580824243 846890015 64178179 89025569 625486109 490626789 875312829 236445211 332090807 299063549 865983593 212718053 537610401 303007883 428660221 573695127 158137057 16974553 596105171 234543339 358439787 775186779 978587317 62638159 251429401 106445997 90848971 365868493 918039211 334036883 813686957 538593567 744468937 183227893 379991641 759357859 824805895 87791081 326819379 97325921 421888221 726791337 917169161 846455305 881900459 190438809 430530063 883147761 283438267 301359429 188938721 826304791 416285759 658809437 835391881 725092901 649744721 823895231 923858545 7495529 608761073 306473071 86821487 771507673 328967 539009685 119917759 466558487 253102439 923583623 245272327 301057385 443993799 476118721 779036245 56688829 1683403 284216803 425928733 98842029 218052093 490241977 7158079 286973301 196074699 27212857 268697853 174590975 990505103 940170365 698621445 720169175 999221645 406042053 787832685 755138103 180355819 550373505 99876275 146329599 359738813 770470209 973594553 957596339 624483833 806311363 813245905 508159621 58853763 701815783 698604205 301378635 116916515 83257019 340335209 218886277 257834891 841969009 189823375 391056473 84770901 214484067 829283335 891941529 263740159 733854231 324467755 773672631 497321973 337949239 343423413 583633881 643885961 530087573 788396747 732414913 436390641 300069935 901231355 15211487 891366225 557548069 370694713 840398413 549262001 476278981 779506659 683572935 2217219 44731009 528154559 178406327 167814945 531514101 886277369 707855147 177370569 851096547 706736935 773638619 830931111 355827255 726034757 750533669 34441547 43115267 553365179 275135759 863084081 889840261 165704787 577616205 218557365 28992799 241257795 437989937 510842661 485297243 693018667 374518973 264928177 870292973 57758221 349432473 938952051 137977009 547758937 630478609 84382825 343510953 855141089 770077727 71518591 761171713 259299045 298023779 85828997 372477709 230706185 618928417 287738933 931974471 760917593 507664203 63375153 117912915 174331981 427313783 137919233 495490043 691209153 428954853 555324439 762522163 89314555 552720251 78598603 911453207 946930087 49148105 192456543 45984745 263850459 75864071 625194749 63119127 802365715 947210259 138883253 342968625 454080821 178878069 776917377 503288563 571304335 975471197 988714051 447323457 547601365 41904545 66290883 214058021 644872999 622596031 236880561 267077587 778210567 178245345 377593001 626199465 878658659 366387925 492960555 959854885 518927505 46529041 179661217 599958263 431729743 978130615 67420507 988371951 60250305 549396877 907658899 153761801 555175539 617549569 419341163 609330537 490714205 955906603 267907819 549938009 871546075 210670029 249038851 138374479 984291505 282820937 77398671 11978723 687648271 622163891 393796687 608278491 683107719 638304447 67761645 319696161 297284377 779713485 865139705 536064967 180529961 804204263 763626989 104565513 610293125 882044855 899319593 623549515 383036513 83744921 919384569 898444313 680640349 862334347 787233419 450448677 181939321 278436147 545057275 631782729 496145705 766198243 540263241 362364555 340692283 847435917 64311391 158709269 764035059 444040151 25541387 966843705 724232945 214172419 142138379 989599349 48343367 145901313 993593343 186415209 853974629 549739883 918038125 437960419 212039981 462539645 721353931 546027477 920921825 434700065 85834605 987976283 422610481 824843237 598529177 424755639 156172847 874110975 958756215 519810645 501360987 501311313 630160149 79979207 790698649 4686433 658763633 654617803 593067061 491252061 393892969 716522049 508799719 99688221 10723529 845733943 389176523 965994529 160939839 996763615 872038503 458726289 870345575 342780309 828735911 953475641 294643393 148847067 616625377 931786643 681614261 970588253 138110417 184496319 144574103 460983023 89471645 887595393 684108957 688771211 741140691 493859659 62567147 897395285 438451817 26176051 459615115 435787415 871216825 878454265 440715883 259732421 802589067 918011139 692085863 531842427 715862541 200217441 319751229 540887931 320974801 525596619 640026009 605755057 676687317 937116319 498837517 908527153 484884865 936064229 160981009 982372917 131208097 405671755 46801925 240463137 348517223 554284331 662447923 973241983 463518069 721708417 384174797 562350597 840165071 218333175 78325997 616013963 385077215 842753499 649276305 619251477 93290367 105910563 90342821 290232785 948076521 435646833 933466619 450411279 136953283 564866827 530005577 380182603 676690715 656713183 762270259 408794921 84982885 405925509 446510145 312671859 187307393 484743485 453918949 905674015 96179887 968504559 317003129 734971717 964406689 97825319 905516859 816232747 859859563 699567135 835540567 253823545 364580491 938519991 349232351 303177733 803710435 58437235 773976009 638075723 992946117 426618757 160177145 598965995 286871009 934264515 719010615 182301939 316222809 716941739 251464501 528975251 374102447 648508521 306405515 788233771 795305939 580678343 550298045 478024249 105384215 705025853 37999665 255615085 173887035 107569645 633739577 585579927 183059555 290840477 378735887 515631029 250792989 585829565 257055701 216734439 310008413 998704737 671580307 552114811 442092929 43395917 817326139 896203747 620030541 242723557 133722277 821476281 251538161 916026935 485564307 905537219 927798273 339831039 827427759 975920363 703211897 856589977 811149707 488192581 46404033 711203595 402515613 694523401 163478179 529222663 253610567 187490719 619338837 300266467 741289173 689183119 550641783 732676255 133833847 466074765 559509259 348252387 552939077 142602867 446237567 622630139 445214529 796250441 464337833 227543009 631271765 552471605 854725831 135391285 118362705 348743819 827532413 845540667 729388783 90144457 768786391 343603685 85602257 961546641 83593805 705802185 794946687 485725357 560598715 805979685 192008809 222037009 321060967 69355747 824597483 282045657 390326779 247913875 719211333 273868359 939446417 367971943 85139361 372149447 67048611 594589507 174940687 151337709 758374167 363524269 809883785 831485555 409982011 524732117 291406065 6579517 167534787 801520783 598712845 32070229 96904399 54126175 496505491 162189039 163381983 205347175 554667033 438446951 530873575 531831931 431824417 77998145 466533687 329106703 452701971 36556069 471138701 663123013 199107907 470118889 529299985 567372771 740596201 289222535 283822669 244229975 882583591 229899043 486946361 911691449 433552387 966688007 760460591 295563721 61959539 946738601 975355641 83536621 601469261 786648225 505468095 321567799 986454609 947520949 268837403 939838043 944056365 875346381 163323909 970795449 679005295 279144447 560444903 950027609 297374097 938994309 912906893 164248555 191240691 284109763 749593899 847987397 714588897 949738821 691340895 465667303 698009481 870287037 196055855 449764343 985965063 165618437 545899527 365381445 374890585 969049891 100355517 723246791 308584301 448396095 109906573 796694047 636004881 217510321 886179615 594549651 465934333 658847727 655411069 657949971 982845655 337953183 141510685 289166131 226619683 642202509 348021983 991348279 814612309 538527403 283746821 349546241 40925383 996578579 529006909 855522341 761950905 169409291 806245533 56632023 722160467 2780669 970964899 522745849 368266921 727948155 465597491 702170383 922502577 280092227 523350425 961936717 521732943 471461173 906979213 713294981 164698445 618731103 22392619 63235129 677826393 870654963 255947257 877902479 986468365 79383885 110995681 455285079 304222189 74087919 455433533 156457225 778914399 764060805 223991239 248180165 734255287 402404833 3721125 90217039 705134891 948896769 756468069 305467673 963206623 65971463 515785213 262811959 727263197 87343677 777765831 339895149 866551827 704650007 170480523 63515423 763793499 909550641 739124597 720180061 695537273 730871885 487935515 968131039 749339923 740949335 58221435 237946883 253020347 579793763 717243895 142279633 306267885 443935657 969220961 316834039 130721031 911845265 443269097 918997965 176919891 583245731 832220465 548740181 474973699 452000405 261498683 205480241 668845615 389398079 825186167 914106549 845008091 657275045 509703607 890631125 942958573 550179059 469921595 346146611 852006711 531906173 931565479 294972949 810457971 658840509 523711497 378871657 237596483 458664791 805772245 508630215 486909999 487566613 909691369 750056815 162249641 852727533 312966027 837915975 694643209 801287159 418543463 281667551 641536915 354690423 41045139 576793967 535275373 987073499 213069707 161062871 895033513 552568243 258724151 256576411 160775489 29187259 716724705 37462251 943485207 48593111 202178623 436488353 298227443 464145 901708913 890597691 684565383 207992991 45080313 139018719 47450731 28243929 137363909 65300317 53077793 826441541 249091373 456981291 320306707 15220877 546954473 81791595 259714449 191754115 543007523 137957603 44372181 736550179 283439975 416059905 437063425 200948369 679860649 501862879 876735517 21725721 598428487 114926137 273547291 275829805 937872901 3239289 67878355 119258215 153192723 875232683 32740359 359519373 896286725 680075147 977727585 573266313 327562199 372895091 907170929 65457773 229917167 27937903 249253553 385886069 614594331 754085163 481334145 254391047 255646351 71252735 322455597 272728747 390421227 59572459 138191845 806247957 195514161 770910869 546096833 899771423 801612239 377888589 315552451 405384655 214450075 667270411 895927507 535347023 213442769 639933807 298102213 659539697 331980313 613847229 529645393 96883763 820002685 902791909 226959129 519830711 740172661 726167681 103680933 106513735 250100701 115289551 45122917 484280023 470497529 491458997 585697717 336017793 458361465 387446467 473419733 640990091 592054383 263065135 838947309 298851425 898689115 76039899 641924113 399921041 436738081 18986573 562976569 791483867 925520143 82694579 498921031 265514017 571276505 715111143 748633345 60898413 993322141 760373093 310152477 975455475 891209697 872062293 216269103 414872335 97543057 620522121 596171197 818569283 588993283 659067253 490249775 424279867 56706291 274324539 84768213 57528011 282692745 862486943 85492967 348493037 785931855 178477587 566440843 47675333 137904445 409462957 119254725 97929885 531056557 323360813 906094985 759505131 432401511 580026363 977970609 990560071 999036825 670235427 803898621 96906357 944435157 184008543 227223061 894278753 595166491 786875405 298157965 235463967 797422031 75683637 59235549 870015467 713068989 346679431 782465893 545881637 191387933 638857815 680747887 617040473 40611723 645077673 936696111 565699899 503453965 433691169 255711161 53481129 156963599 311663887 147035155 851960993 349343077 718069865 96992291 219918931 809773391 437607633 124387773 306648847 265586291 214146957 307210647 473316177 377535451 894511499 783853653 965098429 753262333 475792997 787418497 304635423 906656951 444207447 884265097 416550505 390264399 323978313 340066759 625121717 856318579 63718605 250362239 908721993 175930933 263862039 781955287 463508365 607316499 269351177 29631715 460799769 443245301 560604967 949728153 579228067 918304549 202091427 308603613 29815569 652184411 347723091 382482295 748346479 244382643 146269367 123654681 92385007 411471537 882528501 875050077 798808299 142925381 445508829 413158337 358744809 739814593 50101735 811815603 854352019 641009125 767210803 766160255 749637053 437542359 671070341 632519009 544346975 404254239 783256397 757904763 305660065 743287993 87127973 332996053 3083723 608203517 21118793 557983329 537799505 691728563 78774435 129023481 434548429 467234055 159165889 652108123 25213957 591051149 252335451 2448435 328309219 732725575 947246031 554314257 906681211 883398549 765198883 379164017 920199943 111582537 238809867 172148401 744292585 618058131 851687897 39286555 609329327 466716437 230956943 154590687 281046539 19679953 963393493 498820891 879210457 737297205 204615159 992483531 369971483 63725849 116816367 827601883 498153983 960137397 788051805 209901339 251753683 259137715 652355717 421196357 312623895 706944799 286321497 753811707 315669613 429571693 480750191 30203845 257718175 521539195 67247623 11026197 595226531 217194383 655245063 373608003 221172881 411797331 272395263 200403601 67033261 397397985 900261415 287141929 539933027 376311475 299237469 331307803 300778567 935763889 203314217 182197857 592732179 186219045 213817531 103792861 122673579 554169797 340189161 72993879 205346585 949946801 941487409 939206271 7167123 968990059 59835069 660092401 441657713 200197089 100676699 623898927 339883833 198971497 595713153 447459741 704171667 578326975 34347857 217787025 898354261 642329355 425178001 523992131 17502841 55517913 179828143 32617685 611259171 146450971 137139907 549518671 345280415 545966387 79502223 83060897 635471197 244319973 871316341 62474407 357843197 200068443 856030601 956184865 496716093 611455279 671339391 740870329 243170317 927317083 119291063 128873983 779353469 384431941 604354875 443305069 138246347 819837371 806008501 218003299 447974743 951574001 84545409 153050925 927487919 182046597 611633565 591294457 1895043 63332477 381331375 901118179 685593523 55510085 51143177 405450987 537086271 8155315 655589789 867883515 900234833 676007173 164161807 9866723 243227713 759839965 489932709 467701083 342422405 466567499 397620303 917536009 598441157 359807429 506782371 926731377 709688265 800409383 740365279 606821129 510101635 608994485 954342893 80965925 241119251 433126685 894571099 418970379 265037753 579300215 76952927 453328355 839098337 938359355 261543131 183281853 491436317 956555347 856994645 672818065 921775915 541950475 617493243 922708549 115382253 317361175 702596773 31778717 91362413 15424661 997441235 107344461 184736223 926287371 233604269 710138863 85047455 841796197 760113919 251791363 838516527 516751863 138603843 20039409 371147579 289553539 730511001 53247757 185146517 261245481 601391301 886384013 45307451 603577977 564026681 454479767 767874383 103425383 551967755 851337007 372168219 554191443 792318715 915881033 531006227 271238911 416419951 549832127 414320083 668457625 685425271 163289679 622172703 611794103 208931787 546452391 647736031 83319895 813324489 766834003 51135273 362817757 821575289 956736465 505947447 830431509 527378825 326419839 177064813 860175415 69281107 454061479 634666837 547375839 211018963 962568571 935106723 941786641 62100915 560613141 453205043 498321981 171884865 402838131 383950089 428680247 604641651 27212417 384397645 671093307 807520235 649084433 599157589 503238383 403004655 47217369 203895451 932759649 926763117 298537085 857611971 509628677 919814909 344252807 646012057 502487225 971633375 353316453 502712077 545469379 235557627 964226673 39683135 589964239 293345245 57783533 611292781 743640819 272314047 973530117 813482247 64021165 107277953 5051845 440412573 162820831 112915111 763987241 203943659 861534425 505941603 585098515 862885333 872346193 2151819 15821131 328485991 804711523 944776093 822646147 448238291 280407187 625904835 768804947 813820019 654688719 304084173 121344063 866515661 697342831 122277421 902374573 950102155 356087853 761530631 842266863 471329407 976948527 70244385 171134783 78110885 251910913 480516587 923146175 925821731 715069595 876061049 465311607 100492607 867043929 729150863 900870489 165656177 725762817 550236561 500173117 423326547 804063935 682161293 584958181 501913255 793706025 168435263 746451195 404949593 430424379 466241025 675785233 383953019 765151323 74500575 215851933 702643787 657578841 984708485 802807043 594643753 152958565 613383499 691641481 59657635 214144287 141877553 268405349 316142187 958802831 170759647 30445485 14429533 837882141 872050593 551371107 17255547 902619041 653030257 706145649 407109361 660830809 494300655 349185447 760239123 675899111 132926047 557649087 552449113 298495581 959212467 26327899 454169195 680926765 77057921 811997955 782089233 851502901 694642951 63654183 458700095 947344057 381077039 614842403 296726801 180531049 49599111 786138169 532650185 49647705 847821383 255461517 149571285 127567365 684793677 657621557 210651075 725159763 620659745 511162153 316100435 504345745 234338035 267997515 719796583 440311923 972076183 171710819 245155593 849739543 842667919 456352801 80572271 806632707 961831171 21898017 201876721 231330851 498895809 167586787 628406291 738438349 816097087 996089553 13000321 211310271 965843103 794019387 369926159 943318043 898279335 315559257 210471351 509588595 720364485 141775697 300920989 639188919 333617425 268230697 348347661 982242121 361442123 113347537 593624951 51972843 195852505 352131365 370569081 648593869 470621133 121715429 335528663 79076225 184613595 514489529 498171001 855369991 442403427 217388597 356246903 192131523 160426861 577791441 967531015 439537795 102590633 962172909 474485391 38072955 309530477 122211285 225033881 570675273 795761337 774952631 187902939 645610227 986413619 815428271 711798573 471890661 91610923 240861629 996669845 781763827 378050967 633974473 230704445 901099359 179429145 429518503 805283959 462279881 724625911 930976525 546992319 775796545 27790369 353612193 135178171 501900093 55520811 991492327 152300081 254286487 876513367 170845011 516478233 228272535 510654349 132734527 178158733 855338987 217180763 918671083 337077455 475324325 38125559 61797247 855226185 52750917 278504259 767087631 719231891 839176621 19725251 138999697 673878115 911183663 401247401 598230763 974566049 593297021 100655053 301990369 824427605 481701557 160747691 694063143 270606771 367010651 127840619 789780567 995503125 998837599 254211549 288452847 604831489 339903509 749451897 73275739 249211169 499433529 372687711 134057709 743098697 992438001 965094227 383995867 351099249 414211275 123981509 667357771 488157633 828087995 51515599 101359425 343186305 541440289 666607151 508821425 442461221 337509567 473868363 921142643 228244041 943732675 665785907 299227211 832823983 496888515 957324191 247483103 704577347 450590651 212624365 584675265 591625753 539709715 776184611 811141741 647417963 16051861 27919605 138162241 152411037 505673337 996869045 430073223 8944697 936220251 903262055 332962929 921375987 470458431 218891949 45448215 509457319 722197397 27482587 401909117 906693719 740138543 15039973 849761417 776654385 529886029 131264365 168570125 295451267 437607059 688401335 477488067 429946317 32909583 804154293 126602061 356482225 164606517 564646655 906753331 51527931 572253411 628471505 847385319 777668251 553922143 90412819 605649091 567017135 22118229 188224853 287593221 130191995 196151001 772069327 340228313 531167335 536978285 9913439 110604111 871164169 965602289 399913359 953991265 711030811 826317493 618427785 772030961 636472193 544640111 981937449 326435015 234546247 780724025 986084077 107592085 786580381 610865053 463089147 365576691 1902563 799879555 536570147 363742051 819787159 305689411 609328091 655987279 405255785 76390043 902620485 257067271 144464425 385437615 945267495 525630151 171642835 411403275 248498415 671478443 397180045 560822183 795093175 336273601 131885725 330228703 874622011 333057785 913058427 570882681 771688933 543162411 194271681 131144353 223935937 779906841 761576495 104897515 338883723 197751661 844321973 256017751 312877213 285652663 288549475 767118923 929091331 35684209 358520183 448994193 660460649 204588539 586541649 157088351 171080743 746374561 683835007 947810643 174272829 699605907 26726835 77851507 479951697 562831337 102856393 826651435 870193587 736984229 596782785 996044625 337757275 822844593 422484939 935174179 428141289 62161629 292323385 55381573 728432033 331996899 637823877 696876483 886676595 536746083 88657745 619008277 203621881 833711081 314795115 910171157 624954993 577116131 656914373 481347853 63275201 800632749 12255611 611721125 135469433 421671559 207250895 206383607 331024847 272901787 560769069 846101373 915942565 59586553 655789609 838444573 140424577 943435161 510658683 25113893 828392337 975028833 486836235 756990025 716763823 982566421 7925473 96511655 115686999 164008555 123719473 923582917 827834033 997096441 29831255 491655311 976509327 783915839 1528279 962936411 941710181 855334827 875629145 69196773 597710421 744942219 777807027 94789203 8871715 836802073 697510111 13150261 239110721 470002805 625326335 871338619 812378309 428642985 452092515 107302279 140537199 763227561 328300153 983133723 203915685 221396297 632931295 703172197 49773689 183933263 749590871 699180285 794460575 762580067 498236623 687221211 77061239 549119251 502626903 128844649 4466953 210788061 225693995 714730867 413615877 523332383 836653231 812830765 61822143 109499941 308435309 970323253 367278139 266982941 121048091 220145295 255277085 904267297 108546193 827634603 25928885 241073461 599563477 910146141 179031289 572454719 153644559 488595937 941182859 763196947 126822293 279490013 534910385 435765353 61411 970581855 961350745 369001185 430162329 19188701 462263581 701235973 686926467 426364977 265405753 335092295 480855703 729683363 820962965 813332225 618163949 602666719 902564035 795388273 573795531 149109499 339855863 116401859 228789403 240783989 981181971 897273865 778006255 337220657 908970907 296081209 584049539 627698811 378837185 440730679 498125373 145388555 631355483 64886733 502428709 596105469 775097065 755317929 287330413 648659925 45750673 614463077 18253173 637367427 491639075 861049989 703073213 631404377 450179863 113288559 641660657 396599831 82819211 177878389 17721059 531048161 609353033 88633299 588392081 370545477 658247355 592364965 587166491 480073527 262230781 544317179 40746703 347150869 572478411 805478335 755246111 877004709 802141071 497645265 424674471 791886099 269683799 217018605 123792937 123547637 264382171 853881791 871026065 835782983 374553975 458457305 513617393 823924337 279015223 398745265 131595655 20795453 752257223 705994667 234120885 775932387 196433281 115258127 294482693 479432189 40194657 232958479 260097067 236015509 710434577 479791299 943672579 922762003 585960669 519241005 942813327 276805455 209600447 846697015 933167867 180555911 812768087 423325361 792086683 593242463 350762473 126439511 470896873 596601829 203706215 283243205 745914759 286173325 282953319 579531913 762297157 34118965 863177001 374574611 571591953 460664353 710465171 86957243 206161673 805120257 122799413 151640515 913400175 514192361 827169863 243039061 294116273 618538069 866405543 100138881 197876061 195621419 534008285 360841537 981258037 555099321 58792729 493582199 405811733 394832309 387893809 835831275 200855055 186442297 379151523 19480143 958493009 45523917 701737113 751785275 838395193 53980509 92596705 639927601 1830219 624360001 397830897 290043801 323615791 907654449 712331755 203663305 179415739 773936471 216296341 59652085 626655979 171361085 356915805 2726463 513615071 682485723 762987355 744332723 154726371 105379213 793580367 516980031 433273197 386816791 965415841 213071551 256573461 118755497 300135773 662257651 600818337 420525271 260538431 528535429 799418617 689568157 402341281 918494213 877532469 55312225 527946637 612014829 168035979 216841713 64958899 792878493 622040161 978674561 177891945 916882017 360644419 618404783 979399599 719889767 426688995 871475841 654721579 882195403 807901211 575461219 668311085 238870669 47919601 433775147 817608877 584718231 91890831 514789909 166083657 281988793 29950279 939120329 234982985 967217837 517108887 64186705 305034653 532856339 418135839 605360933 677685211 191743093 505477293 949434143 294832705 661196103 241545523 877600903 67177145 314989791 263583691 818716683 920508625 118788477 619923387 191168189 54486719 29383759 426059117 453471517 428328037 507832419 581979509 840605199 593783881 679041969 111236493 611822049 850351769 45512223 25934231 140141895 754324013 264115313 181256865 643009631 591349125 339522395 927339485 570945453 593268681 377213047 962009511 144846113 426905029 616628549 698429569 8455439 565092595 46972973 257249303 114490163 303808627 468386179 458462781 383435701 112342537 843430015 289204205 110365727 133926695 109014081 51790921 170074727 654909411 808943827 331613601 973517805 729866237 5924903 935869027 539609715 129398747 746545431 281545773 856956711 616600461 628399713 536171713 860241823 69464523 417413043 812418315 834126041 892887283 408117913 245879327 671028279 306389005 103671185 986680887 176708235 732400071 714268921 585423287 204633863 513982331 284393499 99238953 189951049 241019941 946345513 213135171 749308245 969307503 38896957 540586973 122982555 803716775 769927509 1364731 871095533 561735619 634408799 357338827 715347595 45759077 257243687 944977309 488580121 720972499 917682539 209633005 429391781 344622331 725499081 564937823 688971173 78766453 623505611 951745725 432831475 392137345 550262243 508151037 884602071 812985607 257064297 824063287 42485757 458825107 851804321 166284209 506283899 27845471 456125873 288701907 556166861 10940747 512977579 381743411 295994331 895691483 661722249 161825421 975133679 808165185 219005997 987863745 468530881 604355155 265742687 526117851 840041835 734802831 284174289 172269585 468972407 739435807 911013405 682532029 737909197 336655569 508333249 279684959 133410757 60822813 565215017 896607399 698779677 805361185 685727909 520730981 109338617 956009637 960048497 636895127 281314279 854623513 404068777 416885597 380194011 69472913 482881627 338480133 576453939 772041169 89864823 17876225 74385333 217711163 546102229 878232811 537982093 386548451 172034617 984478857 31157839 479968127 527435337 311174085 299934461 975554411 748306071 735324337 873709815 129256627 828683933 936744075 125905421 708261635 128639421 741647541 907925621 958957747 955303999 958160313 304635849 159970243 175891539 69514827 138866705 206206171 589752597 63090757 168388795 130561095 792968071 573689261 793028505 317037825 384513933 654894509 8003049 749604265 373014783 620623257 743594835 406472067 342837393 113869803 117132515 471300993 882469093 381987141 564811277 260489529 511854471 944642423 988183981 209290729 657208807 591286383 810303245 986838395 453657181 886635339 527234263 372961661 432412459 814013773 65841695 765039143 140326265 586092257 152896357 283717975 350730845 524916891 928178061 356654485 741504457 508931637 793146085 949750031 654741925 771341713 896392227 438104735 615752887 272913343 511286113 30586561 727484847 199838701 180995367 602102431 889045545 944251001 196287329 849470727 594098085 604931557 812770405 562429295 914451597 273532895 945017839 286613753 687288113 373731383 199773223 389703017 5398219 793011177 784958103 253825075 593413243 359911961 855789367 178527593 561832525 412008721 332310371 775492301 637373999 648631111 691266783 70078149 717989629 231896659 624386267 896703843 915528055 620271609 30747369 354988379 969198917 610268967 364454921 766537997 744162299 668608749 529135519 410998145 332451345 175566215 572325497 579478375 354249191 109231449 393960395 513540629 104932041 189663727 313363507 948925065 348314597 322638075 527936181 851610733 979561815 498396503 589593025 190904081 880037151 278856713 76768299 898024039 21943333 177087801 509675567 745143827 613251901 111084349 435112565 783619163 524714527 417452433 589446919 479206701 70814315 381738453 865837147 467787043 27147947 628612311 463370833 516459129 498750803 613786505 812793643 265389081 262238135 457912837 182528663 577052817 459911453 355058321 322920109 147996951 662016427 896547991 916986085 154251405 39417205 544226217 958606633 233322103 391555955 537546373 29048005 536012807 683310213 738731531 212642669 981071125 454689909 224315977 968591935 649836827 208560885 233664881 953757887 805382727 188706463 992493791 367943645 237868643 714855409 998529557 861736171 886841321 725420121 717141951 837812393 59207929 72771875 204823727 33313853 730304087 711431309 865818339 549175857 852359795 518698677 729638011 5277563 944250471 704418469 829464773 273463417 257346289 277600591 440104757 673684465 373925751 736219275 984606817 209412623 14323977 198890013 287520531 344106345 110951263 938900651 375786289 441553405 618025431 141852361 63829199 139111981 825334903 931556845 890660651 117335499 454772467 778321275 798423463 297912073 493325213 225898939 611131597 935145347 431971449 337819359 78755153 589593923 772110377 125442047 309691151 120255409 622845697 656461343 826495499 92572327 367178229 744779045 144361837 508952927 531924391 939118307 782072971 753252735 569797979 450253845 262871519 165626387 1824771 669680473 163238413 411050131 836222261 711274041 279061215 170781661 185739825 220509733 601443403 954044209 151903967 830156667 330041193 938488641 355771083 419062903 139779965 609625377 462391855 887785541 410209525 517461325 454588137 260025845 867823201 872969389 182321539 277457795 761362301 497256331 559642663 153494219 263673389 874612383 654451121 579937947 17485691 622555651 782155423 212090275 496726685 42439231 494492183 991892347 484206059 575761729 369963753 103469477 549350379 10688859 147165323 217914507 153310277 554527821 85980703 919541375 971151057 947262521 680496491 706039991 266128005 149991601 980279261 123678805 500587655 923564455 830472079 961879397 166893347 276739193 61719101 459631575 517360841 865162475 424259665 714939523 893577497 984741933 306816471 447663659 118364627 254905299 896751499 206730873 716925921 680472793 628915655 782247165 504895579 799297189 706288535 703843889 17415543 124039685 776633767 217668215 311575453 746511407 340757839 386325781 245335123 727417277 259742095 764121409 131940177 814320567 597642253 408678161 632102257 478438025 279255577 776748167 79722421 933957385 145538987 950295181 804185673 365437301 880748641 759308275 439472511 877875823 856144517 203292787 706185941 132794889 530065409 804477357 282583531 795431603 82577777 238416429 99273103 545653839 344804115 270413921 183519923 936572705 906972107 421241765 910754163 395086547 724065325 551436601 408694289 565232511 816743791 987968839 269815289 29999263 545341039 947032031 469471935 361829913 29174453 344570363 762521373 504565049 26521967 14054523 782298613 552790457 325980789 168561451 465732439 513090225 446702409 698911673 929065329 849234343 667485197 684344513 547316641 798302091 128570005 674297539 640459113 112170929 6981973 421943591 376158581 621940951 511534191 893195073 971498649 298788383 156160167 693813065 29996751 741397529 334541423 838049119 924909115 759933883 151602397 136924301 682071079 311685471 464270001 572997063 298284551 93559759 22123857 905866465 342774391 503827251 111029199 934578593 275801659 743847971 876050399 978293423 914518843 648271005 194351841 797980313 681138573 849387269 176835805 258219741 829915755 878185769 279143297 567104217 953208121 777149243 283474215 714326745 39911043 846805725 523450829 103026443 424483577 440710163 689240089 853704329 691801211 237950025 48791131 879396951 986739975 837690197 12699529 696237659 321362381 440455283 705020485 280747625 868944925 438975817 539938261 793734969 716135539 626291941 882581287 92581739 152266099 689429179 693762515 46278281 293950697 837548459 854478107 775625221 542422725 495433463 908243681 849968185 384280103 582913357 8057529 196185955 540742221 418483139 252998871 147086513 460122535 96947927 2026781 886482223 379268293 680364395 170211855 859322587 12632933 301499857 545660895 202262419 392202087 816275641 969160035 183119905 695321561 778855493 390654747 303959351 529447405 42083577 74601005 84958317 380597245 779494079 983059817 862283591 189235855 711858161 56385607 477217323 836819277 750547529 901469669 76736363 974948873 984685037 578594315 44195907 975381953 553672299 549982249 134242769 790571925 571317175 483583573 485132319 641105875 842486575 495788621 477352735 364040429 636249753 226328699 689246121 472456831 29138209 326267629 479177343 980801611 631501917 654529627 383886155 702437693 997196105 866254113 185307039 676870761 684209485 549936203 743693297 410373127 888538419 80476805 372191397 239189119 517745713 34813225 93384963 566988121 279323879 952837427 165785661 595537481 892649047 931164235 709000811 695424043 555974897 984552387 273236879 419042817 353731463 586163087 898769043 468617719 635778137 668755281 978024009 107416161 354886667 721379149 226840167 576055993 348262057 445001589 247447695 731762851 18825899 918661215 842551117 687150825 60023277 549751371 243940113 352562815 638338741 880626207 738766131 62042497 562151087 692287083 638179573 164756531 815866863 267173991 955833473 918486525 236737527 757896433 39581159 832145013 707726503 60080017 829202467 60793429 519497039 987534711 985562641 612320897 866428835 82355831 643153279 589565187 657258179 71130645 308262429 594598929 717353521 738020981 156222083 115082499 347085019 836608359 475340595 697702749 58484759 855935329 162829207 154155981 180124835 293601925 791591679 331460387 340716451 923957145 493778853 485234011 806015395 439437067 619934121 154132121 478061467 502096371 483869207 940622889 536627687 301046033 304535007 339455355 874557771 473067981 333733079 648608047 633702391 279614771 397488327 784679427 435467901 972254463 178127441 967223271 157049565 603366027 582945803 32526059 582890875 978718689 121747821 511433803 406636581 10391729 206166489 847293293 306367247 434965841 834865557 673373911 29278681 376560065 937302231 944077121 872706691 118640807 935487157 111481989 247498369 106137171 208912431 622772387 935170465 191800765 945616691 525946059 255929127 887093635 653639055 572618319 593935539 196231405 904251901 882991527 28934487 32239339 55393053 237973881 826160259 716032785 149660283 993769873 520315161 810748579 213089157 122905569 653809243 195770757 347189911 810801029 463862009 683045703 799477233 919340479 831546373 67553823 599099067 595112699 613684223 551039471 818077193 538469835 587309003 963468603 44046291 465183725 854228917 107157047 209845241 614017859 324752501 251623349 906592581 404982999 15021607 323451959 58935403 78943709 237156177 22045925 833385727 131631791 375601631 187987083 12799623 150982613 145132583 482638499 658022249 14109429 52758501 856296525 67040761 221027299 3036991 152294221 504260975 185683869 134688195 2778389 526431979 27070277 978478951 784615355 823249527 937820453 966295941 968850685 384133125 850842033 40351205 815152967 997277807 813635717 860329909 750032035 962418293 587170659 112182919 362011083 611301311 237365049 942309209 880946461 912339937 904678677 829362579 414305185 304033617 592329527 95943169 632553477 52892787 607277569 792767957 699247011 807557775 351899903 648953265 782447479 300745945 175491041 978296473 229347115 529221989 30099845 480684279 957324301 179256889 349146351 698991013 224477203 382410811 90816071 625231581 147459807 428970557 712389091 223882565 474786487 973810683 737489213 84960491 215091081 767589139 153373177 828409411 976556013 460533263 446516963 579218731 479263779 532147553 864345835 222640617 923286289 895504993 872782383 637606441 326453065 238442579 650812659 648908289 496363007 446788957 512421537 19027183 938559507 227980177 514988747 608014037 475755279 402638315 313713709 373240581 391324189 60211529 870380971 932517167 827118873 808339829 804440913 826653813 42695041 397319199 824799569 401067609 673497979 416450533 513171205 652557259 242142935 775101763 289671667 206662173 223201293 841675173 560799939 841870863 759814971 820085851 114071629 696070853 318117673 544747937 166314119 3079373 49101895 109707157 988939671 154942235 589250473 885492033 638489801 266717709 880974355 788234645 799259023 9056871 272712935 845856367 426119813 62388825 806565689 422715275 208290413 186462327 669951167 217236885 373889841 585267901 649480405 318292765 744230633 421024147 569659271 442816413 372660941 653143747 161956993 283646583 919984191 16717443 758871067 737161203 929441229 91876467 616985173 962238017 424794665 955972757 774112215 378572415 811428143 928742999 997176045 278143401 82880225 264277903 727172753 226346411 327329899 941078395 748655459 292030549 765437727 712294335 131676327 49030753 614056827 182234471 514281807 929229423 208820257 749614059 310708975 921037835 630220507 361525287 933188299 310320805 11380125 827968865 428824775 481222293 558043523 614404163 878774387 510368797 676541903 879012327 29766151 352424039 595104493 530153159 821118817 357954691 442789745 572142025 729988361 56428651 71266581 336967995 759128877 770525695 36606397 824021457 315976871 359894539 64133747 216624043 612719091 281167165 23658091 26137417 900935739 998310193 53731329 72496799 817694797 445582183 618877369 512730109 51609503 402881609 834593595 411585825 646632275 555965479 942274653 34567219 902143789 588295739 391111705 453433021 463961247 78533541 745049491 366247607 93981121 625302641 910022935 357316987 995337295 298286733 78212885 796204755 772943025 943778517 931130155 473095143 997253879 564902409 986418461 750612561 586161627 786194899 990352339 344043785 837247927 868594113 858345571 590275449 135606677 682705489 560024841 647240301 557430309 680330721 449703973 629159193 971390653 136995773 358252355 347946523 776277595 724111123 343995929 387768953 574871209 715568639 608062335 701528735 780794613 421643393 582682235 434655075 230964535 122838913 529044279 180541185 790420749 319510995 940326917 345647137 87283903 370006319 309948513 433838797 676737595 439781685 700234735 918076283 679992859 919916655 329072507 276667403 883427995 636421457 191910391 925214399 955865253 120387375 611473279 715631941 676364487 576656719 512574547 20983731 856195639 395830743 660198883 980914055 328459223 249777883 419918273 537194661 241118507 367356755 83155109 377719897 433305445 664704031 199157623 331659867 911105115 561334025 737060413 7120839 845913997 282076099 763942703 545861155 544598307 515965159 788129703 544493145 430399209 287527667 716742439 694388675 501360985 490249557 984222811 648839963 580222609 266613081 287483927 592890247 618135387 606329149 356805203 424410517 541105697 337178399 388912439 127110715 19729407 158921737 977956363 370743763 521533875 926628077 933396547 240753445 910870179 13566373 469778043 25643613 671826399 381540335 429373301 515645457 764281631 451346039 622779165 552907327 428651967 743814607 360121735 444778313 992955851 938607981 960593389 929616641 820233457 633419445 150402481 191696791 659416965 607487983 805014371 637476013 554833801 424657229 733319089 783701061 466066341 876669929 963127929 492270031 548369447 187120321 802925501 225399069 335035909 538681793 984290473 83181935 874835425 975382713 177126033 919915625 704146687 992318565 177135599 109595417 417388625 22418275 171921767 319348467 618090349 106862909 6871237 386607829 595061651 260419941 535768057 730848773 915274923 38028851 85024801 651108655 256172097 376673769 813382273 752461673 327706255 81085873 127526785 721505583 805226355 737433243 89144759 424772457 591449461 267589795 952048349 550892129 949267653 65098661 916167383 710537421 390530617 949071471 579483313 690938573 854545487 319138737 833063835 70432483 357815857 588729091 982932981 812278013 739367085 706997737 147079229 7420785 623289147 21312711 506020387 840309245 45059321 104057333 201844087 263870149 964910511 484288679 365237557 22575959 401583307 934188031 369993347 297073575 536969319 935842825 699231143 574546195 834354239 95470773 465258265 253362015 676980413 417878747 588767857 353207739 649967085 1937213 785383797 940820409 710036105 602292613 679341839 742785627 804993777 766988099 467190865 225653505 563198507 545915633 479114105 514421371 834039525 842472177 879755495 536332285 32291959 306488459 582432297 88492071 696781793 587427055 311008497 830039545 63563465 140971065 450542105 670073319 824149631 453491305 851471527 426260161 38414075 158823529 631498949 108876485 404917723 341978889 86271687 571516059 612225383 367932419 530597413 447158861 778907535 634968823 724208775 73814099 447773417 74958449 967040181 278071945 127462323 423500511 66703779 134141747 954599127 737448349 466370413 842682369 65291491 274857963 534542933 649075973 191058703 37030387 959442887 568140223 723604025 668268997 638851925 891032595 574355945 582222427 49578429 334967631 334090573 913796245 48380897 285200167 449137213 406948927 164076491 827367097 598513211 745422087 335354287 787770763 615019881 200667017 505233129 744690313 870650779 741217861 307501307 530284809 377552709 944978083 972434067 415099335 997829257 65872887 198759039 190400491 66323499 935152249 910217919 592573439 515272861 370911817 374092149 3064059 976165621 567093875 689960427 439573305 123083763 278049253 605788055 645558657 11002109 186624635 341938449 369836545 930865445 51887091 410978077 573532491 833337373 912182011 781132201 581010271 822800715 94200353 553819845 648256161 475884721 891728605 469610413 108250333 806364159 486964883 16197061 926372427 554864527 299085197 107058583 179053191 294327135 490520057 294225369 150075287 276258837 490968307 736153187 759278311 749068801 511806329 459987769 909986379 26167833 558880633 403874697 940383491 995577087 419481279 488175267 434756277 464531961 354234377 240030467 113295979 182036469 648902133 244528975 197453723 183612555 259132429 713253709 411473699 333410045 234987971 711425269 135227465 958061357 110799729 139294047 981026235 741485743 23679317 829424593 745493643 554580919 306830493 780451509 434271031 881259045 492932693 793109661 686427303 383190659 485418619 226779461 529975077 919378173 331188461 587437203 311942505 597124203 235527285 787422093 346815887 508424013 329891781 603816299 31923739 563985097 9119349 334254215 506507517 794170799 869672457 9432931 444637831 301898103 209274599 405053353 962821241 406153023 849337185 261929777 234868471 610125519 227062451 230417649 306174351 658707351 634640891 954567697 665622069 440922029 936703811 966578393 230796873 949186255 237854333 150769085 872430987 127618407 68177537 548460119 698595631 914375043 994445331 361805421 119489731 258490841 369958105 601256169 640233803 606843595 575214693 799322847 3717159 311313247 244911409 684167305 981491753 596052547 184113567 910274121 425204865 58069713 977594103 770638253 175315409 529555973 918312555 647319657 4633371 624528263 13586963 286404947 559075021 858699433 904342001 445227381 751940543 604368223 864362223 654525685 160644649 652596043 65668063 994119721 854843573 789511857 725639287 847690889 589850479 145063811 900540507 416459197 662097099 661518935 396553747 290212493 900644519 380623725 457214479 111087 347673417 627460011 448126891 974513147 777366619 21570465 261070889 871090933 462765559 40923783 768855469 57075785 58218903 852695867 274409039 411534731 586413859 979173189 873438467 292555637 469609445 58078165 167980715 877914859 227079059 570071743 834524435 511299577 467348299 742901639 386954219 30177487 684982421 793718353 464318923 929241291 986586713 545761517 613077301 709192561 994933743 902761937 230783379 12161897 44684307 59677983 508880437 615158153 509724653 319169437 524101973 37884875 452725769 16615353 285086483 421758549 202869593 894459531 210740347 305578605 715975743 260479699 978306173 709450635 469804927 20810745 289254129 244189255 243426115 751714057 969022361 963607911 552405029 211046845 427979037 145357011 621362719 167184757 462136337 787921057 896495511 729186357 183346669 964407309 644739163 856109999 441116179 14188663 6877343 158031929 51633865 350174317 522634753 223080403 930374213 662726817 711176327 392095523 968584093 469877997 724400541 433953401 295059411 298076503 101445401 875707085 870287055 542427401 884008505 294162109 457193573 646521173 585829535 548727185 952431949 459589815 138478939 974412857 999583783 51457493 275806179 847268425 416939135 840439415 83804947 179902213 540783555 964869265 85846063 122430033 248456783 517698365 22847973 64113595 672222307 192189377 142259533 95585151 646509863 969202823 985984223 939816825 328281519 479365667 350165381 714463279 913283571 295091789 39307659 66004437 683379667 165090029 288093605 720930621 678714393 992741643 685643761 299165929 356466041 963349467 664586997 515869183 330922887 101692857 189854365 397115217 823827913 217544487 810235709 315382867 638215335 768746961 894010007 819237413 756459119 2870155 916203211 351550097 297246303 98053967 29085033 71341827 787004821 262086207 467689573 520242067 486609435 952178345 968598303 897605119 133856741 532829441 266365273 70094513 956829127 271602911 198182465 312326585 491010183 360865799 944052077 631836105 435296203 282185061 959793115 201233223 829402919 361124877 335994607 878675251 927447313 849500729 514041205 890871363 655152621 402442317 726929061 127410123 907864325 77217747 224268571 695458505 331785607 371033215 524187099 182828263 259753357 585290543 493566293 680951155 529856283 134114529 130569309 651244131 741697303 484664771 406417199 118756697 227280979 587191337 190750321 160070297 329421963 306539919 527390769 193670167 250781533 757125525 502118627 287856229 202431827 448511239 592854629 196217285 837577951 232240859 636396285 848322333 989603161 81977129 8523351 296679679 109196805 345062965 972119689 199030431 297887497 948803949 519145231 469633757 394451063 57135713 462373841 870881091 153276235 530891213 547593753 202874107 595420259 346664599 752620959 107387873 111831945 543399109 67446143 174826355 812771951 50203279 666617149 523440599 986611629 23511373 785064391 643661533 326261189 759063685 470937205 832596733 887684641 288731873 84494337 957625941 293293587 341189939 494135185 678418349 802831825 230632825 30068145 773679475 629814143 69652435 418557273 343275201 765941797 603130255 224164581 594026579 49204915 616965663 112170267 862424467 203978503 358126621 866763303 447217551 623501021 737955919 754713759 133905917 844636897 291355807 278539903 61493311 665400739 663810335 866104365 48606811 509213341 148024589 835586425 868121599 370694449 130687433 551559315 485332355 780817831 388708321 863701787 394167527 562559025 301742087 874403097 304577235 783850983 722918423 181789173 311031187 46632395 101904915 794892167 861359649 202565575 45852967 84902157 57397019 618477995 380037287 803279913 875577803 939792433 541959949 672497133 884360987 31747067 637722363 829711307 941552807 946452623 417331263 533241505 688834989 10825059 640248011 148567475 489342483 367400653 305616827 796839857 868071785 480352015 900863059 79770029 672647655 794893651 910130939 826324521 256435051 594072233 501831241 921129477 369458813 2414859 15093237 495882641 169738571 712189529 971878887 699465089 533156015 773826399 899344681 828460531 455247653 857581773 816466155 183267693 932592087 482340921 98348427 797161435 167388563 755749161 682574731 951966099 426368463 647435269 781912217 861945427 168637357 606785309 195520643 875077693 527185137 962938795 898650187 448449763 320823053 46184143 24707343 579932725 350610457 350482581 894228251 202886037 879627729 888988395 378508515 389371077 412465821 864167085 848899589 432915189 947663501 745316507 857871935 293574583 713846361 563104863 827198593 935994891 778778209 661231497 618787291 915014485 957024681 459457169 827383433 419355747 758843619 663344093 826548975 956599913 74836325 812264113 885685401 222582277 548041261 747965505 210900791 590861885 26485989 320903847 354529705 738874749 190936795 884327395 195862765 902795417 94474759 808167645 296988467 338471379 12870151 39452777 397913291 495619019 131243811 281185855 402780979 227345553 685949257 585974783 224874507 43885723 7072531 726446133 231090721 644868035 821007549 62210383 911794277 633308241 444842289 646405287 364145399 378294259 436210941 210732417 389297175 309868731 872792407 316122117 729958705 132096041 901271841 642561089 24574935 159592991 531206623 891280179 771921607 586630639 331029187 729631161 371941089 267833163 788094371 662001053 792931891 591662929 704652287 445682833 35497711 904076165 790649855 533304111 740446319 495814359 335301487 719605239 322571833 810804379 996063945 592983633 327215863 632676749 627316779 173599631 251749245 137708755 458962015 527184877 789352389 293038843 959311823 883381129 884611569 692447481 347627415 515491693 921839439 9031469 776087669 278932619 149114705 902519897 121305039 318492861 333747859 181391019 834773685 433165249 293307863 156786873 22388445 933217347 963945737 648112767 89323433 209824981 152745021 325784165 42524959 522493165 303370413 947646517 356181231 806322671 679699389 319504935 147222381 890304035 835856887 801365463 973225115 920580539 113352207 388407113 219252513 686077905 522291681 329226731 403068237 272855395 743760753 386947477 126733845 851691613 507812327 126577537 827481627 798646417 25703577 499653461 658486435 187376309 961174529 822353951 865127583 759505261 846352067 14447443 444218277 709976129 762251433 260801999 849767669 415343267 391329703 32562393 393028215 189576939 518109401 805225757 430583735 132377435 760796035 806092207 859050223 3137309 297025037 6546193 611201533 757091651 473718029 244827683 435963753 549827 714180159 107174709 234314595 774516353 939663235 418101501 707573953 932181061 910618597 839542165 317708289 109554623 479130779 605343623 237900365 297773707 245983229 156182203 288983667 447270955 95622289 119085449 940308971 432106757 318919679 184665519 920670675 247545195 767601181 652058961 129327091 929007255 662334951 82209787 242339257 252567467 53126269 372129189 203292991 159043247 131437613 360235947 461243457 84692371 842823527 647486419 758374183 187162931 959958987 995381063 9676803 468906063 596602137 79852961 333040009 452381841 920347195 985842139 965356571 148629385 168251465 654941021 233172669 221971377 740540793 725913329 196224033 92375403 732306993 218836941 457569695 391172607 29881341 459575951 815866417 65473181 702725263 909865021 696791941 176782177 291012803 452351299 433502437 315543115 798718875 571538551 443536459 218394693 795222339 401359895 997744981 481199647 977884173 857140935 303391307 538708371 271283063 447762579 647554845 563746369 547740961 959041011 273367649 409022645 364936665 118369473 876769365 404150111 907158161 261445447 488018915 978923927 335119717 758537005 80243097 73368733 164467863 659547277 744049839 883033759 503880083 168216289 559913475 578268075 261299693 319228943 554509597 532483771 243112543 375949157 399067435 861472943 420796875 221376663 642795013 695630675 63798335 153333955 587044653 884940885 705550831 89882479 525665989 127942225 202251315 7699847 825866913 799353799 874280591 710866017 636344629 50685471 300956079 628187833 637601443 670666925 950454375 526615477 279287215 839445929 722569393 230754277 430780619 948792115 571375281 979972153 125546765 880353367 958752177 887874323 544475445 802954243 187140389 502933813 198116009 868213779 349703593 439978701 124866169 522873415 728765953 614925427 172422237 602064711 846662677 477554207 697675701 257042343 373809147 394526779 545474181 373371613 171828973 61469331 697474685 574687311 206522959 632211803 998388727 598342209 584310445 835798065 800386289 355540199 239968439 863737113 524760591 673322843 295013451 574080899 315710885 426308763 456766317 845680963 718005417 481119381 672805701 254374805 779823033 581063957 59288873 69010463 285795869 81340633 461723541 918813679 185604803 193548927 760705321 308469883 986425667 366320017 302184883 718893213 276429021 991463811 780475171 216395165 991956345 864662185 48702617 861356071 54069925 729175369 878808403 850293585 163780759 798258825 803682241 119226265 877803823 230376827 676708979 329038819 886256375 20335643 828411687 254092411 998215195 214797895 941146557 49289753 512001395 112444105 128548163 153656025 764390783 394315347 313593067 528679231 989191525 348763775 686488847 465161531 48530933 608402635 885547061 943392031 388812967 504553891 893372423 473259179 557814425 992863065 998628439 298910723 453867411 705863971 657441827 561488053 664024325 542606885 947013771 683964085 473281285 671256167 120216541 358219617 611452753 59754971 81887883 608132735 84346451 469108569 512669745 559097659 841509401 489514917 810324113 804207403 971343705 999659621 465810583 607268171 421081205 237447979 343220053 750938883 766815347 442854513 839323913 534084381 311830017 873725593 398152725 540409041 367510137 832064747 940701699 236209337 920955607 377451673 83919495 877469663 311004355 211649467 670610557 563753131 726963087 500493397 488952551 220205045 972780335 803889997 372651505 470379003 871966019 638694261 86781423 455100769 751298069 667367047 754550363 649805877 309206929 428234277 233697497 371058923 485685327 597673687 267481651 207188321 798354063 492751117 55564125 365993435 403660599 915028517 438682739 494029321 382445271 851560795 851308471 776138751 388172455 674734811 473533079 970543417 20751749 988761781 623349923 75560349 479893753 18941411 768985751 25830009 517364787 757737799 99073367 863557507 817668871 869126311 46515949 449293781 530006777 676050361 508576141 598587127 843674157 769560851 879028373 59430869 4964977 928066871 779270531 517229511 531298369 300022671 773368071 372324741 872976313 301941099 60095473 157568057 993073055 539826949 498172989 23840365 318823015 887422591 34611215 936666905 498145059 445886175 451174577 159948953 30088341 582480667 180102553 566044081 456340517 174626057 274203999 847471249 921951967 732650603 531380425 736748493 192567933 196292075 492471233 185202017 478364767 494945815 636089945 164687795 943854729 837709933 673624525 647059089 953609389 669883469 713694593 152430127 418271521 191174655 875543553 967205419 510784997 744799155 921501695 243156619 495119775 309067397 815996245 907218619 320064159 665701749 511291401 480414865 966869469 89530475 463286085 144377673 124063223 213935419 625920603 366280843 338864693 84872861 616236489 861964129 756929927 110949681 322406447 599889219 614397313 490418819 623993691 611683595 215755111 92506625 679665471 330975745 278760733 757943303 540734711 380156115 604868145 68713685 158846405 483721875 99935967 493858195 42618389 128320449 563136771 423542101 881976441 633373505 775051555 243299347 372827311 227643233 54288753 33273773 725373591 677262037 569064645 69788399 524546879 38227899 794738587 562230919 264095705 583867543 268616475 412538897 30158017 575133529 527661591 664320267 910446201 586843733 855355907 2776547 77209261 248914247 605818367 623758053 324983601 678966871 151506901 880951631 321219327 137058063 429284081 510611519 385464635 217907045 680180075 690865089 417487407 946179767 444070145 338446787 178483279 769918669 251401245 759354655 335563575 919802063 769324751 530802329 871094441 291135061 654400457 948304855 554759057 728949853 858375535 588705389 437202691 910256713 612719815 86226129 174222649 895627499 589489281 73143657 412142743 220047733 370096627 760071545 670199463 583671941 720592923 175536181 988882207 701519135 119145123 57628597 349061335 613450163 373541593 361017341 242958035 794098451 559638707 601850355 181410625 312848255 247194579 314163307 904481905 100984219 972961405 208915739 615730143 675055989 244384419 79378343 408860975 334601091 106442973 435531415 54755627 245449119 865940839 645420637 973294281 124352529 101039913 478581843 526766113 650740869 991113909 765630903 8575353 447355153 265021759 472368821 591694393 935044401 3793831 76912479 506582007 153277645 560123255 429990059 905799023 298455855 540083673 172757373 151400833 144785423 351537321 335914397 292880443 376924295 156159845 771158205 911958989 855545377 563594803 724019573 281139607 572189125 855802595 464881735 149421335 18796235 1613805 748593821 836520701 297641969 910509935 231631817 992438297 560007771 987789873 243122689 804181609 565077143 318093473 425487721 547972109 541244313 751922649 114601225 544561747 264806335 629143189 105869779 826429101 666632143 784215103 5908383 614691767 850650101 675815909 590575151 497821745 982734533 156774717 627323437 332802571 371865665 356926377 198827561 686949719 778539721 269324591 538203549 529120077 757919277 279792509 442321899 563698005 764545699 278812907 111289179 590263287 9488837 201931129 312996383 638193127 229784987 886925261 192534351 850085633 119026577 380692537 86956013 658157383 342751615 107588529 753524195 30873573 774758557 813630677 693771009 9515053 878095509 993094895 688751105 96967837 955523187 925502697 55160197 842064855 930048939 686988383 905068819 142679461 364533529 469561487 497397281 869474299 219811847 189931871 81541381 815496693 848443679 471944287 724379137 865690837 789294965 603824583 370873919 205329671 889807753 789226869 563797199 359219999 128639039 433545713 125943211 172530391 740540389 98908521 107143859 162102291 640137521 505498807 176024755 188616157 900978749 553009239 137545819 372381033 571922833 522173299 823599939 175815443 366848281 132690137 498056941 508868447 363744043 359119359 962823105 721863157 744972675 403508743 336929811 783116459 637075529 125327029 608023835 660858491 832099591 135235963 517271547 357193865 717306805 66292335 219148473 287807775 706117551 116182865 612447051 626553011 783798457 645310601 424403589 25059549 954161665 264987683 63845677 119814499 706385695 693372633 68387563 429202221 273128717 296270603 100118351 2114897 582423345 779434941 784058065 914314761 404511319 616554401 855384535 390543291 487671737 215633419 194916261 867483629 946708463 124372991 16341873 1893975 861819391 385270049 852901199 940065745 563518041 349957313 996287813 714638689 570737105 256484055 677063227 12866863 998175907 8560897 426027775 109389715 956567415 812150151 201241935 86370819 307443799 581445719 114209481 808454693 876805561 22157323 913449465 901124293 569878909 62206175 544919373 425344725 474278885 194052029 429701665 671430767 785637023 658070321 963188659 855345625 520750531 18437239 5454897 49345661 607906505 452188777 572737447 566145517 898847131 522388627 949997843 106352359 848032645 116387361 816151379 572664907 468189243 177638635 335489585 242191911 435182297 831911537 760137569 462508717 798196457 698251483 863890807 37535033 949114197 566652917 595568889 987129677 584954225 893620281 480000333 281080213 908586493 482010053 330077639 887972067 654955551 23792993 282307229 736762677 418109537 98116477 276742131 644403885 12128185 357357871 216740561 913022101 824469125 139980599 567608361 314037345 831311243 613692667 745990101 167141549 166134007 999132555 520648595 264063035 633970015 631493789 602202641 138834167 129350337 53897107 289856475 224519925 360756607 27968115 64886381 996369773 177783147 515652843 649056041 917030343 163627191 977595733 707372633 717839499 516704511 697045421 949610539 728549487 269021773 871833757 111443385 40593739 113073161 265311859 662953477 796012323 235611661 609617445 115123449 866047267 905133969 716571733 441799271 103094943 533879361 898314823 598476549 634507793 593176867 371443949 746079607 889583133 150975409 788321245 538097477 372868749 294826697 353253975 83180001 670291799 16449451 606704193 134533027 24988051 884293897 650358061 257097933 121500805 951062007 916237647 676695689 122544795 750662897 892204679 233780201 88787045 777082079 984923485 621790435 760259487 577389579 392365057 609671515 730197037 105681197 730989385 368387609 540578587 742166623 438853555 683258317 348662681 506457129 619072105 772319765 772097541 894489721 672054841 648447597 236479203 279462305 231917723 585137985 129092573 437500257 245618861 616990945 198452421 539206619 205077559 878630535 212203671 971881121 652466343 108761429 528425591 617465253 458926613 813770579 745546929 779432517 519626819 40329841 607474615 761595973 974404499 267526539 47005475 131380949 903000601 685841763 437202107 496709513 831672457 235008925 919167849 841949021 515659589 767522255 70323775 626622903 629431633 443297395 328302971 94485861 125192031 809921509 319492989 315479965 897767621 824174451 922437075 149592825 587732099 573565515 496210991 888980609 427870785 343249033 56295275 37859489 556585291 962447405 918732429 468378159 9218459 889935905 356984767 266635113 836196047 60117301 399080787 736999665 724752175 649571619 276487367 472082649 671891115 486074253 486359997 435352977 123453913 288218873 791017215 68452603 265481463 50454493 536658817 616453465 549860079 845657487 532755805 757771867 459819087 778215249 348457691 167055893 656105551 689440075 556196705 546957313 334282701 621934481 724633731 641136651 687923791 711708443 444602623 889052025 818207497 85592777 625194935 328991237 343899085 955068007 723823797 904468685 957904413 837449123 264926765 46007633 204324385 978758425 295892859 733640835 258482599 741710153 793319457 97175479 6541605 203519389 417328331 491049387 403846331 704315747 316423245 483526529 326826291 616030425 740867745 678867401 721502457 682087453 234875371 650797945 977944869 298156603 270924149 242404075 257483383 509461025 859054261 838012649 790900309 336073643 477339715 144368027 69381071 233010841 554539235 653569433 178247325 786274195 440593025 30531809 392451101 335965485 223413553 17526743 268698713 803412191 433052719 762276423 585381115 993389577 115154139 547789417 685228127 765767925 66743745 514941401 42490497 223135701 900062613 677201565 625610763 488227779 420906037 463791649 117535563 901873599 303955871 422785081 775688505 903306673 99406083 76564519 264850035 97871725 118341041 322899339 178779201 477851049 589641253 401409909 408081809 591660297 284231939 677106009 226103803 745063191 648289815 731587095 566286527 493280065 560259923 776583921 902814149 481932257 508198865 587739797 417675931 464494907 298690775 494324761 631888247 54192757 614038221 210939 601286713 313079971 387758667 812911901 247954283 420619195 888882439 824885201 519632185 770949537 927694055 265348807 940741243 542412061 188134647 53045281 853905841 117795041 743344233 682082915 954163713 466736775 586228633 942471543 920026171 60969869 659077895 911703991 570440151 668727903 446871139 951895773 69127155 714047823 535205759 793096463 311982679 319035283 910210387 492283867 996375667 289112655 516153095 925133109 569883227 409799563 973989091 480958075 649762771 675705145 363086683 566453107 282859327 427222065 36164105 650894153 992614575 990564663 501988531 501323667 518222041 152028657 664747587 630092109 322632735 141012977 591826893 465337823 239728519 868939699 222581131 172734995 899879359 693636499 853601759 965709599 175021087 831555295 292316247 70415779 388220841 98377927 864261285 235762337 809669119 139363683 580877733 672017545 808418421 130665143 317290073 796858413 238170367 307448233 513792751 699307981 93765437 359090955 780751285 687589901 922492281 534619799 926289451 635408633 482352543 845410287 797040627 659634441 305067079 322689435 47722967 580533273 56595375 299221005 290445517 101847663 670959811 950039197 640249069 207643575 926202893 301147789 454883963 436975109 420018375 906222599 221955811 321664731 71759823 417992987 376053689 879435289 271492269 662448323 471945655 99000591 543046287 753145825 531127233 102386545 321456975 266392637 104840673 187403871 558950507 945858951 84235341 158671195 512920071 183508571 22992989 711927635 726754807 663127353 489114007 478698397 674280113 535514507 954657955 692375287 245212755 338343585 807325271 50274435 536807843 939197109 481577645 3566291 516180245 127274473 710806985 349144793 92379579 640956739 970981623 753849075 208200279 359190457 457544615 515471845 106709073 264709409 919212153 815699935 277257397 205070141 403305515 235320691 12853053 520885431 347086509 421579425 580697929 81533983 249274383 376160205 685687517 115811055 306398095 79178949 525730731 765138055 66461837 465437629 577314313 467410227 724941719 162433109 959125495 16205089 820031325 43508877 37682203 583117165 442482111 457769431 243866821 189743383 409428157 200790535 263343341 514017287 918997377 661881947 814084913 316492817 46871907 976702581 852272345 146034669 791554265 566992743 304651477 554115133 343809163 222841505 21704377 97134727 1268289 674703621 381955529 266158655 77981677 7742421 967713767 665129407 284640943 369940929 786213031 149809991 138660295 447431131 999785023 454348289 438303137 598641827 440690317 908058875 873798351 401524989 414292503 700190771 300312847 69755189 579273999 877900167 580325443 429803011 22975053 979187651 829571957 806826371 984876109 357047189 766262745 25113659 875193399 40051353 715254219 947996695 104212701 507734605 652084173 648857453 765932979 228209951 195170187 616674297 536722905 585223005 956631767 308640225 2599193 393297983 919001263 511660723 276851421 247841001 265065525 398379109 954165057 516765029 265968563 326074961 406644227 910422945 173362589 564557887 467091849 230485623 446399887 74476379 937567715 38683307 122656077 79679805 855351753 747954659 714182079 382599901 267066777 749188019 355924475 861415845 230173275 500694163 673999419 747503711 211570367 910175459 377090275 383513155 938679321 847461869 875665277 916470253 119035245 147051235 287448509 926372963 97495647 749985245 694510719 942344207 193918525 580807903 963393223 848416203 487394051 894628559 371337405 460775889 239421517 360643713 769162423 145740487 339793505 624570795 64518703 155881147 953444657 968774641 132207817 711125025 816540501 506928091 822669649 307824855 332022025 212870619 38898871 993516835 82918709 652364619 632968475 487904433 621299307 449056617 340637883 994837399 215500767 133694049 154414855 683968339 710473841 339886661 841080719 94546375 552218537 348106251 719785231 66351173 111174327 859824791 881583211 256551037 116129137 410086321 313211823 468052369 232816983 333234443 234310925 728608003 8926863 440748861 875174879 801390531 852381929 74930379 152501163 44341027 833819357 879818523 840666907 10642915 960238729 922287487 448103681 491815 256475317 844760625 271356249 391799677 912716239 26228563 731950153 492180953 193391857 844400109 134682903 264906905 704269527 900874993 944875835 725152897 894819051 535544375 495992143 982883777 518009915 670690689 163075093 835936493 364275325 132797817 316106105 147808769 690150675 438349999 366273421 626378085 756056067 381778591 482746255 606369507 99165947 601394853 630115039 27388081 671773779 652049167 239762443 287390831 451203595 618981901 824225733 707558943 951255753 452848311 955892713 111823663 874464479 857952783 198134905 327016309 443784001 319575039 843576993 815362095 754130575 620089431 19094965 88733441 350752785 269021649 768030253 509494519 143464631 164093199 405284529 175572873 311179287 712828825 213941513 246284691 739016049 868451551 620325673 788900955 123992235 994021181 663245357 713949323 452706133 283691763 360691543 248384317 973559207 513186091 333840661 877524203 678419327 71329525 953545205 399383675 380215141 512214091 794800055 421974587 463968135 923574543 174144061 883070175 49889471 875928071 751196305 107978887 882765193 92324841 24241129 332797875 154005775 343643211 264228509 608180311 306588701 697177775 828678961 801460419 812723759 424521597 670886225 311598773 243788897 303833353 935605969 756976213 137966201 541854859 281165483 58463533 5904873 461487909 610369027 307355957 750893255 422628061 552664869 132252615 563653331 842462121 207905409 121688237 58851445 749605471 360884661 265991439 304487865 366799295 486597253 154527879 599687513 199156599 165009881 787751949 223521717 485998357 111723721 141003019 746254289 196963091 698126731 947715149 143408223 569313233 172846725 25239815 85023923 759196825 168084289 68483031 56905681 913583775 376413557 616721859 521514333 609015801 977890297 747784503 306099879 587264679 426726355 725972745 135108519 370835863 97159469 985457525 475103227 970392983 179657817 850358561 975439851 894181471 478766291 763338269 138344805 449432467 364024385 272421593 519536899 357705149 307545449 182261047 270742273 931678027 94019907 36544377 135543881 400461721 258634729 271371085 963551591 315458533 89363357 684431049 703714711 687542365 321756617 705972075 270261171 814380815 851551749 860253975 403270471 769415411 658243847 680778009 556966271 401932013 227491255 720530217 37327411 511298759 44793885 831539811 183364835 585682991 818005613 39304781 601986485 89603519 447496705 820506577 397755515 628554235 162938463 519464009 7148457 25818697 2960945 347561071 887101791 382972413 815673419 210144617 493702757 970453325 283945637 112998341 956808491 978359389 446658407 524760697 726606023 894187575 503785945 573703647 331158007 136328649 963466607 899968703 843739687 579956461 200846021 289482565 421635681 169725287 385602205 23185927 756035677 786569181 375385827 398800643 407454077 803172065 247688107 418771099 362062279 246947823 75680303 875543711 521489129 964999269 223167443 95775045 32811325 964092045 815843105 71328809 17605311 838851225 687578317 406351 914161689 129647009 151454899 796074535 904946073 875617959 696625877 609654915 462125109 838620055 40171105 702921123 509076109 596955709 663944869 773558059 59960811 70079317 856916515 789666857 50105659 957858689 64920951 84074513 654684181 507169353 606137971 349882817 808402873 472923423 473790213 600540287 338609165 662377051 600326219 943625975 686847139 902656065 214845321 428168255 589278639 124516855 47160615 520842451 616712465 442016399 881978811 46379417 286229329 207474179 631956735 141738721 41262239 547787829 43543255 309794139 858557905 507764717 938798159 252481321 392687461 61842397 825712281 495364813 677133445 154054045 728279055 853823541 242335743 864882351 171915573 21303223 59949387 436265853 501624249 748203281 220970375 25175 853596523 550635623 642596475 171593335 609234761 154708807 771958677 343807231 244648051 322833829 583540461 381800951 174293813 498404573 748537925 345220431 964901381 627312825 903407615 793124837 631564925 229598307 95265327 678922869 321021021 288469359 811450249 248315051 754002069 853992159 589185647 942486039 866737717 519256083 886354405 741310771 829260155 255595483 343340701 17523295 492604103 158808939 564772333 489804007 594854311 817279843 752918741 67906555 359941581 543205059 546194173 168022963 829926933 648223231 891828657 712337425 388649345 44533223 563641579 353477629 498032187 650121913 156601417 450271819 675921563 992183069 413220883 703763123 5921305 139006237 336585785 356581591 572731991 7635249 322004305 8428861 982570531 788564789 436672409 541280859 906598511 497135469 592816635 276872071 433883479 764032393 945245445 810578435 195865885 382272923 687623663 689000439 700172589 822120739 335762839 282893687 646868763 330828805 692886915 645288315 516293535 434417551 245991 72860901 977158049 934566261 868890005 653480315 934162217 494249173 727017743 364217075 966381163 246070581 455008637 745059297 503931587 889841537 611743917 972898507 636757429 182801167 10813717 559409433 188247529 994292891 168018133 463931419 386504245 48319821 329762999 262121481 520340115 909513135 617810727 460036873 73671461 574653625 603034941 682219039 767805243 19688133 49342905 912074303 557859395 113570971 116406785 164550979 435089115 441913961 550825253 349183211 162457543 765455553 365951197 793077727 500416239 402889635 172077191 850746547 885453929 215500147 339745835 452945119 280332655 277281789 522092921 145423811 452675941 344302969 447329991 305733033 919239381 76177795 551184403 429448387 964072053 405451297 838077447 203012139 277821469 790741181 933426417 687787745 968698323 880589617 467590089 326047437 673889471 271919287 537245485 781636035 330041911 827770615 70259299 747964025 394143927 748818171 884907615 417926035 518162655 317728825 556231347 131435163 698852475 610242447 315930273 138337023 852429185 434337859 412688913 521893657 742644489 35621123 723272847 800561965 929065049 918384353 228782679 738537057 774211035 54277211 601081155 236718025 283951137 291545177 216698847 942301019 120693479 311976229 51145303 267315451 233564179 17281911 409779587 604673393 16513197 898653035 882385377 1278831 986674151 513212805 754321053 94659727 541252129 765060533 942280833 722363983 513187803 112521805 690024199 367207707 22624449 248634637 251736909 980391237 401691813 683523609 574653723 605524995 164011141 322446591 506194401 23719545 640424833 438759859 19435955 634110127 750565351 35084693 152963157 929821847 951783465 240293989 900465707 657570059 269376995 212179797 765128517 454483145 40570583 436572665 25287257 23665021 206975473 71722319 546322377 66008759 7389763 875284153 873469595 944004851 10733067 122834695 433298301 837090447 897715627 393392495 171844551 459348181 570302125 926606477 971377785 686593269 767400133 855330149 51065659 24894733 689791183 455306853 31692123 984335641 337573325 580486245 159429839 426412549 439064555 83299741 554324791 828594337 590996349 453018807 729428189 671413927 942236157 395742143 259749293 277529017 668837133 143288105 384271423 628248671 557132157 552267987 888356049 953949963 545568827 742626563 352369231 381802773 184900453 251920227 463359299 731526591 962002237 126263309 786280167 926266163 895161649 708695675 594257433 225597313 66502351 121411221 961677921 799668643 502914265 189897637 783091949 341423739 370042411 381555041 928446359 605122001 706479319 795670247 974312925 547584853 290950923 835541949 845591011 398619555 968329765 911405265 906105213 873057083 410862505 372928373 624181025 683123079 551383103 884865639 398542061 444882391 185920189 175029967 430934439 410904165 321280287 304251705 728480193 294908755 929228677 699929239 807090259 948115881 246449979 304650059 632377881 122426455 879134135 71312409 298968187 364047161 829203857 466759979 903531659 852651023 853542799 243729691 375947773 739064195 47723417 32161763 448686131 91490853 700743623 570819561 948358449 348996975 9396047 845915387 205380265 419680449 133776279 137742157 766593777 614907495 493445931 396153469 859412489 449510031 877048509 447860369 458920087 929407573 162625575 88196853 283731179 146153657 438984047 151162751 33501693 763969445 821447103 481357163 630683755 336475881 274599017 159021665 725279101 228649277 645324267 141812075 653017633 894732103 109167845 508843009 243418609 563094667 850257189 834579711 491964971 860667519 841850525 973924265 271081651 630840183 435558503 987263149 960397085 297528249 980662217 923483939 226805151 140670573 590293805 263421315 2233877 106676387 513037607 697539255 680086795 429410387 148901233 446359307 258803373 604547939 895785453 962617139 618135509 725388439 888858537 255173965 145826047 831797411 572492759 428506591 110374739 756174625 314946771 185393877 600140707 797846417 344210207 759224963 9975651 928712283 969125479 607959723 734689715 18419155 8741503 11442541 106989661 364196143 956108385 385815641 523841739 148254613 169776431 888792419 390783769 966729993 660038969 373524971 943464197 924098431 884950765 152222643 493447413 204891089 394807273 181810665 753213689 750383293 419836399 5738019 190020041 21807601 888979435 763115359 551551939 680884473 49854193 208290561 874452463 522399315 645242171 124229589 69446397 598726237 738510125 729742099 114334785 934728289 318818385 1017687 41390783 492981649 926170205 573539749 168039963 163960839 944410153 932069997 541026211 548650433 182108857 921790595 382308691 629231019 645756475 164396067 802085575 659934359 986648319 216689139 875807301 390721083 52364417 888239617 284875711 44430907 480476773 25996481 101859277 883334945 549794165 380860433 447086251 779047259 670895783 832307255 306904897 321519683 946020371 554238687 227948065 640907035 220407807 175938079 281182847 44296717 450941395 302777715 108921147 427765035 388198181 640636099 44810717 603848043 364777137 352056153 512901013 954420657 972411735 175206125 777856057 212632517 744215843 745270427 830788425 850205529 661634123 695860199 424216299 709639941 352559657 978717119 666580207 90701133 281077821 990832507 450855885 326709143 176905015 804040661 908976547 72438069 798024679 761484275 955997497 305475169 786356299 422583905 907537149 21789501 749768835 51637783 917227017 886343889 86681565 920861041 827799321 768856079 208121803 271152949 102184855 468774607 822849255 983139727 50663057 449834707 367613943 270693653 861480893 869196485 100431589 999512003 745219709 142978871 484602309 269657087 622091989 840715679 275188175 456585111 488830585 430134623 211355243 993208513 205713851 257281731 591507489 616467223 972015773 816657403 88124325 942838433 936705989 661290527 673760465 162772685 91875205 638592049 159296939 235249005 787618513 991257627 755587421 71679425 145353289 439360941 774000955 186158443 294432053 824550305 865115071 103041405 172659333 334263449 500752779 750593897 108858831 387216413 877887599 330144269 319698003 342018973 694451801 884444333 902998519 254058357 483789927 397455353 590747211 19662309 635923931 697835267 572375431 304838167 269308193 877105229 54282633 31448347 61602509 767244982 838264537 998156011 833638041 900256401 353078181 609022825 182881895 365808271 692763847 362843995 287603527 602616527 319735483 991783287 207313511 376391639 303378091 405315923 222066725 688555923 923222371 916504177 944785667 558633049 450557023 38717243 304645807 121278951 521768121 653977601 883533049 662157407 895920189 123511291 994223837 360464211 534103639 199225935 232989567 169514675 222803743 963342081 621020457 498260449 89727573 491553287 79983697 886904479 129883233 93545015 776612495 127243805 993284431 90421331 253468071 453669869 858438617 424384515 633464455 732302095 745028701 967746779 299280959 669824231 180768741 930103123 825043723 375899715 721026843 117991371 443853135 381207127 775277403 98967439 302111383 426512321 385665443 976790477 413000853 349977479 194930585 536002209 251167267 273178133 568887949 855774217 628879943 987732543 678146679 779067635 611495209 434643015 828696821 325498925 824198431 958083277 107698767 123124079 560322981 872253409 422212723 717104223 735342683 445170681 943687675 406309249 307259919 783406831 658979619 691801929 459147187 977812747 661759701 258674449 781772641 220421627 453619101 328984601 781600607 481898961 988508855 244435081 251475735 253601805 345053949 611882613 969125915 817372817 772523515 336204499 828561193 396736175 480604381 784771207 771620129 60930073 633274235 948096347 470102545 424409581 954806613 43327741 216681003 577063855 126886545 22516743 278039755 607002191 143200513 693490429 541754739 458622241 739701529 746106693 838910159 248733409 534177017 799340083 175906225 80910517 759317353 280314877 884587031 50819371 945629401 407154375 410519585 250736951 105943647 298968987 526935837 192363833 178144441 927739239 725208191 981333489 710356817 325448709 145103581 220785043 828446005 17596729 512981761 879781039 261853213 643752873 832252113 328961859 193786215 508782567 885453409 309538231 979116315 49323887 28745455 945744853 195503335 926308255 9209821 128808917 34237221 523684033 15393205 34484563 55384017 403799815 919236907 508122707 84859797 127634825 447006747 389860931 109892285 540518731 712229513 278050555 311480901 462534195 710986141 615101877 941768903 494950419 64439469 481261079 728539023 694916517 67023411 189492015 526487433 858953099 775933139 657280113 687853645 934161741 459670103 287171259 508031259 221707869 313026229 462743891 481628633 212775699 930265349 167189733 431020057 520358835 880822923 478208133 19397647 540188003 864647605 54902965 94864283 526775605 91368723 505704533 378744133 184464163 990559329 860807093 397821757 326854927 455607171 788116363 736332377 378340289 565674371 104538609 165009175 336189419 174715287 901668721 545710241 105307941 493651479 501068275 344543685 249902321 623814025 158770639 27527163 820845497 683150741 786809027 89080929 722998733 954539539 703658227 63149757 876526695 97118713 273680875 861314691 406752425 659588205 828314019 515142085 464527515 469516219 243672951 955413063 82715183 291625045 557669677 141795435 999654461 573622741 510152175 633208389 483365767 842792961 800483671 877002889 679862199 143309761 753764447 780497305 633488989 789543469 872303725 216647801 356980211 180085115 784446543 223253979 267275993 992351763 210913595 440274197 42175067 672336251 481112523 692227879 743932841 953355115 887591175 281791415 768689883 924754109 735264091 187990039 805018611 505223795 569420701 764155963 489564121 408648377 737361419 426375107 783969123 503242721 44043593 163907319 815103043 269109097 375944547 306177479 360981025 941064433 180773073 23046857 916748675 327072071 870546797 114312763 124786393 498052445 90881921 788172039 143388031 45218639 691926197 38514107 942339765 175784287 96766243 18992527 284410021 169774329 111464005 853405023 796499293 715309489 691547137 937874103 909829595 379795009 692691365 661554885 941206271 783231373 185642213 774329693 950562959 185336735 506984671 739478529 526001217 744737451 160378649 783133401 939433129 64785933 212546687 850428849 376885837 866154823 350751847 52214021 343575189 849186565 137565069 211636463 536187089 241498139 277471511 649040955 867438393 44354691 466263445 298863445 743738355 285235809 651426807 430230357 954508291 283087615 506055839 859157755 252926047 219885521 202449999 22331821 268767963 753324917 472282421 765679227 388087613 587446441 796378601 831569181 849201195 585811291 996808291 190925041 920134713 322620319 28353805 1448447 293578975 90533039 981619635 550581751 783842685 399991279 564295305 535744815 252290653 326809067 917922093 387582373 379910067 480411987 323861411 951998467 794556563 397639175 156494171 132201623 883151363 68322309 886526505 900289625 899246057 948403325 525536585 624231911 554667545 879746239 145682017 135285383 505056073 903788871 610051711 720812333 118381087 635868857 995545881 861476203 842405919 41418465 736704777 518690947 144665789 868698031 466538391 303886941 534792275 207984707 868323183 101951109 299262751 499345373 833587111 744987959 703216205 838741735 258477245 306943565 404463343 783230967 909399445 421287507 961029883 365001417 296595067 629700979 271053909 614531389 12438055 445552267 18731975 963501665 73831093 6459923 435135487 837700967 471287977 284055353 475760791 9010857 399813107 989694663 505790737 469245613 69559525 129529911 725796825 466240797 213379391 647485607 818757947 948247499 937177381 43015647 403767923 482665397 114067493 222895439 66820259 358520315 334727219 861488395 116412373 911848683 276802733 749508311 845203957 113920247 181922137 814988055 524504035 712555451 283204451 514312667 206935131 840935161 6519905 97168857 373989641 871206301 954400079 157030259 92020607 582724795 170427797 281772975 899980851 730387083 549522429 523904827 146631049 800888181 45426111 630119279 890201801 579731713 224284533 51227979 508365605 162325731 861805097 624074359 165697717 960383991 835760195 435990081 80151931 146042687 849543323 163712671 230234209 620161255 936550255 840675121 889061943 613380419 933505891 958177857 491055799 501335501 38086789 596384185 739471747 573229097 105746761 407008821 570999075 994277665 833850253 26644467 516188169 583419817 475720597 439303131 491205005 737690077 421849873 316037241 863364337 661885953 644609045 607094023 488261215 727117181 138814493 748640867 877124583 492579815 36327183 328991253 946956419 323108857 628466233 714639691 170182933 341467287 907968337 724881375 634944357 650479051 987057009 492533069 431405347 482649547 809058337 586335679 217930477 773587951 984043085 576196867 791636287 697552315 702545227 424315793 497750403 379913181 649956313 144166277 858417421 746998565 117993243 156013483 53705237 641798031 709589917 296674415 860461245 117544767 478842455 310924523 298369037 290253697 988102053 131145691 335479029 980173253 46154827 240552615 157565265 825000619 290130553 116872289 961894113 36634865 787639489 668335805 879609423 522837127 26403 236700445 233500203 953187709 507162117 495345029 448624111 159482639 423943983 44567463 686049531 745840291 831503581 407991769 548102555 435357887 528061095 922059803 191948797 320837659 330558613 719502611 34370877 969585809 340700691 338157841 403836507 917801505 349663991 84437773 750057281 920727547 877835389 421213093 436316607 793942897 894399053 533961761 886728335 197065979 954024817 496693103 997938769 681274689 223101281 283824937 85651599 537347593 662064375 437572747 623746749 892538699 976720251 201366911 984163121 98732065 305511323 497744787 442530859 995163085 443125865 700175103 455963865 472234683 90673253 506692511 123080777 456872829 136194675 730914303 207634547 110449617 7975137 190075467 840627517 948172697 332866659 752327003 207763819 651196895 946491671 263387569 307560369 357286871 994993537 979131503 403109289 627462619 934078865 959135337 858814163 409220723 851725723 849831699 170722199 654748997 491777371 451112333 10463305 130959909 514237689 334216095 760735777 496362001 222641663 550370489 241796671 847840299 439291491 269706481 702405293 232433341 925629827 622732295 471862109 108872251 366590247 798224993 46922537 630705729 120261239 382617103 392594639 647817873 884978443 503156169 948387837 627666969 122933729 896328173 873445439 212321769 260147803 749226371 572179475 725137469 361775435 15056699 391405015 766796151 771151331 219528809 25797845 43965223 556303551 578012689 708250175 684102395 768651497 730751445 707589679 582437329 804252875 573687561 52995747 195859117 822358841 183143331 857033353 246165943 668614771 513179967 62930605 362355013 145248029 768102441 621186765 458081489 209608005 124374605 911163015 186847743 673521505 816941123 741016677 563352475 577041227 874851917 351986393 940294805 708497227 354347341 195073851 601292555 234668813 82855893 762363087 808452929 201328295 591242015 137441723 314213025 679033749 958504453 695518225 425173693 205367743 337084945 414083275 712057425 75450479 393233011 284025547 439983169 808169821 773662977 664014297 384939673 921542563 684588859 161669543 146827659 817543883 144046407 162898127 541646961 421310397 382792437 465450959 47038673 471475665 66869437 134616083 362118483 207164357 508560573 38560491 832553679 949788349 677496253 424537235 443129147 851188551 242480171 463203111 199927999 778726999 592075553 401634229 362904737 228549707 537808731 951945005 253010521 956315113 263046723 319693671 305505409 640383325 949611239 444704295 86111707 192165691 633847549 574852115 503654993 628642181 266439143 242556349 833795067 646742171 340461481 895661215 44076049 503831117 261561845 391145499 317490165 923139281 951814435 311740537 60706357 865450433 525995823 541650921 649135491 100419365 923562177 495255431 586782651 113559657 761481259 707843155 979102943 426357605 117016673 208924727 738155547 228808017 244717571 663830787 519839937 912297431 109761113 439031155 467106639 813318147 928909907 20743715 121971815 79544135 33097607 844173985 713025491 596930181 85321013 426579037 483436935 373257985 419836227 112412591 323010207 553247079 357933377 793663193 891119709 198575819 780731751 358520579 855834413 455537581 65162643 658419009 511401891 615917809 256622155 848838539 480901497 646036197 794147267 200964547 54669459 325383231 251006157 536145585 87403515 229523225 439653869 867438853 664501989 561988603 454616647 260884059 147043247 554215121 806663849 300325427 169005783 278593009 235480719 710055159 930030091 904299799 788326163 654348535 977058591 268389995 430520321 200465773 514041613 500706679 989368517 990626169 793429241 934310451 171759479 212487463 355805487 590026747 262607831 113389157 328860703 230686355 436742221 871788047 592620903 877654825 497731813 260890341 733750475 590311765 954638425 641184911 912764211 539085841 985036551 974762145 258116533 588733123 996198905 523933075 471859853 43110967 533087193 873644997 644787739 367476647 507318275 388986499 304833515 440299435 781902197 640632571 361028531 657535817 165230549 631829321 492733515 651772657 656882803 341108077 908302009 463639927 13266247 363199567 626540839 471021335 57400303 572437187 147913191 581476985 524681395 591824513 739537525 322366375 507653505 522040617 946037879 199424279 618581745 235526469 988256947 314970281 890636613 193065287 882184737 125736095 405262687 823945865 966149851 376564903 459433427 75134539 571980577 303694553 283404247 429528757 951965283 257973933 965618247 320213467 426303539 363893773 708174511 475243187 889614665 386104389 244822587 501701155 981914253 107246857 752237251 805577711 657940485 97587061 521013191 424024523 132078569 411463443 427665773 55601745 67068819 215677133 16037767 503513087 755970181 905054711 913435785 916410945 434466155 952525649 114820755 986871913 178126105 862449665 702225005 900583599 33661831 964051601 54830215 844355891 553590493 389430775 164018167 583248639 534753379 727544977 288306043 695578885 835078029 247733029 669250685 248289565 120221943 569137631 895399435 479418635 980613475 99877205 364598749 681890165 728336573 612462981 207526225 917426927 920636697 671049937 471776367 743109359 182102449 275127563 700284133 995587289 285229031 574188133 223886093 591033077 390922315 104072827 700664547 989635957 642771851 768059735 574793489 363698033 441053061 556249185 248968675 236111341 340534843 788613491 426057813 487470799 859668185 976960453 272068865 869187049 678840499 297373953 61023027 26999799 514544195 561282611 425963991 485332373 785925677 106117327 191600773 136044625 470683709 788023733 616301181 718395803 280097891 820576805 877433765 446554061 410498493 508756689 304415631 91195685 618651535 922875597 236352623 245951183 479360065 150027413 876033573 591743963 664583785 889452817 720433977 227895363 437989825 795179659 660783579 394414057 132228653 137417657 480683231 990066581 771025081 681690299 331552457 786088953 429023893 755484691 580474045 878347437 645283361 893043121 341471627 947796787 14570971 634681831 567830187 113839605 930233203 984117877 862110011 462963011 330797753 844755325 617685761 302183001 380825769 561719953 240397681 548699731 632068201 423657891 823850141 253278015 144331839 451310097 879285831 446744333 844549795 976278431 217577175 21270677 963360557 612264829 513240155 47021209 707831203 28290367 154491785 597595331 746185967 203768801 504287939 39733411 181370403 584967369 763728653 121209011 377702781 77261509 427964185 452937557 969512797 624472329 625580605 775663055 199189329 270145589 146199417 967912279 645441291 347257163 744187507 271873539 663548261 930672825 664144509 148558805 556172133 90411861 28877707 358608823 850976053 602428253 582361405 372497017 216142121 484765043 693593563 507476949 354930361 511336361 756811605 104088427 624023437 229455471 430936639 180405191 681427565 145473447 680710365 988876119 843310157 986110867 768489491 504045431 331300681 165612515 660720241 833914215 448780707 880945321 230740783 298354513 258333383 832230757 577287977 526759749 727839815 598392315 312005099 431751739 376707297 694332345 510355617 988427033 478614903 879059027 26845477 485366691 96525331 475770089 711725811 862913423 843343081 79369979 933347381 434206579 986678101 489215355 127335095 256742351 754164953 974998461 362964213 11432465 737159715 330578047 807183113 38325639 971243521 347074787 585351615 129710699 697307251 202101625 995032963 62692573 578647451 841257271 538243949 566674407 368165571 996874359 704359485 986268797 71910753 687042563 135213401 402940531 133251597 374252035 910423505 705514895 103665547 822329615 270109021 94004857 395037129 804402981 133048155 404682175 317733591 624649385 247480275 425577183 719873521 890685799 373043829 310998327 368199291 690057111 482933655 220390675 184016127 908906709 381715255 230793377 848198195 707807015 816576511 460900091 63966703 932419065 612361789 955840805 339773497 269821215 153253097 413955845 433805881 112448475 82714271 638763119 902481733 728112077 240382635 602625051 487908823 181881861 250722299 977266857 220787349 74737143 726132771 194945443 742888773 382240387 757833829 131325051 410716127 491729643 998976169 190491019 709977979 551224285 325062779 531521297 918815071 10412655 150897175 441303609 70835701 641077535 858181975 431608853 63421391 999842511 200069317 203155101 573542057 429261265 454039185 220668337 945987177 307979477 745326481 573381659 498534933 193014781 810901061 920312973 390029029 167321037 908075987 281409183 787731763 613100079 305443597 795660757 539582337 195951997 552332647 829009557 743832953 396547441 268532737 615750961 695865075 520155697 748399779 962264293 760050405 911162187 936659643 88620751 828747895 722918067 204879459 577716473 620256241 342698439 136255321 394623317 985896903 114435661 622838275 862693051 396516243 503190385 987418223 564547565 87750941 146451145 159514457 809667733 145703753 821011281 698104605 717737029 360975153 249970289 787924675 576808819 78981901 669151475 715114233 764288131 884727615 553844237 61218071 128043197 304659285 811094111 778376733 528935251 418027779 569726187 168789939 218078813 116455199 35002913 539873573 666957277 910797491 941849299 198817391 9522877 657432037 794413889 60492075 133192141 602104587 140338191 514430371 107365577 883429277 890881353 976926663 66250573 833331011 632792423 637886509 27719143 105486021 145775685 725113621 353709831 654877465 119744041 264838501 627534341 14885463 760694975 465584047 878607907 14589123 83066395 873941285 764706699 301602249 549909439 943578285 215938637 152683773 38004107 382169033 510086501 845101337 86314191 165527977 307025327 581115649 358849343 557772327 114527481 247493825 755938811 249153215 238973683 193127049 779723909 770251163 342936629 926345143 417813963 300780169 901804353 110229967 901772067 657606657 905129857 896879481 807424843 45015583 46004805 990464395 935640421 114277807 265843655 647657471 131929091 289341725 233815591 984834299 244996631 272529795 724263025 884870597 320730623 192252829 821376915 397505493 262513279 189224147 330189673 87162307 655673799 874525751 118786483 987507285 353106537 524772733 980339995 511975795 607736933 910204933 257535025 498979123 173880351 209741785 694825071 83195089 897950565 266133157 786728245 374005165 679199339 273203393 130217167 965885525 256057041 378125867 657991021 251028347 428258455 198314895 985466917 976139001 816845615 176992567 651826685 112508629 574305389 274459165 622185181 419172921 946479503 742577887 777559701 149996663 104630839 624200901 383835103 235215373 182326647 580669629 848490331 164211099 790048447 86956129 990813333 641047279 248554737 903585517 243745019 741247483 463843151 771072075 215091945 439658457 269419145 870121993 257283231 621128655 127537073 740988509 303366981 227714119 347898183 84336425 572564975 233827797 571503663 665890035 360184981 657338417 815187637 580868073 263876375 912364867 957452177 661536995 616135231 576984083 845028063 323359841 174704833 144959445 993924389 85407115 643186737 110253285 250870863 534951725 774674965 868484549 219877555 538811075 89081043 209115681 929123853 288084839 178154687 673447885 783123587 886441187 822379281 73900995 665126819 556683943 79056105 876668709 459245411 990220489 555380305 325438017 128013597 713164553 517447995 102031243 529731225 148667853 352014977 534725275 990330115 761936165 811626723 230503221 763266035 561183177 14743561 349218373 74230881 545257495 526073223 605059807 625740727 297398039 480937939 389965629 796111551 941629815 80428369 83042755 499513009 125372561 65232713 966757371 10868777 939758435 449573101 639786393 227274797 135276433 327626327 230849915 190583591 280781423 223070087 582808735 238641137 26603507 348000613 593045811 688655557 908521401 932134595 530866571 293404745 751536653 558442845 911324963 38359691 16862939 814048465 864883611 269164543 576206523 136620969 780502463 326414467 408579565 69266007 208554117 569355869 378453849 322829363 844734981 862905657 927248779 525054081 693482115 162062125 256776637 696207207 908906349 41073079 248788687 36837111 570021971 852748985 327198789 74007597 264132593 728272773 519756625 445923813 599880493 21572043 129542089 942002671 836485645 700795053 330788141 139475957 624714953 384097197 503000483 972336279 980341433 96498619 214068475 423922257 792327011 749662249 504016301 639338127 981593457 980426679 860641239 458542241 632491445 322393993 311597633 190124739 686322733 589961773 557983065 290035473 90992889 163270807 757930041 713266329 805195111 294433061 723074461 793815115 486189289 353994395 584839407 243545087 174847513 144607529 821400381 711604089 643942333 326530403 666831421 697648991 675389887 727828293 48441681 436728387 367503921 856905015 555025021 227775391 875825745 524269315 169882995 467676373 120384895 60237023 32471179 559030317 602174537 313138283 943174593 899908055 25992033 36573609 461540797 213034223 517287075 95431687 601914065 524544631 693984785 918474587 999837681 2863699 781494999 32097507 788997565 985613403 40939081 128694339 133582717 85579075 183459041 109468807 636563489 208289197 271481665 517565735 198759743 691119909 675676983 608357119 439281175 49714459 208033975 283951443 585466511 247984615 696216279 536123603 594906679 467066827 94927073 51655315 569021253 397502961 6811451 51153167 251394971 226759017 951084155 629470509 212871103 311255597 208970843 420412731 893411809 496754205 365412029 178695661 251052245 414822917 790862513 961985379 937871135 570052755 360756069 611180573 432823265 42996579 607188791 962490895 250416111 591903221 923735721 895119753 429842623 624591027 461937513 159864393 636519277 802128365 45698887 302537847 671556549 12180701 75271487 822692765 101628211 275698339 629865589 900533171 407113167 471971147 988727091 313941523 351010137 21516995 860740077 157542535 165774903 739134439 429661249 336315959 233343611 544646519 103075309 790187709 784252121 618016539 302265825 640409873 58752433 56947303 621308205 335651485 806279179 989225427 865696269 456150573 551145623 329004479 106296549 496465141 852771499 283367799 511005505 658002323 695707463 331630121 299037905 374580493 311742993 253317105 75687541 224810447 28393561 771464911 852195115 252280495 498331159 893196715 613990691 818853865 757282537 663644505 485899949 551957539 251693845 414102929 706317127 732564333 289401999 579636723 438841489 339553847 108312553 902004489 916993881 197960803 698721639 503756103 15039119 667704883 708167659 796264961 177333331 834277717 192538121 565023869 578894565 121254879 409050869 115836129 666229681 537359695 411967377 713447233 320454729 794020745 748642659 873716885 532817771 499472345 736824217 30389181 233321463 476451319 660329995 252476035 278700027 845446911 478806585 438716569 678890921 823903863 368589897 590867609 232871515 443028297 510727693 233037569 787789719 933246159 41983481 52399423 66391047 338967491 790935597 421661855 612685439 482583371 503500145 229502815 184855801 345939957 584073269 589268381 474370967 610533559 749346191 558414947 659529639 824427499 370550333 262876323 699723419 742839897 448500649 341929015 536957199 413954093 109424865 123102429 763170757 709138429 648700829 168996161 632356009 531867589 73362747 447340533 435545039 193399789 304033731 829595247 322680945 538312255 139055331 275702291 223090163 564390131 152294645 909743913 827955935 959919013 594570741 522436067 376915945 424368729 532651661 934334299 426239213 187252351 801572617 360982159 548683759 90186217 903397477 644231019 47402519 703790551 65918779 130369471 162820283 664337389 112845015 739957831 748680789 682706745 673396261 761499553 97438601 794766127 930089149 909143383 55893025 423192749 665263583 881532123 296271889 531817209 308330865 342099077 916074103 843770559 488451331 356922007 798006929 302454037 381368013 435393595 514241741 253585527 99528367 321504385 959316415 342085067 350161709 884247909 36563235 415506785 636897913 428202691 358864601 944542697 788877671 832251241 724798957 247671173 288181883 843198983 263139221 907059383 795433689 15886901 391467049 676501869 407005521 402341239 835872815 263199229 233654619 501303857 268349263 199071269 201516563 597483195 742597471 470594569 927470405 517193289 704046427 182458679 408940127 389528061 910330979 868047779 267802997 630856163 890840261 197650089 507461705 529696747 239430897 975013395 367426371 393156333 711978119 294775563 21332081 285488555 519907655 188585765 898733193 590104015 871025179 627274083 765185517 830739177 25996827 565486373 21714337 864900467 829103485 479048507 679868503 426089423 164798631 690743513 512447333 164512579 381513509 732536989 965952459 705085189 514741417 407573389 582514991 205225259 709856271 456074775 248918755 282249655 137734745 176409869 305605339 541669779 485616563 840928941 981395127 877843855 919521391 505503647 207454911 903742821 482974731 942910445 62578403 830981301 465368103 958053903 289636279 275149323 133626257 624288737 219574143 82221013 312867643 489829799 396528415 529150831 427500353 279568145 442510631 957697049 603564005 355546673 503256781 304360445 909367955 991599239 386397427 247748907 892409055 824923639 362736927 916315805 309023107 230565327 433851519 512321331 489470817 212684227 892550893 717073081 687933575 104531697 198405093 426672349 616124713 293482719 539720081 451519547 517064351 216858233 587109821 316565843 352282733 438549781 516948709 898780045 27387711 563940719 526626083 617272381 366092777 363932847 139900227 28078491 214294117 550020447 166887855 177483719 971509463 703257205 66040709 150236621 275834505 179500625 413472637 935131291 230133999 200955829 662486277 72125453 114280101 398067921 660893991 288479713 335975023 919299639 196709277 164280005 206362165 108237287 733714373 423138117 833483789 873462341 841318823 521062111 835666737 370576669 442516211 599560433 247754501 153552039 249498623 253124039 556255253 857611903 944510665 567399311 996228881 482849963 392480763 538661733 209711063 711042709 33173475 355656775 639614571 218550295 333059961 490398755 461086197 307687019 469597529 546168005 583603149 915960121 551562447 423851243 576088681 343518091 689946823 679852339 856354927 270183127 453972187 694930727 861126571 417087995 26689607 496215097 289170957 957624381 289300725 458339011 123672757 157712971 574025329 418962179 737019105 390171959 536520437 146386471 153688833 888681855 394104417 241971515 961570213 587718155 651271993 334773821 348237963 360494373 151040943 982803211 794798995 320806789 135024281 578060911 372458443 759172935 571956343 367824667 728224869 742007023 451484783 934702247 325828539 42637421 833217363 505179799 146594387 835544083 621807767 272966993 162289111 237976993 366271835 48421671 593677849 449770811 141240679 529514325 760501271 476335727 847733289 589382905 38584561 362514737 38831035 790246941 978840309 668844257 572882395 951879347 4486805 710605631 672156397 907833747 821506413 220911485 10024197 603826047 905434431 962483503 757588697 919288867 509693687 813414227 575200967 13705483 454573991 662412619 5659093 386288819 592162701 297047527 148426935 293371261 129179403 81250397 266962111 707369137 720988587 696472905 414008559 234187137 83365153 464463791 675120367 470455301 540141129 975174141 981520907 943267903 347695141 656503563 563243071 115140377 492888801 81665809 399779109 112394085 123350225 84802745 234584839 343715033 436761967 992116239 766429141 853643545 592388191 238348167 290297381 755570347 388811883 19632895 246454327 124737541 531465351 332404925 290707185 790265981 801156815 653380715 952711909 608503639 608820615 832175651 655743813 508998327 972200471 539093343 758569207 707589301 853735957 720132103 719882621 304899141 940174395 833134437 612894727 49749065 395532653 120972591 923428975 793501325 587019189 225345155 679201841 920467137 66758473 508294375 552051575 466095485 194702209 428318025 813549583 78490435 921548769 54131451 256789105 180808061 157885719 57431739 382609593 124887419 706670067 504578481 85774259 325945719 493058161 64514153 747947467 995686801 138634933 78148565 941450267 566868693 222843915 588865111 344737631 633345075 648357347 523938995 361455359 566846339 966192859 582551315 681496589 310342791 980319671 135738897 811097661 788626407 362697825 967025575 932094703 683372087 1321707 610881083 145474605 59208431 97145489 864227739 802469795 774255473 728856249 462606331 613279145 856584195 39844329 858939129 297762877 474226907 716035801 324859035 95260169 930407695 175444321 298065485 357960541 938897313 760051079 474443237 931303725 880958073 947258485 552256159 631038489 462385003 998432637 360812579 281624937 513215279 69740317 784254843 710191115 601973349 911217653 454247455 366648729 475932825 408126419 455251689 191857999 938693433 480074921 463902499 591672087 463807137 973647763 763468149 558432383 731812625 168869843 747197177 669451709 885504945 949993429 12148263 763894451 849263509 210632747 37347817 292793319 954186421 990462611 928581771 49024391 22349553 945164013 64367297 872201323 679044371 605972551 274770089 611028243 344244175 208984019 36311753 194938535 138738361 262059501 893102861 681345011 468559703 315229463 216563145 159392371 49713679 657703165 129641149 77897537 498030901 337066867 494637071 333716519 267944449 864013171 466838345 42514581 980425619 695980577 477640289 370716321 187300341 580825543 527327927 381935627 494020379 770631385 544612877 952280889 604136921 667365107 960922001 408225851 623592693 643009495 926587097 328468937 99912725 721766515 980023523 83864641 17839309 741529045 323887891 833215659 370026387 276913213 952115253 631815093 148601547 838026765 837309313 633687225 56959935 832015057 203319699 507429555 511359389 342081081 153369455 440812877 321525887 82877219 123780485 830168533 897651305 939198097 798905511 561001539 392742465 808277169 59358999 455523891 159730905 588046803 381997941 722761201 487140845 171292019 472737233 857075561 528734491 367381301 96652447 653300531 237374701 699298787 750503357 840642447 400201685 307449459 363039601 430890853 875092779 521270013 763622247 272156481 940095539 745614791 38614453 38184541 483026707 7708217 995046359 969338777 456879069 501009899 176469941 613823609 689909645 892285331 230402713 839927343 147979009 878265879 303728699 282438289 787189763 897900931 77402551 375246109 204119621 748708871 575379089 65858047 940991071 557248259 860143543 945317121 269185235 89082359 789297793 464835739 5842699 261765005 473287593 417569521 688860249 587162781 354880597 39376067 290929395 430015261 713045265 913586823 152291581 440566579 874960597 792989521 281928063 666348075 404840445 340775903 527560553 963604855 747097423 394614683 44871833 320987059 874712311 42380177 656651979 324303263 159844235 705767293 45209771 544091435 169568519 715915963 304636617 458484329 239538641 259456337 808666783 207553681 422716343 146186481 951500175 339662603 305895663 998220787 443269601 810989151 947880211 224414291 527056839 437940545 506031659 229900473 800545369 158946701 941036965 272440181 487282841 861018949 480573267 644202367 164127857 437753237 585748597 925032823 156188081 992970703 466696877 951011489 728271123 503122033 478713101 510929391 642421047 293485085 719287047 669495031 254061993 173518493 935177593 973881591 10353113 660854757 64237479 813419483 621085727 879484177 119987265 593663789 311311037 737526115 318001753 907637029 214344925 105948999 641004145 231643045 180929935 627762513 182560105 36322611 940925133 628806459 873905553 849611775 704698999 870884073 982907805 809272541 197735257 576967013 953158571 390121041 669862945 99231715 33438785 722324349 12957291 580599487 679754059 898682677 345592247 230344317 821348127 107083501 686969967 87639237 789090683 617227207 4564707 20511597 611081857 871518601 687539277 981856111 89027523 951511969 264255949 720737775 698710321 747255335 813503855 853033783 336273453 222622939 188708641 932526013 878964345 494289955 530253247 377915161 73159493 537305617 848251401 195410705 808714275 652423001 952506793 470102157 689739283 860225115 883822125 30971555 390677625 164491807 557911059 302964109 899774499 78496085 437192635 98773425 170010181 903906643 786038379 545830549 508161917 388265753 535668055 886467057 285968081 504758861 697920665 23314589 204879021 782878271 455940145 347248031 452239845 961522917 249603335 54576927 714008763 634991585 81240047 113891701 231512527 475835769 413331105 869158423 149875505 893276573 724904637 237381803 131210583 387038945 402138831 771394557 733770779 746953097 572545349 228206335 192137157 442271863 405303161 320497611 738363907 984093759 330412719 962910375 674933479 485584917 536108301 558945533 808488945 673666267 616872103 440425567 401957635 372982295 937400437 30480779 417485679 724195575 488764247 311742305 665897191 24693587 398159639 472203759 910635657 493411499 977328999 810017127 883664857 455073573 739875041 423931685 196131783 720703121 825395717 389222059 115112359 947500903 319039547 260606117 407705653 424937927 631018197 269936613 467218071 173385845 75381263 13013097 570112347 403992547 812541447 890977875 173671285 401920295 676117959 863611629 940172101 672505087 452660289 785156523 758598539 255541461 692320591 216130857 64844411 786619831 953738415 195065385 184583333 440391005 203141901 242569367 489356295 355732261 668627195 392868487 104514313 59496727 460259311 896635185 41143157 383957217 229257549 832864765 351509379 872568541 984187229 820029811 889858767 507768583 108145745 640401993 452938589 858851335 397321027 925406807 64304283 666204719 544801073 373108129 140649057 601807475 373167623 665430355 259531241 640989557 191770519 172051137 153246937 340464763 806905495 438252133 912329279 783579763 202779563 284870883 258237839 27220725 690045019 623861765 164458407 819080513 638699545 462684097 44177869 786822461 30553405 782433071 835554477 464030841 888461833 618620819 387423067 733360941 430757287 292750171 923526233 494591289 331349801 923193623 786903687 716855585 409553541 687688323 552177205 533942549 465696671 301354883 797223449 896903151 813305151 956683043 536533581 200565805 897888277 180731027 557339993 965363957 950061501 770550833 608777515 245601047 766862777 920181377 696691733 107479049 998462575 483742509 392152023 769646829 162461745 10417159 317077653 733386633 949926969 71237131 898502107 747057485 668733353 772301917 271366561 7053901 797627527 411066185 799148355 989039691 705371849 23620929 806655111 948520879 949980485 849404895 597934231 974025351 155656381 873756393 806590221 945440137 554501851 596025673 875690211 807052053 496156975 85155345 643772287 843573301 299340851 950315391 26291631 121354645 610171977 19434483 802526889 612247181 272902841 973166843 997341447 421709341 560953523 520179785 784106449 957513195 686330963 916132023 524057459 691070279 925251993 418010955 926000323 542137385 698132847 724012079 697769471 150255153 363025573 709244343 818060235 422273443 408169205 412439387 519750195 408661103 436923903 378147523 581005231 213566255 838525519 420956855 539095065 933342753 362529877 439014443 780391355 723955243 858441063 570729785 888148541 475811805 34355403 920319017 782455737 896424557 355309737 706657889 407840681 90429117 784754961 896321909 195027443 39441491 350193405 978735139 221269989 80011869 639855949 131382093 52647731 739100853 694798285 339505405 396681979 206403799 287072299 177774951 452893379 277610221 974277891 184811495 721654647 672999107 550902485 343226879 414862957 276071635 871099145 176501851 956916833 241419581 30531827 396267471 564391033 964078789 960785099 518431317 883647813 643772893 207547057 762835473 727248821 83295643 566910385 18768461 169432619 584825535 452224697 451015807 146713449 571463857 251697061 688063295 161864093 213571197 252651571 558534481 933083487 6891485 388293905 529138339 421071015 566397999 905344717 362243395 934316511 657020795 860166367 584580723 907005651 691391345 112133293 629625233 727519159 487517797 375506043 47641385 513153065 786382427 546000509 733685233 523337773 938979319 405749709 888283585 453668147 592623497 481185641 105818781 750846223 998531591 278479167 241616307 386284285 521655827 208230683 468203603 151666851 124257011 813194683 427081977 932880655 963346837 151527869 425494601 646577591 578961811 650293931 873098255 693410677 28140585 47301623 305712189 431552401 597428543 589095931 664892909 752139959 620190823 762705655 264268389 513148413 162699221 960837651 221851661 669818337 54018923 511096417 416266621 826524999 583562157 21983197 751404139 150879355 407839437 295448165 335844541 988465205 961212321 932142787 944127871 206871695 574911145 287656361 655444451 824434195 398608139 217588399 831593541 44730539 37350297 428823897 311650597 401470635 899789253 953276429 636507699 707188691 423179957 724531487 162678081 351345223 252869675 234401221 249240391 42510741 45783447 478546723 197553005 833717681 352565011 825714497 979186683 810929657 636629595 839557137 665828197 342829619 559354329 973950571 18342725 186169227 448998811 120752915 478654305 680351127 137170009 360732591 160991395 64429395 212050545 478614481 505636895 896890919 377879273 979454963 437685775 418480349 247641205 696041079 565403349 379295405 938593383 222041253 812773887 719027249 998149569 699940783 347458367 261584497 612329003 279647149 74857841 698030043 560903921 448375459 34900375 571447105 144536077 137182581 136946143 513529571 265698079 488656123 811701399 949017957 323816555 313924329 911492927 440034005 440523235 5952739 583580537 607168423 338400285 230303601 761413135 756814265 204057945 897559299 344445431 830776143 568575613 260285685 992640841 654776345 399029785 764680841 724765257 273439275 764113765 73504229 212112483 814058241 3309375 15571227 983554859 257298049 240289583 608514341 880638299 139507193 405223013 635900131 690235863 691691807 378413239 310916641 99326121 799716109 609697187 536642191 346891271 584694090 856254803 809546949 877329737 623145157 788834709 265026373 593069045 191931601 624916191 139939193 329114803 869941293 618337107 271673009 985454169 111479805 131960247 332768551 861882081 880973005 621453433 265510141 288025711 758568853 567230129 687901497 915820111 788386481 16097057 704991441 268030963 772563173 904428843 561499035 642652149 449663073 315162083 422036313 49997593 742097335 752000765 812605107 814551373 650904295 267833817 740339773 132457121 576660567 886151809 513382767 408254035 578292687 876418207 221814699 991296451 843884427 960680079 770294583 371928447 435636003 91898447 575770697 405424183 646435999 900690053 375756279 970726347 556756331 770524547 253569347 358140475 597892445 622830651 847111701 246038705 679749041 634462035 712589377 414026373 994805775 22945805 128366719 959394349 648056705 220183897 12946799 744965201 980905855 177514705 277083293 545747641 433804515 406300081 327650679 919708503 433648885 735921635 819274841 976776011 441943651 984214773 368640387 196969429 303669311 455957789 635199005 773623137 521755401 684674621 457890107 325876867 567608741 240421595 545156821 582202611 408742497 101808421 863074507 921961625 719812081 81587187 766181865 318176381 328621171 411678149 907060957 343478739 861823083 731800003 792216899 950398199 516566473 862649529 494823065 890441323 775561953 964885537 777396045 376689627 703111535 132196123 577853355 181529369 905324441 997821803 765034737 230006051 270764271 208108675 915597373 63056667 5386593 220546681 199558555 271592267 559645263 17378573 554220281 491193895 843884927 275793573 99237169 289638219 380810783 676747601 785381127 9753211 891124161 230661065 280878113 754219679 452487525 55497835 9225747 734162637 483987053 679965247 600030547 272325951 276336043 987878899 969037893 892076633 596443217 435714785 175737907 863913893 852645627 431631365 370456139 860489943 723781811 637268745 746622119 871356107 834506723 21820731 975769419 971846789 72055135 503939729 641606941 722405421 85883239 860835501 587577073 48862745 823342239 117147605 760334973 577189315 370861845 710578679 599784805 418482895 361384253 432447403 809477169 176647177 680382711 484945713 712567635 8504417 797583493 263838577 671470117 176333815 150912405 858804983 719116773 254073609 622553149 525919485 550782143 74781447 59738617 229336675 259400389 435124609 581313713 95116973 778143469 398508339 202233775 711266061 687989275 710339329 451479723 198978905 257729559 589391095 764329151 782673679 946039443 343053639 852659061 47585371 180423207 459571531 970021813 909205255 765589845 99378825 93008087 462960011 860376967 778881451 146673561 870930441 966374415 187433859 914817311 922288967 535259939 888658445 842338807 479411637 390565095 547662703 763356949 536732775 29587043 548972273 965718231 279689761 976210057 912035333 778269187 249620551 118151473 504493387 140307653 638199783 446731805 153082243 358032817 616494269 885549559 567897241 936940233 952915491 135861583 898594975 672756333 336849957 618981791 425161939 975333997 712799343 5734985 856739989 262910207 201655129 169342869 761582707 458539453 490194147 358211509 703200031 664551599 888936885 516080065 504920693 841874753 971046427 345344699 507599479 890664779 857203983 842621581 217788497 984924165 500176689 978248455 621541719 907466009 78759365 639708387 155166721 279615891 767316925 307894467 301101303 109140197 150102191 730353197 34216961 968274929 92518361 816974487 362138387 51249659 595553061 611130455 97675593 779254191 604912163 367637423 658910181 58543137 886589189 831802313 6387029 202142673 255794095 205514677 599643175 908040611 774877351 284327277 102209563 776651237 879562781 212088017 266607891 145882445 742551269 74704045 666880025 457739765 482716547 77882801 674047075 499140709 798408473 824059765 754923081 523589769 584574075 415233403 981545551 820226231 119485725 373696043 12482081 471050923 913440801 238195161 551143827 280624269 370261837 484079549 177999775 113530343 338238479 856701175 224354153 387510449 1538687 958095763 410628925 93094983 265779293 638062975 40356747 938180717 599596047 79813527 407947249 26893905 465393063 607948955 605490739 402195339 284284889 532731445 544798523 128418581 43382021 774205941 599539739 72116309 975019571 180510291 10784527 650588183 787208723 110043061 943826555 190976917 471582715 661691231 453615083 119832935 719733995 747669127 611922703 807778963 503989897 493291329 418264775 223669129 669094437 933825427 390728721 572168989 650126261 902898277 830059293 581261195 678586075 196763781 956920891 340980603 222413277 412880817 917968615 783121655 803946667 443043207 894969543 908448373 958602201 553343123 989261473 463026645 957246377 476758851 464041325 706554201 60269315 650535667 581340485 482786479 815447669 972351201 893633643 705971183 982955829 563358011 992734281 779053713 749317669 223665165 302689399 551198335 69285577 601751125 894148011 170603269 915158099 764559089 343852749 122611159 811955355 932006315 327947237 877462545 350556957 271449655 870346023 291249981 141317121 186043689 837378541 971998277 969593111 754489095 841958333 935203453 733554903 52130103 773228865 268966053 708412769 962380045 410549581 462764515 773339513 297742015 791950299 659496129 44446609 924058737 692359437 158600757 320070333 268390699 869225009 780211357 903077825 428734943 198538425 167850175 246593537 993428071 577536833 900708551 483203213 548275841 131353739 320792395 434677021 232211675 127693443 57941065 448239887 280932865 865876285 914617891 211194475 854981999 271791603 739651243 427634399 258605191 705521161 417836561 234730691 668546963 243631625 463138295 441120281 382393023 532859559 898948193 462847363 19987243 111584191 959801017 691038549 425388499 251267411 708975321 148511875 654240931 155319953 320242169 964251567 984738669 80794823 395450307 918931485 901471463 483160695 437883715 971823807 314572213 821080125 151160813 717476653 205784927 300855787 762442399 900251299 88312151 991049583 976202911 804766473 10948597 935838183 659038361 173337583 657766779 519458967 699990435 483882893 835694867 309174247 436387897 901044163 254648783 503842413 658817859 988033301 59844005 462717923 316102923 388863923 74054265 415987757 932491335 31709303 533115155 456756823 521563927 353989599 750591011 155786643 445993981 95235857 462819655 880247867 345661673 40181981 886164475 989379283 929190957 262744249 90857643 302404361 293646727 638025159 296229799 664286893 341264671 75803597 848884265 306985149 643286657 454996025 757035347 666737753 453048737 270058789 226330413 388071373 931111389 311325261 586803111 112361359 484750073 428617755 346543005 406457657 460449317 127608987 393254863 893793931 398486261 70073481 259247591 510992501 662734437 694767679 115572085 881344519 608447451 432974537 75564275 848842623 363485221 64754387 27598019 393748797 411987063 607184309 694695469 718969551 903165297 544458351 782168161 321194471 81843733 748510887 952393595 945922401 295994065 979477933 985633659 813371967 967451259 276206969 289439051 107146923 187659601 376486315 789516731 219895037 613591029 243738247 963744901 192082605 468753017 450560509 166993739 915672413 73512269 886437031 166415507 760063451 909874259 426369731 718221523 702825753 275382221 323081015 781839713 614949171 85830507 681718931 476032383 278202987 971316031 820828685 504084309 884169773 387619529 38686343 612365559 947527693 182776813 470472583 668841821 847060675 987353593 925974587 139146599 420445495 186751649 952225917 287789281 780998001 166726405 880302025 265635705 711389093 557591717 951918663 233659339 306665775 90549875 768884169 852757079 778492307 577395139 633320643 153609349 710423417 90049875 634110807 814450089 971737015 645187141 658064969 436653051 344815175 115331881 766639627 733597595 380293963 702540533 848590771 918532501 678931475 842934275 645915137 471156951 141203469 876512029 69580893 45684541 684460503 146081899 354870227 354848903 916848693 939672197 96177181 504379229 821503247 205336937 776432281 490695763 157150843 275259771 877166927 414498527 642965939 994723975 171678703 541517415 104779803 83156165 28938445 331141423 313503805 803627473 198641133 392159595 869748431 395093937 775592435 568727093 271825321 752822225 240426799 791265933 364752593 755299333 366826647 979315803 636067695 922758543 205859533 837710195 921507033 715879439 115439895 153835659 880539019 667385493 286231651 77562439 212156965 448483477 745648203 506659889 656797811 12157167 345452043 933325751 962503275 541095653 816245131 441531699 499135269 389818149 4715101 894441705 649080295 790970565 709378229 967665151 368585499 440894529 977233525 572865927 84689235 450658433 855933473 410235773 103552589 681131985 542791659 126789055 845542889 958051555 220644009 544038167 673940277 808883673 625695451 351587383 666319713 845745975 934286247 442585785 61964493 966647015 981149149 129985563 637016569 126997315 639587061 184648393 763825297 534469125 391164431 150300437 52512871 532639571 234235119 445042229 299126905 653702843 21504773 546822477 113261031 75578417 604733547 515708517 314282239 426185491 186147549 311839087 226825267 204523303 572319941 125908803 77206815 38185881 10304049 482282149 111696261 996105727 672691673 141691707 398953553 826494293 793150491 961853079 908007573 382289155 99216381 76631347 671840911 139224019 334126641 465027953 224559265 20648187 647736847 966434969 265470549 537494299 381918867 292464093 759166303 386206517 731089767 62726485 983124635 835261369 35817943 200926981 859101963 605396345 70364125 546128339 540653787 924845749 655345433 564228241 173087327 334205457 379290575 841365241 826698001 563073433 73812977 878834861 531050131 543624645 866933269 499528757 370643893 888908401 151063675 620846081 565855077 322892771 661717001 96433519 664456129 868396487 315567439 538124219 532028683 617528369 618673541 621685521 955818673 202113187 437167497 375238017 40538177 833126653 131995875 655875589 767971965 436918927 618623171 133080447 720556097 748229901 709483263 125954997 583461791 482464151 74640149 438703709 677900485 598847407 948154159 946131469 221683985 89240643 259816219 225762119 987378695 629778601 994209615 348518261 226936399 884861855 135259117 13669863 497552063 522372167 373658043 94620887 608842579 723850035 840745767 513421415 330992683 435304277 118003017 9329053 147304595 906137867 624790241 568896367 183818241 881227033 316027735 400101299 877109517 746488239 801171385 850947115 351083645 487406943 33451965 200674177 685412411 941936681 661727939 67831877 265140825 760425073 314867923 867163121 803450387 765092869 240501661 121692645 871911117 365576473 746325879 896363629 207401747 325197645 581525601 68567991 247991703 668364449 53741825 759673055 184312883 784417415 493054375 755195109 403601133 192981715 737029963 960998833 526885615 193924803 318791307 740931863 642384779 748537337 253408943 73749455 974023999 132297095 325957287 766679675 129273515 504007389 353007625 711234721 291643293 284648157 310046227 518068661 271863303 401691849 455557295 241806353 554287877 779261775 149017451 678438389 896121303 866919303 370386045 45522569 91350765 153257963 686498759 22775521 236738777 16298849 727506895 508744949 333967189 16768565 246484163 53723301 418662979 921583903 816130427 606089405 653348017 560764475 471874679 373140971 642047953 491536399 351149279 505187787 743300095 49426055 322041215 997754331 486834109 310008825 918152145 458183817 502131895 559690785 992822517 214290467 437379265 921918757 209574575 672729569 766270677 129958035 843647089 324581095 246784533 391601249 759129681 64893247 800276689 661038057 948461583 412622551 520622967 441093875 296514577 501153417 551978405 170629291 614238823 503039769 635020061 2228393 513537993 556294701 695607499 273742821 345168021 998921049 515524547 775043529 870484435 762619669 312876607 3202847 271825969 93832641 857248931 588817695 623724809 84718247 507787897 207518309 273034583 692617465 564002679 192798711 774804165 609921743 140216437 945415231 194430113 415819309 438788727 866227223 323861217 684689913 166863275 833265081 941683495 107857671 718729825 988463051 711730105 671714573 888214037 950593115 651976325 332529071 460919915 338048989 187292195 200024437 10088493 297827887 604180179 554007249 263111761 590060439 919925629 531567389 936259311 639897537 548924589 463167895 388464205 714483907 369800093 943317611 763195859 951879707 378085677 269689259 760184599 840839595 250133217 43970125 534467285 24925381 491293675 953687349 992580589 31468825 965408289 513317419 521096299 695697353 149892865 896309473 462189701 45095511 602896565 83603951 165851029 572443571 480576269 856467929 395355931 325212463 730610811 667394565 648798663 239465355 673074979 758140869 403526249 118045163 200775627 21873491 506012927 51984093 546082019 364412625 720332713 728347477 358321023 407893319 64714165 853330353 958275171 713633191 738128021 140481717 357291761 729206729 196374755 610741905 745974845 77896047 584308069 467404761 513123325 726804803 555645445 731610249 913811341 799993301 761105111 196464905 550683385 749946017 256215315 377387299 912693229 913115907 672650785 242739981 483759297 480854857 339480713 713848423 331310965 310410659 741530879 976415539 228487857 156649769 377536861 399509727 467578561 677185757 661120425 166881601 787598495 248501417 162141453 265422231 490437355 793208413 121044701 73311621 332137193 774930099 89822611 109976087 860269451 360296013 767187921 461370565 593651815 446001331 435252583 559812203 959353531 516778325 403982915 803279949 243855985 948233871 396670339 988340507 100517655 907483809 597531241 283880425 766719205 853527733 792349025 582966067 463156153 215292379 523904767 711138783 57332763 426662413 521551101 189234747 601108027 466462509 188740927 733819643 277838061 774270977 769270479 218819133 90877619 705125695 469254881 628336775 854953653 318504573 518321105 790051269 182490049 424471357 599735843 475720269 250041677 709031399 133288831 756162525 896170619 119818959 458074043 277263001 79500561 350815533 668158929 68871693 162567805 143230499 478892261 837582385 569250519 378485175 3798849 550160991 108933599 213696991 560753499 828093537 949450235 512932719 960639691 537255263 363829565 960496941 928049493 317009649 335681625 136187073 655767527 89268245 83168687 98132411 840473489 628982319 160120903 158243989 285568655 702899213 869998289 770996143 792232773 200436963 648069283 803674195 150010687 622070095 840717499 923835829 24263727 844486743 659082437 586183657 514019567 622423143 505089547 403636981 569839749 309625941 682771077 623046593 900525337 435320925 13817301 192848667 649571585 592162597 97629249 116506817 432075705 969779389 326212537 979129937 25167585 535890837 497674961 941947479 967107911 97186191 283768267 275646785 383488477 278729453 314340239 342530667 565550269 511835485 837891243 202468627 369838637 125552885 782065749 250467175 431758743 566811443 918934895 879759219 995578509 646525947 735710077 853440565 585036749 849536153 616018353 275188875 64338999 463563973 108359651 83001409 276201433 159405467 125533071 271255813 513290469 927031969 582034653 741448049 232275127 387255489 51344285 604798473 598521041 776528213 402170951 297021491 360376799 512330007 213328123 362158915 243979955 755895085 604052605 534062447 615614795 406822437 385107261 214086875 306184135 55144181 633723477 196948623 569426807 861070839 259569283 424194431 585750473 14267379 30119213 340242815 322379609 960277 395655523 193215571 145681647 134391795 617015005 593510567 506631793 349354121 376601849 633202951 646427123 911889215 223118269 156203249 603856051 649232351 612544733 116797891 551644691 725017761 61690539 467193799 772166301 368620833 634722091 980805935 102703877 508090211 774739199 599344403 318705959 655176407 466050683 512797301 210555655 813297487 811883667 38382911 557611981 759927819 302161385 910939971 134658255 542939823 595153345 577667383 372356231 737551945 863503117 22267839 819185561 718097997 714693477 133071459 495438799 9055641 671910403 849428629 572438815 604773747 374665429 423465133 11216545 148376711 106313061 296013039 220897689 79925739 902813165 852831361 297036917 50633243 458195019 356881013 58955205 820877821 672875273 501216453 664088389 127607265 580271185 101844307 278668505 817574007 719731967 600605927 754707339 466496993 434766225 12834355 102041233 533847201 369889581 567193295 698654275 635449509 135465635 623125053 526115111 424158787 842180969 383647975 91475173 582627641 528362657 854820637 54367573 519178667 686566417 163079193 535363949 59800359 733002023 274312957 461498451 522977183 866170365 227909585 233432147 610508405 452586063 437210757 753518559 511237997 404128903 417512951 353701009 931608499 418241201 314910947 345585711 660325595 527449481 712034035 703161763 959433703 372708201 478121405 218473471 597947447 813717853 24474037 231161727 706982555 583165457 230462781 19415177 690765383 487986909 604648865 714442405 459446233 834618049 863651857 406392197 315838039 715219811 10419877 831550473 283958319 862899219 2686303 500954929 698834483 216378569 615235879 935884073 435888289 76288291 938922705 137271875 903383073 287090027 274224661 572063741 408806077 852815243 626006677 811122681 650011885 282407455 426046167 169645311 558663309 670897509 978349905 645628937 42575841 416403523 118952793 686491435 496773273 981327177 593329713 256886957 594078407 97119149 333248513 735235065 48693227 630799441 394075357 843910307 262244841 323791547 858932669 715992421 209461775 799578137 247739267 82309411 112349713 489515589 425545205 802420711 8012045 756669627 132670663 631145957 308081289 426911139 383401107 821559417 640685425 608459471 336292825 110601509 129285915 692262579 201726467 85783701 672538179 166088561 26017887 472788381 782414353 513512397 33794859 496944695 738317583 894515257 635836551 712833159 649524275 611470283 66818425 978549207 896400349 715714371 105405173 647092123 963706575 893954567 19396821 104162417 139686713 580757801 881572569 754367255 15056813 389770333 259906473 601846651 563729451 877039363 698968025 300513201 756329749 675300131 394901217 858004211 819958845 986602093 879999521 383803557 763005909 595128629 914849251 649433427 768598907 891700607 101242969 452833709 433745717 512288751 875819677 294130579 979873389 584635605 564866991 263940867 950555901 825935143 913644407 326129965 302721055 959496583 246337993 718802785 230907771 580543291 8823643 305792539 495532059 583462193 442711249 808816639 330529141 77933315 350802357 159509209 534014567 971954669 732056949 369717913 134994487 147160023 95574635 141709919 144136081 498950227 205225179 791700331 404183437 257529749 480073195 327413287 579990179 413635455 411349167 734595881 793486269 405707413 456077085 47895085 191706405 362647817 223853337 379154707 646466451 20651953 13633899 501648105 409840419 659781389 69603525 854455009 246123609 243359299 391642817 925747541 694374693 308817443 573084893 545088715 945903577 914641957 33521541 339523309 389852725 991936359 592714507 903791501 139620957 476406705 470189733 495514025 961937887 984181363 234219895 713820771 428176047 75006915 821360521 556609539 840105005 379573087 691310285 303233281 908205593 478296497 788312093 849046263 706632101 860294343 304526903 509873575 135481445 600894297 330111175 182161405 2233175 852811203 174230365 13353229 718322653 621611281 909748853 471422223 914865863 480980975 263006315 377041003 346894155 426409911 594664077 644029609 760284165 536052581 506679819 217161085 323700217 509703841 937279231 398805955 898941845 445468861 920083303 407502461 267002289 168908717 282774063 876219863 740389509 975883027 770902567 731512869 952166075 725799219 629792521 761705185 588131935 911733759 256974967 177014703 253115877 29924365 149575929 603979609 845962539 230545309 371923713 36507859 166976629 322311573 588633063 422291001 798783347 614382213 170145517 200216527 844917817 860203941 206424125 206202109 821015619 49708499 380794343 541159257 861438841 113289879 963336933 293588893 415053093 712157473 188901401 382973101 848192765 653070151 107863371 50593939 387580959 901048967 576828971 3647365 311510033 342202123 978371925 235987163 562849217 310889121 673833289 676617241 570812033 468236223 270998897 837664237 691774735 813867655 878186269 42353959 724441747 291428287 770512007 118335427 376838553 875430869 320135633 695204325 888625427 953892321 863184387 589195993 357103459 478697123 568733197 41600527 952968013 452986243 656999883 149611047 372571387 396257165 243314429 747672031 328041735 170589821 990652493 834446119 242303339 917447597 895176779 182193679 801053837 75483431 673054833 138954197 790724667 946729627 646045215 371733977 989328553 442425439 448713633 141341351 455721333 776544371 698826021 762471157 435823269 284001149 289234887 99811485 232800165 124564429 432295559 403182495 148301387 371443291 313158991 120788267 480394707 231893445 188312557 168348819 312719845 429474131 561712415 22569551 834774923 251858421 608693125 947065607 268115005 7991617 565674661 113741953 159431893 16044149 718940661 338188981 345426589 113782139 461516745 581231805 139259453 593996257 702448231 824908251 78771917 83643357 429679863 337213051 874670283 618226513 818437255 890845487 588131099 442211523 861748501 17622965 822282763 981277793 212668543 310659567 26331215 602266883 978523025 191501543 414803973 606585641 533880569 599323601 665119155 177574395 290682963 259122951 787734851 703723589 720615199 945907473 753683215 691605377 467039685 290591125 78964945 971422415 674328217 754263655 570770097 889726963 180164305 237142149 396959289 448862303 117704081 704958737 225522527 275173417 803800803 748399189 27457411 392686353 640971445 64608453 658310247 191752573 935003107 74249725 98254649 447306109 853074219 703478719 836334479 252046793 703659067 384006905 46927463 77120191 767024287 18178747 446072101 308956007 218379477 506069313 759134357 667333231 365529403 423040749 617297903 418641713 368724763 568709455 576861647 481730729 152635303 531160597 635725113 613130881 439076089 861529117 678131357 576109575 407279375 346329707 219755213 328302897 983432405 143027495 496083465 994650529 92112669 232232103 298712823 831301021 745165213 323955813 720239009 336769299 741848569 108255237 950635133 412638363 405412025 936911443 553530729 922316405 213966927 732215871 98692267 681014665 855887381 56034279 744157679 493806691 883878217 18905999 995395403 270859325 542683671 647693473 498778683 635346933 552267921 684139183 839186087 916777749 584640429 922285685 139001817 357661897 892170831 860703447 831498121 539315943 902555711 902129121 755302611 851679987 885489967 648950725 383761723 66374929 352028599 34122205 44802479 582031633 596617819 729022383 168405895 961289579 762694273 857830371 332206461 515588157 61785467 444895569 81292471 825714255 909779331 786978799 664394689 702821393 654549179 557076453 29558163 507298455 338814507 106630777 584202377 214094501 742727877 497829667 6062441 745193885 572001377 636555901 895111263 91868307 546197185 302205769 983054337 602268989 606794383 366501235 836142155 863553783 406743133 889087757 209422243 254368717 882719649 496681301 704524247 968708971 255864253 87914923 78376221 86545961 702307069 328667293 693118735 748626951 618254737 952048861 477764533 867559853 879004305 180019783 566207101 319761767 171840767 887696093 78197049 942992943 403016901 473146315 830929705 623551141 703247795 617469539 125263855 347473933 526154371 45198627 508227741 475413849 844633047 685247149 301951653 995391005 418490167 263657163 690607333 106438045 789075475 707655025 768041121 950699965 302258887 701843899 581400713 151318541 792222611 154148587 54941615 937523397 482146209 77740909 649947283 283485635 724014593 228557269 975549467 571851151 495307437 368249309 872754833 401894487 505298311 152936297 274199211 830989557 666126677 584656771 730327687 89824229 651512013 278973281 32039595 597444689 458109317 909141851 826406147 226054919 47277823 225901045 431161317 931930493 169480099 355920091 84263695 577576149 907384261 91463137 388114083 330052307 416630429 396537857 708618803 514167019 973919053 163305055 987977647 559229743 565486043 265278279 724440697 559522145 418064957 460172073 571287123 960395239 74345289 826687907 833400429 749670099 641625537 757821049 668312153 241298649 231846221 350637715 115174167 394278489 405504385 686336775 430794763 743595611 261763285 944372241 743378435 109514127 681698729 94255121 471573043 424094539 386745673 679323795 152965945 602335373 960118499 902545229 701592603 669496063 684118163 342902039 613728581 210452463 524283479 471783671 164223883 426359125 170975517 258314007 811542319 218678479 501286835 168090569 56597713 7172773 48094673 50172553 98539649 115574981 228429085 70707453 928488629 687967689 444730395 962867179 757772615 869592557 226404159 348005963 326249599 666216475 10445795 228628535 919987723 32771809 31880519 851579375 324218877 823181685 760896915 639667939 589005781 61503673 18452699 616463013 162013557 491571761 978626581 605653485 894808623 55642383 438068773 779746211 776043957 170982185 720391893 876779469 460390693 714648063 327952339 563094691 551766531 812323257 987966393 515302271 58531135 759903267 89459467 530535907 902478381 287112119 919194927 368102011 658088841 802100371 887345529 440963099 923730553 137047937 233800223 219102907 5849995 955833067 682444101 741017219 602282931 601461741 563628533 935601851 759528271 980569413 262067485 763505367 709411621 642721881 888008343 690583923 204892003 430008889 64479271 563423057 940606619 502543517 315819635 538035805 936607435 534423267 355793421 278107819 965403739 568297233 464186481 150075765 145020693 101276891 676505341 133035037 695978801 604498579 414180859 401738547 894142027 679370811 128947101 338985317 445160551 703981691 693169915 28324497 812247283 369097121 214651673 107535545 932140487 99529891 735750109 673613065 964199453 271876131 122881305 108930773 166811035 535141733 808608135 834909847 169898831 503095643 729724873 332941555 203612333 73483163 498426215 743942069 475050643 237967717 739052499 119080653 257986119 509021857 237452133 703747417 418247283 205140699 74638433 42285725 58474545 370610253 214474221 649085697 33762813 14903509 381994267 416541979 887861945 869609211 870085605 953087141 157854389 735045359 886028845 884405635 459306663 957724551 915150523 430548673 515450537 27667267 254856257 403547535 210753859 93782345 344617047 203866189 954063459 4824169 2416767 81440121 184664667 518202393 772440867 765853379 279829739 443780987 395668627 120754683 98328119 195978837 620367369 64029 910648267 490873365 480706727 195275343 530782623 194675925 574589557 100527831 93542671 151855697 160076645 42203181 19282401 43325171 168390735 961185769 531017023 662463175 57382389 362586065 637973187 333150345 861189121 762338511 69439847 555053203 543773187 628078581 322566801 608575473 267421813 914328449 811857167 168788815 822075831 646182867 851792407 47438341 896110869 114471033 923893827 212597523 581737919 25145637 671973531 437482527 97612749 646628529 299510155 680026233 285505345 187579427 808670185 549684761 26385155 271852453 277296115 246757533 883297255 95958923 689685579 969624655 43363237 490561869 147703555 91056921 999675359 788640403 995258509 375636375 144382749 575898149 786854597 690382855 339857871 628882167 379941877 576233805 99451729 330792741 335070661 286693885 507942115 615911153 981030991 375114573 776067245 793306567 98753805 975950363 65751747 392391481 137700837 128779759 616689181 857840645 447735845 588025847 853366685 133070605 806151041 216055819 157182217 133530715 334016791 450404269 829316631 701037603 354538605 327619327 654680923 147780033 459006575 45923797 175925083 31311031 914823795 95184547 180417919 67738035 215635253 639517067 893057303 869643139 733062619 421047121 551481435 299850791 245849845 898033767 324147569 68504513 477125491 630516195 762904413 580482461 145842615 512168581 937876755 494946091 281138307 961571251 387442285 887607561 42223109 907845247 948492075 36725753 594966741 52996253 453460469 429847529 787849963 483870061 879106911 865599721 725957297 395794679 252338401 196494389 167909875 478619369 470566875 57664817 839293669 77400477 870234263 138900583 216547621 165909265 949140297 762439821 804089015 938906091 303908101 7723387 916255499 694581883 790509777 540329271 405075445 644230071 120790163 462922985 690624689 228892737 476041759 995118567 857781989 805195615 162366507 321334443 305567647 779899391 881916253 679293403 127212117 519849913 20335929 567750461 701080545 140213199 772105523 730033353 140317067 893124131 391919011 578244503 309640703 874248265 436811469 532121837 63901779 77033077 700686807 482044725 124409605 152719497 51904469 493482753 699983095 202456841 116052669 904943629 743187579 595830311 444247667 332716095 700806723 716840633 830237633 417330845 572962923 893164351 882400597 603903071 235552125 40349919 197408457 470328799 865629537 553979497 791831967 638132639 681389681 106918741 524158019 260424521 832794727 357272257 779152129 126927029 198639465 360529013 378474773 492157657 840400133 834573281 800879521 268119773 181262639 872224027 35539629 57492745 308891461 314790881 941704747 562021841 886526221 463630493 196857077 133594321 950347187 225576285 23731145 687023563 434791629 185631961 514580563 938626475 783831383 805726061 273659429 44686211 813230777 959825957 309710773 473616273 851179965 470853549 402837351 763559989 750833051 846237535 401104003 762561279 46133997 320707639 8342073 560749981 969501371 809424349 730442919 584421101 930827635 778735523 34556873 386921457 253822951 567837565 757346443 43479765 905580631 113828109 820994493 873290221 583990631 670059159 322708761 825524915 244675877 558572045 265833537 655681737 309817349 450831877 536579005 899222781 450013669 405707455 620107775 937992771 370549001 781894945 667069535 451843251 180675361 695924667 432626207 138168465 747175489 318392773 410284393 487677769 968392165 950114333 46435405 864198767 106756083 663225931 287373765 909668541 214947769 232253823 281030323 112686871 617588973 405997453 895692511 889704329 817965225 523952121 892157433 558441539 312606325 312729831 317315229 577760931 831429949 445551655 193720653 122345005 107592279 749535279 414011245 576640393 691354241 917606689 751381587 401174413 364099295 647242179 288367671 74242613 932155901 255367299 505601851 970122657 617392339 923414649 710155367 83336989 828640189 286725221 347661483 248025119 810300287 932804527 427186147 511174463 817391689 596386147 235452367 385267523 699731117 858422077 519845145 890621459 244633259 650643607 562282065 375988167 567622313 281289083 330807537 372526485 550966895 688260505 888700505 671667939 897945145 889963847 691593941 777862205 396453279 668779141 282042003 758043733 933739177 81819641 531257007 240063749 614048451 213742067 854288425 913961043 362366915 914060651 463561963 649184105 113677029 820094207 147873477 827459993 899597777 196508151 846781039 884429153 3475857 323775811 343873167 482292065 448501659 385985655 286027945 198561639 329422031 517624535 267914803 629886821 772818031 851753543 977437569 563880053 106932011 329737303 293004505 883575773 659379733 976188221 400361315 304985095 842913709 200062683 699402287 526272391 556221143 722884533 389881653 825027093 876832225 343135743 436750939 54239641 381664639 966432395 612024421 752772379 564539855 502123995 599779335 308910031 412687189 285336341 811033819 425635857 968181249 771517195 337377377 40758371 339850791 538555185 519701761 878124145 691734403 10865321 394896655 952661007 398873147 718909751 484624833 416880695 415269855 224000589 375237693 176784395 847229535 167965185 598571143 329591257 855741723 978507281 723645587 200185365 108052953 548881641 935969083 357586519 383805895 231724691 742046013 40059491 328728183 991452105 200981575 658382117 614413545 845916905 692606949 345520561 515891327 728731387 379110037 328184385 999717899 376153261 387437749 911060281 793273023 802155865 211553679 321181219 328964407 609352699 637422165 720887989 878706813 441643069 941605665 588261831 484476667 795999597 968796657 572120669 1028485 875128705 607285683 311499427 729309787 487150619 82713395 865102573 346275361 192642431 513610285 173294263 717789925 369244065 363269187 913799585 584410907 82644755 772735999 344591479 569014435 1531415 419959247 67723311 31514047 179668883 473073933 671029473 87852061 204481049 102942459 24556241 146276307 288981213 282145221 680830317 288510557 760489151 471144823 894293061 580108707 164039497 105415437 23180821 754791151 257826213 271555433 630290883 58472953 896367023 465522771 223012693 66174427 374277861 794468221 248225539 578199069 2799981 79182209 782158885 713277869 408545559 818792157 672517697 996559325 977152603 191626493 222346241 125057389 679989591 763467569 982277175 911362433 678693075 716837811 55699681 53198503 880515903 80923813 186076191 926614995 951798703 983552271 756686143 744149859 175158503 526784483 417918387 718170141 39864905 741526777 235792917 602511917 761781481 898902037 812018475 750776359 288490619 272888795 937957599 763295757 256000097 185439459 484467011 940442175 552158881 587883681 874124693 442458253 642407657 17228921 992986933 321399597 141448593 748135601 315181745 393737657 572172953 387689343 682655419 563590713 826186921 761565689 905528623 943531545 827124237 878082849 915234319 582491441 420928959 635941601 900895367 357506233 755909213 810546441 185591787 924866651 880715569 147906643 381589685 72169763 657228069 685408609 519098759 594035843 538586581 563762107 876780079 811795805 706971775 151383249 955187361 863563509 848204553 933003009 178693107 263047157 998984451 473160839 887345007 313037687 770422437 30861965 195058043 371100661 856090573 817291815 481358509 214509653 237678339 165397325 834161343 67665637 318868597 296781281 795351443 884435547 919403773 179326635 513183801 25803985 575934743 588821083 606872031 449916623 920273389 785588365 255294691 988959809 598706253 907297473 223072711 30394237 948144557 659687265 586236473 715323455 379882287 337307325 981341193 459658415 802547863 229510669 957527603 274732119 892768599 309421175 624807899 888326959 780829063 701388289 67035979 462071955 66130147 154648731 525199097 420542023 459926483 718337313 165563517 374682489 978176103 608223315 518708123 271771585 887176023 126887897 878438721 228377625 400442627 134758215 369179775 906437607 859822703 82737429 693671825 937164791 177826381 325843363 410735835 935905155 182376435 65019453 376309225 551126819 975323743 821757457 906205291 684597725 585390907 904680763 688076097 948893217 123875285 904346555 983249257 363203267 700034085 136780921 863512851 434186751 299303881 433366089 736996495 446086781 787442953 150633187 231970139 737075271 716955603 25952743 465282839 890613203 93573825 708274143 73566353 455729921 857793039 798346557 189369529 27467283 38909607 354270043 705946031 331402423 551380759 762150777 208975283 982957829 516888213 156566975 970045489 852814965 867102723 634977857 373292219 400902897 824962789 912766453 117729295 987066309 420719725 21314497 215722765 327208611 146319473 893293929 679569347 484344493 962995825 391716513 673171555 54864231 166766229 438187011 35457609 773284285 828964521 203018253 500590839 806641923 210534695 143869995 552522007 466655225 875866157 945631151 621020033 31784901 673016965 504750289 815979053 958861553 687510169 499780017 595358525 990353011 182380933 59314521 381451775 770950825 784023559 405644475 258067429 767273049 231584133 851333039 973288843 352683439 492295439 268698617 949185971 276707649 777232475 436957759 740295243 512329997 76075211 277005075 962842465 234685301 240405093 169643505 877249589 413243467 6092505 49631287 989446185 932627391 814719099 244075055 796715463 719527283 575928653 633275915 871015875 695085929 980160503 987896035 864822777 553222929 589126855 800883131 89218157 23384637 169244339 477143673 244377671 507575341 840366173 902611695 368836317 889373829 503880457 968436185 530602665 632209491 576228265 993557459 355850319 262332171 336850899 738436203 874032537 431693707 600791751 256625425 31597179 383552793 409245293 413220895 579955219 12356193 241172561 974632403 123102623 226247289 37536429 994593625 790319501 252249565 291374431 894954433 53912177 713782645 96453359 841586437 751767559 176980875 650898829 104345351 979935791 504786133 562571279 495739023 714481653 112028531 699388659 797735503 444358287 326960615 332137315 628253663 673465941 828640287 771816493 877880513 548068301 144488051 544118473 742778207 42492575 174904475 234646101 715442185 683926689 524166337 455503001 289379835 876373199 829780593 408211715 696609361 136955977 176282527 484031405 457698073 340682589 226352041 986374227 138238019 755964027 731981395 942618461 83144871 190438723 837645005 26629341 766464775 949594485 207349931 82767751 13891853 766721019 954741993 836365245 331860553 33685997 870414061 661478019 635310901 194753921 14079365 903760011 944466995 535407903 236653541 805949229 804092041 143231053 425562797 939581285 491601261 555482307 575368415 444814555 741623541 833545051 614601961 649934047 82934051 631279383 625740193 574624617 993365729 595784227 726592835 355308055 985142527 601885393 753589367 86452017 324728631 107801759 133501257 60020391 652694313 470826285 913623595 370478863 326858593 886942025 545139967 627899559 41864781 304492005 414618631 383920729 713773897 93289245 805778675 408335027 111368085 755077427 582966229 355847917 415104859 342677907 484727341 243573221 820571819 681303505 283217887 673015587 177054845 973056679 673269817 529221589 963378615 298377463 945378543 729697747 360985117 154271951 848666913 88010399 715816293 335242851 807532623 518308955 150021669 832270091 572206443 524523227 494854877 993143371 736120777 425008787 6379259 693814479 317960231 515785125 661466061 772784491 193869735 741612757 277376909 77677081 361369817 76857493 388283483 165424893 845997747 385468923 219206465 796891489 168038799 753223111 381535027 911543481 591069237 710061919 14616069 745038241 52721875 72220629 192808829 517439197 575523835 301507291 652542531 422868053 151224237 460847063 550889189 644269087 762769485 451427531 958418657 514656117 404673447 990188391 535702421 127397307 264627699 307701253 931863373 957879165 25243853 842260131 922180151 846981995 661881915 314712551 239938413 696211299 444943785 529018399 807415795 340928873 486803691 218739271 92320175 676922021 181632323 981018363 338552949 226257519 748494417 306108803 467962109 697525053 635926309 500917965 191025639 227154869 193674547 785234545 201006781 49963939 314303835 784193457 681567985 554650871 824906975 75677807 9465565 794366673 421000301 901961279 339993791 198731375 540605211 548346709 352775619 976068161 161784165 983093137 8283387 129107671 213068339 884017021 655232093 147078639 216291281 109341509 55644109 752449897 58617585 716028865 722391061 831058515 151920565 790998897 821496291 708782047 484408993 390481275 932279505 894962791 717099935 890521263 819936867 347582577 566721289 59661957 543127295 731875751 704160921 499331611 566533879 901248987 616428149 516905785 8332167 883448843 512974379 842216783 387324877 934466391 273889711 985606771 358611411 850694157 379196511 149937763 155411339 969646751 452517889 696592777 895764429 542564521 699001793 161925107 776652635 118263277 769957173 843514455 182148063 617892183 483978585 366074647 680500971 814953465 206476691 27081017 816972021 864254993 403753651 906524523 616485473 705724417 753919465 308013319 39868535 766913363 584350679 587003145 864232553 868474299 158793599 518617881 260317263 913068565 562609489 784375433 152929323 854879075 185088543 35080013 620193511 394510801 734615081 886407943 146296147 233003443 471162387 117759483 923354923 947298435 460116457 370342427 330357259 999717349 628679715 684711421 528278657 473017507 592388765 700006881 502976253 102085553 351196573 432908973 801535703 538670379 228166351 1934577 276429649 976769877 304776263 104338405 876082837 393063319 181103495 307819111 367393459 517092231 162768495 799578623 563443365 947886047 517248591 946498525 297199949 216242563 15051995 344957909 948623987 531063933 588122419 779405675 154997193 115312899 3153625 664638147 346894823 955741293 691479739 167302061 199073615 777084479 494473263 770842271 242008939 540757799 883247091 737033659 40947083 373403637 847634217 340763591 627327977 630763685 993626211 441123633 129890469 463799131 52062355 395731217 172723403 583036771 906563605 595988519 429223753 850000941 146195891 202151387 404623867 732294231 279979927 598038841 293730977 607319717 798083157 192984059 996902373 791431425 411359213 434790273 8027735 569980285 929205955 875631567 812029809 69938517 420953765 807552151 911235219 362681327 822876103 510822959 899179017 362228177 135742919 977681559 633713155 163507635 677608619 886334581 43516823 778098029 44511 539470873 189563851 253779205 313703225 43320443 912812679 32996773 778869239 110616121 670580123 104559263 670201275 301419163 81939393 288673905 936712599 646439569 607161753 318389691 649468667 721470895 69647535 723582539 65884873 517669689 152825969 828989459 841130563 622609171 630263099 496898095 926499351 358676171 730582859 211603425 960119133 437516957 450640335 27676053 906385551 571315301 649739733 210263517 535347347 608388777 939110741 117980791 540488117 129770397 583577141 635373891 994419373 725511187 986863417 36791631 863641495 213578893 71785237 564925389 874935545 969854513 318506339 861196569 348098239 588728785 291816355 322438069 891711807 131414753 221328957 60012365 667006005 722283137 523364741 263115189 501867975 198771835 885825715 950204391 528391555 959242811 306995431 239673095 76156767 186605529 820401195 715307871 402094261 983678227 863613041 603361123 623999309 254762067 748785811 722366639 777084499 194101161 905685329 829431045 516236639 387597767 346403411 766875475 938190185 595933969 265319723 139665575 764085723 863161997 84752469 536025409 950344575 180935403 711652911 472084355 509542797 636340609 377897987 40593145 482302113 926122829 411704579 912239955 596021185 900435449 64265033 454279023 586076503 192792275 349214419 532532815 428249661 502071761 727242383 554038817 128550573 945962645 681396041 362504501 732372301 401957219 680804543 245753607 861619243 285284399 92055183 200667451 753299387 590573451 68195651 790548123 765288411 275347385 180020045 221026845 985981649 877620127 484143621 617129433 286102089 302556623 20896943 694637589 787863129 424684925 744266609 736834617 148384383 682825097 680776797 299109341 238194333 300141437 712583789 348697015 373069829 839755907 509256323 727505069 569485415 413254263 960886375 93887179 913135845 382911191 863869899 93296193 909807873 336689609 966560073 357931119 955263403 53550877 397920095 387915989 602746933 471701323 110120825 318594589 737281887 729209457 800560871 806023455 194413645 949824343 131740645 945730513 540809101 438192747 703606927 205831769 208826387 941365959 84205043 907937283 730081341 610626855 298897153 24658497 269263055 798552821 632260497 524458927 102806009 952194879 371297127 507522829 837524047 847692731 634252073 710076491 975503821 475717579 185541481 919998331 668665563 806503797 837046689 175475157 666837315 37013095 369365811 89414337 864166203 420162297 71496807 262877383 785978979 793773355 774987117 323428507 339325117 534468517 490766177 367353369 603365303 68035763 185460549 70615363 218541863 609396559 738328829 246695237 599539275 734864919 686714465 310252401 803981511 388321877 793170981 537618501 869918631 621021427 508526827 561731171 983213667 637588877 198787135 742549909 14774743 454799201 342377361 76884431 657176903 9124437 219880761 752593453 277499747 534484473 631801721 397879793 769283391 945361029 821917049 749168519 13926743 619765207 538558031 819870083 563442321 222332023 282898415 400705439 774299963 730639507 998004283 110994879 801560073 369002757 102664703 384024813 779048217 304812105 257234921 837003869 432728305 888662921 143142293 894614123 325493629 825030547 379015811 252881307 285526291 270583261 365708573 900929941 208797041 614734729 796191155 768317487 518246075 588570715 738470271 705397859 511741053 199132613 778653601 832802133 828382383 342887391 97136677 811610447 138875051 17090661 506799353 251972807 48629307 265614271 860474617 938793301 90772103 96084989 476403429 386341567 44598055 118064599 299322469 538527213 390867737 225906093 416693517 402463221 74729409 431060611 862135125 760588561 919714797 378229003 785207709 653217703 396298449 853391003 432357169 156618557 236055819 700222513 875020607 413271435 99003297 876030327 895139811 273340777 960121599 584050107 733304605 101504477 586046459 640501493 871324629 418012431 129056977 962341571 522419935 691387223 771916839 523998061 717811699 496544299 393694221 25089249 386582193 232522033 696953587 628400057 199291811 617390901 432198331 100995121 359248189 679102761 389903783 534413107 484057811 953004327 660687205 785130829 104908715 150352245 722506251 632620981 190873067 416736637 475996439 154465613 563660711 653884625 947846253 634040729 352083415 222743087 156768089 949154251 262472027 97917047 494794643 60363705 650823677 474580407 174427191 526763235 223818607 778344481 837342411 390012273 784567371 510514961 738077241 822278447 538993423 970246153 752410587 45809303 836527913 960202677 997040747 476911047 833240549 925203687 657178895 572903303 855735169 440825757 579232853 49744967 255847451 177259513 8662833 745642269 486357181 587913029 1798659 378839241 677954137 825897205 599413133 184009905 505077447 353701 472534013 129696229 152626635 346933783 707079145 665772059 584678411 272061495 778188621 155928757 727707675 363834905 948547729 592853945 124565873 461727991 239100287 780028631 989228401 182164019 576478799 344430179 880350307 552174171 722546845 735323231 428906617 927079971 764324973 803178867 741813963 600201571 719789359 785406445 439881821 473445919 326320821 229147843 472720149 891343235 955535935 154471063 1610437 459468003 581209969 658343085 620201001 487991993 483048793 836930551 568324575 480386473 839334251 500043787 59492209 763704189 620568709 163778601 39281743 931768875 719634925 558155833 920120535 44570827 105633359 695312327 327684933 483210913 645059265 514246413 215945413 523551259 964556223 16850409 459840103 89524169 221942319 212401379 662712871 601800039 545057889 835095595 204335073 30585049 301623045 180325015 11548259 195558187 459713597 444767397 561523293 428657037 23162507 509028735 969855335 196128861 845681629 900776947 402843395 647882271 946960009 412473209 899818907 597057149 588073037 904079663 131454337 94044489 583809357 86404829 589448171 937664383 460185367 676225521 362030587 753372739 688976797 304355461 589207485 107275745 855074369 934409301 865111329 690425547 851788487 569765833 466761983 200931483 661546075 156449523 988981273 581728023 533937809 501435527 639114777 434769193 867777641 750954727 691772559 667345891 370886985 176094487 659558389 419176323 949105659 561690569 730628269 308184681 427055541 736172117 152650237 946570275 683442453 576240053 599771419 767419491 220944673 256806295 649972765 756360707 450859079 291183941 593488645 838360585 18433881 658099897 106273469 379373727 729198229 638270353 316512277 59439129 806895267 63905813 711496391 942859247 464441741 14178869 70262387 821056457 909992395 540579975 311531941 729486447 434398009 446652233 152658635 513272021 795276315 642858853 81011521 109351701 652673569 967859561 534340167 23860599 191451997 279072397 884140039 626353505 384623439 542849967 893889169 98464871 2037723 145104983 817149663 324912967 206970959 210882483 875573201 303878371 27385951 766872475 367480627 594401605 785571113 634198927 143374515 297753761 907174451 324525495 442263789 583765587 186847337 128652769 467497569 457658845 667661601 314984578 853615735 909037547 670635799 357822911 88748675 742368593 930863475 586993753 891135165 164492297 767029439 421237443 408959301 12159543 144421873 314779667 297440037 410254117 668421481 566888713 480567121 132700233 876919785 466478347 995909533 967593531 370213793 210112297 550323151 931946943 922139939 359993627 775354511 140587203 355519087 492023873 54222443 590173525 427317735 605676191 433536225 479802039 545645405 163253221 427431247 73390151 300140291 417464429 313658881 590867089 164961399 631167029 254962981 105576011 171920319 420508129 651753429 361791309 56923717 576380357 714685205 402685339 34003939 48031959 277625037 880012899 640710611 943609781 226499787 786481397 654009787 778976679 488659917 753370061 503510187 551761819 714532977 215707023 73965587 928699177 739467329 963499015 354502355 16843153 738727599 534640935 516859953 177641147 908525589 365638665 662182617 242862133 997302961 921970675 835856867 231798325 348516273 603258701 549548999 624961179 255517217 759929007 648034159 489250801 910543871 556091855 671602469 341155427 975901481 923813011 136799649 125549257 179401833 741948423 382719 159215011 447203441 262696285 83062211 307762199 208260313 666138865 835287517 262132469 40922917 685769539 535677855 325667765 174943675 761278979 743275721 430273909 391789805 218067203 649533311 267316733 608262135 314105659 332200271 147105981 32538103 170655187 336584749 754190283 972865783 577986323 606709625 333598949 526360297 312694639 628764915 183660661 719703205 995307137 1883597 895947401 709086957 928009231 486329243 179171287 630954859 237904643 534981467 128419521 244144049 137101937 977131119 266279501 843332661 861421715 917595047 349484841 737456475 183479755 748953145 904006829 924950123 171709863 862840001 485544411 458694807 209837529 376947267 268341333 183208439 997968189 836043565 681463663 224557709 637811927 228674647 108369181 461411139 820110543 643230201 770074367 228926699 616067961 565603517 85168479 955616571 57054291 152827055 831714345 755875797 642815231 14074435 424311285 190360389 943035463 223779671 966068995 28564987 189730593 176692783 907916857 631768399 287573413 155350139 43441703 593054339 834412055 309288015 928111621 647663553 976456163 756776231 112387761 477480731 7275165 614128363 300888499 307899783 749841663 532283621 203374651 474956263 128840173 26328779 616448029 905708551 354616689 401978811 982821085 486356887 669337025 42366267 372771999 888223023 207319093 50074681 790731569 573859153 332592211 225042951 345275663 500856167 25741507 967613795 425013333 513425089 929263195 641588085 364159945 485122457 872808213 353980617 552493023 722502159 13967637 691495505 509807017 412090159 400455591 287268463 525459945 576196585 673278525 243561447 459423751 265201173 163474289 249815267 7761167 184006517 379464201 690051069 279348923 869708465 686489581 964792623 654454891 632573533 786224947 344814815 852184611 88330225 368820503 706529499 766679445 996384463 864911097 536860503 666632471 335718205 309647207 542322673 994562217 619663729 788044049 942806703 187897585 212960385 56886743 52605181 700765247 307025773 988751289 780321457 156250507 272095267 423346145 340937991 190046579 149060721 954805159 896139687 739387199 940816145 194571137 2087835 964841439 554145443 637767703 755840603 138349287 943055027 926537009 349638337 299958683 693246639 156249795 399104535 387637213 799407859 356875751 781929221 281333569 346873279 247956963 751469731 309367805 603272763 589509409 571820399 580844015 755060091 180894261 679008333 437073309 465981303 28089047 693966219 728828729 451388943 809836783 802140637 585808283 721002509 163180933 456226657 17197887 630715429 50908621 962363037 535586125 364852715 23256611 574239611 90010263 788473573 93725961 52597333 723494033 347911545 433592363 145131749 827386971 206214139 745338717 127263059 70196159 871501219 551121303 678798633 154321449 583183249 162512385 432252509 500185519 471711695 128218339 632269903 86980629 443711055 941105329 708089025 367085503 507608555 498893063 516285153 680659135 710946147 85430697 164201541 465103815 917421151 838899583 741012459 511668539 154682483 623626143 329090871 325982241 567237653 896321091 246470901 154777385 360587689 556376015 218271837 372316583 752067703 121064909 866443275 172581023 661881267 654075377 613814019 988453813 924640113 431651607 315135413 276011063 567179703 105217091 710583539 37313569 523332971 650864029 238198013 77734671 430531935 709722491 468290681 664420679 360568143 420148055 369586545 979625147 652639449 812617941 312886363 901545475 758504071 252191425 563362069 587351899 323203275 143519243 149485541 227562411 717740285 849835731 142936183 888997765 459950177 899269463 191079137 618237469 972891933 468776199 85578399 42106451 946199875 295444339 997067673 813175727 221985743 641462103 204165913 290140513 313137055 57863575 571440855 347053375 257893501 133930559 128767983 483439817 154451483 529051521 157419493 513206309 236302097 359595703 96938407 550228259 637071841 447356775 840295053 907353659 452948469 382048315 629806417 124636555 409925279 296421381 576856855 41340891 843179541 772177089 320985201 126868889 162678395 924394645 656462929 135609823 862226649 351899849 427298581 887744361 172543007 134762703 822630787 929206177 510025259 383627591 885472711 629392789 420714681 414606577 208709239 795013883 147806325 210285497 165395343 557460277 516760559 268950961 263167861 181908553 841051297 26756119 982991863 905048549 894496237 558100043 138639691 464185953 577788955 877410523 277295371 603197373 365449051 402138745 199959871 901859487 624383179 448073985 27656021 111828313 262364007 910915701 54807839 486320351 979699995 71731201 771808733 707257809 494183863 117441273 804021553 45342073 545641461 472552405 670104621 172037825 179125877 806646589 893917251 706748229 230469827 47484665 870296657 642737219 640341071 455292669 887042459 865065377 713138033 879490149 509240017 709039855 599835243 543821939 903709957 142283877 638833255 542885269 435860663 414331361 862844533 601784409 475332301 445058027 804356239 960252543 523560337 674153649 936891541 256668649 82735033 697184525 36027731 768156065 843729763 501489531 337570679 473038557 489945877 516622117 783037085 35392501 782247611 267820761 205694533 917592429 531364523 143518733 892702937 735543537 695998627 114423779 952049321 691973717 180161733 258172447 371878639 824474259 481736867 932991539 632719051 835016911 328092205 935140405 635534921 182063445 891436229 750409701 447288663 897397397 588712493 563805099 44977873 416428079 330443157 330003347 272344439 84110305 991367311 949546583 526646515 828204699 615847963 456193623 279681235 308685677 834871709 62005911 840925077 621402771 506354147 382792137 253035929 502159985 673693729 999725377 663517221 774109843 755910901 927636995 315344493 373630121 849282917 1639859 252436619 480832403 749422045 989921185 789683327 413751887 940376881 896073669 255150897 762283277 620414371 785784765 379222389 306995741 515692499 113489361 863450371 542840061 576704465 515607535 205581691 815156557 672525843 557053617 204627303 810984921 689084019 613617747 567331643 478150039 190884153 384262591 809349707 985557153 121935891 245051777 780821469 716661049 284104979 161861333 27276311 693063369 576307641 563344021 578575117 256124137 986468327 397859917 283249079 902556751 494625007 408532265 348760309 442425827 84679811 50573569 742611089 171439021 294817217 491165525 474949693 831512545 848863789 337289293 429116563 68313561 159472311 763987893 511034385 212155163 122793139 255353863 922902053 527130705 829788893 706885473 257351195 383100495 676519515 957529227 855829553 888104207 830526395 272909813 180660869 905350835 387155953 840276149 5958177 968687241 28849499 602578827 713118199 873641987 69635263 586929629 243719137 293113789 344371275 547729595 652063645 21788281 418291345 563683803 796800471 232621091 597643663 628868767 356332833 853840591 915814317 209252109 719665393 221010359 108304565 825795283 888610987 122287679 870589663 34616907 57573527 152612593 702643141 757389169 851981031 16872577 646842225 312687855 341869749 688012491 203959627 36305683 880934655 6202321 388763949 77295827 752766897 945498817 292664913 771095761 222571165 335984363 984246365 754475601 27465849 477438155 790533215 81408581 618650601 580435203 478667723 626711619 69012597 189409635 962241407 390576523 766332303 501628377 13431487 87873027 308396943 493287299 61915707 629360445 114785463 561576357 615072519 660554093 200771633 872752295 737669537 860321907 941103373 300173599 847250155 735671511 888982855 925237959 313632565 605992649 744118459 432389507 856652597 627869983 481568311 94941279 882492677 129985623 807933547 450048141 628961581 99745179 31753455 519754855 532324251 754498489 131660103 393213041 5215393 966511145 249749465 856052313 779304447 883344393 910691063 881138159 123738073 428539681 68558811 68777009 684084667 213750495 446662567 894309951 298365341 413786459 630763105 512397413 825847515 264676951 124561407 392940313 401287995 281945141 264490327 193424885 351494119 278530313 50596651 563272377 604236921 954549127 343523109 725064277 830788075 893384209 412646101 342005209 842804131 775197099 880619189 354324355 252392559 934267655 903486247 824841651 926377349 828835195 895385459 928533495 245690751 683244551 760909513 919367681 914203493 214066259 59863365 447398573 200738211 232916395 536329959 515642621 204953871 209188873 715970201 812904731 9373671 383189259 248946475 974549343 860890317 688058105 317486679 284613953 178515411 309546947 787905469 42828387 968605547 150546943 864602089 421716883 567114097 580163051 40013641 137324995 529436207 634910833 11732793 744547087 970232141 886362655 659319033 822062521 427224805 375503405 475288755 638178605 916199537 333663097 120029815 561376511 169261015 254298505 352813887 433991657 968718949 59819409 7365611 465156301 319330767 823889763 644888135 534377401 438590259 275726465 942551553 532431585 473584663 380338451 873164213 350236571 799939943 771876071 806988771 407062385 682389623 767137395 638822899 289655561 692411913 746636247 112278841 278299449 410585405 446788573 30233581 64309243 947035813 341415153 676441647 207208305 622986033 257927211 638162187 433244395 633833795 252007499 767553391 85708247 490886557 967937719 135865655 905777363 655009389 988318335 957722657 144343203 181123657 204873563 569266907 810946351 383811887 722733737 327986675 375554701 77070723 502401139 128655073 238600183 666473747 211616867 829516041 306742481 9018899 238637269 49673909 632941477 43152929 713361349 684658195 167533865 789448513 114533341 396616767 928332597 414012131 726130539 680708151 752992719 285967067 110032743 287888873 112736287 342891621 92675183 301426977 801780091 615741223 99362249 598602397 157688415 967397935 566843497 428155643 57555307 823741171 954528737 423005125 904939115 563259981 951110003 391811693 291784021 663888773 220554503 648382797 926987585 798052167 249199659 758504611 21188469 720136361 447594261 171944349 97139291 854690857 397500837 238067527 162742405 457865385 886189669 257636767 313915313 349575291 508087681 2374275 602579903 872898129 70810065 211222205 490780605 492663367 633798611 149890815 760277723 582272231 677546675 687682273 573046137 747329049 842699067 659331559 844893719 1394231 97993957 425793655 33336417 30238971 811558095 521905893 436580393 384557195 242065601 307147879 507173997 51645045 599673899 868004897 536022093 78203053 286813473 770144283 701272599 717951633 963659111 137902663 87303741 728300007 862908769 203856253 813087323 498214875 773866783 838174849 10481715 100090371 917736279 99777273 577375921 189277531 507454059 454239351 362798823 144012619 171538785 39826805 180630803 609057437 983411431 677583957 108368791 667454089 846104661 710462559 21257213 361357225 166936749 678641349 543763961 639015173 237409681 386506143 741900903 963717387 108178517 858023663 203305545 422914701 795755757 922309535 801011147 466266571 402185465 850491521 417833793 579114857 187526851 422734667 913102373 540667253 607226423 257784225 908089881 40176739 155397101 570434059 516882925 55644175 637415971 25927929 553348239 435455683 959098821 977373639 885137437 466768937 31989597 684064183 171149017 680933463 550110245 607077101 1505329 813167817 353385211 731667841 13014453 354012005 876406119 806900839 937658913 110642553 189571735 291966593 746959449 669417659 896646757 926641563 799671399 152367685 679806031 177189221 993543807 11130783 472228473 633757303 160847359 643459509 708759223 432240467 421259877 161665501 465823103 235903331 128484447 944101077 673130735 516254711 269170883 622567873 197991885 541405001 373678983 916529453 169661069 744534905 99510993 905896977 44868673 350223251 327109099 786766537 562888619 192505479 354701387 44528153 860842035 993330221 514956937 925928497 681258213 413938247 745664363 529953699 632655227 885633917 803737307 187497071 164522325 895444067 867795179 683524347 273911927 259972209 65139927 73276687 78931603 836948745 940156931 1544423 9470463 334750833 874420987 715121179 720283323 525708511 859937393 594643123 425645933 7430505 249458239 663743515 656377957 895708945 436719723 70802473 50906267 580734911 211473439 784466969 495673517 215177543 914252973 499209107 847255011 387488353 151322771 558166433 674159915 579644845 134442097 192049593 580653599 522706615 805036053 332331707 456794621 706180333 823382897 493425129 920106153 634090155 728413089 28020723 869061559 233444401 302947303 624929259 920984925 470949031 424521901 286587985 658405239 58797345 385791627 311534089 777483409 645628311 97022265 577720673 877770967 247606249 863085209 161476877 594404131 704776931 122019769 25133355 727948785 897134899 971043275 824702527 757305961 193301107 299977515 412976185 228089181 920423975 375990875 816538989 397271617 94543031 84593927 856398231 858980917 879217 629875459 190829277 664000259 40852115 463321929 30123725 599417365 524193851 993031419 145016669 918057863 333764979 320674409 862724071 566168343 657869871 709556225 903551027 473226027 157685571 477861217 51723119 37622227 953810805 693240907 848170285 400458695 502624363 772783531 275317867 426917221 559897529 909835413 110108305 620347317 67534293 755809603 933618795 89366375 57168675 895608857 681036077 872157135 227410669 128434849 619480435 19977201 53706337 425963153 656689735 746820465 640316825 64309441 593792531 573255069 222236313 57245237 425971115 838718065 756484679 184248603 893092687 879563145 931857269 131275203 35635107 996301099 376272863 616581033 459551413 407253321 170482467 662700145 7291129 818888315 130505163 286940901 965141583 490684157 926834761 606724091 930574585 391741367 864815093 684388299 102644389 294965051 730703891 808057499 746464617 280223421 440006345 41331667 927401665 247001373 101740073 381695753 270549653 412392931 329844527 823085817 979052079 137332287 870416569 577211011 621945159 784008711 875977873 543217589 707445495 631536827 607352425 918455999 482817223 456867969 751697113 25571073 745892773 453290281 940858979 312400377 22922467 747414827 376039025 279404119 451577153 967921317 938999893 662926571 866009059 323224159 949911621 459042739 596523351 656272071 108143205 350330063 418571409 92598519 179332541 921378701 352327151 604839339 431143231 504691551 140535351 648297549 478850243 463289055 559608213 399921131 932627979 996336339 239809181 55658043 731753409 178132773 444702545 894833311 938107509 83949545 653276689 860953885 50861473 744579671 577149101 768841059 276382887 409115607 806979931 815018441 600551375 823148273 436933045 941055055 434964811 949125721 301253059 718197659 839811123 490662889 698351345 746423295 277183369 173080999 639104279 439690351 441556791 57692861 500047213 640058251 804564749 271868543 316213149 718301339 78946757 615976295 959947441 174886031 271895553 726702617 100391969 280031997 275266375 319765087 530010825 674181925 83436301 601613357 890293743 198333677 672572329 74693279 612553277 404581861 657737053 515865335 837497549 622032453 213918035 890628001 613954585 79610859 414482075 655111473 274509575 594018655 395867951 174090081 495648741 246609615 910797551 107764245 435309415 319805717 998405799 323919447 363966381 502466733 40327943 889991003 462778169 809121985 957538725 545146749 116554745 271794205 1940487 529023297 10212419 838336573 845829269 166769231 745421267 720277563 430718879 982853757 582334673 603450339 198366815 378578117 118155975 474460833 901561845 199825995 437087149 905661069 397331565 299522905 745762527 244354919 990177717 957611109 182992929 112704407 507543721 269546247 843497121 436220201 952934921 907262211 328775671 977213655 687897983 337276231 275372829 515036417 683689627 20411107 205683065 84982443 260075989 323366419 963763159 974165125 461292435 587694907 451339119 312621545 942295833 434883047 239746783 628303317 398417821 575374281 761582375 251613679 914287923 624284603 68102329 799797639 442830305 806680259 644397161 414549141 767776399 598215945 853678707 5963959 136079371 98789091 688700799 520970805 410920979 351213005 324096407 972666109 428542533 766497127 981439793 563244969 960797485 981571711 66499629 667389557 490884921 828352519 958574285 741665867 440200133 169171481 449886911 672369591 202032143 906675963 408107545 344362485 18144837 613001751 160926809 903433695 915074675 396997887 400907619 544260353 641720727 848583793 731609733 156374663 988042895 265345869 765049201 383062601 337389349 679771553 378609481 221941191 975670027 468012959 610062737 232601383 183909083 537206435 944545589 747525691 293556501 687878191 821442953 242221431 978025249 539106031 844929357 428205819 975467601 845314997 675965351 597903759 22893793 21565567 35155743 6480291 34804463 87683951 444823217 125892173 650664325 495159247 557535925 53570635 573399445 628079891 120070643 228674823 342118649 451232213 457674391 53455249 823314287 427778269 956652855 165975451 111142819 909280273 381913553 879462537 272591911 105101189 595495111 152563297 755719281 651577975 916635115 904953553 928972773 700271689 416867693 307161139 690180811 663425413 828034799 864147075 837613397 548547297 788844147 588973675 764944029 481153075 197233001 940838967 642245025 525974405 689238947 581033699 937505869 208151037 204059745 947659017 86776947 884253937 549961543 377392629 273924809 826984667 332330851 354140307 649935347 239433311 535474729 250821755 383453561 909525831 78678647 693619437 895042253 671480201 293552019 600833999 837847623 911732285 646067753 294024371 188268585 378061479 967018831 967497165 142659485 161380149 839090049 541993725 253523381 513870455 743204775 54939851 186493543 973303337 133224459 889957223 470722967 531058223 107420003 611511207 505686029 301169043 644100559 450394121 277148281 892584331 165435857 588613047 946596985 271739503 355452759 378212223 217657737 95877829 253033657 878645465 467018773 785590837 308053935 594665187 669951597 275751575 460750947 623818085 975211979 333532385 725363297 511481293 561346385 607496761 114331037 681929267 593823495 838081771 394874741 844865625 598911709 69198185 513643437 315829921 310998959 198735693 776907637 29543711 258900029 428709469 823850593 867756167 186023985 646514563 677107565 977833275 94711067 400293329 185367039 593164863 239975797 227319171 140293349 624271429 374874529 236155647 375690579 705890467 207056103 944520141 531810793 710686297 451862647 670764959 490328489 675278607 97919085 399374165 435677953 113309713 750235849 421159407 813568199 4858713 412551797 248454553 982856503 6264453 444433473 272248485 397179129 804345821 376136679 352655505 194095639 840859473 709925641 689452799 474731273 294155639 982464557 60660409 783400875 60926605 182283209 427529907 154302017 821808509 35095347 194498311 792679035 375387861 617037227 28840443 860694123 55725517 711750495 321671417 325867921 605577539 503263837 577473941 267998673 198239933 309439391 632855177 578907257 954197871 357067781 498821817 737669949 47246123 942837595 413508143 101585213 387369331 293720911 282623775 387135993 660592751 195432573 729839845 198943331 248139757 507874661 473745667 744210383 115230307 236519791 762617381 664345849 655220721 678468079 290546463 30287113 373416801 144129821 221775851 223802505 7510815 490034969 468688045 771512433 404203587 974433519 537760943 760670491 646141837 885653389 596318055 596259151 831940195 179662543 159252845 935308091 312870869 51321461 599618949 428466033 540192667 242929959 472979867 937769457 136516371 362276217 373168067 871552287 844827717 835514593 167914807 552358087 76709601 324178117 8357211 942844193 252466493 164923753 628852411 818999241 909836119 625735425 851074567 850093765 57971161 91670695 868349727 108735873 356124945 164323161 948927489 140321233 211834871 443847429 286978013 563207415 455437097 255448951 577125379 896260243 783977453 61352813 459682031 95706037 881089335 206069637 506967877 876471249 926373017 688207177 112016593 621908423 580324693 919103533 927216003 13192409 507368787 69731461 814741627 782380469 701363743 176447127 635864313 844306289 226379765 555367305 251485031 925607049 80281775 820386413 575623261 77471205 814210265 542477119 911892369 421373905 407850653 753435101 184786665 333113087 179788505 906132241 726859121 491469713 730231301 490758541 594616923 311641097 394226511 442942187 782687745 330174551 755779969 468751529 777033961 197136079 519371285 200322355 675067069 885271853 245278249 163615963 607463247 78046103 292614533 353489623 458072477 323334553 929849241 342772811 377782473 428758317 863146617 232223039 24119067 439443371 78638057 193006501 559416075 773707483 150879821 182892629 906217523 527731689 731841461 719777299 780545621 717357675 595436247 425476741 705466461 579687261 926909461 99923773 295953247 956135973 296341109 126778549 929386387 113597331 300505253 389990735 750785377 902222039 5417981 981229651 641272401 337611923 311467901 489312499 538729495 960050121 5665485 98375495 57572751 586359529 403212091 952357203 258179515 156842693 455103677 892470781 689289927 38564765 139576051 963427351 973398791 232535061 21999655 258660187 385219061 661627449 762444869 970580843 49365813 22964865 160651749 554315983 51465617 389374665 557635397 452773879 862920701 964175191 48186705 538340417 295901845 307226583 68542611 380705513 156586397 280570461 500535877 97653787 821794429 767521899 909797189 23645671 751297227 86688737 723775259 166735175 852938049 223419407 23376629 575711517 35482819 981279913 963274413 770090799 946685787 183476943 886285761 647989043 732308287 609950723 887525461 566403519 234613703 729410867 825910845 257156949 734844023 498442677 655154671 492500831 973880317 632486471 172970889 466165037 363348265 847049739 433399249 314035961 688603127 354386835 121972537 785741541 148097675 954892753 250460377 28707319 366633521 691387169 656416109 750478629 10468441 822964813 23906397 393553989 197498275 678181759 635141307 458934041 860462797 675192651 238359099 962880587 292788167 652484529 418849855 325453931 597511841 994279189 305318603 598050545 185947801 6908741 386252689 775915331 418621199 169536117 679808231 391609767 762205839 522870851 805006541 687989325 888882639 678296757 619613673 813873233 288719529 324444983 894744203 414451891 454247199 783288223 115277739 39850331 548498523 674936619 764271079 381175837 886846901 930888061 800071815 805136305 998579107 83130277 519386745 258349751 691335885 903172377 462734167 5955259 605849849 814913717 271956573 520237355 341590047 152701885 831490933 385069667 527847769 438676191 183660589 141089443 105988585 940911923 303013565 657321747 455143483 489020211 943307009 535982791 473096417 577385413 87585157 195363255 37282201 252336437 964244085 309191107 371024453 189842491 337986731 556149175 733443567 594862323 622079139 81543233 709382091 192583651 529405829 65155325 669455411 912089335 167813667 421891433 61946799 536419461 406057457 476447731 739008485 710073929 658393103 114093799 36690089 709878889 541197893 172061059 981711097 344971891 904842243 570036965 470435319 33883741 369192287 708467993 455093229 759725441 459761177 188412941 994786639 293221799 169595543 414068891 399639481 732172283 611214057 890654087 777278191 144577555 747964871 169958007 406604249 443730669 46821775 261063935 221305741 826470381 709804873 305966485 701350469 527627743 57800101 934387871 649597539 640448507 527618039 449002849 456822647 870468317 508337475 962485519 195865391 799953289 243771179 38432705 914258025 62776431 824243971 572265339 625119273 502166627 923373761 196662563 114280087 688841121 528413697 437294989 543157257 736141007 413866767 961355887 13352953 989635067 753352151 950913901 304224779 401651097 607209203 301098767 991823627 511253383 17838751 759716295 151968745 106573835 712271811 454525679 896419525 969255121 612385009 15104965 710224349 65718255 470526813 899005557 817122465 82060003 987588583 331536657 364785313 703544719 406016023 732383375 64337049 87925573 268534557 8575443 71447917 218352053 280682191 804003493 341953833 472711681 433062061 762684599 675688447 305094059 432967901 743922849 193248073 288557987 915534639 612351717 136083085 593890107 44237339 924742895 536583283 193202995 241097151 924130827 576274387 307253423 386613987 850180213 210854051 160154683 196522485 949885007 201754891 984974033 582520847 547424929 758590033 791496393 880884717 77595741 840578541 386266345 623654137 223661403 63620217 914177889 759746625 304117085 808282295 297263301 495464315 534491405 251625107 676885777 513552905 669872891 976983583 357366957 427248111 677319841 116762777 533994851 380913889 576602465 344008545 641925993 894541617 173837187 105233157 834138207 278526177 679414585 372543031 577804359 533199511 934061467 958596819 277268111 331601061 209401771 594056923 210722061 857496575 163224403 475317115 708586239 449909573 600419939 659402757 852286985 343014847 656650133 46774519 798525751 495062109 651974027 195784435 838162945 421089973 769763789 676619203 675248963 841950215 479628747 146664795 225222721 431497273 768046561 503699671 651790251 461752539 657841743 863554937 511957141 175130661 31206975 124892077 106157435 934780917 698184385 166712327 994855747 187432147 493334479 464271425 41598523 946233581 837581131 830121535 805866263 583432989 778592763 502674187 313044469 413159903 156903061 190503387 381341019 421320285 209361583 812038407 394272053 310323043 270894027 979887891 716101593 128991341 1077841 100467627 607996165 144969365 900213397 871501475 41563355 14586791 526687183 552035061 474051821 433852175 25191713 675472325 454157101 234633445 974881937 317368159 958057207 477193961 698172949 809135155 24886291 979041667 91879041 657619423 568642479 240314559 544353435 860596775 402174301 336265047 680190475 323809267 801749021 526679465 888173153 470203481 906495827 224303807 130360341 43273621 996688333 54614339 243483021 461626887 771333823 123583121 742937613 892796219 415590599 72443815 720704715 968390375 210692843 975598123 827448283 905964515 838301591 822689133 360692035 978071349 377589665 24109413 870642155 295963399 843559749 979713969 975623841 521482155 2742569 703345817 183595299 629645981 563281243 932148747 840149775 580489603 248197713 321646753 54132465 857402147 266865125 216477335 788130615 91168373 350682209 948737751 606280509 938704275 448568685 159010797 969590849 890002621 356399393 180643605 36491377 9490787 57163003 53720361 937167833 464324375 305498847 962361781 414169975 743199889 787601945 849688549 888183337 1877177 742808161 314906513 774723001 900166551 830244051 25463865 196801499 940231005 361050357 521111043 441916195 45032811 299859377 96520897 300209175 849937729 582069345 589334247 927630877 812498315 272305087 922391701 344066697 221816605 2440945 555484307 635554193 926119407 386879621 420576593 997965657 912693289 22187375 741455333 761546473 880516883 694318095 449760013 662723379 735092257 554270503 445335091 595781137 115661295 601408741 32260709 243327809 300343103 287575519 269196123 266038129 802353149 105037841 951501939 226457901 190885949 916917731 997358005 93756915 789519673 629160735 530792655 264394015 626701395 827145725 343823387 931842305 979175963 787585049 544852373 782197701 851929919 825444215 600856039 269328005 912530333 361426311 167310685 652969027 488297271 66009115 247968499 48186601 539971385 554687091 900290371 217052233 658407671 430347827 744319897 503524121 606478059 877071977 460369633 467952125 630752185 434187401 786724531 619271293 580888365 70315377 356686415 814274059 823870775 246943335 178831259 887887103 875468021 631991831 751104553 8479133 952528811 522592151 884824109 773916427 773144513 716187491 90594695 21430875 498372557 644201569 799003839 101725063 287666569 303652577 65598469 532203633 22113497 410573715 358198317 402377697 155021513 307758233 92305851 239919241 550383753 962187381 390668755 966651905 780879481 671372565 724645701 275443147 178273047 513615055 291606921 267364945 231281171 724738913 989949373 496352739 337597245 920684271 413122983 258421691 796639121 227009285 659084987 265708795 580923957 776439195 918136587 370230187 896932719 288676877 533625945 601709499 95720375 801373729 199429389 440956935 597493925 47326467 55199541 699434833 952642559 238643783 726069127 174310205 448149679 258146029 709443685 587356513 535540167 827459675 252770003 338335287 744637317 77433179 184155011 918046747 863734857 48177955 229411275 971972187 329285025 89960529 800132779 458001957 809704255 24624619 510734281 582239637 515955709 967238239 381635191 954367147 561216737 712666239 163739305 666497105 286372373 484487305 974909951 85606231 177055213 717497125 309420225 1266551 615732705 848659037 682720479 252231763 494109593 462937257 175761133 192084593 613801949 204781541 142595887 118072903 35793313 498413141 656245897 30957355 644903169 325070249 356030347 828675679 403734591 403044851 149426541 876603403 850546375 82086579 357196043 168365635 534575659 703033805 985666033 554080767 253178665 709143695 251538765 231515679 130523299 130457773 924213491 900379759 611737763 598099269 574987365 838535837 73088349 998518749 380254667 631208773 790162477 599457633 650876657 753608423 349465237 475366695 651737171 572439789 683012931 406215147 784199179 134755493 920162565 445417173 86673125 340618829 140904923 90574447 949382989 250585091 104650215 448599471 12190811 237259475 736477813 344298741 458199247 178540459 591821557 185495811 505154575 341908583 539803653 281485833 150054187 477358791 161868391 920027289 162500059 953779571 55142921 290917555 768125821 855849727 485451515 790417081 806498841 534761187 4348537 389525629 801503071 83573375 298885095 763776049 590385573 702499357 113424847 591428979 931005161 114850287 75958503 629231177 929192917 774048015 524815111 102397981 535695543 555078781 26921525 196095689 912259719 964695073 623147929 696307079 998865891 130493391 957096585 135952381 417936913 260091453 909066623 666102585 290705413 494309903 566484769 177232561 558068561 331398863 872790837 511265599 77687095 178895851 242586547 413511211 940007327 671603133 73893299 200162849 71220245 121540745 76309115 509415993 478295765 111475573 680201845 448901355 172350393 566552469 356263987 959836449 620699467 431162079 531955057 546555685 358801339 805280055 16142357 215755695 577892831 864018789 30198053 721816283 913667639 320567835 969897433 711350061 52707307 786558195 84252811 119998613 465709511 502892907 264325053 466748261 262212933 684585455 952069913 277895005 863210883 104550609 141128823 226667681 749781065 585722183 521070799 71667391 927812869 417496181 374889283 498133419 2094033 960495203 247663137 676687557 75906667 364957443 916645851 787571661 814817081 901546797 605000717 849273333 526160459 970007461 422869625 743734481 877152855 556381201 640122379 258134367 91927487 850717187 168615381 82506497 853393289 635604983 814165013 596353671 203032675 487024201 261506347 265159975 303384997 810468423 76061863 330724221 60705359 556462369 383854647 525936269 742885897 855505647 18596025 617071301 366536223 576532405 270019375 828530427 743763085 542887513 85296069 665282925 218576621 459918765 387664591 417534143 613893003 577213291 872863175 24015615 662422097 789529909 979692111 246165665 815261659 899167635 224707383 876176771 288904295 197521655 761316717 701969897 37939931 134274745 585947407 780237699 475223497 164411419 490012255 199253093 70356069 291892551 611037897 917465099 181254031 59085389 20007393 756549211 732115663 502729255 827354209 610624677 891478867 213923767 771273005 459269273 91482357 775620805 115351633 379102039 267484977 249961217 709874685 198554213 662797873 207787783 266008975 634108081 235619267 743668567 725867147 28448653 846005855 426578267 129139609 613313463 257267745 240277603 412213135 421836887 140877269 962024617 211014249 510610935 570509799 256005711 339124295 328305039 265547121 189640797 490413685 877394299 104884527 64106947 277423209 460750465 275668617 31181405 331406011 406119627 955311761 725111787 578915889 620862195 192495867 839781143 561452723 471487219 981873959 552959089 767233625 146154801 539050783 484239219 928239193 292625275 501418127 745318781 481206809 412547077 620172239 369516763 227303461 244369517 899780829 451685819 393612591 649011897 969704037 600131385 638147345 507619413 784682161 732158549 68727761 46490391 207672507 89794297 945279641 996930619 552744225 578404083 408642235 52720489 644231979 756809473 875476661 354647467 15317447 216164291 772268839 663454329 258306191 718808767 326589407 538968237 148840639 524280169 392903887 234712977 14677057 132274715 929714449 488311757 475838115 811563797 87008747 460859513 656043037 365015937 876176839 275786259 275371147 631077997 399473465 519481727 696689785 499872727 809642489 888977675 315642899 894777757 89428975 414717291 462608945 165454475 697083427 958830781 45126485 565271375 179660233 275991431 147305121 813578117 519851837 317305267 861911273 146716843 693607169 146018203 12199329 389232943 773014209 607276793 717138409 43040095 16457297 129865205 212475785 983945843 50493099 856265753 160263153 100470159 282714865 909250395 962427703 787148477 643564913 349281051 455578395 109653483 164279967 719816475 214399491 231044597 54923283 487303305 628041215 948682137 522211217 869092091 343335367 406470275 869774341 28370799 965944761 227187781 490601091 496995657 88472285 984782679 259551045 894150485 552279523 134275097 250529455 908412107 449044511 130322901 201749067 47947847 18463381 574617533 323733967 169236685 579793127 65742315 935492627 635188429 847025257 507258973 336676891 848848665 50172177 134476287 322718227 989966321 140999803 608833443 340718671 401226235 532358387 699954943 120501835 348528447 92525669 8815031 760820135 599823929 650732393 266680403 804642095 203603649 12403263 360453445 550776793 975452959 351399375 776795623 211234749 357889791 881969829 254978935 185441057 899118711 480115197 402771489 670376813 266283267 962984625 580494839 333045303 128977035 872071755 65573359 158170683 31562841 631202811 725925613 966736473 867053093 803701143 270955705 500017821 188744969 23557791 501335301 265254717 974940303 785127225 785819753 400531345 341561759 721870133 825965417 499582239 456851347 970678027 144410475 139899537 734713635 986449625 532888001 416751801 588289913 412584807 232677029 481296789 205637921 807161123 969132601 77168965 725875983 633762599 418153861 986787095 31135649 442863663 165125499 189332605 552282013 952131493 309767667 116021777 28595503 785732759 1552047 184856217 636931821 749188283 483259993 879862271 854060243 106710387 540357505 491639893 185149255 934717123 162352547 759403737 629690903 964107869 598534683 552719597 494544761 594067609 622147895 558863641 876363527 146155379 204743975 191123477 595437257 666385299 354332419 374717371 365970989 355796811 927923149 611302925 257223941 956897679 456400751 305779767 852327057 223399167 403032505 834174861 683852403 905624803 841801061 374401161 262993853 997174827 4630293 916945869 360830945 834720877 390670417 65330983 286828989 319241961 337397897 652862603 219925141 756927877 558844441 382333199 101367065 472034769 171073345 496174077 577951323 71457797 532559147 440480187 650287323 238766591 398534375 955559135 600962431 494357573 762852975 492084003 521480849 399906571 104531365 589580393 542016199 365202723 686027087 543658945 425016383 108789009 487730211 869207641 985301887 187356663 90257847 694546575 663180915 327097001 106517389 231302885 702428529 277830813 783738381 732947721 133626935 409696495 276818315 7563979 183170279 583165291 135022399 399628583 192412433 200318845 973300811 530843457 120408747 30896445 149448373 577885539 74971921 136746091 474756211 828490755 436463111 160256367 33680475 542174393 546129085 199089237 363226925 838334281 787997893 571965399 682048151 206777505 208179999 495750739 612978727 60944337 546063151 922873043 983195223 17283349 171296195 287172097 41123719 864667345 805319183 884618041 830135555 183117969 523076273 991560569 546931705 340771333 322246319 633818727 870269573 939091981 691710581 97801555 142812325 114100135 67708631 151908405 333713223 437799171 715346455 643879083 269395769 141256305 529357013 506051323 995807283 888177007 913146145 169173273 805097947 400379293 558581617 635586455 352372917 834989513 720227743 763693241 117291317 337607397 75242995 996892513 307066037 830553867 442654235 335622179 385061493 656377473 938624041 550719541 425646237 166824113 972708251 823899763 709376833 956501293 944118873 550321769 715923287 457687731 43761071 657087811 236400579 258051107 464983377 462032089 403214415 742250379 943581789 866444459 489548969 473438493 212395607 67083999 485529963 539762741 422938159 194854727 944641817 680538709 607811897 229427799 697452313 923555879 701497393 51859503 480391359 482826883 181852733 660644759 493081665 55451489 798046187 925440255 300158915 209074915 788939823 885295485 970123855 506210391 725525351 329223119 743866579 131008815 613852249 264475999 698670377 877026311 675118899 561009467 318222101 803063201 897115783 397522203 889239869 379015147 768169555 109937245 627128371 193501939 159223039 926216969 115452275 822792697 252239445 865901261 716330075 782993503 993779853 276037123 577377077 284875951 270157121 910946471 731427379 745239453 741569147 608490339 541453933 975303429 998618019 485566595 422272229 321592555 877982355 457052419 705031047 742266487 29644421 416091005 724614687 724183295 966304543 559989053 808995689 425372413 22555501 324957487 587138567 166997269 239499497 358321899 683370369 320725265 789314667 492725169 622441801 769487589 971504953 944946535 598695863 309869999 374487043 891570079 137303311 134009517 941692893 903572619 758447223 441568333 866658629 55498257 929408769 791241507 883608349 315250355 780129959 580829419 646267829 640180387 786167115 62357381 883528131 684815541 951399349 416381949 128162657 820361581 607259799 927116169 749845783 990238703 754249609 674570369 527865043 848067851 688539661 952215915 20225255 389415481 136329869 449684463 879262995 851160215 66945881 477088227 760084347 307141099 646043563 342049347 652141483 737190825 700273317 143731247 984507291 940798947 31693903 261432821 353391783 198646363 96688795 849028101 876997781 529155449 899098721 249684991 212038287 402235211 578248803 849422755 544668207 955135623 376326731 677598171 407237743 41629071 619467177 509478335 78348981 777812327 707114743 133399941 989716943 216698561 205602453 687524757 584911091 620322035 373929935 887900533 758746299 341423357 154633173 405689053 642723887 710341253 339962559 699924135 828137403 616706269 466857103 223530965 231029813 112984569 828667949 988287123 939041243 405839225 253556333 75281715 653262159 698904997 606182663 583883571 351027363 781079149 839770525 480427059 387781705 658943077 780306101 358037761 542713885 378310097 625222341 503442575 688907881 70272405 339569443 936185 200602837 219702849 476181265 636995201 205583227 707452683 612663991 458770067 131781589 688662741 889409065 110948547 657991113 985051941 432260703 756179403 99438757 309362985 518442043 795460749 995047965 720905403 386761603 149271833 931544911 264571223 416594413 257751965 17274305 694038311 582501901 539426679 719651935 713781239 478484073 486743593 10595453 899328067 101998697 207987295 807087325 876370981 17487197 786668781 643161759 58080361 418971517 856278989 40596563 636638075 137779439 414108451 545096943 621881459 288355511 111359033 901244111 415162897 469243337 427651715 721372343 305594811 307529727 176775325 192059605 815965825 932400921 276082507 441350079 296485915 620017599 6535285 554988403 301615591 798801541 555478065 891647573 150892013 198003427 124765625 672727603 318389725 210567737 239612017 834488129 84341773 157733585 921857253 938726173 187796091 677051615 950853061 291656651 799446993 821656951 70757103 406628539 633660509 910785951 124948071 940853185 18400535 572195133 562814293 897605657 459735707 319188517 887814417 597389161 568279605 48316173 935427089 156769471 139655889 687697049 109991163 200784273 784610313 489680979 553649051 382980793 146079513 449471913 39545313 791913343 710841835 594178293 750322413 595105423 309990411 745606267 80974845 485945087 644052915 33856353 6233473 982522701 513528515 41531579 42226185 600122459 634968511 60106367 776025939 306350203 757624537 706991761 82617663 467408991 372455655 813423545 630998235 576092707 280485993 619622057 150554969 691897937 17698437 500478715 644744467 284199633 35794445 376362541 738201231 813300221 690408053 364124845 700915575 758525839 87580893 141378247 687224221 386454445 644896525 662411191 889532415 768800229 683231859 712053919 985137085 225379883 932111657 556353927 765405477 626522589 514629357 446658145 424935081 202542273 32029221 484936199 700132325 392510467 673878751 545753911 942253211 925599545 718216151 200697245 450504119 537308511 126753129 606335689 913349197 652521949 567008925 388171575 241957013 863614333 533895201 101676357 671691511 978236279 602079053 73451069 540763387 179300453 864740641 776041295 918446677 471343439 499231045 485034137 477424609 106646691 55432453 929065495 835065505 536563507 370298461 53590197 640593089 300878655 217180391 891374915 166560405 25782123 868895981 91186555 784531351 665822147 902406751 959708927 141800299 514150591 102423507 71702103 773896923 526994491 555193225 508328437 499415259 485529725 270473319 465165617 250383239 90858289 592230655 276493645 631480611 758231661 208875651 233637491 722819351 910437293 567386073 321612467 617028857 187479767 509136515 621685511 22638467 362969401 441847729 624018513 799595417 310291081 529308477 402413145 505743685 152720865 719711907 462965455 699272893 767893193 473404429 540815951 493451609 384244269 261513545 314462555 265954973 895458147 740915919 972906839 710118199 706359593 327157947 255321497 95538679 993340067 321631193 413296729 496139481 177932893 934552213 855659449 510324737 175180623 878393353 174094529 821702843 280416725 925725425 306232417 91895415 420660915 754273461 120820853 737501653 18324505 9081447 669803709 355052435 802691737 19241915 144089059 588513185 517003315 118544913 106774135 330612751 8226635 439099763 899184627 498934297 936784303 587016589 88146359 128947493 273120149 372061367 772842511 684921785 987583639 535150831 512678185 302925453 81649853 915054305 642571809 350265723 174569843 925206231 837349879 17107075 399186063 545249227 350788757 843385045 136060237 417997915 319107531 844862913 25736533 955812303 497033297 741282757 141348273 787326741 257974477 670229377 187775959 852037575 978237123 204987075 485313191 909946145 825760681 488525693 76591971 491204877 734475219 440285387 121661115 927011609 626884487 984459759 785307585 249952635 206722029 900500309 94255861 973774869 328152085 513577359 572732219 533080941 96599031 836156507 847715553 549810609 751393657 884652441 192749723 965024185 731552095 423009367 560642695 512572421 148753501 236248009 745303337 505395645 690835469 599066693 906601585 655099309 829124079 172723795 768021683 879072593 318440555 912602525 526565291 978086339 874834901 808758775 168614271 529296077 135072099 383675995 197955517 275477983 496138299 768047597 9654363 977434383 461647969 859599607 707724979 121822237 453728201 603595245 205919373 793984367 143795533 4211819 366403863 24261909 163111339 232325683 358027235 551965639 210816145 290819123 751993327 137699811 947919755 650285433 320371875 498738801 584185623 427336261 318830283 466033183 850074515 977836281 767147419 129733703 36063817 407520545 280973743 171277797 385025131 597661805 70041105 984915619 420728339 980467131 361822505 381318607 285098303 838485517 343444433 646267233 920787675 580743569 101626435 834034933 629105593 868095127 982812965 128810199 945124239 816841883 283773573 780788467 469646337 885283137 926825687 752785377 904028569 822423381 472239611 27516897 626502853 44989383 245247025 651238875 351744735 874783925 782128429 315263067 240282921 693761635 388047103 249255579 704699855 254164537 888277285 633071995 802557661 84359631 11881863 109745279 795441487 975869403 951001967 582857945 90068999 108342083 416102549 840337503 436529869 866783763 328388115 948631697 534247763 520436859 73242481 838891413 389976113 946091483 102428573 555664187 815480299 855420339 174684137 390182395 490457575 205208749 895886613 186012147 182000503 974711201 594763333 992276459 786093781 765345925 816152583 538691153 764676643 284623743 200389455 315998783 952721001 286906331 177705083 589618289 336892057 376704267 691292753 71360593 550749835 510605227 502919419 683397869 841116161 400217725 634291987 982155259 316391845 700851051 677892757 819639005 880431113 120290957 125316067 556903831 725840035 409105177 349950669 40750043 813821655 27244663 428023687 925412865 569471211 727902511 123817393 544804869 885815061 914562037 339078477 727723663 188083819 441735333 326790601 717511151 601137647 961764673 197769981 886649631 360411019 409752309 316880929 978711737 364909327 451857171 852322527 452525575 709055797 668702745 942112833 776916473 374871711 183175337 903921087 54892069 275087061 253315213 225951797 209967051 284840263 870642105 621599977 786100433 415342673 295193929 735186053 386649799 238673461 82884735 456146467 101537763 501496343 460336071 642499645 711772679 259479821 978316725 196001209 622947769 759941391 149898755 106459877 515920169 330020863 372111509 60659829 11681579 210016421 146504821 83233929 865601603 243308977 720221911 295738787 352323475 672624319 290384407 689652145 966319599 2913103 56365241 612524297 538164941 158708171 380135525 471703399 936683849 348164227 621585137 724981491 759620399 742190255 515749719 436870455 494751723 237113205 813668539 34118187 292709781 342554841 132912999 242130731 150951917 403278545 511816145 251400699 953274201 57037875 193261969 714665417 129085419 495098817 554825837 122045997 229579351 180519203 64379213 756141089 426878205 417047021 425711431 843717387 84872933 349997719 532768919 602398647 454487743 158037889 837013917 5459805 636781537 507302903 110920677 580679323 955362123 243366695 351955237 410781809 695538851 408609581 207344693 550468433 143696185 98286601 502482971 702760463 856323845 857664675 864193791 893813991 875938725 799000527 182630201 99961985 305093983 679966531 886003263 181485287 288026151 799548069 489028535 606383759 470185103 101073529 52650093 838559064 682307291 956720435 689893715 20160903 809141741 353124909 689642627 945723591 3681881 989242023 965340739 826732335 335492435 948042953 618454525 324806205 682892221 595710119 680450371 21037013 496746269 653269303 204105427 650163013 535065761 680306013 169581453 249059391 261384225 382558947 406097791 431586789 641191197 693510519 131113691 634405819 196065723 426311091 619553021 520344237 947053005 880625179 940727655 392258575 385685959 572074005 398200005 123115169 98128841 851497717 538315241 441508233 974842523 883140337 494471377 52348751 981639853 992416815 584366495 243940591 687339797 728046515 375875997 347552449 400867473 750436977 922990655 572684685 243345547 36226113 975252001 168284031 545733649 633984231 81443333 930554669 416792795 898949897 148618199 764451477 928242759 934127929 485704619 901038105 403131485 211517171 377420475 870557067 22541003 328282005 469667945 578929947 235235819 669876073 654957891 144483435 82908601 201313441 447722493 692977021 862106847 668781653 482762351 360559553 273462697 118544777 361778333 553356553 605313299 118195747 256604595 903963797 522283447 351905781 626673925 309824009 161242849 744351161 182682893 426832499 573278589 462567441 12502127 896487751 430291235 422403205 956703477 926046051 274935571 67259015 130111125 145145869 220206387 50202223 380435047 647455729 76707603 436113537 822749103 866145829 413239019 358241763 80043739 618256165 156909211 302301607 40618107 896334297 163186855 998384583 394462283 460889227 650649407 799771685 416602159 763314673 827350333 761675657 734554419 677572651 611322655 299221157 406834311 788723131 272676875 451076881 281608841 281235599 692168401 80591951 139589053 706643711 853522153 259969225 867305933 211464387 130205039 818661071 744899211 646450181 866886191 497157019 744023283 763364945 775213719 484918863 573844009 677586843 259782843 470056179 453737593 845222721 228259933 466686841 115707989 574192903 182830565 930158777 826387287 730396189 416874337 322548085 4232517 967658007 629902727 270083927 874338057 266241009 329717943 31394287 15437749 136722705 961895419 997348279 989504391 512601157 94486015 19833103 29133535 788755137 860313115 477108547 894869323 547605797 185677135 908024195 7578237 719417459 923232065 608290791 863985487 838973209 276832067 117445745 4342471 766730733 210458441 788646411 424865551 771293483 415765747 371038085 781381243 165434235 698620041 714770583 545987715 38677223 330156539 487423207 381585103 873766887 418374109 513328379 431684135 927758935 791526003 652402499 191935871 724269691 46264481 550341403 328678131 914781187 707631351 690286531 907265733 188531969 29809323 382879589 439673953 482131189 359346335 21364753 343710553 606943683 25265241 110519999 943850091 370185913 194743047 155906645 980048505 137318283 523566211 151613079 525671309 215913815 711280201 489680699 79962075 314737571 116396163 442283223 515537087 775126363 111183101 746337771 56692667 852522453 671121459 571060709 983078779 378215885 213255743 374616083 680417491 500127851 468712939 367365805 752293821 567113785 590096807 732333017 824731229 799986223 381278347 459754651 265013245 188153511 926454097 930604009 210969619 256599145 560312679 471003543 181437751 857022371 686955479 702948715 686738477 358873831 628120155 689528331 555098339 602480181 882318929 130011659 75620201 215150577 761101761 515439331 795451131 468574183 960789595 757700083 370291965 706561103 506030197 803913605 68329977 840202437 160426509 118798797 284939429 463445839 116908493 621443551 729531097 563627353 249034243 731572417 279439001 23950007 328312743 895607385 26900755 151686825 685399893 52369019 144568215 510890709 880372313 800169437 97003169 926271557 523633055 711621413 20410069 662006895 849517249 959378903 323033599 217871923 778832635 358928231 829293585 296625363 131861047 507319855 769404453 671820541 778960897 439698541 79789441 415718343 223726739 935200077 843485837 93457837 362741197 459589089 281650657 681510295 135114291 394893343 305392435 821594577 102546423 795532267 259604073 735169805 679847407 534102543 408759951 189378925 115971739 179317561 759876311 214110579 823853345 127418115 552838045 879596815 819789907 772169969 201955681 880123029 775856037 254164841 297782227 886619585 230033975 771281085 886358725 464139449 317816273 421991465 28306223 168300297 686800865 366969545 537665593 830959787 633383553 82472109 158866475 545151735 852429167 632038847 580422009 92417973 680338703 887346911 342046141 506216977 120192373 473195209 352533693 438359969 774469975 725856041 34940771 780226401 335500563 155916177 633550019 95066295 940343215 634484855 739369751 670452851 15490015 375977023 431603905 733736901 233003765 253460017 70645583 602329935 284244467 523355007 631112309 572090387 154029697 104546881 97605385 157094015 269872619 319051897 61165077 28826987 282508331 775440657 656043967 660575505 431970017 210232537 534604891 769079829 683659857 324465549 100579175 685289609 856489069 256765129 370411653 32318687 516940747 838118683 906640511 53285621 909641387 863547635 148226123 673076497 908032499 51132841 765355521 982864607 801938997 18516095 750597093 408298611 437258403 804939167 40404835 633999693 127048227 576262937 930180111 263618899 54536759 228864999 830718115 801360847 262200335 103793899 846098435 511054455 782100357 819201005 847619131 618325099 677995029 698458783 105643899 617443629 124245993 377562521 925163809 647661483 107605711 844468061 397564593 892545339 143965501 287416147 822746835 791654555 245057877 678866641 203677277 557783277 857249245 347506187 527347017 319915203 84733763 935221539 559685051 275790095 329505441 724166949 622334207 357615149 477145779 180266751 980149383 865985767 795810529 117202061 6410477 4275557 941716541 878996879 633863415 817316929 404567163 33240239 182807693 891727221 573168379 916741245 369956293 39504743 358877639 524046963 514131419 614006245 165375115 87133169 252297775 413415203 887039903 336153923 389362511 22273215 421530369 617173655 426002411 302800063 356081499 909037321 188037603 926860943 275069181 179826585 856461623 328937989 515997913 443055665 753672977 966329951 207385493 816045217 270284489 882311487 490758771 819053475 444685525 750583221 350210147 428787671 378719709 840317239 598026495 400696519 538140073 335280289 198790531 573420007 549722157 826565431 273576921 151982477 814992003 223205799 188916111 346882553 399100913 795314953 755649243 786092633 552085217 612957143 707508639 422367163 62521319 660439285 404537953 660677143 359008443 189135029 943814991 736645459 42151749 641354185 601864513 982983731 901300877 954481231 480533687 452554603 202945991 391401165 908134617 248679573 115392335 335769903 901132915 212374833 511627687 216592329 269025023 569743271 824399995 599253597 752882589 406146635 234072991 41383179 702859281 873940053 805847051 132646243 211498957 956929765 204358887 555557723 642668263 94125573 814259835 561578061 436760351 355202471 689253693 654497793 196238043 687504549 397938883 598630819 436548139 781278653 322486487 606920905 919120327 770557597 218254431 157484145 327480845 502845137 222857329 15931391 844787205 405396183 21761863 197002303 180682845 753498381 33509189 549202025 269965423 820339389 699340277 827255577 467199287 410162969 557469963 996774739 338467423 939566139 892597603 745714567 655236917 505327137 188065281 605184137 359971247 35113401 69602061 448596629 775446895 759072207 101533405 611805265 458724539 700104737 732028139 893613003 721913217 647775309 881111259 537728375 177975385 449660125 893035385 959329075 616318851 506535491 885485493 992767301 594166759 708530647 202306991 976709465 13229073 903804637 644025765 573230469 607635771 686841211 733162247 664771911 996453445 172826563 425650021 835370113 136811187 968024239 319425915 945991811 771469239 167720225 692230703 961826563 246639399 59393761 522709383 356333341 753891457 442823073 85609915 19093589 48460785 958401019 487450147 187786139 450097473 234667117 775736901 121359425 775093481 478552163 308759243 86434055 830855949 338524461 49542791 83663633 306763373 609187591 226238837 23663851 801354111 27811341 533198267 488271247 707942229 363542349 72649377 526571861 269290163 406886327 39537049 86205187 17944829 912944419 597874499 126115017 529605441 879114069 779740767 835652411 520596795 661640435 223943385 532488277 216775239 928459919 415561411 46942847 176902763 629839267 442731355 300104579 773429081 86095249 367589889 694457239 130590055 340308641 438510403 573887067 484374679 409470211 181208531 204607441 507052427 993093075 972940685 470843239 255879829 618593811 792453235 400305907 863911085 76373927 289055153 266700723 811472499 768099431 578187419 99624267 748700971 411398407 667788201 793419975 288830407 328350249 748740995 122061727 435701725 39469913 717538289 464397487 226045611 710818311 772484327 988539195 411900443 777207947 628937089 908046323 677463485 542145319 994249985 797405163 415632835 550708995 88814037 41770911 22789649 666117427 173574283 744563701 371944237 141659055 99003107 336475963 101024583 790759513 53106367 709407781 639239987 779616249 541412649 841880273 378948469 514521919 427085143 941739973 450874159 969492935 167582625 410887917 881232181 874174225 6126219 329841311 172341499 132173703 418209217 882194585 267773347 210405753 653660439 223029501 985348851 716308001 853640585 149900125 586687065 615489695 792835125 235878313 760136173 916360447 615185261 305671491 899106671 866577199 116015519 681190381 415786821 107199499 991512171 824052951 496143745 607296595 305319311 219987347 785081559 644576175 495457275 278966561 34241447 200094131 796554943 998146277 923010297 181288151 526403095 36031405 168379261 855872379 930471015 354490029 131567753 248684267 831089979 726492291 105415965 116025429 960866371 362697269 150666463 140950997 452597343 575948335 598551327 895061355 320357005 81844551 375602643 572199935 396654845 213802937 92092573 217388645 861084671 786096683 346938307 520724565 962331409 516868267 354273589 547933039 49934803 606041007 928256391 877526589 316962579 452933905 995776253 554575153 338654145 492443419 137665657 863549349 61406717 572898165 494350479 554013913 396563463 821329975 65163890 66628853 358227273 111597279 320776455 241586701 724503899 249560401 109858255 332496663 734118643 577901785 541657087 577949945 752564985 481810735 499721065 761872759 331017589 228381551 194797967 560918597 746538651 806939933 542125719 186913277 642439109 918256937 156100177 742967069 783540857 88221927 170713397 297360147 812679009 946870547 633167715 284180267 648951633 777631443 679152031 15066531 406416451 53097653 768333403 903726233 337581657 937264045 106684075 657795863 580515553 846728731 682124627 625080335 466470733 132777665 179313079 302412121 701477433 279934925 362782951 357498041 589512295 864910805 252211867 42538709 679879107 675933397 662330929 966719553 440249441 191307573 311196081 63111795 240332667 960789183 633618121 392022735 277693045 14559659 283562961 934868381 675461081 808978837 531918539 16390927 358494811 24332929 390777433 799023165 437104087 48815583 130013391 81008171 746827855 870142849 670675745 728033471 893330161 342098087 185838065 500591563 551234317 32001781 714092677 273667595 77798175 858533241 19614667 249825307 759741385 949201319 15955291 513078155 666303195 42224221 696648309 247139781 297325635 95961825 777879295 391624489 482856223 925314015 138121353 356216819 748161715 716617325 965113163 237204815 2990439 67649287 773369637 243795533 903680977 425812627 390714011 782324455 159656363 978933087 595231709 721072383 480883931 397543969 73004485 852196701 99618407 681002741 460026065 987582643 783656327 169187423 312244263 300361881 528876691 398368845 730319511 416020113 342658065 285491477 997489047 662545157 569875369 391377525 848281161 488801861 680098097 255431313 4072563 350710669 57344421 374499061 263848323 409468409 918991397 76139929 983927187 286710167 636264189 319859161 190668895 734802519 272281251 984833403 747828817 539637521 187586225 831557035 215144311 778642055 840974567 613730301 765952647 273340003 756829237 557910897 227637729 321826357 985982379 721913197 768566927 39939191 120968583 272504507 129849149 263534475 458441257 651482257 41654083 165818039 745198367 4696973 253303201 793994545 804492315 790402741 609632253 274614031 491817465 852594805 281601447 224266323 781302203 8289189 984856215 597808103 297998219 696467581 882168941 159404699 630451649 666327975 324833645 740336681 311569365 120430381 695005063 90454065 340829033 725264263 248343893 558378303 51385163 652271249 944420629 387518401 582348397 381823631 216785325 593458451 772537579 510867761 31359405 473069173 785179399 143458953 757277259 650197521 556907053 831789591 68363369 808624119 800549361 844095423 184332685 643932961 387987213 22161615 145582821 211511407 230065763 515902203 59589195 843022763 171207169 35515233 631553339 298420361 594159131 79805319 442303967 612561823 726715911 433722969 576776707 150688111 622414159 264539437 489787425 324462433 764404889 418733759 776886873 562619081 452013243 72791607 909710703 994110431 632448431 172408863 398982613 153681091 935018391 113154925 180187297 382976127 500562883 431104129 719056019 256996359 468039585 484148253 895846163 107190575 563519439 765853295 369569069 374989245 667995921 108327951 741831323 790065241 269548879 416470263 194289339 479836049 709081759 159683979 391567765 278808291 564100667 271816605 559553753 708219308 333107591 452220255 867267291 735344699 908686093 284207215 669889439 195336891 716567427 138563283 662377417 150288455 264100033 285538293 640055721 955632099 218302157 993201071 229986357 836564341 636844751 143648059 352380431 362924753 101619741 139028543 520226429 198317743 754089779 461828553 487114861 490586031 291243697 215528783 876691321 767014235 547331683 697270699 379342557 125295909 123032639 905042469 625632897 970311527 6187869 674528105 369100791 125442143 383063811 428953741 597775731 308580155 395799451 339655695 850258647 145569543 441267639 938395347 869551271 392068545 12425493 392107813 20448021 458190663 293838229 136452541 727017719 634980451 3749445 133933751 876241613 620219335 472362581 667842199 536395197 809063179 496181285 253457741 641768601 134090675 386508853 600996139 771866835 139733541 938978865 212593649 532925841 380862131 148945387 186586563 610964629 813477017 711652449 913155631 147803983 531804405 720465587 613663017 514234841 559346129 240650031 398329871 777125359 184319775 759627847 719017127 946092027 233896375 911372183 820577309 321904139 68958299 538893537 737946119 190151383 720447157 872658193 428232547 432349373 339809879 680885049 489210259 817326787 495896503 893262743 242260327 319887261 913235769 682982541 454144021 767784093 525253669 9501093 28353593 879887557 754605997 890841235 253295319 466993597 831629801 201909811 330814045 468165841 405400283 14876039 644027809 727677435 298534765 492763835 869662433 689210587 428293231 887148067 838583489 903621557 800935837 819437881 530473807 351001211 635327635 297164705 75358975 622906819 66158047 369264677 286124975 794808781 921401841 240038841 92262307 292732287 11268641 745590393 251247243 444546921 581463473 546649767 360125051 695771331 939062475 207826353 915461359 960384619 366914431 876962087 758525901 865446377 831583945 413324229 726061667 779347565 540982661 807261807 729744487 987316685 955483521 700791087 659710195 678904199 837328493 702017593 388344207 479588293 820550369 808601835 50025257 38159957 337269087 222517955 213811987 766731693 5391185 172815983 99041291 702552559 457324551 116915909 282221881 937843681 351803323 689032635 369550631 550913009 733744269 196284279 539058893 886503223 590994313 434664259 694805127 827791477 329369503 168963221 79631641 17779981 644998821 907739653 143900339 189818899 758809185 569891417 690401769 154058555 305819515 92922235 758605495 849928677 622254211 258019709 698999171 121226779 749538035 881563 920583707 279465351 734565933 142739769 25274547 706606725 973887095 46281955 926722281 969847059 290221063 871510859 896361667 612305879 367370737 665266763 946954157 613154595 577278267 913671657 664971645 507908585 977779149 707646287 343668591 957167309 710117239 520448463 672896299 5017365 875854067 935914471 11234747 919276977 3807457 71111223 266668695 329726519 593605325 273332365 420387993 538386917 755093029 968077531 342411531 144099493 935042373 98826813 276399765 742455301 524406381 590028789 211034191 263142971 724856005 34772077 997849271 196777257 657671009 403997757 37642929 700624213 38073401 689672477 973821067 525564653 998588205 137832175 407627513 369883337 579888391 781262017 703567385 353912681 447940219 763293125 73569393 10679797 149441821 936345687 832460779 253253433 380506227 432201465 545126625 255497391 518103779 354015063 504413965 702986103 253774529 52626245 585614999 303216981 628919109 911397309 713391369 587675579 983106447 330853859 836712537 767482047 405591465 190607361 346912743 148464161 436147589 908355723 88136053 897955399 586261501 26799901 53402673 40292161 538914257 387427705 542021041 690577863 444087977 780605579 686187763 69598263 971549209 311712103 303006555 859968921 689383063 339238983 44506037 59774619 37790855 987428239 955899705 432326807 487076657 822028489 806810243 117085321 485729225 991251371 365517975 990094875 739841635 934403341 957275621 187341467 776527109 391721971 921560383 908886527 348959893 859960459 685848293 381435369 881880037 265552165 3965 898108063 189295793 334809405 626102543 742232079 369176215 2129015 646968855 11040465 190418977 993888157 146133613 392200485 658773953 134237093 506945625 522297843 247656143 379501735 745661319 297990599 146080399 676156649 665339917 76419547 692525863 769477587 713524583 153273103 935692969 855314171 4224893 842389223 869479441 60122909 217822617 494305429 17443387 554629913 821709683 108851183 179625719 787486461 695096357 225066099 886790127 195083513 453632313 739380811 773486531 733343341 103682967 489564999 17819887 422606039 910082201 468212185 683727071 676986087 886899447 893976613 529768163 12495725 641149403 246671601 399687991 239333479 12892625 64756397 647775737 840495605 669278157 358623341 401754163 725466469 474644525 80207605 257501909 994543657 379664311 109898153 209932221 267941083 507278487 529873815 402046631 717201985 846686563 359006843 847273023 137473093 718486039 281658799 314799893 570337531 588908825 968256831 265062051 887333275 735669815 974920407 817707595 455171981 965043111 170201295 378778709 704867673 205884163 256175399 240506097 390178739 296567891 263639687 275923261 260978805 40842501 279468859 618999349 250379685 523225835 157055037 44642245 94808175 796949315 219221549 954016701 57744929 296339381 541059151 742074583 731952443 175480141 518029717 149307315 206117471 969367423 690986389 300275165 216377175 162853161 351770509 542914757 169076759 657876367 356382055 724368579 788293563 504429409 595183281 823244313 198918021 662655409 504780707 993401329 838278625 714574079 80929307 542264155 318127459 570979889 259565217 463523921 581581253 493272463 653445989 44867763 678787819 204646869 654696763 474068813 778714079 264176411 814497957 622447821 493467093 54962665 257783499 62298319 714302761 3324459 536169083 283693267 263748191 727906871 553287467 18845507 983225631 385835467 415124477 351687279 633819967 763916553 300719799 476707217 708206009 384554881 966819527 419785161 516072369 254675241 12332101 472258339 477567857 222311261 78067441 178199437 137227119 439892449 24589105 428899811 796910403 103448549 116805399 605494501 984034993 187939067 673157463 381398075 868658343 328580131 732533841 631639929 276870197 318616769 571664141 778287383 884531607 107650979 91878971 737936757 304853297 373864445 691442481 818972639 858249871 909700717 301879023 310017411 246046051 202083321 758913307 894431357 919293575 160606987 672404229 13063373 984093441 833228925 846450339 758890843 576166649 100088459 579885463 195586299 691586759 299561943 127207975 871135589 995975649 436640881 912837187 765647929 226343405 942821583 564855935 447931393 775281079 274810059 676342557 799274289 406112817 670443181 264326917 648907549 781730677 538271779 899554501 730754315 649333705 312957247 680000915 124734241 919595159 169428351 317051985 891398003 186031985 394210507 398394499 159380217 259785493 857436271 914765659 346747539 613033059 20329503 323539121 590272011 777336681 517247737 363320833 50988307 955050585 310884481 550426483 930111557 506064015 284518311 145625303 724158495 371052429 479738303 697114789 679427087 692914175 402606469 758626557 245495137 15153847 656763935 664199331 646841939 986775475 892510235 576145417 905250563 186837269 658218605 401910339 920573563 123765287 338552179 881902101 1918381 569123933 517672947 219561187 352985715 586075731 499550745 28768701 185329803 891878091 665596027 999814747 468404385 81122225 485692695 475610651 945193799 429891863 599620689 114402053 240817139 267748923 607621621 341076679 591314953 798037119 73408059 262003641 295827921 720304237 422824125 207624157 323894653 816420027 891394949 984339925 729189927 532001601 536295931 894354421 528379597 333303811 187249145 451195185 564831579 794525229 439210169 733463595 383431073 42957587 464699361 863905319 489676891 189602607 804877437 809985047 933667367 872534821 52268551 759860627 391982223 926490815 708601687 170297303 670563589 372266995 451534771 819374795 403404769 312312793 972926411 376845823 878602597 169343925 143969971 948691371 837195451 303669749 63235305 394888109 549052659 618505513 206438735 446760079 327729161 528661261 671049781 571125883 407675865 181808517 502602833 67830861 302204721 921643931 521804733 762336387 592395457 151186565 451036929 934042691 853856801 155235995 526018571 307238493 728534229 983819363 801127213 424439367 530113345 283384199 678971431 238706467 223849917 914256345 493760797 288751799 54177149 175890005 248148891 882696305 264632227 148574751 179470233 812005483 963431995 31681923 794270323 423879265 164256053 695269107 62213615 700945085 801438057 713911817 564808503 253847947 92326297 654896779 999067621 958877063 924357487 283652963 354815731 629437195 680927867 353676195 262804423 111047459 546173751 533755271 323986735 465175675 659633157 177439093 505640033 385269355 324368429 183707893 558560759 625616883 717532383 345290169 870732537 238805177 396266039 25808545 971010515 269192717 617058869 551678125 874421595 982948839 555800515 738604041 659983311 511696871 451475889 308291335 167230417 773683281 206766521 879059749 523698035 761321749 304006011 681273349 207925031 422497485 562038147 954429553 966428873 851412919 78727231 386838877 79156387 753118393 878461195 749295843 193918557 992365155 135130919 449379657 350325265 599927275 877565117 164052985 427169081 805278771 315709405 99479687 783267259 470991041 899554177 770966445 846590691 749599427 812223113 271160911 526612075 235349523 911134401 355244151 222930283 460419117 912607703 924073561 183812459 66597177 495346791 120933201 722134871 973798665 335380721 645468385 30682755 758379025 817619677 898017717 628801457 959363187 408290687 720977057 357377025 861634291 868280079 231839135 460305923 644368387 572473261 343469779 154294445 157573305 809156197 789392775 625976923 202389973 100617765 254808369 456730065 860405437 601530569 254421097 536686397 539642499 645088783 955294195 885320501 373916379 249895589 249173435 698625463 281318693 77603097 538169813 364127015 634936169 648625891 996485499 388299091 439064407 763963751 77878289 143690863 948785987 276528367 457105955 549538329 127112497 12611497 464983649 53663829 985570245 666482865 137053355 943729811 106253135 981551365 507651839 96935079 881215173 844456595 433186957 738456013 77834441 652521767 594510501 933281195 243787937 377669503 234730435 942136143 245410619 240429625 95863435 635595309 100613681 340136159 694471881 972826405 710743743 137437411 12860527 715064185 273949901 943464607 257393303 77644247 912014317 74274897 139315335 766448469 326527571 296369447 986631847 578551409 4809697 373990445 750114703 874976781 467076891 897598305 788608757 659371643 539237939 723404961 180328639 27905645 339888639 15430327 885401593 664454143 556132607 623144533 82131925 22956475 349202009 788642067 632739501 61574025 795233501 716993141 4705543 389054403 821171203 736569057 649983117 766220835 128033001 877369001 944762131 289697487 154645337 855171849 703906193 646354261 676552893 637530399 581266223 614082473 904662833 49648885 993304115 502512425 27751537 426086013 39587605 395372443 297046247 359253647 558544239 684365355 505620641 298969581 625749251 930475119 202000983 671518787 751406269 605109603 412889703 476836125 449198001 973389423 230797271 93758199 230243353 615520861 630763865 265547827 876090455 840781413 897662021 72628249 973495289 996491553 622406039 955679195 536940721 820459417 17965305 613037457 573501787 439366715 639190967 976561469 103531769 121013209 944052683 93351369 212381625 942849203 156829909 797479943 149222377 536028525 605301529 233389997 570762505 119748115 109846665 990660703 756780731 157194525 514097595 411440291 650786249 646521959 754796783 519982831 255928615 220926007 877266699 156141209 957682417 229717049 22046367 497095909 488730475 114830467 694485219 209533943 398798333 172065937 356446389 868668391 845193277 966404681 241050525 24524201 102131941 47913721 751837899 173130783 528350937 472752727 931715605 381021461 25212963 510484861 867019513 419686459 722703609 499687923 754397601 451657769 151987891 198925477 205973979 386384225 672692949 311556841 652529181 992313165 737601549 218101117 681675401 408451901 35672363 932683653 334423525 635524459 15778859 119570317 212761759 712325623 27660081 275827341 199958479 807123437 101422985 338194657 515738677 507279421 894152867 413795149 738195769 859454655 202945823 636229633 769999847 185676085 907613627 617554319 253172219 939393607 657377383 528856567 873000655 452641417 77110067 855785373 250390637 427649395 626497373 821585487 451614341 903114343 400279621 711493187 671746925 549263787 909981815 99345683 61346085 457896821 268762793 18092743 593182291 233686747 903767221 306731723 718346055 659374815 36262045 955101941 199419641 985246569 626228619 372276865 44379143 214082637 490261207 249997079 254534073 921960515 653592311 111036353 539005183 848172011 630326931 310365685 281618799 882971345 998109553 71267475 212514375 989838435 664858505 132095197 295144305 172621053 628118005 516425091 239364219 320314591 466526711 964738455 33275291 327178545 672018427 207908761 470309555 9094919 66530451 37710957 998922825 475781721 600015229 552807007 212389003 514445575 517402779 318535721 85964881 660873179 113224439 661570531 819022363 875092361 711407557 222951443 937619217 816219557 860153697 573110441 475281407 837545909 946776141 56180217 100837471 588811809 758008885 271819199 310873937 265601335 384383211 127146017 652148889 238444085 883765101 173113517 723871145 424743481 15392477 432431961 751163031 877821773 510797701 439549311 525649699 480428389 526843353 50063079 486510515 904931669 631163253 250324671 942483543 342579683 321369629 98613401 121154503 829034677 936453817 761373043 668166241 553234271 558965343 380285109 277635373 967563351 316440393 86732587 305061081 365626369 690884057 790105607 247807679 800968615 290209183 947664875 211289051 756833399 558444105 191323611 749836759 349206155 478982837 89476161 307286529 757606887 27620327 621354999 60942415 341843825 543130119 708474167 358648419 258489851 276146027 218948263 582846083 826003777 135223693 989550165 745517725 119047905 281002513 768470197 534663497 473401189 391952835 983345063 908300999 151506239 452188563 914920299 777746943 968596423 601991073 3591605 99680637 858608705 189956139 695177365 185808507 184701139 638366369 152292745 572451289 925482895 180273811 292005497 124636955 905581937 290401469 796953263 468625779 56653655 601057283 442778593 564431543 855379723 451124337 449631023 727894117 577092159 801756729 77362203 485468839 57372555 230713525 748157333 878078797 57943409 667653483 574047983 163039945 441781083 185623813 6481129 546314559 821760155 662960213 844341415 403140981 427183463 258315607 585607863 88952795 914836451 805015601 302522381 697455493 809454871 138414633 898187015 740315959 292664307 178053815 264642155 503440979 707535957 42140277 725823587 461580269 226097145 427396133 393572233 713037755 620660107 430147507 799860183 339492121 978331035 666926385 440420277 104508947 492537763 939906013 82107629 287168085 61197573 710127895 892903349 986773047 488738313 301920621 708671917 271134649 775316705 470270865 770717911 487837059 184286373 409588063 937839265 447544801 530623063 362938073 105306849 983240141 475372513 927804203 362527957 168929255 545485587 485949865 585422369 824780147 665161383 299818187 96157649 209506147 873712447 958872377 570784093 764778829 554341985 936349883 412715937 769379439 819291523 682199877 248155619 221982387 406042875 49339379 478106829 911161255 62959883 716751367 763011961 348412291 442263773 543794157 218858081 16461861 93147521 239986233 718169195 153842197 981567729 199555749 945958373 680448385 10204429 235126549 184436099 114170179 312364193 37395603 203791717 158049239 837838427 704448085 785139725 547826279 493754839 678444723 404163945 284885441 85311125 850599985 399725007 344378203 594713855 741811323 772277499 100448343 987780453 202672997 493609749 27512953 571374337 724164073 74271143 254498613 278916339 551754027 490840233 867688093 492024647 951767927 308505461 836933235 191300075 242420541 140025813 367055133 147256251 160918043 901626097 747359405 276637047 424941013 371252323 139585495 749378249 782825299 217671461 235934971 791269695 508772779 344592029 773223713 792029527 244341017 153227671 597570809 946260849 991320573 866448203 717199321 282347219 757351395 259359317 216001215 721292977 567446145 815337915 160374101 615805221 878990511 346200553 302919403 590556719 661791603 534854581 677945203 307319479 703592183 968407899 635900049 916226449 479551885 361196419 961657483 554571381 496974001 859176503 448386385 877639427 451948041 11031533 293890423 859897799 105529435 434748549 148490559 528909615 373344927 381812289 821688721 418226325 686499055 466003663 670071547 300382525 773640075 683116613 710205107 114988879 886338019 376822817 490452379 28769497 272983945 749191239 320764727 120591577 652388661 699094531 661211833 404113965 186185679 772034829 519596537 737003679 884877663 112690817 982815859 505886689 419100183 445715429 965616719 767466637 978528599 355373093 880406365 109194019 395018911 359881877 248326165 302345483 315667611 250735605 807239319 972302231 26246687 955512681 230675879 107419907 578655011 174410623 284747701 886228845 730633167 657392429 642693595 147898847 267458411 399800525 137248471 703979851 466766187 19314983 161459215 992489867 449868395 316610663 99909779 2952797 613400877 887956771 183777819 394234989 921064349 305461593 932518405 338113101 536938959 764856683 405395543 126307187 417430269 116898603 888402117 987735363 450837131 127186633 822635937 196873221 94116099 384434151 281719023 418677227 340230937 159472775 962314577 726610959 170679465 613472281 994668827 389815151 148600245 52490351 334861633 300026359 60982635 760780489 132130405 641324409 757516057 358881483 416953803 946390699 357746495 914878339 938540645 259614769 754450047 560831589 375843787 675571603 615260325 896958543 270110007 145496131 566650273 189259911 877840023 824695961 965011601 863681465 154167669 35474647 286027449 508617979 855011339 351800871 125670017 761935561 690455095 842403739 542784127 682159627 849543299 360948009 223016557 196796683 196175129 897057973 44066863 836167295 38779093 241268999 481158865 53648007 564304949 494990543 303543171 655349669 622398559 363827625 958913701 721003975 965587491 171461399 374890165 76751173 396720887 638664063 973945187 394467287 802033661 110922035 866824831 678237095 932124411 317336429 163481349 847433281 421938527 20102479 900257819 37208473 143305027 101614815 212473351 234211085 16737891 948977683 761192769 889170017 629553449 541191617 256311649 449755845 178695073 990293163 49771053 238824909 643361415 940380795 463717519 679196789 60388917 77704897 931466137 248532515 902557623 466572279 164537225 592952741 113311161 760224383 285689535 223383599 462783891 726490529 245666505 338251873 872326725 925288589 708513113 35711805 501172597 800384351 719440201 655079729 458680947 613956631 202159007 62685971 853048631 713999263 167163013 95653663 891380575 738408647 329867343 559811581 360923445 646983497 638879861 876405175 373514403 613277893 537125535 545223877 854741573 700572615 109189525 581689603 894810713 84765375 796034123 584555189 398406085 105338627 223492317 357896587 811229975 88614873 769985933 301212567 908091787 117864297 725274567 155830873 559657469 197077443 38385439 78401461 783397877 283158497 83687501 293035257 134117537 956353699 709365305 247698393 316960731 114615765 918118635 592664435 213802783 674409765 13566615 216683341 853541525 783095599 116476569 436858963 26905615 244634739 988443253 653578203 290014721 676779609 840548563 828196513 692391053 378687029 568109703 820425677 35240567 88631871 353964943 43666921 325542961 988527767 58650637 183030765 272532177 360776265 554242381 649035827 103439127 625272387 968885439 337634179 670463081 938435681 144254209 530345995 274039257 389682787 2662101 56290909 518869275 516903665 952109609 432023161 818422671 682323615 525574413 697555139 955198269 6566115 640301245 774052615 250303445 558369059 375441565 503384957 462916523 871583139 958853431 34610625 541995715 906764439 929303873 553412569 295428033 856459033 811867795 900532529 615417077 968682535 174882099 514190749 609737045 120402863 917747785 330759773 418666883 253536125 99043627 354165015 37199045 140508239 599733845 25245397 423895049 655459011 17706087 227021581 345700073 654939235 651485997 324843167 706114721 143066273 309464733 584468683 499379993 686576599 997041615 945519685 118801379 557634629 68920329 70027293 910057779 272024339 409758133 667580113 965702379 888799571 574922085 54818633 676105615 287131393 415733973 983457231 636497745 457819643 494980587 407326491 335344391 284376843 693982637 634609481 841957681 108144355 392340307 300531421 267244789 737523997 51188023 471344071 394705699 444008247 257783771 588142683 936957747 820661661 217038571 627600981 626487363 347918497 803839033 790784475 570124315 915193209 189393091 10884217 833032235 953325897 679403433 70755881 102413449 454259737 819367225 814416451 821809395 141202395 96308709 614385807 730640851 208666983 664192329 437317177 727117111 360238977 387704103 11484887 894003671 48043471 970541675 162267493 820469775 356131811 170539047 967449929 384423659 378590263 866853529 434728787 329741591 155839789 871256099 106579635 535037933 369828365 306420815 354387979 722657385 501880329 177634513 468504669 447039539 446738745 355283589 524508183 941770909 272340897 803755629 977472017 759815579 510752295 525825717 244658821 960579279 979781021 416691633 872701975 224071293 846227389 413236443 380523737 489040023 38159401 781925845 483224381 284288947 451257705 797017967 136382753 531651601 957774829 737222807 357037259 653050007 75160339 725909355 12750823 335915477 366463511 147472429 242824329 843984643 268207909 556838985 401953841 304798463 915850829 932243795 471907525 959889745 315001993 238741509 207441295 246743849 887971003 25462595 707750469 180896859 743903401 790763289 763996167 958780011 796737545 402011575 523323479 633070461 373407601 313357435 890859043 575825761 815528291 140359913 670330049 384280205 473401673 52062633 139442927 814646563 8342643 229654417 205906383 748707817 357678875 831729309 943602163 770969933 870783843 762891501 694507085 417874023 594008145 344836045 753982265 258932727 246576859 83010227 151382913 113278309 155047127 832467511 270228813 648543677 446098439 921189663 264700215 926598331 912416531 915207507 296137017 317399993 747810447 370814187 558807993 449594561 368196083 837133085 323369605 614214531 465448097 436016463 373465041 835566165 857103071 686118413 699324219 415479095 636211939 426939401 593555145 728810191 236594115 887660317 87113703 79078765 4571777 551113039 497984619 287045129 795231493 250474441 908083603 496243521 319542051 605198813 475157761 815385693 460170131 556986377 237721541 595535437 827019509 750382829 27064149 688184485 475185365 479886423 909885581 633606825 504725153 322097721 173011633 978447933 705412789 37792685 127249519 460032753 185914193 48457209 126393567 745990907 95171485 557085575 109608571 777992765 990390445 416849643 104590375 928231227 238871673 991445471 106294837 92448809 501562593 576899653 901558615 165965785 715245745 776688427 792739243 221400269 705276567 541921219 639466935 583344685 330447407 224650857 204472679 621485765 667530999 367168927 794111759 648289807 848306013 172438289 152400497 708322603 297660333 459887763 273223085 260341725 61594405 488172831 384996947 290649495 251533027 416283095 812337241 112615535 222788851 937248009 155943193 555622435 870882115 741368617 922601563 199464223 178697901 1724367 418553675 489345901 149163509 838663359 853132671 576245703 813473473 694707429 635477493 67560587 327485605 478077781 676651025 711520961 660774935 130160201 369203871 109256983 639800699 474522661 683853527 108163815 245297691 549216371 378874197 481312557 409874213 628037865 259048221 856760211 475180211 139555935 893623967 533633383 647082697 102066137 803153583 234255007 364627021 70160773 351314825 584565469 251403795 537702833 570373587 8562279 613469649 721636831 201815451 87784747 151505707 741360045 577949013 944161729 184423081 64639463 182421215 427311209 352506557 790732675 874399359 223273481 511088321 354959001 75173345 210739507 573149683 944964463 284366619 645873435 216248959 882319213 578189227 354132129 436914807 779309609 283364211 762094927 473068753 881544287 73580995 572595793 412317809 967226607 612835409 229307261 246351135 243380197 623349817 278300759 804681869 550004599 959563007 792139523 212068179 688296701 627257747 529202513 229966835 963401725 606844743 681733049 798064599 61107489 255918811 650286169 732770897 381223227 459267443 547180537 209534359 77646409 935568283 104315657 229839309 144875115 988405323 213216925 927715323 803523311 912697313 377625977 44953875 116331847 613979933 396970239 99719405 340265997 271229489 820691523 997504843 884996615 552300465 748014843 10582743 670683423 888342937 484394115 438830113 958466407 650421841 639584999 403492003 636538397 585897379 633526739 39048127 313360547 140197829 831355807 814819773 714167169 361048151 949217867 829399247 230666097 262170971 208716415 105128461 711413831 344294975 958094471 983134841 576625675 924560089 901287773 279235069 529097703 648534119 217500577 833592937 997829935 316810381 936706711 743708279 621101149 623568983 168503601 16003273 650694675 110622525 481494787 648322789 644871199 955569691 873230673 108680257 2924149 446323765 90493951 893121331 107253805 4008507 806814877 302533629 858060939 159402817 737051491 800435145 188042747 822123459 387798575 183219623 587291409 321554599 794151817 951822225 733831047 626463803 919491999 193675623 597514047 415489331 714927435 74258421 248171849 95292333 395401481 80744939 162670291 342256175 855655939 695997665 97469499 379777189 370557191 893634649 898629635 398692197 807961483 755386043 719443929 481358893 455521457 376633435 9866637 540000543 496545853 949323377 504943643 682167757 940418977 264116765 49150631 763807783 725491445 577052523 200202619 239560591 923775477 339043403 227220237 923791815 30558985 396424083 353585909 668900863 614412353 766519817 393602807 46875593 849247319 875826517 16670209 608743461 668689829 288251143 424826659 754115191 312254773 343866263 372560025 988087181 288234935 84154219 431098055 943630491 480977025 642735047 513336121 93429823 597360273 716120033 602580383 636617087 234377617 713106893 875618009 473971399 349433551 466319249 359757285 985820909 57119811 978413077 550111987 243536429 667298187 221166631 739947091 33501485 46424303 745104261 934075267 702848507 137066589 308854221 459928611 195939085 269387887 999242123 455061761 54272573 564331873 401703725 491229455 164641749 681548317 572008463 920120423 680766845 787248945 675041647 468770639 552544589 976426451 270143867 321591089 500837571 480729317 299120191 202346911 498127299 115901931 451074233 303855447 13718425 198768663 928230343 598698809 414149629 764072255 841118515 443649875 18123275 258115299 995408049 953893847 972188487 651962155 211566805 948438049 217766561 393624035 311723045 607449011 282492781 286765445 902941703 506346809 610521703 180142639 991909839 763030917 260036277 140552875 265361331 87095445 401081573 534578019 957058519 986572425 613514731 677550451 791421763 553951407 436420135 857585049 904106729 505792635 211058779 681872187 615402147 892518531 220593845 72172905 207447087 438305679 9011659 550323163 148297787 8543627 298186649 477873645 435058003 424594565 265642631 118485419 110293747 135530941 854716511 396893891 684149885 117509781 17924441 686827913 552440379 742674327 502289169 174168575 756497497 329043319 873745291 455314637 58615287 175465489 343189047 970606145 63901201 929662825 4643559 299599697 912690835 553373863 291392731 819126431 76965199 69171489 977119671 189436271 206858491 721366353 85821065 731169971 212422715 878344667 608874181 918516737 561199255 979381897 468495689 818585753 547713 391676751 337746779 154684515 136453969 25552715 242826663 831373547 807822409 818588603 812124483 543886955 684159891 852700941 550867627 679761601 218497089 333695445 186343109 577674357 958143561 894971855 607720927 387708855 866956175 404330203 695520943 692154205 48117979 436505093 540267345 270834151 25484509 325292675 111727689 562152059 783054131 516978349 330592645 460149225 709221721 237753097 935563611 467129767 12459451 478128959 917451145 481132247 707452585 708095269 954827315 265007935 627922781 785340855 105788645 321055309 115888889 152479765 169302935 17374747 883548549 290728589 186333093 136419429 471804657 675742095 17969365 771214741 482988057 494901947 355817555 626357687 908786623 611293649 79380915 355632519 89868679 494838203 373426165 414541663 1808135 771533201 398429823 166897227 212934839 480556937 415372827 856904951 177655545 575118347 556363775 665953467 957008149 855763613 472825033 724934807 792568891 254113015 907135 45867057 784424071 715614707 707324557 368627417 524055033 439564435 662630091 893654663 141855611 525687043 709664369 137933529 792770525 620212117 445293097 402308631 645125337 589460935 797438973 126831665 853281809 60668729 822942821 869935549 141208587 201739449 619576637 98070777 183472445 752289081 495475913 904828623 803248381 911394517 557671097 109562829 344636557 446286287 96212767 682289963 834042389 603193235 545597819 210485191 517250473 894505909 23701937 10672937 610586177 128143087 742654735 6471295 831122109 680392739 775487305 561498529 203096809 539260769 738064765 437312017 13359219 327144151 648725297 428168689 988396535 550736867 194522961 539082005 112230389 232516103 277000499 496785393 776461271 527984111 187397011 778134695 881499371 673184367 628992921 192500731 352895343 733922177 595605967 382430303 811728257 508229449 578606891 74094313 489486381 47907089 16806413 831624793 833858145 965703757 418805047 353584661 922448889 583522713 245349079 298922287 75141301 674193849 356454789 452594523 218842941 716877973 318330169 549906937 993643557 864181827 618978397 415317777 42826979 291515389 624342205 27204689 733021405 807727911 723144845 181354003 144496727 9005645 488539499 205849685 992779141 38326303 913184603 902433213 688059777 811384955 56997325 527327899 195994955 367004005 562586773 983411173 694690507 241647111 776488175 641334333 97316309 279929267 724503681 836274921 40845599 177143525 189338201 127298263 891260749 50273857 464566765 265534879 857562089 66171795 425614871 128589955 531044961 925074123 191164959 674164069 459445007 551535881 342505137 935385 616762935 81162123 589525219 199142419 78431487 398701249 813990195 572758517 784645243 743699771 212316293 774734339 107147937 665667767 245080357 229556847 920068949 284016917 41428939 530269199 460810079 308992867 898069139 309450595 276680561 487554259 830169089 765812113 488871717 738660799 419970053 623108969 869490681 559102125 320947441 151378019 296656473 536968007 236572293 441475997 589179031 247168351 605618405 17387743 412872681 821869043 170378143 928067481 500097395 182223395 674462887 317866977 365534013 291321917 189217627 668136309 892375353 716377779 928323969 313605311 206740031 968684833 128720453 213000141 338309907 359240009 17802557 92834645 747134811 608262679 522975079 249652153 818048169 187537567 849948709 11557375 762192761 500531993 326302791 199469781 606524455 280536045 473507075 670640021 181547009 333994659 811994355 681060155 289159735 942678255 622549281 753162095 989039841 809774509 807863797 894466947 20937219 513843167 782307399 12185451 140833411 683632049 661146197 678451913 157829427 914074487 620656835 836451297 642688973 266963115 231174047 743054501 912322035 105779953 627623773 488536491 242257965 596462867 886268379 259409203 72869613 45379589 687986525 133028387 408062859 996734947 745152403 246997259 721326409 111584497 355805329 24284451 278545489 675793559 731920339 684426569 572983987 46576747 578276159 560383237 117829993 325659431 594841635 441717127 163170645 204114351 821512245 102515363 674142271 427713037 944301199 799279581 619172823 102905975 828016825 621021529 807939769 890867269 32902049 890447591 679499621 667975931 382691993 185168637 904072517 863278919 153161823 613181885 784305065 899279865 568431643 661257197 155743947 351335693 864573527 404695547 909450957 419581607 575368715 319476479 412336309 947381267 348114323 185384377 70804345 971351233 755170739 461041553 216702191 96481617 645956251 261164947 536128729 346058881 178148063 979923833 912006625 504419393 932945019 747563171 737089687 751121569 87207893 362699029 833235061 539335389 100556475 109723777 114367707 131367003 83415393 748601149 341523477 338545057 415521125 553752905 760280657 283876711 607675597 338709835 772076715 29208455 761009925 474236307 2417699 605235713 192135139 559802649 608852641 971624965 354775715 169151611 888553977 760167651 689277677 443518209 634429155 366129945 40303563 663028123 515039745 613688135 960813237 562746333 207861977 665946939 36677253 265312523 979064031 160548071 92742789 557213449 912832109 493347687 583289181 346644325 512260035 175813629 407114277 491299931 342039051 534075669 380514651 259134919 216850515 103096129 152545763 467160111 693954201 926278207 284804107 792625095 748255931 781648879 213858439 656966497 351930757 591789407 540677493 366976383 148992421 237859267 292979545 13079367 824774327 348708721 193432099 815425419 494106169 115776241 992186919 390398399 320848537 272967663 705613089 437174021 787768869 39366201 870327097 508940065 936804885 497993423 692543481 668126085 484381581 982282451 436124503 721444423 572455575 162945167 42746035 686967589 801439009 638004343 548466639 563938443 712546821 998468647 547125209 326589059 403947527 644622177 150930023 301629893 465349325 424013075 740807799 742726837 844206059 10651211 201885035 365294677 300434905 417584969 817824789 844946261 2343671 189634671 509298599 995085583 105401487 814187849 648596159 906929791 520671187 278573959 394837601 471604559 184135387 699286535 291858173 734756557 684759979 382131149 745410917 676109039 707919145 442429185 739659225 175899991 342741033 675768825 185183999 302104137 605261409 604086831 121019615 663767993 62327669 816895303 469711349 103114809 961029101 979432973 574436889 83267083 910959675 801775985 793931667 320609301 165055417 543580049 473986575 261813993 890753445 350021297 763195811 217012155 950630443 375564345 108971467 86852971 304314717 869408705 691608175 173565315 396817969 935030271 778678489 463222573 142999947 669234649 838271681 540423237 102169907 663815003 929216833 311314505 810184923 374650549 381635043 933723999 510927643 353549127 237994895 536368983 657091191 591541905 912125855 537923753 797928021 589237053 634859211 187924851 738894343 838020131 772599869 679995517 435432391 851525433 265570433 50768951 71957943 749022373 756356747 565517237 199147743 733466547 915083961 710083001 678174769 446221269 660257233 417023915 361856901 983139751 43040767 693108889 933480605 714863595 108413913 499721273 944280611 377470603 856432475 751118829 745756327 527264671 378437355 576196539 978571173 354094685 271472727 655940433 684181113 966417453 968058837 416279815 391076209 527646615 741296895 291287261 148960957 890611023 336750557 326694779 6292341 99363121 221512669 470384429 854476443 209284927 819248849 718291181 606134297 520126117 639551479 631392089 671359423 958609077 223392503 932271035 822175303 424872429 706213597 140013821 202083923 514320623 4277021 665550011 668991339 989738885 891849363 375244339 449242879 633413027 870924937 794550091 454439275 657216101 445971369 643430803 103851759 361298701 682559751 991791939 680605877 205061127 681291555 325209657 376559053 427287015 714503907 518843133 630319153 486843495 14476943 458737597 623719363 341855595 494576355 163273555 78227785 290543101 741133303 811840059 552629113 243148625 867007059 135916447 331358185 300173763 567880163 257518669 211804187 300551127 248522493 906898875 815572599 992815413 362983261 902568715 135045457 166327731 708280619 978383873 748475361 285197387 261298161 823799311 294751561 885159969 832760231 95608653 909631887 855606657 442511273 146030455 474584233 168661211 104223163 491895541 531716971 755544013 754046733 893356503 621965979 194306075 740029233 47921365 999519201 178073773 224551207 915809359 262421709 128427161 496714835 751277385 974252505 25992219 887947651 365623925 233394533 484514195 998211051 674017577 673866939 101220493 771163177 288037475 669804303 1849023 552318787 680383437 312960117 462143745 876124067 980694709 829829363 255127641 523947555 402090259 832585073 177354993 879931647 790793349 122208447 278187803 447381209 807842131 795788437 646486099 715198913 652454251 65135767 983465021 131084333 285637991 33191247 330970533 844839927 357388675 716140843 402635133 966200679 766917289 639411591 839123935 986589739 992312679 985464225 784714001 671519829 598801139 44108711 689517181 728520035 217195567 656393127 532770741 815605565 981449887 427948185 196047735 712149807 705087861 456128865 55576227 623896813 314041991 951732681 773345095 647022997 845406037 50626431 332461461 180741803 114877447 544804125 73314025 488326431 778711145 515198759 170416837 450710595 395354869 125538563 541713877 2256089 449304521 480925701 315345131 737390081 703559599 928974947 846165509 466795595 795242769 878323777 663734085 16407723 756025099 773109929 535525877 144805759 60343387 305710729 802402185 735549325 688748647 197096891 255492253 120082689 962169407 855117315 401518067 703724145 964402585 477963271 211763063 156496859 205795287 806132313 465614141 791184803 366962431 463871605 798915199 905761173 490420417 253742009 978957983 227912169 626274673 276965487 380673069 525504569 295900433 263431881 412169175 899522191 82346569 402597343 829967227 216431699 610087783 829607091 823502619 812682079 742437217 894392113 363453923 306078957 180525273 22729509 43661607 250247843 347364115 235157323 530177889 676270477 112733953 947677765 537207093 431921445 101716025 374872987 896849517 703517251 578859003 753235647 648996095 943680557 132728367 496934921 590142979 704395155 60198497 356504509 325610173 935548297 276159691 156514561 218285467 458297997 202629451 601149671 519763245 563963777 379567721 555216745 745422127 494089909 63056469 645294697 137990021 847377631 725223397 442255535 239041851 544883737 858685335 454629101 729142657 260352235 348208789 543671483 918105271 711089987 554744237 965459867 465122139 610830195 888975959 247620599 762048285 978209595 587647921 749857823 558032333 930778301 839378307 414305613 814841447 375754635 541058875 572897955 353997327 575057303 312857331 201074729 838930193 86708799 871770727 525639631 986269663 52092743 362602495 572075635 580116499 922215903 122928589 574499025 472918899 986591131 350506629 260896915 736623849 570324343 106588809 942888271 447590279 30801113 337931485 735781753 828552587 836768911 368027187 35880819 845801813 16997327 497113059 969521289 348754035 630055219 453663463 215323627 69669015 900988355 923048685 995653553 96982171 579566571 448303423 596197341 21928325 311559809 881734103 830493015 414525311 636342211 368069203 866484467 865124061 125410387 914107131 734115433 420710167 624276035 266708927 448964443 155914197 144939523 911668533 650145359 490899935 791547765 14332315 913454011 216034345 930019037 144183259 663141621 597672655 187205093 218524291 914311487 237820947 826379943 563302603 189560513 962485601 894096541 157392273 340750735 405472843 323437997 760525405 398191265 356512655 225908003 664816733 374588121 89760783 77650105 755721065 935245309 349455317 363057543 676554499 630474177 288022805 770376469 55771981 803707071 252067115 782585935 824919067 822134647 120657817 984472201 302388705 42398035 126507277 526180485 498113729 802887075 826553429 779302755 523527039 759827615 175209841 429498803 335851149 683041901 991219843 121293419 341486337 655974417 112229589 605552615 113930139 599730815 472041437 453466859 347401153 648561553 752786483 991305637 580575875 517647623 705328795 792513195 980679065 273915273 462895875 631072251 569890403 61022123 397065083 287920633 709482213 429530853 567113535 544498291 301133007 511291031 94360499 345513373 535018107 9705227 801612129 129870613 239153639 606797427 601232127 588224223 126106041 548231145 718698597 595585643 450037823 241944173 111411607 421161869 90741365 187541479 95612355 359711105 3255543 166425131 92325945 324944365 807026957 632693231 36806005 622148063 100612005 923552215 666424347 2859211 454337623 555423085 705944055 435828625 91117155 228956191 960824571 932538739 340487089 641484359 676307521 743016735 559964623 642714665 725585679 856187819 984305395 508150507 567367117 345534357 785416957 36558753 434270995 381351359 272143479 203614273 849884311 684695163 235744653 37049519 832894529 457692795 451098903 324486067 661146903 838184923 124279701 399504895 871443537 342499109 858912813 184372013 963702345 263757377 124646831 266384571 49646463 111182729 537872787 60160789 225183651 323421367 123878647 508398221 633948807 571642353 518729123 425879129 896238883 67310277 880494343 607275421 828931231 954189607 429666105 564734049 50940739 464015989 374168567 693665943 985867651 641181813 223248299 307758873 82847993 107349075 899427939 430192293 314960235 244452261 352796373 66933991 263412163 948707687 705064803 291983727 313140501 160348929 135998227 785020601 427689883 925699389 313046163 160659235 673810359 223784275 396737853 101645815 801037047 507403229 238154253 573206117 30230287 588094435 276941483 528358027 70838997 912086483 536484969 121380453 719455571 463273599 759540027 454073567 387691183 446255143 136712899 182520521 856851773 320862575 988392261 856211933 10756731 590072419 647007923 208926653 572102155 214894971 340233123 550640369 906026679 837832851 491208789 463237611 131791733 212257265 778933679 735220739 205016157 230950209 326573633 342603899 841120691 24182937 406735171 703494013 998666467 279722869 185409427 204076313 174983041 759583675 940729 530259017 943720007 411404985 874147813 355892719 900533785 311391781 82301675 460088275 615492355 345260825 694891855 247234981 640593205 105233693 172451125 918029313 242552845 421551389 405065837 511564647 417615119 122099823 877350765 30189889 636919523 318269393 239183959 383264479 424835679 367183975 843080687 889242747 898741629 965663933 44824745 8014391 886678625 767972811 854823831 995168539 631284311 697368557 593935739 443252247 785954001 388448231 408023485 139411207 755557481 261928937 155044713 503033771 636250085 143440517 398604857 736748717 464047405 850499003 736964493 239742109 180722263 310060527 992415593 213478133 230472863 219756271 391179135 312477461 376785765 444139249 952350757 506895689 572918071 945837455 66964315 46627775 229652677 216212177 32849863 98425747 432149999 519919651 272636857 120788933 345641141 815564635 705168425 456397375 350865475 748151221 21035957 613232847 790709227 634283735 484812197 417852467 579010601 6002129 316530921 67819275 384576419 646624275 660430101 647130333 553902113 603291775 810513773 570634015 981859223 329963607 352467413 644611109 210606879 538829387 790168027 511425077 877496319 577380205 230557627 90537079 696250017 168510525 53044049 82609657 953279897 146168735 954058531 686995641 126053023 148919775 110630243 881936021 998004123 262270389 555720425 760749657 839055253 878671679 840522289 6674099 703919041 204567293 641859683 841914687 579199611 67125473 641051729 461560701 94349893 363026751 879959407 192495061 486102219 191426003 219139293 62277787 832717793 424163523 908630629 412061957 678449279 918610333 885715827 452719673 290802125 3611223 745853471 177514555 709157395 655647307 8532007 65001727 473654727 941204801 56728053 460764511 882409087 36027495 611529625 824586265 223400965 798636367 432506309 612485851 432765247 30315255 117396189 422214961 670146371 44095687 91924967 247128985 475125835 478117259 175161235 586247281 286483131 308540021 599814967 44431619 249047069 176333863 638746065 54464641 759425061 383548325 63633163 764488965 600563121 915869529 779917875 69154957 275148735 785946653 624751423 731619845 21050493 708347947 249365457 784424511 795245631 125880873 549029933 385516785 781004927 435339813 18389061 566908863 659891425 68259475 215877809 919231795 994126385 50719059 618214829 904191417 846776673 980524709 522448417 750103729 934448779 934769725 464447647 52731735 745563635 632784425 899743835 449765335 881750791 691565549 931010101 412335683 838389591 461128041 966757303 774080401 543300511 592891375 198540811 195797669 723178181 676693295 584023821 70924615 613017295 771672139 363505211 124675369 938145269 762671301 535253947 885642467 755337615 487444877 103590237 522769657 884979491 232638453 853254553 16404177 176316763 843462845 731198605 957373373 353385737 951394057 872081153 793569271 964348459 778410855 688367459 842038177 455191265 96198859 782742221 554757571 600142969 191676307 856659963 15355727 403538019 506511493 530915415 708556829 971452223 830222795 275312879 509432303 601222093 497641983 962651001 869637999 119225849 806823195 233785175 8821039 36525013 92514695 378334863 599449253 529691295 795378445 397380815 988883251 559753143 909991395 342408815 431429925 296146859 538281385 888139631 669116075 268324653 48673377 690974837 155107037 746464281 572084601 463812051 234710205 527543921 618598599 822240381 947637301 522326881 311125897 728274707 170002709 434025021 585815907 387549919 702845975 490530175 651442017 818701515 306130397 193439177 205862139 680080499 933317615 558498537 783269645 559199509 349458877 494933201 269158109 826008727 939728803 795433117 158794517 372230281 447903713 66458001 573279951 262008611 985914785 798689813 174442117 968003139 767814131 297534653 50515741 785882225 383669457 410328903 871096549 814487003 927746077 514374037 769307793 686158171 633710749 514327217 46198337 863481709 643859719 159104465 799573623 393578811 532485361 84784461 34329889 769842579 543847389 487798697 652799125 14117355 961329205 877851795 677119631 273880421 59684935 321703385 365575479 274162117 208292689 479447165 634519575 395334269 630961267 89435549 687963431 206495653 501221299 670331781 883112385 832666361 381787399 33199273 174221743 99204833 977738565 226777767 386220569 691181421 159602479 951467325 496578201 690937685 308018285 36710235 326570025 811090169 733114515 142072849 471592495 284922717 214605337 680917915 668134775 373153075 877674335 592794205 482354489 918272977 430884273 625563107 191417873 567292981 68230717 553344989 876982021 18869257 233464607 901087019 64732289 765591195 639481941 45684427 718137691 541038051 459931341 66053357 182751695 773285759 161723221 309754849 204057221 861151671 110892453 93917477 694984071 871208569 50786147 165802585 82118475 26351199 907813651 171058251 517908401 670734757 900247337 777544171 444197115 479275317 730490111 468301145 708145367 86740891 713083349 130309845 471871835 808044563 28485587 933634507 468076037 159733623 275689741 181756365 824998585 396462931 277119097 720892823 4716739 828138707 576056059 102597135 198116315 845684687 638606941 663972669 703316253 470164935 732298317 79561045 951748111 808562915 869701477 70930353 364577181 940193519 124232745 946510295 127927067 506829925 716000255 947690097 596416841 297272163 847041083 763990099 153601867 271601841 786952467 60391799 873835439 476983487 179525291 360617983 826211179 247278755 424996365 344472889 811286745 873534237 782147623 283886743 995310273 108112787 132051667 728387253 795004751 445735189 52595157 367132245 518402841 881789785 412012499 630009187 582059037 270654401 270599007 32753139 270810813 213790291 278266357 254764863 276390603 520477373 168153843 155832491 889627255 62858073 524118691 962927809 142943587 57842211 225295159 817892917 401599377 752865221 735437767 956512483 296044657 392511117 436219735 857513677 323907029 161943409 865352141 351894305 669805821 713867027 589835003 926593327 39809933 766300343 704915867 632869235 574473875 127710543 929490511 305436305 394153347 869474417 134076575 434564179 864251707 244774237 492936189 439744173 445736193 423446523 857412289 533830843 902672257 31097815 833341743 6823873 599042001 961970475 962452077 725750311 871344237 817469909 75971981 758166147 438837821 3637853 818264713 947261585 386806155 490247923 98718019 820951601 819217165 903656557 502923907 657690223 502063331 912630089 804016891 890108033 241918351 874960561 427628099 320259775 29894399 612165491 904595933 608048559 36330379 154803463 9558579 551694585 546263275 783039627 615702933 647179891 222374729 995090887 505881917 956953369 410898481 581681705 70373453 82222091 304102295 839105481 134941901 789299095 491027673 150732393 13964463 898465325 313610683 461408363 643123403 593099117 788173165 834762211 833739747 109763861 715872131 993379205 641027489 796955157 112263417 560261555 750334357 721369983 864978741 38432625 566530105 504935307 672466693 949971825 186481645 9282719 767887773 66607881 758919165 759906375 699763101 499566393 449241497 985450549 101708807 832177065 551658713 296893253 83365705 515756453 139478975 665108089 278892089 55533863 139811123 895306749 710527763 339649997 31604233 818804259 81768063 92456415 138353145 361255017 565738119 687881037 885524645 85724271 195968419 723903149 574478997 432549123 937715631 667052093 992297529 129624855 255444207 868650215 214175981 468911815 690788627 230040889 509268977 14709333 463151149 970752107 836273007 456221485 738187709 270326619 801390453 839487715 341103527 332140431 231617793 280340529 423440697 406422587 483522291 64145401 61605927 456190257 351139601 737684041 581634447 537390067 527146257 950643029 171561207 669907113 810905479 48820339 227741003 867270433 258314489 934559533 269581281 118915537 220454095 281656361 844193653 714744537 80223833 408503869 37382959 799328515 698634191 942606691 338076569 775028923 542034775 405607871 370202539 914187033 363104757 709556891 231286207 479393501 446432927 714676587 314460829 278450541 861951785 292997835 737050227 614966745 474020185 250609535 99681747 737878489 839556565 357852527 362364605 203575501 224366897 445765297 992560533 20272313 557389541 544473727 900617255 585377613 705595473 236373053 332136619 876500707 321392575 222198391 827336381 232704377 974381923 256371165 623710307 696032179 114367569 176267341 768048905 862944229 975434127 145050571 637730947 328755461 329756931 450894207 765526033 711522225 502790273 901457599 77283161 995849521 8783039 317857799 682239845 858631795 396313187 449594359 266331051 496402703 364978417 867899995 746367753 287540805 745279453 517851945 477461189 690720765 73388927 296732027 801339789 46596549 967179803 731605137 811326067 535426003 874385623 419082459 529713141 102724103 918170311 364066537 5870843 446429931 362244577 740250233
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
